/* Built by scripts/build-styles-r197.js; layout source: compat-r190.css. */
/* Generated compatibility bundle. Do not edit directly; run node scripts/build-styles-r190.js. */

/* ======= ui-r153.css ======= */
/* R153 — final customer UI consistency pass.
   Auth pages gain the persisted light theme, support colours are neutralised,
   server-tool form surfaces are explicit in both themes, and Free Credits gets
   a cleaner purpose-built layout. Loaded last so it can safely correct older
   dark-first component rules without disturbing Admin. */

/* --------------------------------------------------------------------------
   Public authentication pages: real light mode + an always-available toggle
   -------------------------------------------------------------------------- */
.auth-main { position: relative; }
.auth-theme-toggle {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 11px;
  border: 1px solid var(--dark-border, #4a545d);
  border-radius: 6px;
  color: var(--dark-text, #dce2e7);
  background: var(--dark-card, #30373d);
  font: 650 11px/1 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  box-shadow: 0 2px 7px rgba(10,14,18,.14);
}
.auth-theme-toggle:hover { color:#fff; border-color:var(--dark-border, #65717b); background:var(--dark-card, #394149); }
.auth-theme-toggle svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html[data-theme="light"] .auth-body,
html[data-theme="light"] .auth-shell,
html[data-theme="light"] .auth-main {
  color: #0b0d0f !important;
  background: #f4f6f8 !important;
}
html[data-theme="light"] .auth-main { background:#f7f9fb !important; }
html[data-theme="light"] .auth-form-wrap { color:#0b0d0f; }
html[data-theme="light"] .auth-form-wrap :is(h1,h2,h3,strong,label) { color:#0b0d0f; }
html[data-theme="light"] .auth-form-wrap .eyebrow { color:#0869c8; }
html[data-theme="light"] .auth-intro,
html[data-theme="light"] .auth-switch,
html[data-theme="light"] .google-auth-note,
html[data-theme="light"] .verify-code-heading small,
html[data-theme="light"] .verify-resend-row > span,
html[data-theme="light"] .verify-help,
html[data-theme="light"] .password-requirements { color:#343a40 !important; }
html[data-theme="light"] .auth-switch a,
html[data-theme="light"] .auth-field-link a,
html[data-theme="light"] .verify-resend-button { color:#0869c8 !important; }
html[data-theme="light"] .auth-form .field > span,
html[data-theme="light"] .auth-form .field label { color:#161a1e !important; }
html[data-theme="light"] .auth-form .field small { color:#414950 !important; }
html[data-theme="light"] .auth-form .field input,
html[data-theme="light"] .auth-form .field select,
html[data-theme="light"] .auth-form .field textarea {
  color:#0b0d0f !important;
  border-color:#c7d0d8 !important;
  background:#fff !important;
  box-shadow: inset 0 1px 0 rgba(17,27,36,.025) !important;
  color-scheme: light;
}
html[data-theme="light"] .auth-form .field input::placeholder,
html[data-theme="light"] .auth-form .field textarea::placeholder { color:#707b85 !important; }
html[data-theme="light"] .auth-form .field input:focus,
html[data-theme="light"] .auth-form .field select:focus,
html[data-theme="light"] .auth-form .field textarea:focus {
  border-color:#087df5 !important;
  box-shadow:0 0 0 3px rgba(8,125,245,.11) !important;
}
html[data-theme="light"] :is(.verify-code-card,.login-2fa-card,.password-assist,.legal-consent-option,.google-auth-note) {
  color:#0b0d0f !important;
  border-color:#d7dee5 !important;
  background:#fff !important;
  box-shadow:0 5px 18px rgba(24,35,45,.05) !important;
}
html[data-theme="light"] .password-strength-track { background:#e1e7ec !important; }
html[data-theme="light"] .verify-code-icon { color:#075fb8 !important; background:#eaf4ff !important; }
html[data-theme="light"] .verify-resend-row,
html[data-theme="light"] .auth-divider::before,
html[data-theme="light"] .auth-divider::after { border-color:#d7dee5 !important; background:#d7dee5 !important; }
html[data-theme="light"] .auth-divider { color:#5d6872 !important; }
html[data-theme="light"] .button-google {
  color:#20262c !important;
  border-color:#cbd4dc !important;
  background:#fff !important;
}
html[data-theme="light"] .button-google:hover { border-color:#aeb9c3 !important; background:#f1f4f6 !important; }
html[data-theme="light"] .auth-mobile-brand { color:#11161b !important; }
html[data-theme="light"] .auth-mobile-brand .brand-mark { color:#fff !important; background:#087df5 !important; }
html[data-theme="light"] .auth-body .notice {
  color:#1d252c !important;
  border-color:#d4dde5 !important;
  background:#fff !important;
}
html[data-theme="light"] .auth-body .notice-info { color:#155b97 !important; border-color:#bad7ef !important; background:#eef7ff !important; }
html[data-theme="light"] .auth-body .notice-success { color:#176a4d !important; border-color:#b8decf !important; background:#edf8f3 !important; }
html[data-theme="light"] .auth-body .notice-warning { color:#75520a !important; border-color:#ead49d !important; background:#fff9e9 !important; }
html[data-theme="light"] .auth-body .notice-error { color:#9c2634 !important; border-color:#efc6cc !important; background:#fff3f5 !important; }
html[data-theme="light"] .auth-body .notice :is(p,small,strong) { color:inherit !important; }
html[data-theme="light"] .auth-body .trusted-device-option {
  color:#0b0d0f !important;
  border-color:#d7dee5 !important;
  background:#fff !important;
}
html[data-theme="light"] .auth-body .trusted-device-copy strong { color:#0b0d0f !important; }
html[data-theme="light"] .auth-body .trusted-device-copy small { color:#414950 !important; }
html[data-theme="light"] .auth-theme-toggle {
  color:#44515c;
  border-color:#cbd4dc;
  background:#fff;
  box-shadow:0 2px 8px rgba(24,35,45,.06);
}
html[data-theme="light"] .auth-theme-toggle:hover { color:#0b0d0f; border-color:#aeb9c3; background:#eef2f5; }

@media (max-width: 700px) {
  .auth-theme-toggle { top:14px; right:14px; width:38px; padding:0; }
  .auth-theme-toggle > span { display:none; }
  .auth-main { padding-top:64px !important; }
}

/* --------------------------------------------------------------------------
   Tickets: replace the leftover mint/green ownership treatment with the site's
   normal blue + neutral language in light mode.
   -------------------------------------------------------------------------- */
html[data-theme="light"] .ticket-section-claimed { border-color:#d4dee7 !important; }
html[data-theme="light"] .ticket-section-claimed .ticket-section-heading { background:#f4f8fc !important; }
html[data-theme="light"] .ticket-status-waiting_user,
html[data-theme="light"] .ticket-assignment-mine {
  color:#075fb8 !important;
  background:#eaf4ff !important;
}
html[data-theme="light"] .ticket-claim-mine {
  border-color:#caddec !important;
  background:#f0f7fd !important;
}
html[data-theme="light"] .ticket-claim-mine .ticket-claim-icon,
html[data-theme="light"] .ticket-message-staff .ticket-message-avatar {
  color:#075fb8 !important;
  background:#eaf4ff !important;
}
html[data-theme="light"] .ticket-message-staff { border-left-color:#6eafe8 !important; }
html[data-theme="light"] .ticket-message-author span { color:#3b454e !important; background:#edf1f4 !important; }

/* --------------------------------------------------------------------------
   Account security / invoice icon contrast in light mode
   -------------------------------------------------------------------------- */
html[data-theme="light"] .account-security-body .card-icon:not(.account-google-icon),
html[data-theme="light"] .account-security-body .account-email-mark,
html[data-theme="light"] .account-security-body .account-invoice-row-icon,
html[data-theme="light"] .account-security-body .account-invoice-empty-icon {
  color:#075fb8 !important;
  border-color:#cfe1f4 !important;
  background:#eaf4ff !important;
}
html[data-theme="light"] .account-security-body .card-icon:not(.account-google-icon) svg,
html[data-theme="light"] .account-security-body .account-email-mark svg,
html[data-theme="light"] .account-security-body .account-invoice-row-icon svg,
html[data-theme="light"] .account-security-body .account-invoice-empty-icon svg {
  color:inherit !important;
  stroke:currentColor !important;
}
html[data-theme="light"] .account-security-body .account-invoice-row-arrow { color:#66737e !important; stroke:currentColor !important; }

/* --------------------------------------------------------------------------
   Server console: terminal copy remains terminal-white even when page chrome is
   in light mode.
   -------------------------------------------------------------------------- */
html[data-theme="light"] .server-console-v1138-body .console67-title h2 { color:#fff !important; }
html[data-theme="light"] .server-console-v1138-body .console67-title .eyebrow { color:#aeb9c2 !important; }

/* --------------------------------------------------------------------------
   Server settings/tools/files: remove old charcoal islands from light mode and
   make the same surfaces less crushed/black in dark mode.
   -------------------------------------------------------------------------- */
html[data-theme="light"] :is(
  .server-settings-page .switch-row,
  .server-settings-page .server-settings-switch-row,
  .server-tools-v1152-body .switch-row,
  .server-tools-v1152-body .dialog-options label,
  .server-files-v73-body .dialog-options label,
  .server-files-v64-body .dialog-options label
) {
  color:#0b0d0f !important;
  border-color:#d6dee5 !important;
  background:#f8fafb !important;
}
html[data-theme="light"] :is(.server-settings-page .switch-row,.server-settings-page .server-settings-switch-row) strong { color:#0b0d0f !important; }
html[data-theme="light"] :is(.server-settings-page .switch-row,.server-settings-page .server-settings-switch-row) small { color:#3d454c !important; }
html[data-theme="light"] .server-settings-page :is(.switch-row,.server-settings-switch-row):hover,
html[data-theme="light"] .server-tools-v1152-body .dialog-options label:hover,
html[data-theme="light"] .server-files-v73-body .dialog-options label:hover,
html[data-theme="light"] .server-files-v64-body .dialog-options label:hover {
  border-color:#bcc8d1 !important;
  background:#f1f5f8 !important;
}
html[data-theme="light"] .server-tool-form-note,
html[data-theme="light"] .server-tools-v1152-body .server-tool-form-note {
  color:#30383f !important;
  border-color:#d6dee5 !important;
  background:#f5f8fa !important;
}
html[data-theme="light"] :is(
  .server-tools-v1152-body .field > span,
  .server-files-v73-body .field > span,
  .server-files-v64-body .field > span,
  .file-dialog .field > span,
  .file64-dialog .field > span,
  .server-settings-dialog .field > span
) { color:#101418 !important; }
html[data-theme="light"] :is(
  .server-tools-v1152-body .field small,
  .server-files-v73-body .field small,
  .server-files-v64-body .field small,
  .file-dialog .field small,
  .file64-dialog .field small,
  .server-settings-dialog .field small
) { color:#404950 !important; }
html[data-theme="light"] :is(.file-dialog,.file64-dialog,.server-settings-dialog) {
  color:#0b0d0f !important;
  border-color:#d1dae2 !important;
  background:#fff !important;
}
html[data-theme="light"] :is(.file-dialog,.file64-dialog,.server-settings-dialog) .dialog-header { border-color:#dce2e7 !important; background:#fff !important; }
html[data-theme="light"] :is(.file-dialog,.file64-dialog,.server-settings-dialog) .dialog-options { background:#fff !important; }

html[data-theme="dark"] :is(
  .server-settings-page .switch-row,
  .server-settings-page .server-settings-switch-row,
  .server-tools-v1152-body .switch-row,
  .server-tools-v1152-body .dialog-options label,
  .server-files-v73-body .dialog-options label,
  .server-files-v64-body .dialog-options label
) {
  color:var(--dark-text, #f2f5f7) !important;
  border-color:var(--dark-border, #59656e) !important;
  background:var(--dark-card, #384047) !important;
}
html[data-theme="dark"] :is(.server-settings-page .switch-row,.server-settings-page .server-settings-switch-row) strong { color:#f6f8f9 !important; }
html[data-theme="dark"] :is(.server-settings-page .switch-row,.server-settings-page .server-settings-switch-row) small { color:var(--dark-text, #c0c8cf) !important; }
html[data-theme="dark"] .server-tool-form-note,
html[data-theme="dark"] .server-tools-v1152-body .server-tool-form-note {
  color:var(--dark-text, #c3cbd2) !important;
  border-color:var(--dark-border, #56616b) !important;
  background:var(--dark-card, #353d44) !important;
}
html[data-theme="dark"] :is(
  .server-tools-v1152-body .field > span,
  .server-files-v73-body .field > span,
  .server-files-v64-body .field > span,
  .file-dialog .field > span,
  .file64-dialog .field > span,
  .server-settings-dialog .field > span
) { color:var(--dark-text, #e0e5e9) !important; }
html[data-theme="dark"] :is(
  .server-tools-v1152-body .field small,
  .server-files-v73-body .field small,
  .server-files-v64-body .field small,
  .file-dialog .field small,
  .file64-dialog .field small,
  .server-settings-dialog .field small
) { color:var(--dark-text, #abb5bd) !important; }
html[data-theme="dark"] :is(.file-dialog,.file64-dialog,.server-settings-dialog) {
  border-color:var(--dark-border, #59656e) !important;
  background:var(--dark-card, #343c43) !important;
}
html[data-theme="dark"] :is(.file-dialog,.file64-dialog,.server-settings-dialog) .dialog-options { background:var(--dark-card, #343c43) !important; }

/* Version changer icon cards had a dark block even in the light workspace. */
html[data-theme="light"] .server-versions-v79-body :is(.version79-type-icon,.version79-current-icon,.version80-software-icon,.version79-empty-icon) {
  color:#0869c8 !important;
  border-color:#d2e2f0 !important;
  background:#eef6ff !important;
}
html[data-theme="light"] .server-versions-v79-body :is(.version79-type-icon,.version79-current-icon,.version80-software-icon,.version79-empty-icon) svg { stroke:currentColor !important; }
html[data-theme="light"] .server-versions-v79-body :is(.version79-type-meta svg,.version79-version-meta svg,.version79-search svg) { color:#5f6a74 !important; stroke:#5f6a74 !important; }
html[data-theme="dark"] .server-versions-v79-body :is(.version79-type-icon,.version79-current-icon,.version80-software-icon,.version79-empty-icon) {
  color:#8cc6ff !important;
  border-color:var(--dark-border, #5a6570) !important;
  background:var(--dark-card, #394149) !important;
}

/* --------------------------------------------------------------------------
   Free Credits R153 — rebuilt around the job the page actually performs.
   -------------------------------------------------------------------------- */
.credits153-heading { max-width:760px; }
.credits153-heading h1 { margin-bottom:8px; }
.credits153-hero {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--panel);
  box-shadow:var(--shadow);
}
.credits153-balance { padding:30px; }
.credits153-balance-line { display:flex; align-items:baseline; flex-wrap:wrap; gap:9px; margin:10px 0 8px; }
.credits153-balance-line strong { color:var(--text); font-size:clamp(42px,6vw,66px); font-weight:790; letter-spacing:-.055em; line-height:1; }
.credits153-balance-line span { color:var(--muted); font-size:15px; font-weight:720; }
.credits153-balance > p { max-width:660px; margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.credits153-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.credits153-reward {
  display:grid;
  align-content:center;
  gap:13px;
  padding:28px;
  border-left:1px solid var(--border);
  background:var(--panel-2);
}
.credits153-reward-icon { width:44px; height:44px; display:grid; place-items:center; color:#fff; border-radius:7px; background:var(--blue); }
.credits153-reward-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.credits153-reward strong { display:block; margin-top:6px; color:var(--text); font-size:20px; }
.credits153-reward p { margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.credits153-text-link { width:max-content; color:#8cc6ff; font-size:12px; font-weight:730; }
.credits153-text-link:hover { color:#fff; }
.credits153-section { margin-top:20px; border:1px solid var(--border); border-radius:8px; background:var(--panel); box-shadow:var(--shadow); }
.credits153-section-head { max-width:760px; padding:24px 24px 18px; }
.credits153-section-head h2 { margin:5px 0 7px; color:var(--text); font-size:22px; }
.credits153-section-head p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.credits153-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--border); }
.credits153-steps article { min-width:0; display:flex; align-items:flex-start; gap:12px; padding:20px 22px; }
.credits153-steps article + article { border-left:1px solid var(--border); }
.credits153-step-number { width:28px; height:28px; flex:0 0 28px; display:grid; place-items:center; color:#fff; border-radius:6px; background:var(--blue); font-size:11px; font-weight:800; }
.credits153-steps strong { display:block; color:var(--text); font-size:13px; }
.credits153-steps p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }
.credits153-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:12px; }
.credits153-facts article { padding:18px; border:1px solid var(--border); border-radius:8px; background:var(--panel); box-shadow:var(--shadow); }
.credits153-facts article > span { display:block; color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.credits153-facts strong { display:block; margin-top:7px; color:var(--text); font-size:16px; }
.credits153-facts p { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }
.credits153-footnote { display:flex; align-items:flex-start; gap:9px; margin-top:12px; padding:12px 14px; color:var(--muted); font-size:11px; }
.credits153-footnote > span { width:20px; height:20px; flex:0 0 20px; display:grid; place-items:center; border:1px solid var(--border); border-radius:50%; color:var(--muted); font-weight:800; }
.credits153-footnote p { margin:2px 0 0; }

html[data-theme="light"] :is(.credits153-hero,.credits153-section,.credits153-facts article) { border-color:#d7dee5 !important; background:#fff !important; }
html[data-theme="light"] .credits153-reward { border-color:#d7dee5 !important; background:#f5f8fa !important; }
html[data-theme="light"] .credits153-text-link { color:#0869c8 !important; }
html[data-theme="light"] .credits153-text-link:hover { color:#064f97 !important; }
html[data-theme="light"] .credits153-steps { border-color:#d7dee5 !important; }
html[data-theme="light"] .credits153-steps article + article { border-color:#d7dee5 !important; }
html[data-theme="light"] .credits153-footnote { color:#343b42; }
html[data-theme="dark"] :is(.credits153-hero,.credits153-section,.credits153-facts article) { background:var(--dark-card, #343c43) !important; border-color:var(--dark-border, #56616b) !important; }
html[data-theme="dark"] .credits153-reward { background:var(--dark-card, #30383f) !important; border-color:var(--dark-border, #56616b) !important; }

@media (max-width:900px) {
  .credits153-hero { grid-template-columns:1fr; }
  .credits153-reward { border-left:0; border-top:1px solid var(--border); }
  .credits153-steps,
  .credits153-facts { grid-template-columns:1fr; }
  .credits153-steps article + article { border-left:0; border-top:1px solid var(--border); }
}
@media (max-width:620px) {
  .credits153-balance,
  .credits153-reward { padding:20px; }
  .credits153-actions { display:grid; grid-template-columns:1fr; }
  .credits153-actions .button { width:100%; justify-content:center; }
  .credits153-section-head { padding:20px 18px 15px; }
  .credits153-steps article { padding:17px 18px; }
}

/* --------------------------------------------------------------------------
   Mobile drawer: expanded navigation keeps the same visible side gutters as
   desktop instead of touching the drawer edge.
   -------------------------------------------------------------------------- */
@media (max-width:1120px) {
  body.sidebar-open .sidebar-menu-scroll { padding-left:10px; padding-right:10px; }
  body.sidebar-open .sidebar-link,
  body.sidebar-open .sidebar-server-nav .sidebar-link {
    width:calc(100% - 22px) !important;
    max-width:calc(100% - 22px) !important;
    margin-left:8px !important;
    margin-right:14px !important;
  }
  body.sidebar-open .sidebar-user { padding-inline:16px; }
  body.sidebar-open .sidebar-signout { width:calc(100% - 16px); margin-left:8px; margin-right:8px; }
}


/* ======= ui-r154.css ======= */
/* R154 — customer theme consistency audit + onboarding refresh.
   Loaded last. The goal is a predictable surface hierarchy in both themes:
   page -> card -> inset/row -> control, with semantic colours reserved for
   status rather than accidentally coming from old dark-first component CSS. */

/* --------------------------------------------------------------------------
   Shared neutral surface system for every non-admin user-facing workspace.
   -------------------------------------------------------------------------- */
body.app-body:not([class*="admin-"]) {
  --r154-page: var(--dark-page, #444d55);
  --r154-card: var(--dark-card, #343a40);
  --r154-card-raised: var(--dark-raised, #394047);
  --r154-inset: var(--dark-inset, #30363c);
  --r154-inset-hover: var(--dark-raised, #3a4249);
  --r154-line: var(--dark-border, #515c65);
  --r154-line-strong: var(--dark-border, #606b74);
  --r154-ink: #f4f6f8;
  --r154-copy: var(--dark-muted, #c2c9cf);
  --r154-muted: var(--dark-muted, #9ea8b1);
  --r154-neutral-chip: #3a4249;
}
html[data-theme="light"] body.app-body:not([class*="admin-"]) {
  --r154-page: #f3f5f7;
  --r154-card: #ffffff;
  --r154-card-raised: #ffffff;
  --r154-inset: #f6f8fa;
  --r154-inset-hover: #eef2f5;
  --r154-line: #d7dee5;
  --r154-line-strong: #c3cdd6;
  --r154-ink: #0b0d0f;
  --r154-copy: #343a40;
  --r154-muted: #65717d;
  --r154-neutral-chip: #edf1f4;
}

/* A small collection of nested legacy surfaces were still hard-coded to old
   charcoal values. Keep them one tier below their containing card instead. */
body.app-body:not([class*="admin-"]) :is(
  .check-row,
  .choice-box,
  .switch-row,
  .server-settings-switch-row,
  .account-provider-rule,
  .account-provider-action-panel,
  .oauth-consent-note,
  .server-info-list li,
  .server-hosting-grid > div,
  .server-identity-facts,
  .server-panel-unavailable
) {
  border-color: var(--r154-line) !important;
  background: var(--r154-inset) !important;
}
body.app-body:not([class*="admin-"]) :is(.check-row,.choice-box):hover {
  border-color: var(--r154-line-strong) !important;
  background: var(--r154-inset-hover) !important;
}
html[data-theme="light"] body.app-body:not([class*="admin-"]) :is(
  .check-row,
  .choice-box,
  .switch-row,
  .server-settings-switch-row,
  .account-provider-rule,
  .account-provider-action-panel,
  .oauth-consent-note,
  .server-info-list li,
  .server-hosting-grid > div,
  .server-identity-facts,
  .server-panel-unavailable
) :is(strong,b,dt,label) { color: var(--r154-ink) !important; }
html[data-theme="light"] body.app-body:not([class*="admin-"]) :is(
  .check-row,
  .choice-box,
  .switch-row,
  .server-settings-switch-row,
  .account-provider-rule,
  .account-provider-action-panel,
  .oauth-consent-note,
  .server-info-list li,
  .server-hosting-grid > div,
  .server-identity-facts,
  .server-panel-unavailable
) :is(small,p,span,dd) { color: var(--r154-copy); }

/* Neutral chips should never turn almost black in light mode. */
html[data-theme="light"] body.app-body:not([class*="admin-"]) :is(
  .count-pill,.chip,.billing-pill,.billing-status-chip,.ticket-priority,
  .ticket-assignment,.server-status-chip.state-text-offline
) {
  color: #303840 !important;
  border-color: #d5dde4 !important;
  background: var(--r154-neutral-chip) !important;
}

/* --------------------------------------------------------------------------
   Public auth: one coherent page/card/inset hierarchy in both themes.
   -------------------------------------------------------------------------- */
.auth-body {
  --r154-auth-page: var(--dark-page, #252b30);
  --r154-auth-card: var(--dark-card, #30363c);
  --r154-auth-inset: var(--dark-inset, #2b3238);
  --r154-auth-input: #2f353b;
  --r154-auth-line: var(--dark-border, #515c65);
  --r154-auth-ink: #f4f6f8;
  --r154-auth-copy: var(--dark-muted, #b8c0c7);
  --r154-auth-muted: var(--dark-muted, #929ca5);
}
html[data-theme="light"] .auth-body {
  --r154-auth-page: #f4f6f8;
  --r154-auth-card: #ffffff;
  --r154-auth-inset: #f6f8fa;
  --r154-auth-input: #ffffff;
  --r154-auth-line: #d7dee5;
  --r154-auth-ink: #0b0d0f;
  --r154-auth-copy: #343a40;
  --r154-auth-muted: #65717d;
}
.auth-body .auth-shell,
.auth-body .auth-main { background: var(--r154-auth-page) !important; }
.auth-body .auth-form-wrap { color: var(--r154-auth-ink); }
.auth-body .auth-form-wrap :is(h1,h2,h3,strong,label) { color: var(--r154-auth-ink); }
.auth-body :is(.auth-intro,.auth-switch,.verify-help,.password-requirements,.verify-code-heading small,.verify-resend-row>span) { color: var(--r154-auth-copy) !important; }

/* The Google helper was the clearest visual mismatch: an old global rule made
   this one sentence a different charcoal card. It is now the same inset helper
   surface as the other contextual auth guidance in both themes. */
.auth-body .google-auth-note {
  margin: 12px 0 0 !important;
  padding: 11px 13px !important;
  border: 1px solid var(--r154-auth-line) !important;
  border-radius: 6px !important;
  color: var(--r154-auth-copy) !important;
  background: var(--r154-auth-inset) !important;
  box-shadow: none !important;
  text-align: left;
}
.auth-body :is(.verify-code-card,.login-2fa-card,.password-assist,.legal-consent-option,.trusted-device-option) {
  color: var(--r154-auth-ink) !important;
  border-color: var(--r154-auth-line) !important;
  background: var(--r154-auth-card) !important;
  box-shadow: none !important;
}
.auth-body :is(.verify-resend-row,.password-strength-track) {
  border-color: var(--r154-auth-line) !important;
}
.auth-body .password-strength-track { background: var(--r154-auth-inset) !important; }
.auth-body .field :is(input,select,textarea),
.auth-body .auth-form .field :is(input,select,textarea) {
  color: var(--r154-auth-ink) !important;
  border-color: var(--r154-auth-line) !important;
  background: var(--r154-auth-input) !important;
}
.auth-body .field :is(input,textarea)::placeholder { color: var(--r154-auth-muted) !important; }
.auth-body .button-google {
  color: var(--r154-auth-ink) !important;
  border-color: var(--r154-auth-line) !important;
  background: var(--r154-auth-card) !important;
}
.auth-body .button-google:hover { background: var(--r154-auth-inset) !important; }
.auth-body .auth-divider { color: var(--r154-auth-muted) !important; }
.auth-body .auth-divider::before,
.auth-body .auth-divider::after { background: var(--r154-auth-line) !important; }

/* Notices deliberately keep their semantic tint, but share radius, depth and
   typography with the rest of auth rather than looking like foreign cards. */
.auth-body .notice { border-radius: 6px !important; box-shadow: none !important; }
html[data-theme="dark"] .auth-body .notice:not(.notice-success):not(.notice-error):not(.notice-warning):not(.notice-info) {
  color: var(--r154-auth-copy) !important;
  border-color: var(--r154-auth-line) !important;
  background: var(--r154-auth-card) !important;
}
html[data-theme="dark"] .auth-body .notice-info { color:#b9dcff !important; border-color:#315979 !important; background:var(--dark-card, #263746) !important; }
html[data-theme="dark"] .auth-body .notice-success { color:#9ee1c3 !important; border-color:#3d6f59 !important; background:#294238 !important; }
html[data-theme="dark"] .auth-body .notice-warning { color:#efd394 !important; border-color:#776038 !important; background:#463b29 !important; }
html[data-theme="dark"] .auth-body .notice-error { color:#f3b2ba !important; border-color:#78424a !important; background:#482c31 !important; }
html[data-theme="light"] .auth-body .notice:not(.notice-success):not(.notice-error):not(.notice-warning):not(.notice-info) {
  color: var(--r154-auth-copy) !important;
  border-color: var(--r154-auth-line) !important;
  background: var(--r154-auth-card) !important;
}

/* --------------------------------------------------------------------------
   Tickets: complete neutral surface hierarchy and explicit closed state.
   -------------------------------------------------------------------------- */
body.app-body:not([class*="admin-"]) :is(
  .ticket-summary-card,.ticket-search-card,.ticket-section-card,.ticket-detail-card,
  .ticket-thread,.ticket-composer,.ticket-new-card,.ticket-claim-card,.ticket-staff-toolbar
) {
  border-color: var(--r154-line) !important;
  background: var(--r154-card) !important;
  box-shadow: var(--shadow) !important;
}
body.app-body:not([class*="admin-"]) :is(
  .ticket-section-heading,.ticket-thread-header,.ticket-composer-header,.ticket-composer-footer
) {
  border-color: var(--r154-line) !important;
  background: var(--r154-inset) !important;
}
body.app-body:not([class*="admin-"]) .ticket-thread-messages {
  border-color: var(--r154-line) !important;
  background: var(--r154-inset) !important;
}
body.app-body:not([class*="admin-"]) .ticket-message {
  border-color: var(--r154-line) !important;
  background: var(--r154-card) !important;
}
body.app-body:not([class*="admin-"]) .ticket-message-mine { background: var(--r154-card-raised) !important; }
html[data-theme="light"] body.app-body:not([class*="admin-"]) .ticket-message-mine { background:#f9fbfd !important; }
body.app-body:not([class*="admin-"]) .ticket-list-row { border-color: var(--r154-line) !important; background: var(--r154-card) !important; }
body.app-body:not([class*="admin-"]) .ticket-list-row:hover { background: var(--r154-inset-hover) !important; }

/* Closed is informational/neutral, not black. */
.ticket-status-closed {
  color:var(--dark-text, #c7ced4) !important;
  border-color:var(--dark-border, #59646e) !important;
  background:var(--dark-card, #3b434a) !important;
}
.ticket-closed-notice {
  color:var(--dark-text, #c2c9cf) !important;
  border-color:var(--dark-border, #59646e) !important;
  background:var(--dark-card, #383f46) !important;
}
.ticket-closed-notice strong { color:#f4f6f8 !important; }
html[data-theme="light"] .ticket-status-closed {
  color:#3f4952 !important;
  border-color:#d4dce3 !important;
  background:#edf1f4 !important;
}
html[data-theme="light"] .ticket-closed-notice {
  color:#3f4952 !important;
  border-color:#d7dee5 !important;
  background:#f6f8fa !important;
}
html[data-theme="light"] .ticket-closed-notice strong { color:#0b0d0f !important; }

/* Staff/ownership remains blue, but with the same surface depth as the rest of
   the ticket screen rather than a separate green visual system. */
html[data-theme="dark"] :is(.ticket-status-waiting_user,.ticket-assignment-mine) { color:#9bcaff !important; background:var(--dark-card, #263d51) !important; }
html[data-theme="dark"] .ticket-section-claimed { border-color:#4c6e8d !important; }
html[data-theme="dark"] .ticket-section-claimed .ticket-section-heading { background:var(--dark-card, #303a43) !important; }
html[data-theme="dark"] .ticket-claim-mine { border-color:#4c6e8d !important; background:var(--dark-card, #303a43) !important; }
html[data-theme="dark"] .ticket-message-staff .ticket-message-avatar,
html[data-theme="dark"] .ticket-claim-mine .ticket-claim-icon { color:#9bcaff !important; background:var(--dark-card, #263d51) !important; }

/* --------------------------------------------------------------------------
   Broad customer audit: small nested pieces that visually drifted from their
   card in one theme now use the same neutral hierarchy. Semantic widgets and
   the actual black console are intentionally excluded.
   -------------------------------------------------------------------------- */
body.app-body:not([class*="admin-"]) :is(
  .server-control-tabs,
  .server-tool-menu-popover,
  .marketplace-select-menu,
  .file64-new-popover,
  .file65-menu,
  .file64-menu,
  .entity136-overflow-menu,
  .account-settings-global-nav
) {
  border-color: var(--r154-line) !important;
  background: var(--r154-card) !important;
}
html[data-theme="light"] body.app-body:not([class*="admin-"]) :is(
  .server-tool-menu-popover a:hover,.server-tool-menu-popover button:hover,
  .entity136-overflow-menu a:hover,.entity136-overflow-menu button:hover,
  .settings-nav-link:hover
) { background: var(--r154-inset-hover) !important; }

html[data-theme="light"] body.app-body:not([class*="admin-"]) :is(
  .input-suffix b,.server-tool-mono,.mono-value,.database-secret-field code,
  .file-browser-footer-v2,.file-editor-toolbar-v2,.file-editor-footer
) {
  color: var(--r154-copy) !important;
  border-color: var(--r154-line) !important;
  background: var(--r154-inset) !important;
}
html[data-theme="dark"] body.app-body:not([class*="admin-"]) :is(
  .input-suffix b,.server-tool-mono,.mono-value,.database-secret-field code,
  .file-browser-footer-v2,.file-editor-toolbar-v2,.file-editor-footer
) {
  color: var(--r154-copy) !important;
  border-color: var(--r154-line) !important;
  background: var(--r154-inset) !important;
}

/* File/editor terminal exceptions: do not "lighten" actual code/console areas. */
html[data-theme="light"] :is(.console-output,.console-terminal,.console8-terminal,.console8-console,.file-editor-textarea-v2) {
  color:#eef3f7 !important;
  background:#151a1f !important;
}
html[data-theme="light"] :is(.console-output,.console-terminal,.console8-terminal,.console8-console,.file-editor-textarea-v2) * { color:inherit; }

/* --------------------------------------------------------------------------
   R154 onboarding — same control-panel language, cleaner two-column workflow.
   -------------------------------------------------------------------------- */
.server-onboarding-v1-body {
  --ob154-page:var(--dark-page, #444d55);
  --ob154-card:var(--dark-card, #343a40);
  --ob154-inset:var(--dark-inset, #30363c);
  --ob154-line:var(--dark-border, #515c65);
  --ob154-ink:#f4f6f8;
  --ob154-copy:var(--dark-muted, #bcc4ca);
  --ob154-muted:var(--dark-muted, #949fa8);
  --ob154-hover:var(--dark-raised, #3a4249);
  background:var(--ob154-page) !important;
}
html[data-theme="light"] .server-onboarding-v1-body {
  --ob154-page:#f3f5f7;
  --ob154-card:#fff;
  --ob154-inset:#f6f8fa;
  --ob154-line:#d7dee5;
  --ob154-ink:#0b0d0f;
  --ob154-copy:#343a40;
  --ob154-muted:#65717d;
  --ob154-hover:#eef2f5;
  background:var(--ob154-page) !important;
}
.server-onboarding-v1-body .onboard141 {
  grid-template-columns:278px minmax(0,1fr) !important;
  min-height:100dvh;
  color:var(--ob154-ink);
  background:var(--ob154-page) !important;
}
.server-onboarding-v1-body .onboard141-rail {
  position:sticky;
  top:0;
  height:100dvh;
  padding:0 18px 20px !important;
  border-right:1px solid rgba(255,255,255,.07) !important;
  border-radius:0 !important;
  background:var(--dark-card, #343a40) !important;
  box-shadow:2px 0 9px rgba(11,15,18,.13) !important;
}
.server-onboarding-v1-body .onboard141-brand {
  height:64px;
  margin:0 -18px !important;
  padding:0 18px !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
}
.server-onboarding-v1-body .onboard141-brand .brand-mark { width:34px;height:34px;border-radius:5px; }
.server-onboarding-v1-body .onboard141-brand > span { font-size:15px;font-weight:700; }
.server-onboarding-v1-body .onboard141-rail-copy { margin-top:24px !important; }
.server-onboarding-v1-body .onboard141-rail-copy .onboard141-kicker { color:#9bcaff !important; }
.server-onboarding-v1-body .onboard141-rail-copy h1 { margin:7px 0 7px !important;color:#fff !important;font-size:21px !important;line-height:1.18 !important;letter-spacing:-.025em !important; }
.server-onboarding-v1-body .onboard141-rail-copy p { margin:0 !important;color:var(--dark-text, #b8c0c7) !important;font-size:11px !important;line-height:1.6 !important; }
.server-onboarding-v1-body .onboard141-progress { margin-top:24px !important;gap:3px !important; }
.server-onboarding-v1-body .onboard141-progress li {
  min-height:54px;
  padding:8px 9px !important;
  border:1px solid transparent;
  border-radius:5px;
}
.server-onboarding-v1-body .onboard141-progress li.is-active { border-color:rgba(8,125,245,.34);background:rgba(8,125,245,.11); }
.server-onboarding-v1-body .onboard141-progress li.is-complete { background:var(--dark-card-alpha-0-035, rgba(255,255,255,.035)); }
.server-onboarding-v1-body .onboard141-progress li strong { color:var(--dark-text, #eef2f5) !important;font-size:11px !important; }
.server-onboarding-v1-body .onboard141-progress li small { color:var(--dark-muted, #9fa8b1) !important;font-size:9px !important; }
.server-onboarding-v1-body .onboard141-step-dot { width:28px;height:28px;border-radius:4px !important; }
.server-onboarding-v1-body .onboard141-server-card {
  margin-top:20px !important;
  padding:12px !important;
  border:1px solid var(--dark-border, #4d5861) !important;
  border-radius:5px !important;
  background:var(--dark-card, #30363c) !important;
  box-shadow:none !important;
}
.server-onboarding-v1-body .onboard141-server-card strong { color:#fff !important; }
.server-onboarding-v1-body .onboard141-server-card small { color:var(--dark-text, #aeb7bf) !important; }
.server-onboarding-v1-body .onboard141-rail-foot { margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.07);color:var(--dark-muted, #9fa8b1); }

.server-onboarding-v1-body .onboard141-main { min-width:0;background:var(--ob154-page) !important; }
.server-onboarding-v1-body .onboard141-topbar {
  height:64px !important;
  padding:0 20px !important;
  border-bottom:1px solid var(--ob154-line) !important;
  background:var(--ob154-card) !important;
  box-shadow:0 1px 3px rgba(15,20,24,.08) !important;
}
.server-onboarding-v1-body .onboard141-back,
.server-onboarding-v1-body .onboard141-theme-toggle { border-radius:4px !important; }
.server-onboarding-v1-body .onboard141-content {
  width:min(100%,1440px) !important;
  margin:0 auto !important;
  padding:28px 24px 58px !important;
}
.server-onboarding-v1-body .onboard141-intro {
  max-width:860px !important;
  margin:0 0 22px !important;
}
.server-onboarding-v1-body .onboard141-intro h2 { margin:6px 0 7px !important;color:var(--ob154-ink) !important;font-size:clamp(27px,2.4vw,36px) !important;font-weight:620 !important;letter-spacing:-.03em !important; }
.server-onboarding-v1-body .onboard141-intro p { max-width:760px !important;margin:0 !important;color:var(--ob154-copy) !important;font-size:12px !important;line-height:1.65 !important; }
.server-onboarding-v1-body .onboard154-workspace {
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:18px;
  align-items:start;
}
.server-onboarding-v1-body .onboard154-primary,
.server-onboarding-v1-body .onboard154-side { min-width:0; }
.server-onboarding-v1-body .onboard154-side { display:grid;gap:14px;position:sticky;top:82px; }

.server-onboarding-v1-body .onboard141-software,
.server-onboarding-v1-body .onboard141-config,
.server-onboarding-v1-body .onboard141-finish,
.server-onboarding-v1-body .onboard141-empty,
.server-onboarding-v1-body .onboard141-no-results {
  margin:0 !important;
  border:1px solid var(--ob154-line) !important;
  border-radius:6px !important;
  background:var(--ob154-card) !important;
  box-shadow:0 2px 7px rgba(10,14,18,.11) !important;
}
.server-onboarding-v1-body .onboard141-software { padding:0 18px 18px; }
.server-onboarding-v1-body .onboard141-section-heading { margin:0 -18px 16px;padding:17px 18px 14px;border-bottom:1px solid var(--ob154-line); }
.server-onboarding-v1-body .onboard141-section-heading h3 { color:var(--ob154-ink) !important;font-size:15px !important; }
.server-onboarding-v1-body .onboard141-section-heading :is(span,.onboard141-section-hint) { color:var(--ob154-muted) !important; }
.server-onboarding-v1-body .onboard141-filterbar {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 0 14px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.server-onboarding-v1-body .onboard141-category-filters { gap:5px !important; }
.server-onboarding-v1-body .onboard141-category-filters button {
  min-height:34px !important;
  padding:0 10px !important;
  border:1px solid var(--ob154-line) !important;
  border-radius:4px !important;
  color:var(--ob154-copy) !important;
  background:var(--ob154-inset) !important;
}
.server-onboarding-v1-body .onboard141-category-filters button:hover { color:var(--ob154-ink) !important;background:var(--ob154-hover) !important; }
.server-onboarding-v1-body .onboard141-category-filters button.is-active { color:#fff !important;border-color:#087df5 !important;background:#087df5 !important; }
.server-onboarding-v1-body .onboard141-search {
  width:min(280px,100%);
  min-height:36px;
  border-color:var(--ob154-line) !important;
  border-radius:4px !important;
  background:var(--ob154-inset) !important;
}
.server-onboarding-v1-body .onboard141-search input { color:var(--ob154-ink) !important; }
.server-onboarding-v1-body .onboard141-search input::placeholder { color:var(--ob154-muted) !important; }
.server-onboarding-v1-body .onboard141-software-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important; }
.server-onboarding-v1-body .onboard141-software-card {
  min-height:112px !important;
  padding:13px !important;
  border-color:var(--ob154-line) !important;
  border-radius:5px !important;
  color:var(--ob154-ink) !important;
  background:var(--ob154-inset) !important;
  box-shadow:none !important;
}
.server-onboarding-v1-body .onboard141-software-card:hover { border-color:var(--ob154-line-strong,var(--dark-border, #65717b)) !important;background:var(--ob154-hover) !important;transform:none !important; }
.server-onboarding-v1-body .onboard141-software-card.is-selected { border-color:#087df5 !important;background:rgba(8,125,245,.09) !important;box-shadow:inset 3px 0 0 #087df5 !important; }
.server-onboarding-v1-body .onboard141-software-icon { width:42px;height:42px;border-color:var(--ob154-line) !important;border-radius:4px !important;background:var(--ob154-card) !important; }
.server-onboarding-v1-body .onboard141-software-copy strong { color:var(--ob154-ink) !important;font-size:12px !important; }
.server-onboarding-v1-body .onboard141-software-copy small,
.server-onboarding-v1-body .onboard141-software-description { color:var(--ob154-copy) !important; }
.server-onboarding-v1-body .onboard141-check { border-color:var(--ob154-line) !important;background:var(--ob154-card) !important; }

.server-onboarding-v1-body .onboard141-config { padding:0 !important;overflow:hidden; }
.server-onboarding-v1-body .onboard141-config-head { padding:16px !important;border-bottom:1px solid var(--ob154-line) !important; }
.server-onboarding-v1-body .onboard141-config-grid { grid-template-columns:1fr !important;gap:13px !important;padding:16px 16px 0; }
.server-onboarding-v1-body .onboard141-selected-icon { width:42px;height:42px;border-color:var(--ob154-line) !important;background:var(--ob154-inset) !important; }
.server-onboarding-v1-body .onboard141-selected-software h3 { color:var(--ob154-ink) !important;font-size:14px !important; }
.server-onboarding-v1-body .onboard141-selected-software p { color:var(--ob154-copy) !important; }
.server-onboarding-v1-body .onboard141-field > span { color:var(--ob154-ink) !important; }
.server-onboarding-v1-body .onboard141-field small { color:var(--ob154-muted) !important; }
.server-onboarding-v1-body .onboard141-field select { color:var(--ob154-ink) !important;border-color:var(--ob154-line) !important;background:var(--ob154-inset) !important; }
.server-onboarding-v1-body .onboard141-advanced-row { margin:15px 16px 0 !important;padding:14px 0 !important;border-color:var(--ob154-line) !important; }
.server-onboarding-v1-body .onboard141-checkline strong,
.server-onboarding-v1-body .onboard141-action-copy strong { color:var(--ob154-ink) !important; }
.server-onboarding-v1-body .onboard141-checkline small,
.server-onboarding-v1-body .onboard141-clean-note,
.server-onboarding-v1-body .onboard141-action-copy span { color:var(--ob154-copy) !important; }
.server-onboarding-v1-body .onboard141-action-row { margin:0 !important;padding:15px 16px 16px !important;align-items:stretch !important;flex-direction:column !important;gap:10px !important;border-top:1px solid var(--ob154-line);background:var(--ob154-inset); }
.server-onboarding-v1-body .onboard141-primary { width:100%;margin-top:12px;justify-content:center; }
.server-onboarding-v1-body .onboard141-install-status { margin:0 16px 16px !important;border-color:var(--ob154-line) !important;background:var(--ob154-inset) !important; }

.server-onboarding-v1-body .onboard141-finish { display:grid !important;grid-template-columns:40px minmax(0,1fr);gap:11px !important;padding:16px !important;opacity:.72; }
.server-onboarding-v1-body .onboard141-finish.is-ready { opacity:1;border-color:#3d8b68 !important;box-shadow:inset 3px 0 0 #4cc38a !important; }
.server-onboarding-v1-body .onboard141-finish-icon { width:40px;height:40px;background:var(--ob154-inset) !important; }
.server-onboarding-v1-body .onboard141-finish-copy h3 { color:var(--ob154-ink) !important;font-size:14px !important; }
.server-onboarding-v1-body .onboard141-finish-copy p { color:var(--ob154-copy) !important; }
.server-onboarding-v1-body .onboard141-finish form { grid-column:1/-1; }
.server-onboarding-v1-body .onboard141-finish-button { width:100%;justify-content:center; }
.server-onboarding-v1-body .onboard141-no-results { margin-top:10px !important;padding:15px !important; }
.server-onboarding-v1-body .onboard141-empty { padding:24px !important; }

html[data-theme="light"] .server-onboarding-v1-body .onboard141-software-card.is-selected { background:#f4f9ff !important; }
html[data-theme="light"] .server-onboarding-v1-body .onboard141-topbar { box-shadow:0 1px 3px rgba(24,35,45,.06) !important; }
html[data-theme="light"] .server-onboarding-v1-body .onboard141-theme-toggle,
html[data-theme="light"] .server-onboarding-v1-body .onboard141-back { color:#28323b !important;border-color:#d4dce3 !important;background:#fff !important; }
html[data-theme="light"] .server-onboarding-v1-body .onboard141-theme-toggle:hover,
html[data-theme="light"] .server-onboarding-v1-body .onboard141-back:hover { background:#eef2f5 !important; }

@media (max-width:1120px) {
  .server-onboarding-v1-body .onboard154-workspace { grid-template-columns:minmax(0,1fr) 320px; }
  .server-onboarding-v1-body .onboard141-software-grid { grid-template-columns:1fr !important; }
}
@media (max-width:900px) {
  .server-onboarding-v1-body .onboard141 { grid-template-columns:1fr !important; }
  .server-onboarding-v1-body .onboard141-rail { position:relative;height:auto;padding-bottom:14px !important; }
  .server-onboarding-v1-body .onboard141-rail-copy { display:none; }
  .server-onboarding-v1-body .onboard141-progress { grid-template-columns:repeat(3,1fr);display:grid;margin-top:14px !important; }
  .server-onboarding-v1-body .onboard141-server-card,
  .server-onboarding-v1-body .onboard141-rail-foot { display:none; }
  .server-onboarding-v1-body .onboard154-workspace { grid-template-columns:1fr; }
  .server-onboarding-v1-body .onboard154-side { position:static; }
  .server-onboarding-v1-body .onboard141-content { padding:22px 16px 44px !important; }
}
@media (max-width:620px) {
  .server-onboarding-v1-body .onboard141-progress { grid-template-columns:1fr; }
  .server-onboarding-v1-body .onboard141-topbar { padding:0 12px !important; }
  .server-onboarding-v1-body .onboard141-top-status { display:none; }
  .server-onboarding-v1-body .onboard141-filterbar { align-items:stretch !important;flex-direction:column !important; }
  .server-onboarding-v1-body .onboard141-category-filters { overflow-x:auto;flex-wrap:nowrap !important; }
  .server-onboarding-v1-body .onboard141-category-filters button { white-space:nowrap; }
  .server-onboarding-v1-body .onboard141-search { width:100%; }
}


/* ======= ui-r155.css ======= */
/* R155 — account-provider + marketplace theme polish.
   Loaded after the earlier refresh layers so legacy hard-coded charcoal cannot
   leak into light mode. Semantic states keep their colour; ordinary surfaces
   use one card -> inset -> control hierarchy. */

/* --------------------------------------------------------------------------
   Google connected / account security
   -------------------------------------------------------------------------- */
.account-security-body .account-google-card,
.account-security-body .account-google-card .account-provider-body {
  color: var(--r154-ink, var(--text));
}
.account-security-body .account-google-card .account-provider-body {
  display:grid;
  gap:12px;
}
.account-security-body .account-provider-identity,
.account-security-body .account-provider-note,
.account-security-body .account-provider-action-panel {
  border:1px solid var(--r154-line, var(--border)) !important;
  border-radius:6px !important;
  box-shadow:none !important;
}
.account-security-body .account-provider-identity {
  background:var(--r154-inset, var(--surface-soft)) !important;
}
.account-security-body .account-provider-note {
  border-left:3px solid #087df5 !important;
  background:var(--r154-inset, var(--surface-soft)) !important;
}
.account-security-body .account-provider-note strong,
.account-security-body .account-provider-identity-copy strong,
.account-security-body .account-provider-action-copy h3 {
  color:var(--r154-ink, var(--text)) !important;
}
.account-security-body .account-provider-note span,
.account-security-body .account-provider-identity-copy span,
.account-security-body .account-provider-identity-copy small,
.account-security-body .account-provider-action-copy p,
.account-security-body .account-provider-form .field small {
  color:var(--r154-copy, var(--muted)) !important;
}
.account-security-body .account-provider-google-mark,
.account-security-body .account-google-icon {
  border:1px solid var(--r154-line, var(--border)) !important;
  background:var(--dark-card, #fff) !important;
  box-shadow:none !important;
}
.account-security-body .account-provider-action-danger {
  border-color:color-mix(in srgb,#d95a66 34%,var(--r154-line, var(--border))) !important;
  background:color-mix(in srgb,#d95a66 6%,var(--r154-card, var(--white))) !important;
}
.account-security-body .account-provider-form .field input {
  color:var(--r154-ink, var(--text)) !important;
  border-color:var(--r154-line, var(--border)) !important;
  background:var(--r154-card, var(--white)) !important;
}
html[data-theme="dark"] .account-security-body .account-provider-identity,
html[data-theme="dark"] .account-security-body .account-provider-note {
  background:var(--dark-card, #30363c) !important;
}
html[data-theme="dark"] .account-security-body .account-provider-action-danger {
  border-color:#68454b !important;
  background:var(--dark-card, #3b3034) !important;
}
html[data-theme="light"] .account-security-body .account-provider-identity,
html[data-theme="light"] .account-security-body .account-provider-note {
  background:#f6f8fa !important;
}
html[data-theme="light"] .account-security-body .account-provider-action-danger {
  border-color:#ebc8cc !important;
  background:#fff7f8 !important;
}
html[data-theme="light"] .account-security-body .account-provider-form .field input {
  background:#fff !important;
}

/* --------------------------------------------------------------------------
   Plugin + mod manager: dialogs and managed rows must follow the active theme.
   -------------------------------------------------------------------------- */
.plugin-manager-body .plugin-manager-summary,
.plugin-manager-body .plugin-managed-dialog,
.plugin-manager-body .plugin-details-dialog,
.plugin-manager-body .plugin-details-dialog-shell,
.plugin-manager-body .plugin-catalogue-section,
.plugin-manager-body .plugin-compatibility-panel {
  color:var(--r154-ink, var(--text)) !important;
  border-color:var(--r154-line, var(--border)) !important;
  background:var(--r154-card, var(--white)) !important;
}
.plugin-manager-body .plugin-managed-dialog .dialog-header,
.plugin-manager-body .plugin-managed-dialog .dialog-actions,
.plugin-manager-body .plugin-details-dialog .plugin-details-dialog-actions {
  border-color:var(--r154-line, var(--border)) !important;
  background:var(--r154-card, var(--white)) !important;
}
.plugin-manager-body .plugin-installed-row {
  border-color:var(--r154-line, var(--border)) !important;
  background:var(--r154-card, var(--white)) !important;
}
.plugin-manager-body .plugin-installed-row:hover {
  background:var(--r154-inset-hover, var(--surface-soft)) !important;
}
.plugin-manager-body :is(.plugin-details-stats>div,.plugin-details-compatibility,.plugin-details-icon,.plugin-installed-mark,.plugin-empty-state) {
  color:var(--r154-ink, var(--text)) !important;
  border-color:var(--r154-line, var(--border)) !important;
  background:var(--r154-inset, var(--surface-soft)) !important;
}
.plugin-manager-body :is(.plugin-details-heading p,.plugin-details-stats span,.plugin-details-compatibility>span,.plugin-installed-copy span,.plugin-managed-dialog .dialog-header p) {
  color:var(--r154-copy, var(--muted)) !important;
}
.plugin-manager-body .dialog-close {
  color:var(--r154-copy, var(--muted)) !important;
  border-color:transparent !important;
  background:transparent !important;
}
.plugin-manager-body .dialog-close:hover {
  color:var(--r154-ink, var(--text)) !important;
  background:var(--r154-inset-hover, var(--surface-soft)) !important;
}
html[data-theme="light"] .plugin-manager-body :is(.plugin-managed-dialog,.plugin-details-dialog,.plugin-details-dialog-shell,.plugin-manager-summary,.plugin-catalogue-section,.plugin-compatibility-panel,.mp96-controls) {
  background:#fff !important;
}
html[data-theme="light"] .plugin-manager-body :is(.plugin-details-stats>div,.plugin-details-compatibility,.plugin-details-icon,.plugin-installed-mark,.plugin-empty-state) {
  background:#f6f8fa !important;
}
html[data-theme="dark"] .plugin-manager-body :is(.plugin-managed-dialog,.plugin-details-dialog,.plugin-details-dialog-shell,.plugin-manager-summary,.plugin-catalogue-section,.plugin-compatibility-panel,.mp96-controls) {
  background:var(--dark-card, #343a40) !important;
}
html[data-theme="dark"] .plugin-manager-body :is(.plugin-details-stats>div,.plugin-details-compatibility,.plugin-details-icon,.plugin-installed-mark,.plugin-empty-state) {
  background:var(--dark-card, #30363c) !important;
}

/* Modrinth descriptions are content inside Freemchosting, not a second site.
   Normalize typography/colour and use theme-aware blocks for rich Markdown. */
.plugin-manager-body .plugin-details-description:has(> .plugin-bb-modrinth) {
  margin-top:14px;
  padding:0;
  color:var(--r154-copy, var(--text)) !important;
  background:transparent !important;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:13px !important;
  line-height:1.68 !important;
}
.plugin-manager-body .plugin-bb-modrinth {
  max-width:820px;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  color:var(--r154-copy, var(--text)) !important;
  background:transparent !important;
  box-shadow:none !important;
  font-family:inherit !important;
  font-size:13px !important;
  line-height:1.68 !important;
}
.plugin-manager-body .plugin-bb-modrinth :is(h2,h3,h4,h5,h6,strong,b) {
  color:var(--r154-ink, var(--text)) !important;
  font-family:inherit !important;
}
.plugin-manager-body .plugin-bb-modrinth h2 {
  margin:28px 0 10px !important;
  padding-bottom:8px;
  border-bottom:1px solid var(--r154-line, var(--border));
  font-size:19px !important;
  line-height:1.3 !important;
}
.plugin-manager-body .plugin-bb-modrinth h3 { margin:24px 0 9px !important;font-size:16px !important; }
.plugin-manager-body .plugin-bb-modrinth h4 { margin:20px 0 8px !important;font-size:14px !important; }
.plugin-manager-body .plugin-bb-modrinth p { margin:0 0 13px !important; }
.plugin-manager-body .plugin-bb-modrinth ul,
.plugin-manager-body .plugin-bb-modrinth ol { margin:0 0 14px !important;padding-left:22px !important; }
.plugin-manager-body .plugin-bb-modrinth li { margin:4px 0 !important; }
.plugin-manager-body .plugin-bb-modrinth a { color:#087df5 !important;font-weight:650 !important; }
.plugin-manager-body .plugin-bb-modrinth blockquote {
  margin:14px 0 !important;
  padding:11px 13px !important;
  border:1px solid var(--r154-line, var(--border)) !important;
  border-left:3px solid #087df5 !important;
  border-radius:5px !important;
  color:var(--r154-copy, var(--muted)) !important;
  background:var(--r154-inset, var(--surface-soft)) !important;
}
.plugin-manager-body .plugin-bb-modrinth :is(code:not(pre code),.plugin-bb-modrinth-code,.plugin-bb-modrinth-spoiler),
.plugin-manager-body .plugin-bb-modrinth-table-wrap {
  color:var(--r154-ink, var(--text)) !important;
  border-color:var(--r154-line, var(--border)) !important;
  background:var(--r154-inset, var(--surface-soft)) !important;
}
.plugin-manager-body .plugin-bb-modrinth .plugin-bb-modrinth-code {
  border-radius:5px !important;
  font-size:11px !important;
  white-space:pre-wrap !important;
}
.plugin-manager-body .plugin-bb-modrinth-table-wrap { border-radius:5px !important; }
.plugin-manager-body .plugin-bb-modrinth-table th {
  color:var(--r154-ink, var(--text)) !important;
  border-color:var(--r154-line, var(--border)) !important;
  background:var(--r154-card-raised, var(--white)) !important;
}
.plugin-manager-body .plugin-bb-modrinth-table td {
  color:var(--r154-copy, var(--text)) !important;
  border-color:var(--r154-line, var(--border)) !important;
  background:transparent !important;
}
.plugin-manager-body .plugin-bb-modrinth .plugin-bb-modrinth-image {
  max-width:min(100%,720px);
  border-radius:6px !important;
  background:transparent !important;
}
.plugin-manager-body .plugin-bb-embed-link {
  display:flex;
  align-items:center;
  gap:11px;
  width:max-content;
  max-width:100%;
  margin:14px 0;
  padding:10px 12px;
  border:1px solid var(--r154-line, var(--border));
  border-radius:6px;
  color:var(--r154-ink, var(--text)) !important;
  background:var(--r154-inset, var(--surface-soft));
  text-decoration:none !important;
}
.plugin-manager-body .plugin-bb-embed-link:hover { background:var(--r154-inset-hover, var(--surface-soft)); }
.plugin-manager-body .plugin-bb-embed-icon {
  width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;
  border-radius:5px;color:#fff;background:#087df5;font-size:11px;
}
.plugin-manager-body .plugin-bb-embed-link>span:last-child { display:grid;gap:1px; }
.plugin-manager-body .plugin-bb-embed-link strong { color:var(--r154-ink, var(--text)) !important;font-size:11px; }
.plugin-manager-body .plugin-bb-embed-link small { color:var(--r154-copy, var(--muted)) !important;font-size:9px; }

/* The compatibility list can be very long. Keep it readable instead of making
   the top of the details modal look like one enormous paragraph. */
.plugin-manager-body .plugin-details-compatibility strong {
  max-height:92px;
  overflow:auto;
  padding-right:4px;
  line-height:1.65;
}

@media (max-width:700px) {
  .plugin-manager-body .plugin-bb-modrinth { font-size:12px !important; }
  .plugin-manager-body .plugin-bb-modrinth h2 { font-size:17px !important; }
  .plugin-manager-body .plugin-bb-embed-link { width:100%; }
}


/* ======= ui-r156.css ======= */
/* R156: navigation badge polish, no-circuit fallback logo, server IP copy affordance,
   version chooser light-mode hover cleanup, and final onboarding alignment touchups. */

/* Brand mark fallback: clean server-stack glyph, no surrounding circuit art. */
.brand-mark svg rect { rx:1.8; }
.dashboard145-hero-mark .brand-mark svg,
.onboard141-brand .brand-mark svg { stroke-width:1.9; }

/* Dashboard hero / marketing card: slightly cleaner visual rhythm. */
.dashboard145-hero-mark .brand-mark {
  background:transparent !important;
  box-shadow:none !important;
}

/* Server address copy affordance. */
.server-address-inline {
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.server-address-copy {
  width:28px;
  height:28px;
  padding:0;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-soft);
  color:var(--muted);
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.server-address-copy:hover,
.server-address-copy:focus-visible {
  color:var(--text);
  border-color:color-mix(in srgb,var(--teal) 42%,var(--border));
  background:color-mix(in srgb,var(--teal) 8%,var(--surface-soft));
  transform:translateY(-1px);
  outline:none;
}
.server-address-copy svg {
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.console8-runtime-address .server-address-inline { margin-top:8px; }
.server-hosting-grid .server-address-inline { margin-top:2px; }

/* Version changer: white mode hover should stay naturally light, not charcoal. */
html[data-theme="light"] .server-versions-v79-body .version79-type-card,
html[data-theme="light"] .server-versions-v79-body .version79-version-row,
html[data-theme="light"] .server-versions-v79-body .version79-back,
html[data-theme="light"] .server-versions-v79-body .version79-search,
html[data-theme="light"] .server-versions-v79-body .version80-software-meta span {
  box-shadow:none;
}
html[data-theme="light"] .server-versions-v79-body .version79-type-card:hover {
  background:#f7fbff !important;
  border-color:#bad8fa !important;
}
html[data-theme="light"] .server-versions-v79-body .version79-version-row:hover {
  background:#f5f8fb !important;
}
html[data-theme="light"] .server-versions-v79-body .version79-back:hover,
html[data-theme="light"] .server-versions-v79-body .version79-dialog-close:hover {
  background:#f1f5f9 !important;
}

/* Small dashboard hero tidy-up for spacing around the explanatory copy. */
.dashboard145-hero-copy p {
  max-width:62ch;
}

/* Mobile expanded sidebar: ensure spacing stays breathable. */
@media (max-width:900px) {
  .sidebar .brand { padding-bottom:22px !important; }
  .sidebar-section { margin-top:8px; }
  .sidebar-link { min-height:46px; }
}


/* ======= ui-r158.css ======= */
/* R158 corrective polish: restore configured logo, remove only logo container chrome,
   restore pre-R156 count badges, and give the server-address copy action proper spacing. */

/* Restore the original sidebar notification/count presentation. */
.sidebar-count {
  color:#fff !important;
  background:var(--dark-card-alpha-0-16, rgba(255,255,255,.16)) !important;
  box-shadow:none !important;
}
.sidebar-link.active .sidebar-count {
  color:#fff !important;
  background:var(--dark-card-alpha-0-18, rgba(255,255,255,.18)) !important;
}

/* A configured logo is the logo. Remove only the surrounding badge/circle/chrome. */
.brand-mark.brand-mark-image,
.sidebar .brand-mark.brand-mark-image,
.dashboard145-hero-mark .brand-mark.brand-mark-image,
.onboard141-brand .brand-mark.brand-mark-image,
.auth-brand .brand-mark.brand-mark-image,
.auth-mobile-brand .brand-mark.brand-mark-image,
.topbar-mobile-brand .brand-mark.brand-mark-image {
  overflow:visible !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.brand-mark.brand-mark-image img,
.sidebar .brand-mark.brand-mark-image img,
.dashboard145-hero-mark .brand-mark.brand-mark-image img,
.onboard141-brand .brand-mark.brand-mark-image img,
.auth-brand .brand-mark.brand-mark-image img,
.auth-mobile-brand .brand-mark.brand-mark-image img,
.topbar-mobile-brand .brand-mark.brand-mark-image img {
  width:100% !important;
  height:100% !important;
  display:block;
  object-fit:contain !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Server address and copy button are siblings with a deliberate gap. */
.server-address-row {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  margin-top:8px;
}
.server-address-row > strong {
  min-width:0;
  overflow:hidden;
  color:var(--text);
  font-size:16px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.server-address-row-hosting {
  margin-top:5px;
}
.server-address-row-hosting > strong {
  font-size:inherit;
}
.server-address-copy {
  flex:0 0 30px !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  padding:0 !important;
  align-self:center;
  border-radius:7px !important;
}
.server-address-copy svg {
  width:14px !important;
  height:14px !important;
}
@media(max-width:560px){
  .server-address-row { gap:8px; }
  .server-address-copy { flex-basis:28px !important;width:28px !important;height:28px !important; }
}


/* ======= ui-r159.css ======= */
/* R159 — plugin/mod catalogue visual cleanup and final badge safeguards.
   Restore the familiar sidebar count treatment and make the marketplace look like
   one intentional card system instead of a transparent section with separator lines. */

/* Keep the pre-R156 sidebar count appearance everywhere. */
.sidebar-count,
.sidebar-link .sidebar-count,
.sidebar-link.active .sidebar-count,
html[data-theme="light"] .sidebar-count,
html[data-theme="dark"] .sidebar-count {
  color:#fff !important;
  background:rgba(255,255,255,.16) !important;
  box-shadow:none !important;
}
.sidebar-link.active .sidebar-count,
html[data-theme="light"] .sidebar-link.active .sidebar-count,
html[data-theme="dark"] .sidebar-link.active .sidebar-count {
  background:rgba(255,255,255,.18) !important;
}

/* Plugin / mod manager: make the catalogue section a proper card again. */
.plugin-manager-body .plugin-catalogue-section {
  margin-top:18px !important;
  padding:24px 26px !important;
  border:1px solid var(--mp157-line, var(--border)) !important;
  border-radius:16px !important;
  background:var(--mp157-surface, var(--surface-raised, var(--white))) !important;
}
.plugin-manager-body .plugin-catalogue-head {
  gap:16px !important;
  margin-bottom:0 !important;
}
.plugin-manager-body .plugin-catalogue-head > div:first-child {
  max-width:820px !important;
}
.plugin-manager-body .plugin-catalogue-head p {
  font-size:11px !important;
  line-height:1.65 !important;
}

/* The controls should belong to the section instead of looking like a second random box. */
.plugin-manager-body .mp96-controls {
  margin-top:8px !important;
  padding:0 !important;
  gap:18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
.plugin-manager-body .mp96-primary-row,
.plugin-manager-body .mp96-filter-row {
  gap:12px !important;
}
.plugin-manager-body .mp96-filter-row {
  padding-top:0 !important;
  border-top:0 !important;
}
.plugin-manager-body .mp96-control {
  gap:7px !important;
}
.plugin-manager-body .mp96-control > span {
  font-size:9px !important;
}
.plugin-manager-body .mp96-control select,
.plugin-manager-body .mp96-search,
.plugin-manager-body .mp96-control .marketplace-select-trigger,
.plugin-manager-body .mp96-search-button {
  min-height:46px !important;
  height:46px !important;
  border-radius:12px !important;
}
.plugin-manager-body .mp96-search {
  padding:0 14px !important;
}
.plugin-manager-body .mp96-search input {
  font-size:11px !important;
}
.plugin-manager-body .mp96-search-button {
  min-width:112px !important;
}
.plugin-manager-body .mp96-clear {
  min-height:40px !important;
  padding:0 4px !important;
  font-size:10px !important;
}

/* Result cards: slightly cleaner rhythm and remove odd visual flatness. */
.plugin-manager-body .plugin-card-grid {
  margin-top:18px !important;
  gap:18px !important;
}
.plugin-manager-body .plugin-card {
  min-height:100% !important;
  padding:20px 20px 18px !important;
  border-radius:16px !important;
  background:var(--mp157-surface, var(--surface-raised, var(--white))) !important;
}
.plugin-manager-body .plugin-card-title {
  gap:14px !important;
  margin-bottom:14px !important;
}
.plugin-manager-body .plugin-card-icon {
  width:58px !important;
  height:58px !important;
  border-radius:14px !important;
}
.plugin-manager-body .plugin-card-title h3 {
  font-size:18px !important;
  line-height:1.2 !important;
}
.plugin-manager-body .plugin-card-title span,
.plugin-manager-body .plugin-card > p {
  font-size:11px !important;
  line-height:1.6 !important;
}
.plugin-manager-body .plugin-card > p {
  min-height:3.2em;
}
.plugin-manager-body .plugin-card footer,
.plugin-manager-body .plugin-card .plugin-card-meta,
.plugin-manager-body .plugin-card .plugin-card-actions {
  border-color:var(--mp157-line, var(--border)) !important;
}

/* Extra consistency for managed dialogs/details/modals. */
.plugin-manager-body :is(.plugin-manager-summary,.plugin-compatibility-panel,.plugin-managed-dialog-shell,.plugin-details-dialog-shell,.plugin-external-dialog-shell) {
  border-radius:16px !important;
}
.plugin-manager-body .plugin-details-description,
.plugin-manager-body .plugin-bb-modrinth {
  line-height:1.68 !important;
}

html[data-theme="light"] .plugin-manager-body .plugin-catalogue-section,
html[data-theme="light"] .plugin-manager-body .plugin-card,
html[data-theme="light"] .plugin-manager-body .plugin-manager-summary,
html[data-theme="light"] .plugin-manager-body .plugin-compatibility-panel,
html[data-theme="light"] .plugin-manager-body :is(.plugin-managed-dialog-shell,.plugin-details-dialog-shell,.plugin-external-dialog-shell) {
  background:#fff !important;
}
html[data-theme="dark"] .plugin-manager-body .plugin-catalogue-section,
html[data-theme="dark"] .plugin-manager-body .plugin-card,
html[data-theme="dark"] .plugin-manager-body .plugin-manager-summary,
html[data-theme="dark"] .plugin-manager-body .plugin-compatibility-panel,
html[data-theme="dark"] .plugin-manager-body :is(.plugin-managed-dialog-shell,.plugin-details-dialog-shell,.plugin-external-dialog-shell) {
  background:var(--dark-card, #343a40) !important;
}

@media (max-width:760px) {
  .plugin-manager-body .plugin-catalogue-section {
    padding:18px 16px !important;
    border-radius:14px !important;
  }
  .plugin-manager-body .plugin-card-grid {
    gap:14px !important;
  }
  .plugin-manager-body .plugin-card {
    padding:16px !important;
    border-radius:14px !important;
  }
}


/* ======= ui-r157.css ======= */
/* R157 — marketplace surface consolidation.
   Plugin/Mod Manager used three generations of colour tokens at once. Keep one
   explicit surface hierarchy per theme so cards, dialogs, filters and rich
   descriptions look intentionally related rather than like slightly different
   whites/charcoals. */
.plugin-manager-body {
  --mp157-page:var(--dark-page, #444d55);
  --mp157-surface:var(--dark-card, #343a40);
  --mp157-inset:var(--dark-inset, #30363c);
  --mp157-hover:var(--dark-raised, #3a4249);
  --mp157-line:var(--dark-border, #515c65);
  --mp157-line-strong:var(--dark-border, #65717b);
  --mp157-text:#f4f6f8;
  --mp157-copy:var(--dark-muted, #c2c9cf);
  --mp157-muted:var(--dark-muted, #9ca7b0);
}
html[data-theme="light"] .plugin-manager-body {
  --mp157-page:#f3f5f7;
  --mp157-surface:#ffffff;
  --mp157-inset:#f6f8fa;
  --mp157-hover:#eef2f5;
  --mp157-line:#d7dee5;
  --mp157-line-strong:#bdc8d1;
  --mp157-text:#0b0d0f;
  --mp157-copy:#343a40;
  --mp157-muted:#65717d;
}

/* Primary marketplace surfaces all use the exact same theme card colour. */
.plugin-manager-body :is(
  .plugin-compatibility-panel,
  .plugin-manager-summary,
  .plugin-catalogue-section,
  .plugin-card,
  .mp96-controls,
  .plugin-managed-dialog,
  .plugin-managed-dialog-shell,
  .plugin-details-dialog,
  .plugin-details-dialog-shell,
  .plugin-external-dialog,
  .plugin-external-dialog-shell
) {
  color:var(--mp157-text) !important;
  border-color:var(--mp157-line) !important;
  background:var(--mp157-surface) !important;
  box-shadow:none !important;
}

/* Catalogue section is a section boundary, not a second-colour panel. */
.plugin-manager-body .plugin-catalogue-section {
  background:transparent !important;
}

/* Header/footer pieces inside dialogs no longer introduce another shade. */
.plugin-manager-body :is(
  .plugin-managed-dialog .dialog-header,
  .plugin-managed-dialog .dialog-actions,
  .plugin-details-dialog-header,
  .plugin-details-dialog-actions,
  .plugin-details-state,
  .plugin-details-about,
  .plugin-external-dialog-actions
) {
  border-color:var(--mp157-line) !important;
  background:var(--mp157-surface) !important;
}

/* One deliberate inset colour for controls and information blocks. */
.plugin-manager-body :is(
  .mp96-search,
  .mp96-control select,
  .marketplace-select-trigger,
  .marketplace-select-menu,
  .plugin-card-icon,
  .plugin-installed-mark,
  .plugin-details-icon,
  .plugin-details-stats > div,
  .plugin-details-compatibility,
  .plugin-empty-state,
  .plugin-external-dialog-icon,
  .plugin-bb-modrinth blockquote,
  .plugin-bb-modrinth code:not(pre code),
  .plugin-bb-modrinth .plugin-bb-modrinth-code,
  .plugin-bb-modrinth .plugin-bb-modrinth-spoiler,
  .plugin-bb-modrinth-table-wrap,
  .plugin-bb-embed-link
) {
  color:var(--mp157-text) !important;
  border-color:var(--mp157-line) !important;
  background:var(--mp157-inset) !important;
  box-shadow:none !important;
}
.plugin-manager-body .plugin-card-icon img,
.plugin-manager-body .plugin-installed-mark img,
.plugin-manager-body .plugin-details-icon img {
  background:var(--mp157-inset) !important;
}

/* Managed rows and plugin cards stay on the card surface until hover. */
.plugin-manager-body .plugin-installed-row {
  color:var(--mp157-text) !important;
  border-color:var(--mp157-line) !important;
  background:var(--mp157-surface) !important;
}
.plugin-manager-body :is(.plugin-card,.plugin-installed-row,.marketplace-select-option):hover {
  border-color:var(--mp157-line-strong) !important;
  background:var(--mp157-hover) !important;
  transform:none !important;
}
.plugin-manager-body .marketplace-select-option.is-selected {
  color:#087df5 !important;
  background:color-mix(in srgb,#087df5 10%,var(--mp157-inset)) !important;
}

/* Keep the rich project body on the dialog surface; only semantic blocks inset. */
.plugin-manager-body .plugin-details-description:has(> .plugin-bb-modrinth),
.plugin-manager-body .plugin-bb-modrinth {
  color:var(--mp157-copy) !important;
  background:transparent !important;
}
.plugin-manager-body .plugin-bb-modrinth :is(h2,h3,h4,h5,h6,strong,b) {
  color:var(--mp157-text) !important;
}
.plugin-manager-body .plugin-bb-modrinth h2,
.plugin-manager-body .plugin-details-about,
.plugin-manager-body .plugin-details-dialog-actions,
.plugin-manager-body .plugin-managed-dialog .dialog-header,
.plugin-manager-body .plugin-managed-dialog .dialog-actions,
.plugin-manager-body .mp96-filter-row {
  border-color:var(--mp157-line) !important;
}
.plugin-manager-body .plugin-bb-modrinth-table th {
  color:var(--mp157-text) !important;
  border-color:var(--mp157-line) !important;
  background:var(--mp157-surface) !important;
}
.plugin-manager-body .plugin-bb-modrinth-table td {
  color:var(--mp157-copy) !important;
  border-color:var(--mp157-line) !important;
  background:var(--mp157-inset) !important;
}

/* Copy and metadata all use the same neutral text values. */
.plugin-manager-body :is(
  .plugin-page-heading p,
  .plugin-catalogue-head p,
  .plugin-card > p,
  .plugin-card-title span,
  .plugin-installed-copy span,
  .plugin-managed-dialog .dialog-header p,
  .plugin-details-heading p,
  .plugin-details-stats span,
  .plugin-details-compatibility > span,
  .plugin-external-dialog-copy p,
  .mp96-control > span,
  .mp96-clear,
  .plugin-pagination > span:nth-child(2)
) {
  color:var(--mp157-muted) !important;
}
.plugin-manager-body :is(
  .plugin-page-heading h1,
  .plugin-catalogue-head h2,
  .plugin-card-title h3,
  .plugin-installed-copy strong,
  .plugin-details-heading h2,
  .plugin-details-stats strong,
  .plugin-details-compatibility strong,
  .plugin-external-dialog-copy h2,
  .plugin-external-dialog-copy p strong
) {
  color:var(--mp157-text) !important;
}

/* Inputs/dropdowns should visually belong to the surrounding controls panel. */
.plugin-manager-body :is(.mp96-search,.mp96-control select,.marketplace-select-trigger) {
  background:var(--mp157-surface) !important;
}
.plugin-manager-body .marketplace-select-menu {
  background:var(--mp157-surface) !important;
  border:1px solid var(--mp157-line) !important;
}
.plugin-manager-body .marketplace-select-option {
  color:var(--mp157-copy) !important;
  background:var(--mp157-surface) !important;
}
.plugin-manager-body :is(.mp96-search,.mp96-control select,.marketplace-select-trigger):hover {
  background:var(--mp157-hover) !important;
}

/* Dialog backdrops are identical in both managers and both themes. */
.plugin-manager-body :is(.plugin-managed-dialog,.plugin-details-dialog,.plugin-external-dialog)::backdrop {
  background:rgba(8,13,18,.58) !important;
  backdrop-filter:blur(3px);
}

/* Light mode intentionally uses exact white for all major marketplace cards. */
html[data-theme="light"] .plugin-manager-body :is(
  .plugin-compatibility-panel,
  .plugin-manager-summary,
  .plugin-card,
  .mp96-controls,
  .plugin-managed-dialog,
  .plugin-managed-dialog-shell,
  .plugin-details-dialog,
  .plugin-details-dialog-shell,
  .plugin-external-dialog,
  .plugin-external-dialog-shell,
  .plugin-managed-dialog .dialog-header,
  .plugin-managed-dialog .dialog-actions,
  .plugin-details-dialog-header,
  .plugin-details-dialog-actions
) { background:#fff !important; }

/* Dark mode intentionally uses the exact same graphite card colour everywhere. */
html[data-theme="dark"] .plugin-manager-body :is(
  .plugin-compatibility-panel,
  .plugin-manager-summary,
  .plugin-card,
  .mp96-controls,
  .plugin-managed-dialog,
  .plugin-managed-dialog-shell,
  .plugin-details-dialog,
  .plugin-details-dialog-shell,
  .plugin-external-dialog,
  .plugin-external-dialog-shell,
  .plugin-managed-dialog .dialog-header,
  .plugin-managed-dialog .dialog-actions,
  .plugin-details-dialog-header,
  .plugin-details-dialog-actions
) { background:var(--dark-card, #343a40) !important; }

.server-address-copy.is-copied {
  color:#fff !important;
  border-color:#178b60 !important;
  background:#178b60 !important;
}


/* ======= ui-r160.css ======= */
/* R160 — server workspace geometry + marketplace artwork + access UI fixes.
   Keep all server-panel cards on the same compact geometry as the overview,
   preserve complete plugin/mod artwork, and keep light-mode feature icons legible. */

/* Every actual *-card token inside a /server/:id workspace shares the overview
   card radius. The token match intentionally avoids *-card-head/icon/grid helpers. */
.server-workspace-body :is([class$="-card"],[class*="-card "]) {
  border-radius:6px !important;
}

/* Card-like server surfaces whose names predate the *-card convention. */
.server-workspace-body :is(
  .plugin-manager-summary,
  .plugin-compatibility-panel,
  .plugin-catalogue-section,
  .plugin-installed-list,
  .plugin-managed-dialog-shell,
  .plugin-details-dialog-shell,
  .plugin-external-dialog-shell,
  .mp96-controls,
  .server-control-tabs,
  .table-wrap,
  .users-table-wrap,
  .server-tool-table-wrap
) {
  border-radius:6px !important;
}

/* Plugin and mod project artwork must be shown in full rather than center-cropped. */
.plugin-manager-body .plugin-card-icon img,
.plugin-manager-body .plugin-installed-mark img,
.plugin-manager-body .plugin-details-icon img {
  object-fit:contain !important;
  object-position:center !important;
}

/* Keep the artwork frames compact and consistent with the rest of the panel. */
.plugin-manager-body :is(.plugin-card-icon,.plugin-installed-mark,.plugin-details-icon) {
  border-radius:6px !important;
}

/* Advanced Management: light theme uses a solid blue tile with a white SVG. */
html[data-theme="light"] .server-workspace-body .server-panel-card .card-icon {
  color:#fff !important;
  border-color:var(--blue) !important;
  background:var(--blue) !important;
}
html[data-theme="light"] .server-workspace-body .server-panel-card .card-icon svg {
  color:#fff !important;
  stroke:#fff !important;
}


@media (max-width:760px) {
  .server-workspace-body :is([class$="-card"],[class*="-card "]),
  .server-workspace-body :is(
    .plugin-manager-summary,
    .plugin-compatibility-panel,
    .plugin-catalogue-section,
    .plugin-installed-list,
    .plugin-managed-dialog-shell,
    .plugin-details-dialog-shell,
    .plugin-external-dialog-shell,
    .mp96-controls
  ) {
    border-radius:6px !important;
  }
}


/* ======= ui-r161.css ======= */
/* R161 — customer UI polish: toast notifications, direct IP copy, compact
   marketplace artwork, simple confirmations, overview logo cleanup and
   structured Players facts. Loaded after the previous UI patches. */

/* --------------------------------------------------------------------------
   Customer notifications: transient flash/status messages live in a stacked
   bottom-right toast region instead of shifting page content from the top.
   -------------------------------------------------------------------------- */
.portal-notice-region.portal-toast-region {
  position:fixed !important;
  right:max(18px,env(safe-area-inset-right)) !important;
  bottom:max(18px,env(safe-area-inset-bottom)) !important;
  left:auto !important;
  top:auto !important;
  z-index:10080 !important;
  width:min(390px,calc(100vw - 32px)) !important;
  margin:0 !important;
  display:grid !important;
  gap:10px !important;
  pointer-events:none !important;
}
.portal-toast-region:empty { display:none !important; }
.portal-toast-region .portal-toast {
  --portal-toast-accent:#2f78d8;
  position:relative;
  min-height:64px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 24px;
  align-items:center;
  gap:11px;
  margin:0 !important;
  padding:11px 10px 12px 12px !important;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--portal-toast-accent) 38%,var(--border)) !important;
  border-radius:7px !important;
  color:var(--text) !important;
  background:var(--white) !important;
  box-shadow:0 16px 42px rgba(16,24,40,.20) !important;
  pointer-events:auto !important;
  animation:portal-toast-in .18s ease-out both;
}
.portal-toast-region .portal-toast.notice-success { --portal-toast-accent:#13a77f; }
.portal-toast-region .portal-toast.notice-warning { --portal-toast-accent:#d79421; }
.portal-toast-region .portal-toast.notice-error { --portal-toast-accent:#cb5968; }
.portal-toast-region .portal-toast.notice-info { --portal-toast-accent:#2f78d8; }
.portal-toast-region .portal-toast::after {
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:2px;
  background:var(--portal-toast-accent);
  transform-origin:left center;
  animation:portal-toast-progress var(--portal-toast-duration,8000ms) linear forwards;
}
.portal-toast-region .portal-toast .notice-dot {
  position:relative;
  width:28px !important;
  height:28px !important;
  flex:0 0 28px !important;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--portal-toast-accent) 56%,transparent);
  border-radius:50%;
  background:color-mix(in srgb,var(--portal-toast-accent) 12%,transparent) !important;
}
.portal-toast-region .portal-toast .notice-dot::after {
  content:"i";
  color:var(--portal-toast-accent);
  font-size:13px;
  font-weight:850;
  font-family:Inter,ui-sans-serif,sans-serif;
  line-height:1;
}
.portal-toast-region .portal-toast.notice-success .notice-dot::after { content:"✓"; font-size:14px; }
.portal-toast-region .portal-toast.notice-warning .notice-dot::after,
.portal-toast-region .portal-toast.notice-error .notice-dot::after { content:"!"; }
.portal-toast-region .portal-toast-copy {
  min-width:0;
  color:var(--text);
  font-size:11px;
  font-weight:650;
  line-height:1.45;
}
.portal-toast-region .portal-toast-close {
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  margin:0 !important;
  padding:0;
  border:0;
  border-radius:5px;
  color:var(--muted) !important;
  background:transparent !important;
  font-size:16px !important;
  line-height:1;
  opacity:.78 !important;
}
.portal-toast-region .portal-toast-close:hover { opacity:1 !important; background:color-mix(in srgb,var(--text) 7%,transparent) !important; }
.portal-toast-region .portal-toast-close:focus-visible { outline:2px solid color-mix(in srgb,var(--portal-toast-accent) 55%,transparent); outline-offset:1px; }
html[data-theme="dark"] .portal-toast-region .portal-toast {
  color:var(--dark-text, #e8edf3) !important;
  border-color:color-mix(in srgb,var(--portal-toast-accent) 42%,var(--dark-border, #3b4550)) !important;
  background:var(--dark-card, #242b32) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.34) !important;
}
html[data-theme="dark"] .portal-toast-region .portal-toast-copy { color:var(--dark-text, #e8edf3); }
html[data-theme="dark"] .portal-toast-region .portal-toast-close { color:var(--dark-text, #aab4bf) !important; }
@keyframes portal-toast-in { from { opacity:0; transform:translate3d(18px,8px,0); } to { opacity:1; transform:none; } }
@keyframes portal-toast-progress { from { transform:scaleX(1); } to { transform:scaleX(0); } }
@media (prefers-reduced-motion:reduce) {
  .portal-toast-region .portal-toast { animation:none; }
  .portal-toast-region .portal-toast::after { animation:none; display:none; }
}
@media (max-width:620px) {
  .portal-notice-region.portal-toast-region {
    right:max(10px,env(safe-area-inset-right)) !important;
    bottom:max(10px,env(safe-area-inset-bottom)) !important;
    width:calc(100vw - 20px) !important;
  }
}

/* --------------------------------------------------------------------------
   Server address: the IP/port text itself is the copy target.
   -------------------------------------------------------------------------- */
.server-console-v1138-body .server-address-row { gap:0 !important; }
.server-console-v1138-body .server-address-value.is-copyable {
  display:inline-block;
  max-width:100%;
  margin:-3px -5px;
  padding:3px 5px;
  border-radius:4px;
  cursor:pointer;
  transition:background-color .14s ease,color .14s ease,box-shadow .14s ease;
}
.server-console-v1138-body .server-address-value.is-copyable:hover {
  color:var(--blue,var(--teal));
  background:color-mix(in srgb,var(--blue,var(--teal)) 9%,transparent);
  text-decoration:underline;
  text-decoration-style:dotted;
  text-underline-offset:3px;
}
.server-console-v1138-body .server-address-value.is-copyable:focus-visible {
  outline:2px solid color-mix(in srgb,var(--blue,var(--teal)) 55%,transparent);
  outline-offset:2px;
}
.server-console-v1138-body .server-address-value.is-copyable.is-copied {
  color:var(--green,#09b77e) !important;
  background:color-mix(in srgb,var(--green,#09b77e) 10%,transparent);
}

/* --------------------------------------------------------------------------
   Marketplace: return to a compact, practical catalogue. Artwork remains a
   true square and is fully visible; source/loader/sort controls are untouched.
   -------------------------------------------------------------------------- */
.plugin-manager-body .plugin-catalogue-section,
.plugin-manager-body :is(.plugin-manager-summary,.plugin-compatibility-panel,.plugin-managed-dialog-shell,.plugin-details-dialog-shell,.plugin-external-dialog-shell) {
  border-radius:6px !important;
}
.plugin-manager-body .plugin-catalogue-section { padding:19px 20px !important; }
.plugin-manager-body .plugin-card-grid {
  margin-top:14px !important;
  gap:12px !important;
}
.plugin-manager-body .plugin-card {
  min-height:184px !important;
  padding:13px 14px 12px !important;
  border-radius:6px !important;
}
.plugin-manager-body .plugin-card-top { align-items:flex-start !important; gap:10px !important; }
.plugin-manager-body .plugin-card-title { min-width:0; gap:2px !important; margin:1px 0 0 !important; }
.plugin-manager-body .plugin-card-icon,
.plugin-manager-body .plugin-installed-mark,
.plugin-manager-body .plugin-details-icon {
  aspect-ratio:1 / 1 !important;
  border-radius:6px !important;
}
.plugin-manager-body .plugin-card-icon {
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
}
.plugin-manager-body .plugin-card-icon img,
.plugin-manager-body .plugin-installed-mark img,
.plugin-manager-body .plugin-details-icon img {
  inset:3px !important;
  width:calc(100% - 6px) !important;
  height:calc(100% - 6px) !important;
  object-fit:contain !important;
  border-radius:3px;
  background:transparent !important;
}
.plugin-manager-body .plugin-card-icon-fallback { font-size:12px !important; }
.plugin-manager-body .plugin-card-title h3 {
  overflow:hidden;
  margin:0 !important;
  color:var(--text);
  font-size:13px !important;
  line-height:1.28 !important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.plugin-manager-body .plugin-card-title span {
  overflow:hidden;
  color:var(--muted) !important;
  font-size:9px !important;
  line-height:1.35 !important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.plugin-manager-body .plugin-card > p {
  min-height:2.9em !important;
  margin:10px 0 !important;
  display:-webkit-box;
  overflow:hidden;
  color:var(--muted);
  font-size:9.5px !important;
  line-height:1.45 !important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.plugin-manager-body .plugin-version-line { margin-top:auto !important; padding-top:8px !important; }
.plugin-manager-body .plugin-version-line span,
.plugin-manager-body .plugin-version-line strong { font-size:8.5px !important; }
.plugin-manager-body .plugin-card-actions { margin-top:9px !important; padding-top:9px !important; gap:6px !important; }
.plugin-manager-body .plugin-card-actions .button { min-height:30px !important; padding-inline:9px !important; font-size:9px !important; }
.plugin-manager-body .plugin-installed-mark { width:36px !important; height:36px !important; }
.plugin-manager-body .plugin-details-icon { width:48px !important; height:48px !important; }
@media (max-width:760px) {
  .plugin-manager-body .plugin-catalogue-section { padding:16px 14px !important; border-radius:6px !important; }
  .plugin-manager-body .plugin-card { min-height:170px !important; padding:12px !important; border-radius:6px !important; }
}

/* --------------------------------------------------------------------------
   Destructive customer dialogs: the warning copy carries the context; the
   footer remains a straightforward Cancel + destructive action decision.
   -------------------------------------------------------------------------- */
.destructive-dialog-note {
  margin:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
}
.destructive-dialog .dialog-options:not(.dialog-fields) {
  padding:12px 14px;
  border:1px solid color-mix(in srgb,var(--red) 18%,var(--border));
  border-radius:6px;
  background:color-mix(in srgb,var(--red) 5%,var(--white));
}
html[data-theme="dark"] .destructive-dialog .dialog-options:not(.dialog-fields) {
  background:color-mix(in srgb,var(--red) 6%,var(--dark-card, #242b32));
}

/* --------------------------------------------------------------------------
   Overview welcome logo: no outer circular badge around the configured mark.
   -------------------------------------------------------------------------- */
.dashboard145-hero-mark {
  border-radius:0 !important;
  color:var(--text) !important;
  background:transparent !important;
  box-shadow:none !important;
}
.dashboard145-hero-mark .brand-mark { width:140px !important; height:140px !important; }
.dashboard145-hero-mark .brand-mark.brand-mark-image img { width:100% !important; height:100% !important; object-fit:contain !important; }
@media (max-width:620px) {
  .dashboard145-hero-mark .brand-mark { width:100px !important; height:100px !important; }
}

/* --------------------------------------------------------------------------
   Players: turn the compressed label/value stream into an obvious fact grid.
   Three state cards sit together; recency/IP form a second, readable row.
   -------------------------------------------------------------------------- */
.players136-body .players136-player-row .entity136-facts,
.players136-body .players136-player-row.is-owner .entity136-facts {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  align-items:stretch;
}
.players136-body .players136-player-row .players136-fact {
  min-width:0;
  min-height:66px;
  align-content:start;
  gap:4px;
  padding:9px 10px;
  border:1px solid var(--entity-border,var(--border));
  border-radius:6px;
  background:var(--entity-soft,var(--surface-soft,var(--dark-card, #f4f6f8)));
}
.players136-body .players136-player-row .players136-fact > span:first-child {
  color:var(--entity-muted,var(--muted));
  font-size:8px;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.players136-body .players136-player-row .players136-fact > strong {
  min-width:0;
  overflow:hidden;
  color:var(--entity-text,var(--text));
  font-size:11px;
  line-height:1.35;
  text-overflow:ellipsis;
}
.players136-body .players136-player-row .players136-fact > small {
  overflow:hidden;
  color:var(--entity-muted,var(--muted));
  font-size:8.5px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.players136-body .players136-player-row .players136-fact.is-last-seen { grid-column:1 / -1; }
.players136-body .players136-player-row.is-owner .players136-fact.is-last-seen { grid-column:span 2; }
.players136-body .players136-player-row.is-owner .players136-fact.is-ip { grid-column:span 1; }
html[data-theme="dark"] .players136-body .players136-player-row .players136-fact {
  background:color-mix(in srgb,var(--dark-card, #fff) 3%,var(--entity-card,var(--dark-card, #242b32)));
}
@media (max-width:980px) {
  .players136-body .players136-player-row .entity136-facts,
  .players136-body .players136-player-row.is-owner .entity136-facts { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .players136-body .players136-player-row .players136-fact.is-last-seen,
  .players136-body .players136-player-row.is-owner .players136-fact.is-last-seen { grid-column:1 / -1; }
  .players136-body .players136-player-row.is-owner .players136-fact.is-ip { grid-column:1 / -1; }
}
@media (max-width:560px) {
  .players136-body .players136-player-row .entity136-facts,
  .players136-body .players136-player-row.is-owner .entity136-facts { grid-template-columns:1fr !important; }
  .players136-body .players136-player-row .players136-fact,
  .players136-body .players136-player-row .players136-fact.is-last-seen,
  .players136-body .players136-player-row.is-owner .players136-fact.is-last-seen,
  .players136-body .players136-player-row.is-owner .players136-fact.is-ip { grid-column:auto !important; }
}


/* ======= ui-r162.css ======= */
/* R162 — onboarding moves into the server page as a production modal, and the
   Rewards Turnstile uses Cloudflare's auto theme without re-rendering. */

body.onboarding-modal-open { overflow:hidden !important; }

.onboard162-modal {
  --ob162-card:var(--panel,var(--dark-card, #343a40));
  --ob162-soft:var(--panel-2,var(--dark-inset, #30363c));
  --ob162-inset:var(--panel-3,var(--dark-inset, #2c3237));
  --ob162-border:var(--border,var(--dark-border, #515c65));
  --ob162-text:var(--text,#f4f6f8);
  --ob162-muted:var(--muted,var(--dark-muted, #b8c0c7));
  --ob162-blue:var(--blue,#087df5);
  position:fixed;
  inset:0;
  z-index:11050;
  display:grid;
  place-items:center;
  padding:18px;
  overflow:hidden;
  isolation:isolate;
}
.onboard162-backdrop {
  position:absolute;
  inset:0;
  z-index:-1;
  background:rgba(8,12,17,.68);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  animation:onboard162-backdrop-in .2s ease-out both;
}
.onboard162-panel {
  width:min(1180px,calc(100vw - 36px));
  height:min(760px,calc(100dvh - 36px));
  min-height:560px;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  overflow:hidden;
  color:var(--ob162-text);
  border:1px solid var(--ob162-border);
  border-radius:8px;
  background:var(--ob162-card);
  box-shadow:0 28px 86px rgba(0,0,0,.42),0 3px 12px rgba(0,0,0,.22);
  outline:0;
  animation:onboard162-zoom-in .22s cubic-bezier(.2,.82,.28,1) both;
}
.onboard162-panel svg {
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.onboard162-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  padding:20px 22px 16px;
  border-bottom:1px solid var(--ob162-border);
  background:color-mix(in srgb,var(--ob162-card) 88%,var(--ob162-inset));
}
.onboard162-title-group { min-width:0;display:flex;align-items:flex-start;gap:13px; }
.onboard162-icon {
  width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;
  border:1px solid color-mix(in srgb,var(--ob162-blue) 42%,var(--ob162-border));
  border-radius:6px;color:#fff;background:var(--ob162-blue);
}
.onboard162-icon svg { width:22px;height:22px; }
.onboard162-title-group .eyebrow { display:block;margin:0 0 4px;color:var(--ob162-blue);font-size:9px;font-weight:850;letter-spacing:.1em; }
.onboard162-title-group h2 { margin:0;color:var(--ob162-text);font-size:21px;line-height:1.2;letter-spacing:-.02em; }
.onboard162-title-group p { max-width:690px;margin:5px 0 0;color:var(--ob162-muted);font-size:10.5px;line-height:1.5; }
.onboard162-readiness {
  flex:0 0 auto;min-height:32px;display:flex;align-items:center;gap:7px;padding:0 10px;
  border:1px solid var(--ob162-border);border-radius:5px;color:var(--ob162-muted);
  background:var(--ob162-soft);font-size:9.5px;font-weight:750;white-space:nowrap;
}
.onboard162-readiness i { width:7px;height:7px;border-radius:50%;background:#d7a13d;box-shadow:0 0 0 3px rgba(215,161,61,.12); }
.onboard162-readiness.is-ready { color:color-mix(in srgb,var(--green,#4cc38a) 82%,var(--ob162-text)); }
.onboard162-readiness.is-ready i { background:var(--green,#4cc38a);box-shadow:0 0 0 3px color-mix(in srgb,var(--green,#4cc38a) 18%,transparent); }

.onboard162-steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  padding:0 22px;
  border-bottom:1px solid var(--ob162-border);
  background:var(--ob162-soft);
}
.onboard162-steps > div {
  min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;
  padding:11px 14px 11px 0;color:var(--ob162-muted);position:relative;
}
.onboard162-steps > div:not(:last-child)::after { content:"";position:absolute;right:14px;top:50%;width:1px;height:28px;transform:translateY(-50%);background:var(--ob162-border); }
.onboard162-steps > div > span {
  width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--ob162-border);
  border-radius:50%;background:var(--ob162-card);font-size:9px;font-weight:850;
}
.onboard162-steps strong,.onboard162-steps small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.onboard162-steps strong { color:var(--ob162-text);font-size:10px; }
.onboard162-steps small { margin-top:2px;color:var(--ob162-muted);font-size:8.5px; }
.onboard162-steps .is-active > span { color:#fff;border-color:var(--ob162-blue);background:var(--ob162-blue); }
.onboard162-steps .is-complete > span { color:#fff;border-color:var(--green,#4cc38a);background:var(--green,#4cc38a); }

.onboard162-body {
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 355px;
  gap:14px;
  padding:14px;
  background:var(--ob162-inset);
}
.onboard162-catalogue,.onboard162-config,.onboard162-finish {
  min-width:0;border:1px solid var(--ob162-border);border-radius:6px;background:var(--ob162-card);box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.onboard162-catalogue { min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:13px;overflow:hidden; }
.onboard162-section-head { display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 1px 10px; }
.onboard162-section-head h3 { margin:0;color:var(--ob162-text);font-size:13px;line-height:1.3; }
.onboard162-section-head span,.onboard162-section-head small { display:block;margin-top:2px;color:var(--ob162-muted);font-size:8.5px; }

.onboard162-filterbar { display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:9px;padding-bottom:10px; }
.onboard162-categories { min-width:0;display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:none; }
.onboard162-categories::-webkit-scrollbar { display:none; }
.onboard162-categories button {
  flex:0 0 auto;min-height:32px;padding:0 9px;border:1px solid var(--ob162-border);border-radius:5px;
  color:var(--ob162-muted);background:var(--ob162-soft);font-size:8.8px;font-weight:750;
}
.onboard162-categories button span { margin-left:4px;opacity:.72; }
.onboard162-categories button:hover { color:var(--ob162-text);border-color:color-mix(in srgb,var(--ob162-blue) 38%,var(--ob162-border)); }
.onboard162-categories button.is-active { color:#fff;border-color:var(--ob162-blue);background:var(--ob162-blue); }
.onboard162-search {
  height:32px;display:grid;grid-template-columns:16px minmax(0,1fr) 24px;align-items:center;gap:5px;
  padding:0 5px 0 9px;border:1px solid var(--ob162-border);border-radius:5px;color:var(--ob162-muted);background:var(--ob162-soft);
}
.onboard162-search:focus-within { border-color:var(--ob162-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--ob162-blue) 18%,transparent); }
.onboard162-search > svg { width:14px;height:14px; }
.onboard162-search input { min-width:0;border:0;outline:0;color:var(--ob162-text);background:transparent;font-size:9px; }
.onboard162-search input::placeholder { color:var(--ob162-muted); }
.onboard162-search button { width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:4px;color:var(--ob162-muted);background:transparent; }
.onboard162-search button:hover { color:var(--ob162-text);background:color-mix(in srgb,var(--ob162-text) 7%,transparent); }
.onboard162-search button svg { width:13px;height:13px; }

.onboard162-software-grid {
  min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;
  overflow:auto;padding:1px 3px 1px 1px;scrollbar-gutter:stable;
}
.onboard162-software-card {
  min-width:0;min-height:92px;display:grid;grid-template-columns:46px minmax(0,1fr) 20px;align-items:start;gap:9px;
  padding:10px;border:1px solid var(--ob162-border);border-radius:6px;color:var(--ob162-text);background:var(--ob162-soft);
  text-align:left;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease;
}
.onboard162-software-card:hover { border-color:color-mix(in srgb,var(--ob162-blue) 45%,var(--ob162-border));background:color-mix(in srgb,var(--ob162-blue) 5%,var(--ob162-soft)); }
.onboard162-software-card:focus-visible { outline:2px solid color-mix(in srgb,var(--ob162-blue) 55%,transparent);outline-offset:1px; }
.onboard162-software-card.is-selected { border-color:var(--ob162-blue);background:color-mix(in srgb,var(--ob162-blue) 9%,var(--ob162-card));box-shadow:inset 3px 0 0 var(--ob162-blue); }
.onboard162-software-icon {
  width:46px;height:46px;display:grid;place-items:center;position:relative;overflow:hidden;border:1px solid var(--ob162-border);border-radius:6px;color:var(--ob162-muted);background:var(--ob162-card);
}
.onboard162-software-icon img { position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain;border-radius:3px; }
.onboard162-software-icon img:not([hidden]) + svg { visibility:hidden; }
.onboard162-software-icon svg { width:21px;height:21px; }
.onboard162-software-copy { min-width:0;display:block; }
.onboard162-software-copy > span { display:flex;align-items:center;gap:6px;min-width:0; }
.onboard162-software-copy strong { overflow:hidden;color:var(--ob162-text);font-size:10.5px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap; }
.onboard162-software-copy em { flex:0 0 auto;padding:2px 5px;border-radius:3px;color:var(--ob162-blue);background:color-mix(in srgb,var(--ob162-blue) 12%,transparent);font-size:7px;font-style:normal;font-weight:850;text-transform:uppercase;letter-spacing:.04em; }
.onboard162-software-copy small { display:block;margin-top:3px;color:var(--ob162-muted);font-size:8px; }
.onboard162-software-copy p { margin:5px 0 0;display:-webkit-box;overflow:hidden;color:var(--ob162-muted);font-size:8.3px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.onboard162-check { width:18px;height:18px;display:grid;place-items:center;margin-top:1px;border:1px solid var(--ob162-border);border-radius:50%;color:transparent;background:var(--ob162-card); }
.onboard162-check svg { width:12px;height:12px; }
.onboard162-software-card.is-selected .onboard162-check { color:#fff;border-color:var(--ob162-blue);background:var(--ob162-blue); }
.onboard162-software-card[hidden] { display:none !important; }

.onboard162-no-results,.onboard162-empty { align-self:start;padding:16px;border:1px dashed var(--ob162-border);border-radius:6px;color:var(--ob162-muted);background:var(--ob162-soft); }
.onboard162-no-results { display:flex;align-items:center;justify-content:space-between;gap:14px; }
.onboard162-no-results[hidden] { display:none !important; }
.onboard162-no-results strong,.onboard162-empty strong { display:block;color:var(--ob162-text);font-size:10.5px; }
.onboard162-no-results span,.onboard162-empty p { margin:3px 0 0;color:var(--ob162-muted);font-size:8.5px;line-height:1.45; }
.onboard162-no-results button { border:0;color:var(--ob162-blue);background:transparent;font-size:8.5px;font-weight:800; }
.onboard162-empty.is-error { border-color:color-mix(in srgb,var(--red,#ef6b78) 42%,var(--ob162-border)); }

.onboard162-config-column { min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;overflow:hidden; }
.onboard162-config { min-height:0;padding:13px;overflow:auto; }
.onboard162-config:not(.is-visible) { opacity:.72; }
.onboard162-selected { display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:9px;padding-bottom:12px;border-bottom:1px solid var(--ob162-border); }
.onboard162-selected-icon { width:40px;height:40px;display:grid;place-items:center;position:relative;overflow:hidden;border:1px solid var(--ob162-border);border-radius:6px;color:var(--ob162-muted);background:var(--ob162-soft); }
.onboard162-selected-icon img { position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain;border-radius:3px; }
.onboard162-selected-icon svg { width:19px;height:19px; }
.onboard162-selected .eyebrow { display:block;margin:0 0 2px;color:var(--ob162-blue);font-size:7.5px;font-weight:850;letter-spacing:.08em; }
.onboard162-selected h3 { margin:0;color:var(--ob162-text);font-size:12px;line-height:1.25; }
.onboard162-selected p { margin:3px 0 0;color:var(--ob162-muted);font-size:8.2px;line-height:1.4; }
.onboard162-recommended { align-self:start;padding:3px 5px;border-radius:3px;color:var(--ob162-blue);background:color-mix(in srgb,var(--ob162-blue) 12%,transparent);font-size:7px;font-weight:850;text-transform:uppercase; }
.onboard162-recommended[hidden] { display:none !important; }

.onboard162-field { display:grid;gap:5px;margin-top:11px; }
.onboard162-field > span { color:var(--ob162-text);font-size:9px;font-weight:800; }
.onboard162-field select { width:100%;height:34px;padding:0 9px;border:1px solid var(--ob162-border);border-radius:5px;outline:0;color:var(--ob162-text);background:var(--ob162-soft);font-size:9px;color-scheme:dark; }
.onboard162-field select:focus { border-color:var(--ob162-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--ob162-blue) 17%,transparent); }
.onboard162-field select:disabled { opacity:.62;cursor:not-allowed; }
.onboard162-field small { color:var(--ob162-muted);font-size:7.8px;line-height:1.35; }
.onboard162-experimental { display:flex;align-items:flex-start;gap:8px;margin-top:11px;padding:9px;border:1px solid var(--ob162-border);border-radius:5px;background:var(--ob162-soft); }
.onboard162-experimental input { margin:2px 0 0;accent-color:var(--ob162-blue); }
.onboard162-experimental strong,.onboard162-experimental small { display:block; }
.onboard162-experimental strong { color:var(--ob162-text);font-size:8.8px; }
.onboard162-experimental small { margin-top:2px;color:var(--ob162-muted);font-size:7.8px; }
.onboard162-install-action { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:11px;padding-top:11px;border-top:1px solid var(--ob162-border); }
.onboard162-install-action strong,.onboard162-install-action span { display:block; }
.onboard162-install-action strong { color:var(--ob162-text);font-size:9px; }
.onboard162-install-action div > span { margin-top:2px;color:var(--ob162-muted);font-size:7.8px;line-height:1.4; }
.onboard162-install-action .button { min-height:33px;padding:0 11px;font-size:8.8px;white-space:nowrap; }
.onboard162-install-status { margin-top:10px;padding:9px;border:1px solid var(--ob162-border);border-radius:5px;background:var(--ob162-soft); }
.onboard162-install-status[hidden] { display:none !important; }
.onboard162-install-status > div:first-child { display:flex;justify-content:space-between;gap:8px;color:var(--ob162-text);font-size:8.5px; }
.onboard162-install-status > div:first-child span { color:var(--ob162-muted); }
.onboard162-progressbar { height:5px;margin-top:7px;overflow:hidden;border-radius:999px;background:var(--ob162-inset); }
.onboard162-progressbar i { display:block;width:0;height:100%;border-radius:inherit;background:var(--ob162-blue);transition:width .22s ease; }
.onboard162-install-status p { margin:6px 0 0;color:var(--ob162-muted);font-size:7.8px;line-height:1.4; }
.onboard162-install-status.is-success { border-color:color-mix(in srgb,var(--green,#4cc38a) 45%,var(--ob162-border)); }
.onboard162-install-status.is-success .onboard162-progressbar i { background:var(--green,#4cc38a); }
.onboard162-install-status.is-error { border-color:color-mix(in srgb,var(--red,#ef6b78) 45%,var(--ob162-border)); }
.onboard162-install-status.is-error .onboard162-progressbar i { background:var(--red,#ef6b78); }

.onboard162-finish { display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:11px;opacity:.7; }
.onboard162-finish.is-ready { opacity:1;border-color:color-mix(in srgb,var(--green,#4cc38a) 48%,var(--ob162-border));box-shadow:inset 3px 0 0 var(--green,#4cc38a); }
.onboard162-finish-icon { width:34px;height:34px;display:grid;place-items:center;border-radius:5px;color:var(--green,#4cc38a);background:color-mix(in srgb,var(--green,#4cc38a) 10%,var(--ob162-soft)); }
.onboard162-finish-icon svg { width:18px;height:18px; }
.onboard162-finish .eyebrow { display:block;color:var(--ob162-blue);font-size:7.5px;font-weight:850;letter-spacing:.08em; }
.onboard162-finish h3 { margin:2px 0 2px;color:var(--ob162-text);font-size:10.5px; }
.onboard162-finish p { margin:0;color:var(--ob162-muted);font-size:7.8px;line-height:1.4; }
.onboard162-finish form { grid-column:1/-1; }
.onboard162-finish .button { width:100%;min-height:33px;font-size:8.8px; }

.onboard162-footer { min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-top:1px solid var(--ob162-border);color:var(--ob162-muted);background:var(--ob162-soft);font-size:8.5px; }
.onboard162-footer span { display:flex;align-items:center;gap:6px; }
.onboard162-footer svg { width:14px;height:14px;color:var(--green,#4cc38a); }
.onboard162-footer a { color:var(--ob162-blue);font-weight:800; }
.onboard162-footer a:hover { text-decoration:underline;text-underline-offset:2px; }

html[data-theme="light"] .onboard162-modal {
  --ob162-card:#fff;
  --ob162-soft:#f5f7f9;
  --ob162-inset:#edf1f4;
  --ob162-border:#d4dce3;
  --ob162-text:#18212a;
  --ob162-muted:#66727d;
  --ob162-blue:#087df5;
}
html[data-theme="light"] .onboard162-backdrop { background:rgba(25,33,41,.46); }
html[data-theme="light"] .onboard162-panel { box-shadow:0 28px 86px rgba(28,39,50,.24),0 3px 12px rgba(28,39,50,.10); }
html[data-theme="light"] .onboard162-field select { color-scheme:light; }
html[data-theme="light"] .onboard162-software-card.is-selected { background:#f3f8ff; }

@keyframes onboard162-zoom-in {
  from { opacity:0;transform:scale(.958) translateY(7px); }
  to { opacity:1;transform:scale(1) translateY(0); }
}
@keyframes onboard162-backdrop-in { from { opacity:0; } to { opacity:1; } }

@media (max-width:1050px) {
  .onboard162-body { grid-template-columns:minmax(0,1fr) 320px; }
  .onboard162-software-grid { grid-template-columns:1fr; }
  .onboard162-filterbar { grid-template-columns:1fr 190px; }
}
@media (max-width:820px) {
  .onboard162-modal { padding:10px;align-items:stretch; }
  .onboard162-panel { width:100%;height:calc(100dvh - 20px);min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto; }
  .onboard162-header { padding:15px; }
  .onboard162-title-group h2 { font-size:18px; }
  .onboard162-title-group p { font-size:9.5px; }
  .onboard162-readiness { display:none; }
  .onboard162-steps { padding:0 15px; }
  .onboard162-steps > div { grid-template-columns:24px minmax(0,1fr);padding:9px 8px 9px 0;gap:6px; }
  .onboard162-steps > div > span { width:22px;height:22px;font-size:8px; }
  .onboard162-steps small { display:none; }
  .onboard162-body { display:block;overflow:auto;padding:10px; }
  .onboard162-catalogue { min-height:420px;max-height:none;overflow:visible; }
  .onboard162-software-grid { max-height:340px; }
  .onboard162-config-column { margin-top:10px;display:grid;overflow:visible; }
  .onboard162-config { overflow:visible; }
  .onboard162-footer { padding:0 12px; }
}
@media (max-width:560px) {
  .onboard162-modal { padding:0; }
  .onboard162-panel { height:100dvh;width:100vw;border:0;border-radius:0; }
  .onboard162-header { padding:13px 12px; }
  .onboard162-icon { width:34px;height:34px;flex-basis:34px; }
  .onboard162-icon svg { width:19px;height:19px; }
  .onboard162-title-group { gap:9px; }
  .onboard162-title-group h2 { font-size:16px; }
  .onboard162-title-group p { display:none; }
  .onboard162-steps { padding:0 10px; }
  .onboard162-steps > div:not(:last-child)::after { right:6px;height:22px; }
  .onboard162-steps strong { font-size:8.5px; }
  .onboard162-filterbar { grid-template-columns:1fr; }
  .onboard162-search { grid-row:1; }
  .onboard162-software-grid { max-height:300px; }
  .onboard162-software-card { grid-template-columns:42px minmax(0,1fr) 18px;min-height:86px;padding:9px; }
  .onboard162-software-icon { width:42px;height:42px; }
  .onboard162-selected { grid-template-columns:36px minmax(0,1fr); }
  .onboard162-selected-icon { width:36px;height:36px; }
  .onboard162-recommended { display:none; }
  .onboard162-install-action { grid-template-columns:1fr; }
  .onboard162-install-action .button { width:100%; }
  .onboard162-footer span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce) {
  .onboard162-backdrop,.onboard162-panel { animation:none !important; }
  .onboard162-software-card,.onboard162-progressbar i { transition:none !important; }
}


/* ======= ui-r163.css ======= */
/* R163 — production onboarding polish.
   Builds on R162 behaviour and keeps the mandatory setup flow intact while
   improving hierarchy, readability, selection confidence and responsive layout. */

.onboard162-modal {
  --ob163-surface:var(--panel,var(--dark-card, #20262f));
  --ob163-surface-2:color-mix(in srgb,var(--panel,var(--dark-card, #20262f)) 90%,#000 10%);
  --ob163-surface-3:color-mix(in srgb,var(--panel,var(--dark-card, #20262f)) 82%,#000 18%);
  --ob163-border:color-mix(in srgb,var(--border,var(--dark-border, #4a5562)) 86%,transparent);
  --ob163-border-strong:color-mix(in srgb,var(--border,var(--dark-border, #4a5562)) 100%,#fff 4%);
  --ob163-text:var(--text,#f6f8fb);
  --ob163-muted:color-mix(in srgb,var(--muted,var(--dark-muted, #aeb7c2)) 94%,var(--ob163-text) 6%);
  --ob163-faint:color-mix(in srgb,var(--muted,var(--dark-muted, #aeb7c2)) 73%,transparent);
  --ob163-blue:var(--blue,#6d9cff);
  --ob163-blue-strong:#4f83ff;
  --ob163-blue-soft:color-mix(in srgb,var(--ob163-blue) 12%,transparent);
  --ob163-green:var(--green,#54c98a);
  --ob163-danger:var(--red,#ef6b78);
  --ob163-radius:8px;
  --ob163-radius-sm:6px;
  padding:20px;
}

.onboard162-backdrop {
  background:rgba(8,11,16,.72);
  backdrop-filter:blur(9px) saturate(.88);
  -webkit-backdrop-filter:blur(9px) saturate(.88);
}

.onboard162-panel {
  width:min(1220px,calc(100vw - 40px));
  height:min(790px,calc(100dvh - 40px));
  min-height:600px;
  grid-template-columns:minmax(0,1fr);
  min-width:0;
  border-color:var(--ob163-border-strong);
  border-radius:10px;
  background:var(--ob163-surface);
  box-shadow:0 34px 110px rgba(0,0,0,.48),0 10px 30px rgba(0,0,0,.24),0 1px 0 rgba(255,255,255,.035) inset;
}


.onboard162-header,
.onboard162-steps,
.onboard162-body,
.onboard162-footer { min-width:0;max-width:100%; }

.onboard162-header {
  align-items:center;
  padding:20px 22px 17px;
  border-bottom-color:var(--ob163-border);
  background:
    radial-gradient(circle at 9% 0%,color-mix(in srgb,var(--ob163-blue) 10%,transparent),transparent 32%),
    linear-gradient(180deg,color-mix(in srgb,var(--ob163-surface) 97%,var(--dark-card, #fff) 3%),var(--ob163-surface));
}

.onboard162-title-group { min-width:0;gap:14px;align-items:center; }
.onboard162-title-group > div { min-width:0; }
.onboard162-icon {
  width:44px;height:44px;flex-basis:44px;
  border-color:color-mix(in srgb,var(--ob163-blue) 55%,var(--ob163-border));
  border-radius:8px;
  background:linear-gradient(145deg,var(--ob163-blue-strong),color-mix(in srgb,var(--ob163-blue-strong) 74%,#7e6cff));
  box-shadow:0 8px 22px color-mix(in srgb,var(--ob163-blue) 20%,transparent),0 1px 0 rgba(255,255,255,.2) inset;
}
.onboard162-icon svg { width:23px;height:23px;stroke-width:1.7; }
.onboard162-title-group .eyebrow { margin-bottom:4px;color:color-mix(in srgb,var(--ob163-blue) 84%,var(--ob163-text));font-size:9px;letter-spacing:.12em; }
.onboard162-title-group h2 { max-width:100%;margin:0;color:var(--ob163-text);font-size:22px;font-weight:760;line-height:1.15;letter-spacing:-.026em;overflow-wrap:anywhere; }
.onboard162-title-group p { max-width:720px;margin-top:6px;color:var(--ob163-muted);font-size:11px;line-height:1.5; }

.onboard162-readiness {
  min-height:34px;padding:0 11px;
  border-color:var(--ob163-border);
  border-radius:999px;
  color:var(--ob163-muted);
  background:color-mix(in srgb,var(--ob163-surface-2) 88%,transparent);
  font-size:10px;font-weight:760;
  box-shadow:0 1px 0 rgba(255,255,255,.025) inset;
}
.onboard162-readiness i { width:7px;height:7px; }
.onboard162-readiness.is-ready { color:color-mix(in srgb,var(--ob163-green) 84%,var(--ob163-text));border-color:color-mix(in srgb,var(--ob163-green) 31%,var(--ob163-border));background:color-mix(in srgb,var(--ob163-green) 8%,var(--ob163-surface)); }
.onboard162-readiness.is-ready i { background:var(--ob163-green);box-shadow:0 0 0 4px color-mix(in srgb,var(--ob163-green) 13%,transparent); }

.onboard162-steps {
  padding:0 22px;
  border-bottom-color:var(--ob163-border);
  background:var(--ob163-surface-2);
}
.onboard162-steps > div {
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  padding:12px 18px 12px 0;
}
.onboard162-steps > div:not(:last-child)::after {
  right:18px;width:1px;height:30px;background:var(--ob163-border);
}
.onboard162-steps > div > span {
  width:28px;height:28px;
  border-color:var(--ob163-border-strong);
  border-radius:7px;
  color:var(--ob163-muted);
  background:var(--ob163-surface);
  font-size:9px;
}
.onboard162-steps strong { color:var(--ob163-text);font-size:10.5px;font-weight:760; }
.onboard162-steps small { margin-top:2px;color:var(--ob163-muted);font-size:8.5px; }
.onboard162-steps .is-active > span { border-color:var(--ob163-blue-strong);background:var(--ob163-blue-strong);box-shadow:0 0 0 4px color-mix(in srgb,var(--ob163-blue) 10%,transparent); }
.onboard162-steps .is-complete > span { border-color:color-mix(in srgb,var(--ob163-green) 78%,var(--ob163-border));background:color-mix(in srgb,var(--ob163-green) 16%,var(--ob163-surface));color:var(--ob163-green); }

.onboard162-body {
  grid-template-columns:minmax(0,1fr) 372px;
  gap:14px;
  padding:14px;
  background:var(--ob163-surface-3);
}

.onboard162-catalogue,
.onboard162-config,
.onboard162-finish {
  border-color:var(--ob163-border);
  border-radius:var(--ob163-radius);
  background:var(--ob163-surface);
  box-shadow:0 1px 0 rgba(255,255,255,.02) inset,0 1px 2px rgba(0,0,0,.12);
}

.onboard162-catalogue { padding:16px; }
.onboard162-section-head { align-items:center;padding:0 1px 13px; }
.onboard162-section-head h3 { color:var(--ob163-text);font-size:14px;font-weight:760;letter-spacing:-.01em; }
.onboard162-section-head span { margin-top:3px;color:var(--ob163-muted);font-size:9px; }
.onboard162-section-head small { margin:0;color:var(--ob163-faint);font-size:9px; }

.onboard162-filterbar {
  grid-template-columns:minmax(0,1fr) 220px;
  gap:10px;
  padding-bottom:13px;
}
.onboard162-categories { gap:6px; }
.onboard162-categories button {
  min-height:34px;padding:0 11px;
  border-color:var(--ob163-border);
  border-radius:6px;
  color:var(--ob163-muted);
  background:var(--ob163-surface-2);
  font-size:9px;font-weight:760;
  transition:border-color .14s ease,color .14s ease,background .14s ease,transform .14s ease;
}
.onboard162-categories button:hover { color:var(--ob163-text);border-color:color-mix(in srgb,var(--ob163-blue) 40%,var(--ob163-border));background:color-mix(in srgb,var(--ob163-blue) 5%,var(--ob163-surface-2)); }
.onboard162-categories button:active { transform:translateY(1px); }
.onboard162-categories button.is-active { color:#fff;border-color:var(--ob163-blue-strong);background:var(--ob163-blue-strong);box-shadow:0 5px 14px color-mix(in srgb,var(--ob163-blue) 14%,transparent); }

.onboard162-search {
  height:34px;
  border-color:var(--ob163-border);
  border-radius:6px;
  color:var(--ob163-muted);
  background:var(--ob163-surface-2);
}
.onboard162-search:focus-within { border-color:var(--ob163-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--ob163-blue) 12%,transparent); }
.onboard162-search input { color:var(--ob163-text);font-size:9.5px; }
.onboard162-search input::placeholder { color:var(--ob163-faint); }
.onboard162-search button:hover { color:var(--ob163-text);background:color-mix(in srgb,var(--ob163-text) 8%,transparent); }

.onboard162-software-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  padding:1px 4px 1px 1px;
}
.onboard162-software-card {
  min-height:110px;
  grid-template-columns:54px minmax(0,1fr) 22px;
  gap:11px;
  padding:13px;
  border-color:var(--ob163-border);
  border-radius:8px;
  color:var(--ob163-text);
  background:var(--ob163-surface-2);
  box-shadow:0 1px 0 rgba(255,255,255,.018) inset;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.onboard162-software-card:hover {
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--ob163-blue) 42%,var(--ob163-border));
  background:color-mix(in srgb,var(--ob163-blue) 5%,var(--ob163-surface-2));
  box-shadow:0 8px 24px rgba(0,0,0,.13),0 1px 0 rgba(255,255,255,.03) inset;
}
.onboard162-software-card:focus-visible { outline:2px solid color-mix(in srgb,var(--ob163-blue) 68%,transparent);outline-offset:2px; }
.onboard162-software-card.is-selected {
  transform:none;
  border-color:color-mix(in srgb,var(--ob163-blue) 86%,var(--ob163-border));
  background:linear-gradient(145deg,color-mix(in srgb,var(--ob163-blue) 11%,var(--ob163-surface)),color-mix(in srgb,var(--ob163-blue) 5%,var(--ob163-surface-2)));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ob163-blue) 12%,transparent) inset,0 9px 24px color-mix(in srgb,var(--ob163-blue) 6%,transparent);
}
.onboard162-software-icon {
  width:54px;height:54px;
  border-color:var(--ob163-border);
  border-radius:8px;
  color:var(--ob163-muted);
  background:var(--ob163-surface);
  box-shadow:0 1px 0 rgba(255,255,255,.025) inset;
}
.onboard162-software-icon img { inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);border-radius:4px; }
.onboard162-software-icon svg { width:23px;height:23px; }
.onboard162-software-copy > span { gap:7px; }
.onboard162-software-copy strong { color:var(--ob163-text);font-size:12px;font-weight:760;line-height:1.3; }
.onboard162-software-copy em { padding:3px 6px;border-radius:4px;color:color-mix(in srgb,var(--ob163-blue) 84%,var(--ob163-text));background:var(--ob163-blue-soft);font-size:7px;letter-spacing:.05em; }
.onboard162-software-copy small { margin-top:4px;color:color-mix(in srgb,var(--ob163-muted) 91%,var(--ob163-blue) 9%);font-size:8.5px;font-weight:650; }
.onboard162-software-copy p { margin-top:6px;color:var(--ob163-muted);font-size:9px;line-height:1.45;-webkit-line-clamp:2; }
.onboard162-check {
  width:20px;height:20px;margin-top:0;
  border-color:var(--ob163-border-strong);
  background:var(--ob163-surface);
}
.onboard162-check svg { width:12px;height:12px; }
.onboard162-software-card.is-selected .onboard162-check { border-color:var(--ob163-blue-strong);background:var(--ob163-blue-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--ob163-blue) 10%,transparent); }

.onboard162-no-results,.onboard162-empty {
  border-color:var(--ob163-border);
  border-radius:8px;
  background:var(--ob163-surface-2);
}
.onboard162-no-results strong,.onboard162-empty strong { color:var(--ob163-text);font-size:11px; }
.onboard162-no-results span,.onboard162-empty p { color:var(--ob163-muted);font-size:9px; }
.onboard162-no-results button { color:var(--ob163-blue);font-size:9px; }

.onboard162-config-column { gap:10px; }
.onboard162-config {
  padding:15px;
  scrollbar-gutter:stable;
}
.onboard162-config:not(.is-visible) { opacity:.82; }
.onboard162-selected {
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:11px;
  padding-bottom:14px;
  border-bottom-color:var(--ob163-border);
}
.onboard162-selected-icon {
  width:46px;height:46px;
  border-color:var(--ob163-border);
  border-radius:8px;
  color:var(--ob163-muted);
  background:var(--ob163-surface-2);
}
.onboard162-selected-icon img { inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);border-radius:4px; }
.onboard162-selected-icon svg { width:20px;height:20px; }
.onboard162-selected .eyebrow { margin-bottom:3px;color:color-mix(in srgb,var(--ob163-blue) 84%,var(--ob163-text));font-size:7.5px;letter-spacing:.1em; }
.onboard162-selected h3 { color:var(--ob163-text);font-size:13px;font-weight:780; }
.onboard162-selected p { margin-top:4px;color:var(--ob163-muted);font-size:8.8px;line-height:1.45; }
.onboard162-recommended { padding:4px 6px;border-radius:4px;color:color-mix(in srgb,var(--ob163-blue) 84%,var(--ob163-text));background:var(--ob163-blue-soft);font-size:7px;letter-spacing:.04em; }

.onboard162-field { gap:6px;margin-top:13px; }
.onboard162-field > span { color:var(--ob163-text);font-size:9.5px;font-weight:760; }
.onboard162-field select {
  height:38px;padding:0 10px;
  border-color:var(--ob163-border);
  border-radius:6px;
  color:var(--ob163-text);
  background:var(--ob163-surface-2);
  font-size:9.5px;
}
.onboard162-field select:hover:not(:disabled) { border-color:color-mix(in srgb,var(--ob163-blue) 30%,var(--ob163-border)); }
.onboard162-field select:focus { border-color:var(--ob163-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--ob163-blue) 12%,transparent); }
.onboard162-field small { color:var(--ob163-muted);font-size:8px;line-height:1.4; }

.onboard162-experimental {
  gap:9px;margin-top:13px;padding:10px 11px;
  border-color:var(--ob163-border);
  border-radius:7px;
  background:var(--ob163-surface-2);
}
.onboard162-experimental strong { color:var(--ob163-text);font-size:9px; }
.onboard162-experimental small { margin-top:3px;color:var(--ob163-muted);font-size:8px;line-height:1.4; }

.onboard162-install-action {
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  margin-top:14px;padding-top:14px;
  border-top-color:var(--ob163-border);
}
.onboard162-install-action strong { color:var(--ob163-text);font-size:9.5px; }
.onboard162-install-action div > span { margin-top:3px;color:var(--ob163-muted);font-size:8px;line-height:1.45; }
.onboard162-install-action .button { min-height:36px;padding:0 13px;border-radius:6px;font-size:9px;font-weight:780; }
.onboard162-install-action .button:not(:disabled) { box-shadow:0 7px 18px color-mix(in srgb,var(--ob163-blue) 15%,transparent); }

.onboard162-install-status {
  margin-top:11px;padding:11px;
  border-color:var(--ob163-border);
  border-radius:7px;
  background:var(--ob163-surface-2);
}
.onboard162-install-status > div:first-child { color:var(--ob163-text);font-size:9px; }
.onboard162-install-status > div:first-child span { color:var(--ob163-muted);font-weight:760; }
.onboard162-progressbar { height:6px;margin-top:8px;background:var(--ob163-surface-3); }
.onboard162-progressbar i { background:linear-gradient(90deg,var(--ob163-blue-strong),color-mix(in srgb,var(--ob163-blue) 78%,#7e6cff)); }
.onboard162-install-status p { margin-top:7px;color:var(--ob163-muted);font-size:8px; }

.onboard162-finish {
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;padding:12px;
  opacity:.72;
  background:linear-gradient(145deg,var(--ob163-surface),var(--ob163-surface-2));
}
.onboard162-finish.is-ready {
  opacity:1;
  border-color:color-mix(in srgb,var(--ob163-green) 44%,var(--ob163-border));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ob163-green) 8%,transparent) inset;
}
.onboard162-finish-icon {
  width:38px;height:38px;
  border:1px solid color-mix(in srgb,var(--ob163-green) 24%,var(--ob163-border));
  border-radius:7px;
  color:var(--ob163-green);
  background:color-mix(in srgb,var(--ob163-green) 8%,var(--ob163-surface));
}
.onboard162-finish .eyebrow { color:color-mix(in srgb,var(--ob163-blue) 84%,var(--ob163-text));font-size:7.5px; }
.onboard162-finish h3 { margin-top:3px;color:var(--ob163-text);font-size:11px; }
.onboard162-finish p { margin-top:3px;color:var(--ob163-muted);font-size:8px;line-height:1.45; }
.onboard162-finish form { margin-top:1px; }
.onboard162-finish .button { min-height:35px;border-radius:6px;font-size:9px;font-weight:780; }

.onboard162-footer {
  min-height:44px;padding:0 20px;
  border-top-color:var(--ob163-border);
  color:var(--ob163-muted);
  background:var(--ob163-surface-2);
  font-size:8.8px;
}
.onboard162-footer svg { color:var(--ob163-green); }
.onboard162-footer a { color:var(--ob163-blue);font-size:9px; }

html[data-theme="light"] .onboard162-modal {
  --ob163-surface:#ffffff;
  --ob163-surface-2:#f6f8fb;
  --ob163-surface-3:#edf1f5;
  --ob163-border:#dbe2e9;
  --ob163-border-strong:#cfd8e1;
  --ob163-text:#17202a;
  --ob163-muted:#62707d;
  --ob163-faint:#7d8994;
  --ob163-blue:#397cff;
  --ob163-blue-strong:#3478f6;
  --ob163-green:#239968;
}
html[data-theme="light"] .onboard162-backdrop { background:rgba(23,31,41,.46); }
html[data-theme="light"] .onboard162-panel { box-shadow:0 34px 100px rgba(26,38,50,.22),0 8px 26px rgba(26,38,50,.10),0 1px 0 rgba(255,255,255,.9) inset; }
html[data-theme="light"] .onboard162-header { background:radial-gradient(circle at 9% 0%,rgba(52,120,246,.10),transparent 32%),linear-gradient(180deg,#fff,#fbfcfd); }
html[data-theme="light"] .onboard162-software-card.is-selected { background:linear-gradient(145deg,#f2f7ff,#f8fbff); }

@media (max-width:1080px) {
  .onboard162-body { grid-template-columns:minmax(0,1fr) 340px; }
  .onboard162-filterbar { grid-template-columns:1fr 200px; }
  .onboard162-software-card { grid-template-columns:48px minmax(0,1fr) 20px;min-height:104px;padding:11px; }
  .onboard162-software-icon { width:48px;height:48px; }
}

@media (max-width:860px) {
  .onboard162-modal { padding:10px; }
  .onboard162-panel { width:100%;height:calc(100dvh - 20px);min-height:0;border-radius:8px; }
  .onboard162-header { padding:16px; }
  .onboard162-title-group h2 { font-size:19px; }
  .onboard162-title-group p { font-size:10px; }
  .onboard162-steps { padding:0 16px; }
  .onboard162-steps > div { grid-template-columns:26px minmax(0,1fr);gap:7px;padding:10px 8px 10px 0; }
  .onboard162-steps > div > span { width:24px;height:24px;border-radius:6px; }
  .onboard162-steps > div:not(:last-child)::after { right:8px;height:24px; }
  .onboard162-body { display:block;overflow:auto;padding:10px; }
  .onboard162-catalogue { min-height:440px;padding:13px; }
  .onboard162-software-grid { max-height:360px; }
  .onboard162-config-column { margin-top:10px; }
  .onboard162-config { overflow:visible; }
}

@media (max-width:620px) {
  .onboard162-modal { padding:0; }
  .onboard162-panel { width:100vw;max-width:100vw;height:100dvh;border:0;border-radius:0; }
  .onboard162-header { padding:13px 12px; }
  .onboard162-title-group { gap:10px; }
  .onboard162-icon { width:38px;height:38px;flex-basis:38px;border-radius:7px; }
  .onboard162-icon svg { width:20px;height:20px; }
  .onboard162-title-group h2 { font-size:15px;line-height:1.18; }
  .onboard162-title-group .eyebrow { font-size:8px; }
  .onboard162-title-group p { display:none; }
  .onboard162-steps { padding:0 11px; }
  .onboard162-steps > div { display:flex;justify-content:center;padding:9px 3px; }
  .onboard162-steps > div > div { display:none; }
  .onboard162-steps > div:not(:last-child)::after { top:50%;right:-50%;width:100%;height:1px;transform:translateY(-50%); }
  .onboard162-steps > div > span { position:relative;z-index:1; }
  .onboard162-header,.onboard162-steps,.onboard162-body,.onboard162-footer { width:100%; }
  .onboard162-body { padding:8px; }
  .onboard162-catalogue,.onboard162-config-column { width:100%;max-width:100%; }
  .onboard162-catalogue { min-height:430px;padding:11px; }
  .onboard162-section-head { padding-bottom:10px; }
  .onboard162-section-head small { display:none; }
  .onboard162-filterbar { grid-template-columns:1fr;gap:8px; }
  .onboard162-search { grid-row:1; }
  .onboard162-categories { grid-row:2; }
  .onboard162-software-grid { grid-template-columns:1fr;max-height:330px;gap:7px; }
  .onboard162-software-card { min-height:92px;grid-template-columns:44px minmax(0,1fr) 20px;gap:9px;padding:10px;border-radius:7px; }
  .onboard162-software-icon { width:44px;height:44px;border-radius:7px; }
  .onboard162-software-copy strong { font-size:11px; }
  .onboard162-software-copy p { font-size:8.5px; }
  .onboard162-selected { grid-template-columns:40px minmax(0,1fr); }
  .onboard162-selected-icon { width:40px;height:40px; }
  .onboard162-recommended { display:none; }
  .onboard162-install-action { grid-template-columns:1fr; }
  .onboard162-install-action .button { width:100%; }
  .onboard162-footer { min-height:42px;padding:0 12px; }
  .onboard162-footer span { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
}

@media (max-height:660px) and (min-width:861px) {
  .onboard162-panel { height:calc(100dvh - 24px);min-height:0; }
  .onboard162-modal { padding:12px; }
  .onboard162-header { padding-top:14px;padding-bottom:12px; }
  .onboard162-title-group p { display:none; }
  .onboard162-steps > div { padding-top:9px;padding-bottom:9px; }
  .onboard162-body { padding:10px;gap:10px; }
  .onboard162-catalogue,.onboard162-config { padding:11px; }
  .onboard162-software-card { min-height:96px;padding:10px; }
}

@media (prefers-reduced-motion:reduce) {
  .onboard162-categories button,.onboard162-software-card { transition:none !important; }
  .onboard162-software-card:hover { transform:none; }
}


/* ======= ui-r164.css ======= */
/* R164 — production UX pass.
   - Native server creation keeps its secure POST/redirect flow and adds a
     blocking, non-destructive loading curtain while provisioning is underway.
   - Customer destructive dialogs use a compact confirm pattern with one clear
     consequence and one clear destructive action.
   - R163 onboarding is tightened without changing installer behavior.
   - Light-theme account security contrast and current Google identity mark
     presentation are normalized. */

/* --------------------------------------------------------------------------
   Server creation: keep the page in place while the native request is running.
   -------------------------------------------------------------------------- */
body.is-server-creating {
  overflow:hidden;
}

.server-create-overlay[hidden] {
  display:none !important;
}

.server-create-overlay {
  position:fixed;
  inset:0;
  z-index:12000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(0,0,0,.70);
  backdrop-filter:blur(4px) saturate(.78);
  -webkit-backdrop-filter:blur(4px) saturate(.78);
  animation:r164-create-overlay-in .16s ease-out both;
}

.server-create-loader {
  width:min(368px,calc(100vw - 32px));
  display:grid;
  justify-items:center;
  gap:8px;
  padding:28px 26px 24px;
  border:1px solid var(--dark-border, #313945);
  border-radius:8px;
  color:#f7f9fc;
  text-align:center;
  background:var(--dark-card, #171b21);
  box-shadow:0 24px 80px rgba(0,0,0,.46),0 1px 0 rgba(255,255,255,.04) inset;
  outline:none;
  animation:r164-create-loader-in .2s cubic-bezier(.2,.8,.2,1) both;
}

.server-create-spinner {
  width:34px;
  height:34px;
  margin-bottom:4px;
  border:3px solid rgba(255,255,255,.14);
  border-top-color:#6f9cff;
  border-radius:50%;
  animation:r164-create-spin .82s linear infinite;
}

.server-create-kicker {
  color:#8daaf5;
  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
}

.server-create-loader strong {
  max-width:100%;
  color:#fff;
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.02em;
}

.server-create-loader p {
  max-width:300px;
  margin:0;
  color:var(--dark-text, #aeb7c2);
  font-size:10.5px;
  line-height:1.55;
}

.server-create-progress {
  width:100%;
  height:3px;
  margin-top:7px;
  overflow:hidden;
  border-radius:2px;
  background:var(--dark-card, #2b313a);
}

.server-create-progress i {
  display:block;
  width:34%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#4f83ff,#86aaff);
  animation:r164-create-progress 1.35s ease-in-out infinite;
}

@keyframes r164-create-spin {
  to { transform:rotate(360deg); }
}
@keyframes r164-create-progress {
  0% { transform:translateX(-120%); }
  55% { transform:translateX(160%); }
  100% { transform:translateX(310%); }
}
@keyframes r164-create-overlay-in {
  from { opacity:0; }
  to { opacity:1; }
}
@keyframes r164-create-loader-in {
  from { opacity:0;transform:translateY(5px) scale(.985); }
  to { opacity:1;transform:none; }
}

/* --------------------------------------------------------------------------
   Customer confirmation dialogs: compact, deliberate, and non-repetitive.
   Admin confirmations intentionally retain their separate hardening UI.
   -------------------------------------------------------------------------- */
body:not([class*="admin-v"]) .destructive-dialog {
  width:min(492px,calc(100vw - 28px));
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:8px;
  color:var(--text);
  background:var(--white);
  box-shadow:0 24px 72px rgba(16,24,40,.26);
}

body:not([class*="admin-v"]) .destructive-dialog::backdrop {
  background:rgba(10,15,22,.58);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-header {
  position:relative;
  align-items:flex-start;
  gap:16px;
  padding:20px 20px 14px 23px;
  border:0;
  background:transparent;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-header::before {
  content:"";
  position:absolute;
  top:20px;
  bottom:15px;
  left:0;
  width:3px;
  border-radius:0 2px 2px 0;
  background:var(--red);
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-header > div {
  min-width:0;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-header .eyebrow {
  margin:0 0 5px;
  color:color-mix(in srgb,var(--red) 86%,var(--text));
  font-size:8px;
  font-weight:800;
  letter-spacing:.11em;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-header h2 {
  max-width:100%;
  margin:0;
  color:var(--text);
  font-size:18px;
  font-weight:760;
  line-height:1.25;
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-header p {
  max-width:410px;
  margin:6px 0 0;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.55;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-close {
  width:30px;
  height:30px;
  flex:0 0 30px;
  border:1px solid transparent;
  border-radius:6px;
  color:var(--muted);
  background:transparent;
  font-size:20px;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-close:hover {
  border-color:var(--border);
  color:var(--text);
  background:var(--surface);
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-warning {
  display:grid;
  gap:3px;
  margin:2px 20px 3px;
  padding:10px 11px 10px 12px;
  border:1px solid color-mix(in srgb,var(--red) 22%,var(--border));
  border-left:3px solid color-mix(in srgb,var(--red) 78%,#ff7b86);
  border-radius:6px;
  color:var(--text);
  background:color-mix(in srgb,var(--red) 5%,var(--white));
  box-shadow:none;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-warning strong {
  color:var(--text);
  font-size:10px;
  line-height:1.4;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-warning span,
body:not([class*="admin-v"]) .destructive-dialog .dialog-warning small {
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-options {
  padding:8px 20px 12px;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-options:not(.dialog-fields) {
  margin:0;
  padding:8px 20px 12px;
  border:0;
  border-radius:0;
  background:transparent;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-options.dialog-fields {
  gap:8px;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-actions {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:14px;
  padding:13px 20px 16px;
  border-top:1px solid var(--border);
  background:color-mix(in srgb,var(--surface) 72%,var(--white));
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-actions .button {
  min-height:36px;
  padding-inline:14px;
  border-radius:6px;
  font-size:10px;
  font-weight:740;
}

body:not([class*="admin-v"]) .destructive-dialog .dialog-actions .button-danger {
  min-width:96px;
}

.destructive-item-list {
  display:grid;
  gap:0;
  max-height:180px;
  margin:3px 20px 0;
  overflow:auto;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface);
}

.destructive-item-list:empty {
  display:none;
}

.destructive-item-list-row {
  min-width:0;
  display:grid;
  grid-template-columns:12px minmax(0,1fr);
  align-items:center;
  gap:6px;
  padding:7px 10px;
  color:var(--text);
  font-size:9.5px;
  line-height:1.35;
}

.destructive-item-list-row + .destructive-item-list-row {
  border-top:1px solid var(--border);
}

.destructive-item-list-row > span:first-child {
  color:var(--red);
  font-size:13px;
  line-height:1;
}

.destructive-item-list-row > span:last-child {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.destructive-item-list-more {
  padding:7px 10px;
  border-top:1px solid var(--border);
  color:var(--muted);
  font-size:9px;
  font-weight:700;
}

/* --------------------------------------------------------------------------
   Onboarding: reduce visual gaps and keep the decision surface compact.
   Behaviour, hooks, install state and mandatory gating stay in R162/R163.
   -------------------------------------------------------------------------- */
.onboard162-modal {
  padding:16px;
}

.onboard162-panel {
  width:min(1160px,calc(100vw - 32px));
  height:min(742px,calc(100dvh - 32px));
  min-height:560px;
  border-radius:8px;
}

.onboard162-header {
  padding:15px 18px 13px;
}

.onboard162-title-group {
  gap:11px;
}

.onboard162-icon {
  width:39px;
  height:39px;
  flex-basis:39px;
  border-radius:7px;
}

.onboard162-icon svg {
  width:21px;
  height:21px;
}

.onboard162-title-group .eyebrow {
  margin-bottom:3px;
  font-size:8px;
}

.onboard162-title-group h2 {
  font-size:19px;
}

.onboard162-title-group p {
  max-width:660px;
  margin-top:4px;
  font-size:9.7px;
  line-height:1.45;
}

.onboard162-readiness {
  min-height:30px;
  padding:0 9px;
  font-size:9px;
}

.onboard162-steps {
  padding:0 18px;
}

.onboard162-steps > div {
  grid-template-columns:26px minmax(0,1fr);
  gap:8px;
  padding:9px 14px 9px 0;
}

.onboard162-steps > div:not(:last-child)::after {
  right:14px;
  height:25px;
}

.onboard162-steps > div > span {
  width:24px;
  height:24px;
  border-radius:6px;
  font-size:8px;
}

.onboard162-steps strong {
  font-size:9.6px;
}

.onboard162-steps small {
  margin-top:1px;
  font-size:7.8px;
}

.onboard162-body {
  grid-template-columns:minmax(0,1fr) 350px;
  gap:10px;
  padding:10px;
}

.onboard162-catalogue {
  padding:12px;
}

.onboard162-section-head {
  padding:0 0 9px;
}

.onboard162-section-head h3 {
  font-size:12.5px;
}

.onboard162-section-head span,
.onboard162-section-head small {
  font-size:8.3px;
}

.onboard162-filterbar {
  grid-template-columns:minmax(0,1fr) 200px;
  gap:7px;
  padding-bottom:9px;
}

.onboard162-categories {
  gap:4px;
}

.onboard162-categories button {
  min-height:30px;
  padding:0 9px;
  border-radius:5px;
  font-size:8.2px;
}

.onboard162-search {
  height:30px;
  border-radius:5px;
}

.onboard162-search input {
  font-size:8.8px;
}

.onboard162-software-grid {
  gap:7px;
  padding-right:2px;
}

.onboard162-software-card {
  min-height:94px;
  grid-template-columns:46px minmax(0,1fr) 18px;
  gap:9px;
  padding:10px;
  border-radius:7px;
}

.onboard162-software-card:hover {
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}

.onboard162-software-icon {
  width:46px;
  height:46px;
  border-radius:7px;
}

.onboard162-software-icon img {
  inset:5px;
  width:calc(100% - 10px);
  height:calc(100% - 10px);
}

.onboard162-software-copy strong {
  font-size:10.8px;
}

.onboard162-software-copy em {
  padding:2px 5px;
  font-size:6.6px;
}

.onboard162-software-copy small {
  margin-top:3px;
  font-size:7.8px;
}

.onboard162-software-copy p {
  margin-top:4px;
  font-size:8.2px;
  line-height:1.4;
}

.onboard162-check {
  width:18px;
  height:18px;
}

.onboard162-config-column {
  gap:8px;
}

.onboard162-config {
  padding:12px;
}

.onboard162-selected {
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:9px;
  padding-bottom:10px;
}

.onboard162-selected-icon {
  width:40px;
  height:40px;
  border-radius:7px;
}

.onboard162-selected .eyebrow {
  margin-bottom:2px;
  font-size:7px;
}

.onboard162-selected h3 {
  font-size:11.5px;
}

.onboard162-selected p {
  margin-top:3px;
  font-size:8px;
}

.onboard162-recommended {
  padding:3px 5px;
  font-size:6.4px;
}

.onboard162-field {
  gap:4px;
  margin-top:9px;
}

.onboard162-field > span {
  font-size:8.7px;
}

.onboard162-field select {
  height:34px;
  padding:0 9px;
  border-radius:5px;
  font-size:8.8px;
}

.onboard162-field small {
  font-size:7.5px;
}

.onboard162-experimental {
  gap:7px;
  margin-top:9px;
  padding:8px 9px;
  border-radius:6px;
}

.onboard162-experimental strong {
  font-size:8.4px;
}

.onboard162-experimental small {
  margin-top:2px;
  font-size:7.4px;
}

.onboard162-install-action {
  gap:9px;
  margin-top:10px;
  padding-top:10px;
}

.onboard162-install-action strong {
  font-size:8.8px;
}

.onboard162-install-action div > span {
  margin-top:2px;
  font-size:7.5px;
}

.onboard162-install-action .button {
  min-height:33px;
  padding:0 11px;
  font-size:8.3px;
}

.onboard162-install-status {
  margin-top:8px;
  padding:9px;
  border-radius:6px;
}

.onboard162-install-status > div:first-child {
  font-size:8.4px;
}

.onboard162-progressbar {
  height:5px;
  margin-top:6px;
}

.onboard162-install-status p {
  margin-top:5px;
  font-size:7.4px;
}

.onboard162-finish {
  grid-template-columns:34px minmax(0,1fr);
  gap:8px;
  padding:9px 10px;
}

.onboard162-finish-icon {
  width:34px;
  height:34px;
  border-radius:6px;
}

.onboard162-finish .eyebrow {
  font-size:6.9px;
}

.onboard162-finish h3 {
  margin-top:2px;
  font-size:10px;
}

.onboard162-finish p {
  margin-top:2px;
  font-size:7.3px;
}

.onboard162-finish .button {
  min-height:32px;
  font-size:8.2px;
}

.onboard162-footer {
  min-height:39px;
  padding:0 16px;
  font-size:8px;
}

.onboard162-footer a {
  font-size:8.2px;
}

/* --------------------------------------------------------------------------
   Account light-theme contrast + Google identity mark.
   -------------------------------------------------------------------------- */
html[data-theme="light"] .account-security-body .password-fields .field > span,
html[data-theme="light"] .account-security-body .account-provider-form .field > span {
  color:#1d2732 !important;
}

html[data-theme="light"] .account-security-body .password-fields .field small,
html[data-theme="light"] .account-security-body .account-provider-form .field small {
  color:#586674 !important;
}

html[data-theme="light"] .account-security-body .password-fields .field input,
html[data-theme="light"] .account-security-body .account-provider-form .field input {
  color:#16202a !important;
  background:#fff !important;
}

.google-mark {
  width:22px;
  height:22px;
  object-fit:contain;
  display:block;
  flex:0 0 22px;
  border-radius:5px;
  background:var(--dark-card, #fff);
}

.button-google .google-mark {
  width:22px;
  height:22px;
  flex-basis:22px;
}

.account-google-icon .google-mark {
  width:23px;
  height:23px;
}

.account-provider-google-mark .google-mark {
  width:24px;
  height:24px;
}

@media (max-width:1080px) {
  .onboard162-body {
    grid-template-columns:minmax(0,1fr) 324px;
  }
  .onboard162-filterbar {
    grid-template-columns:minmax(0,1fr) 184px;
  }
}

@media (max-width:860px) {
  .onboard162-modal {
    padding:8px;
  }
  .onboard162-panel {
    width:100%;
    height:calc(100dvh - 16px);
  }
  .onboard162-header {
    padding:13px 14px;
  }
  .onboard162-steps {
    padding:0 14px;
  }
  .onboard162-body {
    padding:8px;
  }
  .onboard162-catalogue {
    min-height:410px;
    padding:11px;
  }
  .onboard162-config-column {
    margin-top:8px;
  }
}

@media (max-width:620px) {
  body:not([class*="admin-v"]) .destructive-dialog {
    width:min(100% - 18px,492px);
  }
  body:not([class*="admin-v"]) .destructive-dialog .dialog-header {
    padding:17px 16px 12px 19px;
  }
  body:not([class*="admin-v"]) .destructive-dialog .dialog-header::before {
    top:17px;
    bottom:13px;
  }
  body:not([class*="admin-v"]) .destructive-dialog .dialog-warning,
  .destructive-item-list {
    margin-left:16px;
    margin-right:16px;
  }
  body:not([class*="admin-v"]) .destructive-dialog .dialog-options {
    padding-left:16px;
    padding-right:16px;
  }
  body:not([class*="admin-v"]) .destructive-dialog .dialog-actions {
    padding:12px 16px 14px;
  }

  .onboard162-modal {
    padding:0;
  }
  .onboard162-panel {
    width:100vw;
    height:100dvh;
  }
  .onboard162-header {
    padding:11px 10px;
  }
  .onboard162-title-group {
    gap:8px;
  }
  .onboard162-icon {
    width:34px;
    height:34px;
    flex-basis:34px;
  }
  .onboard162-title-group h2 {
    font-size:14px;
  }
  .onboard162-steps {
    padding:0 9px;
  }
  .onboard162-steps > div {
    padding:7px 2px;
  }
  .onboard162-body {
    padding:6px;
  }
  .onboard162-catalogue {
    min-height:395px;
    padding:9px;
  }
  .onboard162-section-head {
    padding-bottom:8px;
  }
  .onboard162-filterbar {
    gap:6px;
    padding-bottom:7px;
  }
  .onboard162-software-grid {
    max-height:320px;
    gap:6px;
  }
  .onboard162-software-card {
    min-height:82px;
    grid-template-columns:40px minmax(0,1fr) 18px;
    gap:8px;
    padding:8px;
  }
  .onboard162-software-icon {
    width:40px;
    height:40px;
  }
  .onboard162-software-copy p {
    -webkit-line-clamp:1;
  }
  .onboard162-footer {
    min-height:36px;
    padding:0 10px;
  }
}

@media (max-width:460px) {
  body:not([class*="admin-v"]) .destructive-dialog .dialog-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  body:not([class*="admin-v"]) .destructive-dialog .dialog-actions .button {
    width:100%;
  }
}

@media (max-height:660px) and (min-width:861px) {
  .onboard162-panel {
    height:calc(100dvh - 20px);
  }
  .onboard162-modal {
    padding:10px;
  }
  .onboard162-header {
    padding-top:11px;
    padding-bottom:10px;
  }
  .onboard162-steps > div {
    padding-top:7px;
    padding-bottom:7px;
  }
  .onboard162-body {
    padding:8px;
    gap:8px;
  }
  .onboard162-catalogue,
  .onboard162-config {
    padding:9px;
  }
  .onboard162-software-card {
    min-height:84px;
    padding:8px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .server-create-overlay,
  .server-create-loader,
  .server-create-spinner,
  .server-create-progress i {
    animation:none !important;
  }
  .server-create-spinner {
    border-top-color:#6f9cff;
  }
}


/* ======= ui-r166.css ======= */
/* R166 — onboarding rebuild + complete light/dark contrast pass. */

/* --------------------------------------------------------------------------
   Google identity mark: transparent in both themes.
   -------------------------------------------------------------------------- */
.google-mark{
  width:22px;height:22px;display:block;flex:0 0 22px;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;object-fit:contain;
}
.google-mark path{stroke:none!important}
.button-google .google-mark{width:22px;height:22px;flex-basis:22px}
.account-google-icon .google-mark{width:23px;height:23px}
.account-provider-google-mark .google-mark{width:24px;height:24px}
html[data-theme="dark"] :is(.account-google-icon,.account-provider-google-mark){
  background:transparent!important;
}

/* --------------------------------------------------------------------------
   Password guidance: never inherit white copy in the light auth theme.
   -------------------------------------------------------------------------- */
html[data-theme="light"] .auth-body .password-assist,
html[data-theme="light"] .auth-body .password-assist .password-strength-head,
html[data-theme="light"] .auth-body .password-assist .password-strength-head span,
html[data-theme="light"] .auth-body .password-assist .password-requirements,
html[data-theme="light"] .auth-body .password-assist .password-requirements span,
html[data-theme="light"] .auth-body .password-match{
  color:#3f4b55!important;
}
html[data-theme="light"] .auth-body .password-assist .password-strength-head strong{
  color:#65717d!important;
}
html[data-theme="light"] .auth-body .password-assist .password-requirements span.is-valid{
  color:#16202a!important;
}
html[data-theme="light"] .auth-body .password-assist .password-requirements span.is-invalid,
html[data-theme="light"] .auth-body .password-match[data-state="invalid"]{
  color:#a83d49!important;
}
html[data-theme="light"] .auth-body .password-match[data-state="valid"]{
  color:#177a5d!important;
}
html[data-theme="light"] .auth-body .password-assist{
  border-color:#d7dee5!important;background:#fff!important;
}
html[data-theme="light"] .auth-body .password-requirements span.is-valid::before{
  box-shadow:inset 0 0 0 2px #fff!important;
}

/* --------------------------------------------------------------------------
   Create/install curtain and destructive/reinstall dialogs: theme aware.
   -------------------------------------------------------------------------- */
html[data-theme="light"] .server-create-overlay{
  background:rgba(25,34,44,.34);
  backdrop-filter:blur(5px) saturate(.88);
  -webkit-backdrop-filter:blur(5px) saturate(.88);
}
html[data-theme="light"] .server-create-loader{
  color:#111820;background:#fff;border-color:#d5dde5;
  box-shadow:0 26px 80px rgba(22,31,40,.22),0 1px 0 rgba(255,255,255,.95) inset;
}
html[data-theme="light"] .server-create-loader strong{color:#111820}
html[data-theme="light"] .server-create-loader p{color:#56636f}
html[data-theme="light"] .server-create-kicker{color:#176fda}
html[data-theme="light"] .server-create-spinner{
  border-color:#dfe5ea;border-top-color:#3478f6;
}
html[data-theme="light"] .server-create-progress{background:#e4e9ee}
html[data-theme="light"] .server-create-progress i{background:linear-gradient(90deg,#3478f6,#76a5ff)}

html[data-theme="light"] body:not([class*="admin-v"]) .destructive-dialog{
  color:#16202a!important;background:#fff!important;border-color:#d7dee5!important;
}
html[data-theme="light"] body:not([class*="admin-v"]) .destructive-dialog :is(h2,strong,label){color:#16202a!important}
html[data-theme="light"] body:not([class*="admin-v"]) .destructive-dialog :is(p,span,small){color:#586674}
html[data-theme="light"] body:not([class*="admin-v"]) .destructive-dialog .dialog-actions{
  background:#f6f8fa!important;border-color:#d7dee5!important;
}
html[data-theme="light"] body:not([class*="admin-v"]) .destructive-dialog .check-row{
  color:#16202a!important;background:#f8fafb!important;border-color:#d7dee5!important;
}
html[data-theme="light"] body:not([class*="admin-v"]) .destructive-dialog .check-row strong{color:#16202a!important}
html[data-theme="light"] body:not([class*="admin-v"]) .destructive-dialog .check-row small{color:#586674!important}

/* --------------------------------------------------------------------------
   R166 onboarding: simplified two-pane workflow.
   -------------------------------------------------------------------------- */
.onboard162-modal{
  --ob166-panel:var(--dark-card, #252b31);
  --ob166-card:var(--dark-card, #2d343b);
  --ob166-card-2:var(--dark-card, #323a42);
  --ob166-input:#252c33;
  --ob166-line:var(--dark-border, #48535d);
  --ob166-line-soft:var(--dark-border, #3e4851);
  --ob166-text:#f5f7f9;
  --ob166-copy:var(--dark-muted, #c1c9d0);
  --ob166-muted:var(--dark-muted, #98a3ad);
  --ob166-blue:#5f91ff;
  --ob166-blue-strong:#4b7ff2;
  --ob166-green:#53c58a;
  padding:16px!important;
}
html[data-theme="light"] .onboard162-modal{
  --ob166-panel:#ffffff;
  --ob166-card:#ffffff;
  --ob166-card-2:#f6f8fa;
  --ob166-input:#ffffff;
  --ob166-line:#d8e0e7;
  --ob166-line-soft:#e3e8ed;
  --ob166-text:#151d25;
  --ob166-copy:#4f5c68;
  --ob166-muted:#6f7c87;
  --ob166-blue:#3478f6;
  --ob166-blue-strong:#2f70e8;
  --ob166-green:#21865f;
}
.onboard162-backdrop{
  background:rgba(7,10,14,.66)!important;
  backdrop-filter:blur(7px) saturate(.9)!important;
  -webkit-backdrop-filter:blur(7px) saturate(.9)!important;
}
html[data-theme="light"] .onboard162-backdrop{background:rgba(27,36,45,.38)!important}
.onboard162-panel{
  width:min(1120px,calc(100vw - 32px))!important;
  height:min(720px,calc(100dvh - 32px))!important;
  min-height:560px!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
  border:1px solid var(--ob166-line)!important;
  border-radius:12px!important;
  color:var(--ob166-text)!important;
  background:var(--ob166-panel)!important;
  box-shadow:0 32px 100px rgba(0,0,0,.42)!important;
}
html[data-theme="light"] .onboard162-panel{box-shadow:0 28px 80px rgba(24,34,44,.22)!important}

.onboard162-header{
  min-height:78px;padding:16px 18px!important;
  border-bottom:1px solid var(--ob166-line-soft)!important;
  background:var(--ob166-panel)!important;
}
.onboard162-title-group{gap:11px!important}
.onboard162-icon{
  width:40px!important;height:40px!important;flex-basis:40px!important;
  border:0!important;border-radius:9px!important;color:#fff!important;
  background:var(--ob166-blue-strong)!important;box-shadow:none!important;
}
.onboard162-icon svg{width:21px!important;height:21px!important}
.onboard162-title-group .eyebrow{margin-bottom:3px!important;color:var(--ob166-blue)!important;font-size:8px!important}
.onboard162-title-group h2{color:var(--ob166-text)!important;font-size:20px!important;font-weight:760!important}
.onboard162-title-group p{max-width:650px!important;margin-top:4px!important;color:var(--ob166-copy)!important;font-size:11px!important;line-height:1.45!important}
.onboard162-readiness{
  min-height:32px!important;padding:0 10px!important;
  border:1px solid var(--ob166-line)!important;border-radius:999px!important;
  color:var(--ob166-copy)!important;background:var(--ob166-card-2)!important;
  box-shadow:none!important;font-size:10px!important;
}
.onboard162-readiness.is-ready{
  color:var(--ob166-green)!important;
  border-color:color-mix(in srgb,var(--ob166-green) 35%,var(--ob166-line))!important;
  background:color-mix(in srgb,var(--ob166-green) 8%,var(--ob166-card-2))!important;
}

.onboard162-steps{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  padding:0 18px!important;border-bottom:1px solid var(--ob166-line-soft)!important;
  background:var(--ob166-card-2)!important;
}
.onboard162-steps>div{
  position:relative!important;display:flex!important;align-items:center!important;gap:8px!important;
  min-width:0!important;padding:9px 16px 9px 0!important;
}
.onboard162-steps>div:not(:last-child)::after{
  content:""!important;position:absolute!important;right:10px!important;top:50%!important;
  width:1px!important;height:24px!important;transform:translateY(-50%)!important;background:var(--ob166-line)!important;
}
.onboard162-steps>div>span{
  width:24px!important;height:24px!important;flex:0 0 24px!important;
  border:1px solid var(--ob166-line)!important;border-radius:50%!important;
  color:var(--ob166-muted)!important;background:var(--ob166-panel)!important;font-size:8.5px!important;
}
.onboard162-steps strong{color:var(--ob166-text)!important;font-size:10px!important;font-weight:740!important}
.onboard162-steps small{margin-top:2px!important;color:var(--ob166-muted)!important;font-size:8.5px!important}
.onboard162-steps .is-active>span{color:#fff!important;border-color:var(--ob166-blue-strong)!important;background:var(--ob166-blue-strong)!important;box-shadow:none!important}
.onboard162-steps .is-complete>span{color:var(--ob166-green)!important;border-color:color-mix(in srgb,var(--ob166-green) 45%,var(--ob166-line))!important;background:color-mix(in srgb,var(--ob166-green) 9%,var(--ob166-panel))!important}

.onboard162-body{
  display:grid!important;grid-template-columns:minmax(0,1fr) 352px!important;gap:0!important;
  min-height:0!important;padding:0!important;background:var(--ob166-panel)!important;
}
.onboard162-catalogue{
  min-height:0!important;max-height:none!important;overflow:auto!important;
  padding:16px 17px!important;border:0!important;border-radius:0!important;
  border-right:1px solid var(--ob166-line-soft)!important;
  background:var(--ob166-panel)!important;box-shadow:none!important;
}
.onboard162-section-head{align-items:end!important;padding:0 0 11px!important}
.onboard162-section-head h3{color:var(--ob166-text)!important;font-size:14px!important}
.onboard162-section-head span,.onboard162-section-head small{color:var(--ob166-muted)!important;font-size:9px!important}
.onboard162-filterbar{
  display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;gap:9px!important;
  padding:0 0 12px!important;
}
.onboard162-search{
  grid-column:1!important;grid-row:1!important;height:34px!important;
  border:1px solid var(--ob166-line)!important;border-radius:7px!important;
  color:var(--ob166-muted)!important;background:var(--ob166-input)!important;
}
.onboard162-search input{color:var(--ob166-text)!important;font-size:10px!important}
.onboard162-search input::placeholder{color:var(--ob166-muted)!important}
.onboard162-categories{
  grid-column:2!important;grid-row:1!important;display:flex!important;align-items:center!important;
  gap:5px!important;overflow:auto!important;padding-bottom:1px!important;
}
.onboard162-categories button{
  min-height:34px!important;flex:0 0 auto!important;padding:0 9px!important;
  border:1px solid var(--ob166-line)!important;border-radius:7px!important;
  color:var(--ob166-copy)!important;background:var(--ob166-card-2)!important;
  box-shadow:none!important;font-size:9px!important;
}
.onboard162-categories button:hover{color:var(--ob166-text)!important;border-color:color-mix(in srgb,var(--ob166-blue) 48%,var(--ob166-line))!important;background:var(--ob166-card-2)!important}
.onboard162-categories button.is-active{color:#fff!important;border-color:var(--ob166-blue-strong)!important;background:var(--ob166-blue-strong)!important;box-shadow:none!important}

.onboard162-software-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
  max-height:none!important;padding:0!important;overflow:visible!important;
}
.onboard162-software-card{
  min-height:92px!important;grid-template-columns:42px minmax(0,1fr) 20px!important;
  gap:11px!important;padding:12px!important;
  border:1px solid var(--ob166-line)!important;border-radius:8px!important;
  color:var(--ob166-text)!important;background:var(--ob166-card-2)!important;
  box-shadow:none!important;transform:none!important;
}
.onboard162-software-card:hover{
  transform:none!important;border-color:color-mix(in srgb,var(--ob166-blue) 50%,var(--ob166-line))!important;
  background:color-mix(in srgb,var(--ob166-blue) 4%,var(--ob166-card-2))!important;box-shadow:none!important;
}
.onboard162-software-card.is-selected{
  border-color:var(--ob166-blue-strong)!important;
  background:color-mix(in srgb,var(--ob166-blue) 8%,var(--ob166-card-2))!important;
  box-shadow:inset 3px 0 0 var(--ob166-blue-strong)!important;
}
.onboard162-software-icon{
  width:42px!important;height:42px!important;border:1px solid var(--ob166-line)!important;
  border-radius:7px!important;background:var(--ob166-panel)!important;box-shadow:none!important;
}
.onboard162-software-icon img{inset:5px!important;width:30px!important;height:30px!important}
.onboard162-software-copy strong{color:var(--ob166-text)!important;font-size:11.5px!important}
.onboard162-software-copy em{padding:2px 5px!important;color:var(--ob166-blue)!important;background:color-mix(in srgb,var(--ob166-blue) 9%,transparent)!important;font-size:7px!important}
.onboard162-software-copy small{margin-top:3px!important;color:var(--ob166-muted)!important;font-size:8.5px!important}
.onboard162-software-copy p{margin-top:4px!important;color:var(--ob166-copy)!important;font-size:9px!important;line-height:1.4!important;-webkit-line-clamp:2!important}
.onboard162-check{width:18px!important;height:18px!important;border-color:var(--ob166-line)!important;background:var(--ob166-panel)!important}
.onboard162-software-card.is-selected .onboard162-check{color:#fff!important;border-color:var(--ob166-blue-strong)!important;background:var(--ob166-blue-strong)!important;box-shadow:none!important}
.onboard162-no-results,.onboard162-empty{border-color:var(--ob166-line)!important;color:var(--ob166-copy)!important;background:var(--ob166-card-2)!important}
.onboard162-no-results strong,.onboard162-empty strong{color:var(--ob166-text)!important}

.onboard162-config-column{
  min-height:0!important;display:flex!important;flex-direction:column!important;gap:0!important;
  overflow:auto!important;background:var(--ob166-card-2)!important;
}
.onboard162-config{
  min-height:0!important;padding:17px!important;overflow:visible!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.onboard162-config:not(.is-visible){opacity:1!important}
.onboard162-selected{
  grid-template-columns:42px minmax(0,1fr)!important;gap:10px!important;
  padding:0 0 13px!important;border-bottom:1px solid var(--ob166-line)!important;
}
.onboard162-selected-icon{width:42px!important;height:42px!important;border-color:var(--ob166-line)!important;border-radius:8px!important;background:var(--ob166-panel)!important}
.onboard162-selected .eyebrow{color:var(--ob166-blue)!important;font-size:8px!important}
.onboard162-selected h3{color:var(--ob166-text)!important;font-size:14px!important}
.onboard162-selected p{color:var(--ob166-copy)!important;font-size:9.5px!important;line-height:1.45!important}
.onboard162-recommended{grid-column:1/-1!important;justify-self:start!important;margin-top:-5px!important;color:var(--ob166-blue)!important;background:color-mix(in srgb,var(--ob166-blue) 10%,transparent)!important}
.onboard162-field{gap:5px!important;margin-top:12px!important}
.onboard162-field>span{color:var(--ob166-text)!important;font-size:10px!important}
.onboard162-field select{
  height:37px!important;padding:0 10px!important;border:1px solid var(--ob166-line)!important;
  border-radius:7px!important;color:var(--ob166-text)!important;background:var(--ob166-input)!important;
  font-size:10px!important;color-scheme:dark;
}
html[data-theme="light"] .onboard162-field select{color-scheme:light}
.onboard162-field small{color:var(--ob166-muted)!important;font-size:8.5px!important}
.onboard162-experimental{
  margin-top:11px!important;padding:9px 10px!important;border:1px solid var(--ob166-line)!important;
  border-radius:7px!important;background:var(--ob166-panel)!important;
}
.onboard162-experimental strong{color:var(--ob166-text)!important;font-size:9.5px!important}
.onboard162-experimental small{color:var(--ob166-muted)!important;font-size:8.5px!important}
.onboard162-install-action{
  grid-template-columns:1fr!important;gap:8px!important;margin-top:13px!important;padding-top:13px!important;
  border-top:1px solid var(--ob166-line)!important;
}
.onboard162-install-action strong{color:var(--ob166-text)!important;font-size:10px!important}
.onboard162-install-action div>span{color:var(--ob166-copy)!important;font-size:8.5px!important;line-height:1.45!important}
.onboard162-install-action .button{width:100%!important;min-height:40px!important;font-size:10px!important}
.onboard162-install-status{
  margin-top:10px!important;padding:10px!important;border:1px solid var(--ob166-line)!important;
  border-radius:7px!important;background:var(--ob166-panel)!important;
}
.onboard162-install-status>div:first-child{color:var(--ob166-text)!important;font-size:9.5px!important}
.onboard162-install-status>div:first-child span,.onboard162-install-status p{color:var(--ob166-muted)!important}
.onboard162-progressbar{height:5px!important;background:var(--ob166-line-soft)!important}

.onboard162-finish{
  margin-top:auto!important;grid-template-columns:34px minmax(0,1fr)!important;gap:9px!important;
  padding:13px 17px 15px!important;border:0!important;border-top:1px solid var(--ob166-line)!important;
  border-radius:0!important;opacity:.62!important;background:var(--ob166-panel)!important;box-shadow:none!important;
}
.onboard162-finish.is-ready{opacity:1!important;border-color:color-mix(in srgb,var(--ob166-green) 35%,var(--ob166-line))!important;box-shadow:none!important}
.onboard162-finish-icon{width:34px!important;height:34px!important;border-radius:7px!important;color:var(--ob166-green)!important;background:color-mix(in srgb,var(--ob166-green) 8%,var(--ob166-card-2))!important}
.onboard162-finish .eyebrow{color:var(--ob166-green)!important;font-size:8px!important}
.onboard162-finish h3{color:var(--ob166-text)!important;font-size:11.5px!important}
.onboard162-finish p{color:var(--ob166-copy)!important;font-size:8.5px!important;line-height:1.4!important}
.onboard162-finish form{grid-column:1/-1!important;margin-top:3px!important}
.onboard162-finish .button{width:100%!important;min-height:36px!important}

.onboard162-footer{
  min-height:38px!important;padding:0 17px!important;border-top:1px solid var(--ob166-line-soft)!important;
  color:var(--ob166-muted)!important;background:var(--ob166-panel)!important;font-size:9px!important;
}
.onboard162-footer svg{color:var(--ob166-green)!important}
.onboard162-footer a{color:var(--ob166-blue)!important;font-size:8.5px!important}

@media(max-width:900px){
  .onboard162-panel{width:100%!important;height:calc(100dvh - 20px)!important}
  .onboard162-body{grid-template-columns:minmax(0,1fr) 315px!important}
  .onboard162-software-grid{grid-template-columns:1fr!important}
  .onboard162-filterbar{grid-template-columns:1fr!important}
  .onboard162-search,.onboard162-categories{grid-column:1!important}
  .onboard162-search{grid-row:1!important}.onboard162-categories{grid-row:2!important}
}
@media(max-width:700px){
  .onboard162-modal{padding:0!important}
  .onboard162-panel{width:100vw!important;height:100dvh!important;border:0!important;border-radius:0!important}
  .onboard162-header{padding:12px!important}
  .onboard162-title-group p{display:none!important}
  .onboard162-readiness{display:none!important}
  .onboard162-steps{padding:0 10px!important}
  .onboard162-steps small{display:none!important}
  .onboard162-body{display:block!important;overflow:auto!important}
  .onboard162-catalogue{overflow:visible!important;border-right:0!important;border-bottom:1px solid var(--ob166-line-soft)!important}
  .onboard162-config-column{overflow:visible!important}
  .onboard162-software-grid{grid-template-columns:1fr!important}
  .onboard162-footer{display:none!important}
}

/* Version install / reinstall confirmation: explicit light-mode surface and copy. */
html[data-theme="light"] .server-versions-v79-body .version79-dialog{
  color:#151d25!important;background:#fff!important;border-color:#d8e0e7!important;
  box-shadow:0 28px 80px rgba(24,34,44,.22)!important;
}
html[data-theme="light"] .server-versions-v79-body .version79-dialog::backdrop{
  background:rgba(27,36,45,.38)!important;
}
html[data-theme="light"] .server-versions-v79-body .version79-dialog-head,
html[data-theme="light"] .server-versions-v79-body .version79-dialog-actions{
  border-color:#d8e0e7!important;background:#f7f9fb!important;
}
html[data-theme="light"] .server-versions-v79-body .version79-dialog-body{color:#151d25!important;background:#fff!important}
html[data-theme="light"] .server-versions-v79-body .version79-dialog :is(h2,strong,label){color:#151d25!important}
html[data-theme="light"] .server-versions-v79-body .version79-dialog :is(p,small,span){color:#596773}
html[data-theme="light"] .server-versions-v79-body .version79-selection-summary,
html[data-theme="light"] .server-versions-v79-body .version79-install-warning,
html[data-theme="light"] .server-versions-v79-body .version79-dialog-status,
html[data-theme="light"] .server-versions-v79-body .version79-wipe-option{
  border-color:#d8e0e7!important;background:#f7f9fb!important;
}
html[data-theme="light"] .server-versions-v79-body .version79-selection-summary strong,
html[data-theme="light"] .server-versions-v79-body .version79-wipe-option strong{color:#151d25!important}
html[data-theme="light"] .server-versions-v79-body .version79-selection-summary span,
html[data-theme="light"] .server-versions-v79-body .version79-wipe-option small,
html[data-theme="light"] .server-versions-v79-body .version79-install-warning{color:#596773!important}
html[data-theme="light"] .server-versions-v79-body .version79-install-progress-track{background:#e3e9ef!important}
html[data-theme="light"] .server-versions-v79-body .version79-install-progress-track i{background:#3478f6!important}


/* ======= ui-r167.css ======= */
/* R167 — live create flow, console favicon, and three-step onboarding wizard. */

/* Console: keep a visible brand/favicon beside the terminal title as well as
   the browser-level favicon declared in <head>. */
.console167-title{display:flex!important;align-items:center!important;gap:10px!important}
.console167-title>div{min-width:0}
.console167-favicon{
  width:28px;height:28px;flex:0 0 28px;display:block;object-fit:contain;
  border-radius:7px;background:transparent;box-shadow:none;
}

/* --------------------------------------------------------------------------
   R167 onboarding wizard
   -------------------------------------------------------------------------- */
body.onboarding-modal-open{overflow:hidden!important}
.onboard167-modal{
  --ob-bg:var(--dark-page, #20262c);
  --ob-surface:var(--dark-card, #282f36);
  --ob-surface-2:var(--dark-card, #303840);
  --ob-surface-3:var(--dark-card, #363f48);
  --ob-line:var(--dark-border, #46515b);
  --ob-line-soft:var(--dark-border, #39434c);
  --ob-text:#f5f7f9;
  --ob-copy:var(--dark-muted, #c4ccd3);
  --ob-muted:var(--dark-muted, #929da7);
  --ob-blue:#5d8fff;
  --ob-blue-strong:#4f82f5;
  --ob-green:#58cf93;
  --ob-red:#ff6d7c;
  position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;
  padding:20px;color:var(--ob-text);
}
html[data-theme="light"] .onboard167-modal{
  --ob-bg:#fff;
  --ob-surface:#f8fafb;
  --ob-surface-2:#f1f4f7;
  --ob-surface-3:#e9eef3;
  --ob-line:#d6dee6;
  --ob-line-soft:#e5eaf0;
  --ob-text:#15202a;
  --ob-copy:#4f5d69;
  --ob-muted:#74808b;
  --ob-blue:#3478f6;
  --ob-blue-strong:#2f70e8;
  --ob-green:#21865f;
  --ob-red:#b74655;
}
.onboard167-backdrop{
  position:absolute;inset:0;background:rgba(6,9,13,.7);backdrop-filter:blur(8px) saturate(.9);-webkit-backdrop-filter:blur(8px) saturate(.9);
  animation:onboard167-backdrop-in .22s ease-out both;
}
html[data-theme="light"] .onboard167-backdrop{background:rgba(26,35,44,.4)}
.onboard167-panel{
  position:relative;z-index:1;width:min(980px,calc(100vw - 40px));height:min(700px,calc(100dvh - 40px));min-height:560px;
  display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;
  border:1px solid var(--ob-line);border-radius:16px;background:var(--ob-bg);
  box-shadow:0 32px 100px rgba(0,0,0,.46);animation:onboard167-panel-in .26s cubic-bezier(.2,.8,.2,1) both;
}
html[data-theme="light"] .onboard167-panel{box-shadow:0 28px 80px rgba(23,33,43,.22)}

.onboard167-header{
  min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;
  border-bottom:1px solid var(--ob-line-soft);background:var(--ob-bg);
}
.onboard167-title-group{display:flex;align-items:center;gap:12px;min-width:0}
.onboard167-icon{
  width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:10px;
  color:#fff;background:var(--ob-blue-strong);
}
.onboard167-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.onboard167-title-group .eyebrow{display:block;margin-bottom:3px;color:var(--ob-blue);font-size:9px;font-weight:800;letter-spacing:.12em}
.onboard167-title-group h2{margin:0;color:var(--ob-text);font-size:21px;line-height:1.2;font-weight:760}
.onboard167-title-group p{margin:4px 0 0;color:var(--ob-copy);font-size:12px;line-height:1.45}
.onboard167-readiness{
  flex:0 0 auto;display:flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid var(--ob-line);
  border-radius:999px;color:var(--ob-copy);background:var(--ob-surface);font-size:10px;font-weight:700;
}
.onboard167-readiness i{width:7px;height:7px;border-radius:50%;background:#d9a342;box-shadow:0 0 0 3px color-mix(in srgb,#d9a342 14%,transparent)}
.onboard167-readiness.is-ready{color:var(--ob-green);border-color:color-mix(in srgb,var(--ob-green) 35%,var(--ob-line));background:color-mix(in srgb,var(--ob-green) 7%,var(--ob-surface))}
.onboard167-readiness.is-ready i{background:var(--ob-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--ob-green) 15%,transparent)}

.onboard167-progress{
  display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 20px;border-bottom:1px solid var(--ob-line-soft);background:var(--ob-surface);
}
.onboard167-progress>i{width:52px;height:1px;background:var(--ob-line)}
.onboard167-progress button{
  appearance:none;border:0;background:transparent;color:var(--ob-muted);display:flex;align-items:center;gap:7px;padding:3px 4px;font:inherit;cursor:default;
}
.onboard167-progress button:not(:disabled){cursor:pointer}
.onboard167-progress button>span{
  width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--ob-line);border-radius:50%;background:var(--ob-bg);font-size:9px;font-weight:800;
}
.onboard167-progress button strong{font-size:10px;font-weight:720;color:inherit}
.onboard167-progress button.is-active{color:var(--ob-blue)}
.onboard167-progress button.is-active>span{color:#fff;border-color:var(--ob-blue-strong);background:var(--ob-blue-strong)}
.onboard167-progress button.is-complete{color:var(--ob-green)}
.onboard167-progress button.is-complete>span{border-color:color-mix(in srgb,var(--ob-green) 55%,var(--ob-line));background:color-mix(in srgb,var(--ob-green) 12%,var(--ob-bg))}

.onboard167-viewport{min-height:0;overflow:hidden;background:var(--ob-bg)}
.onboard167-track{
  width:300%;height:100%;display:flex;transform:translate3d(0,0,0);
  transition:transform .36s cubic-bezier(.22,.75,.18,1);will-change:transform;
}
.onboard167-panel[data-step="2"] .onboard167-track{transform:translate3d(-33.333333%,0,0)}
.onboard167-panel[data-step="3"] .onboard167-track{transform:translate3d(-66.666666%,0,0)}
.onboard167-slide{width:33.333333%;height:100%;min-width:0;overflow:auto;padding:22px 24px 24px;scrollbar-gutter:stable}
.onboard167-step-label{display:block;margin-bottom:5px;color:var(--ob-blue);font-size:9px;font-weight:820;letter-spacing:.12em}
.onboard167-slide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.onboard167-slide-head h3{margin:0;color:var(--ob-text);font-size:22px;line-height:1.2;font-weight:760}
.onboard167-slide-head p{max-width:650px;margin:6px 0 0;color:var(--ob-copy);font-size:12px;line-height:1.5}
.onboard167-count{flex:0 0 auto;padding:6px 9px;border:1px solid var(--ob-line);border-radius:999px;color:var(--ob-muted);background:var(--ob-surface);font-size:9px;font-weight:700}

.onboard167-filterbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.onboard167-search{position:relative;flex:0 1 330px;display:flex;align-items:center}
.onboard167-search>svg{position:absolute;left:11px;width:17px;height:17px;fill:none;stroke:var(--ob-muted);stroke-width:1.8;pointer-events:none}
.onboard167-search input{
  width:100%;height:38px;padding:0 36px 0 36px;border:1px solid var(--ob-line);border-radius:9px;outline:0;
  color:var(--ob-text);background:var(--ob-surface);font:inherit;font-size:11px;
}
.onboard167-search input:focus{border-color:var(--ob-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--ob-blue) 15%,transparent)}
.onboard167-search>button{position:absolute;right:7px;width:25px;height:25px;display:grid;place-items:center;border:0;border-radius:6px;color:var(--ob-muted);background:transparent;cursor:pointer}
.onboard167-search>button:hover{color:var(--ob-text);background:var(--ob-surface-2)}
.onboard167-search>button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}
.onboard167-categories{display:flex;align-items:center;gap:5px;overflow:auto;max-width:55%;padding-bottom:1px}
.onboard167-categories button{
  flex:0 0 auto;min-height:30px;padding:0 9px;border:1px solid var(--ob-line);border-radius:7px;color:var(--ob-copy);background:var(--ob-surface);font:inherit;font-size:9px;font-weight:700;cursor:pointer;
}
.onboard167-categories button:hover{color:var(--ob-text);border-color:color-mix(in srgb,var(--ob-blue) 42%,var(--ob-line))}
.onboard167-categories button.is-active{color:var(--ob-blue);border-color:color-mix(in srgb,var(--ob-blue) 55%,var(--ob-line));background:color-mix(in srgb,var(--ob-blue) 8%,var(--ob-surface))}

.onboard167-software-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.onboard167-software-card{
  min-width:0;min-height:138px;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:start;gap:10px;
  padding:13px;border:1px solid var(--ob-line);border-radius:10px;text-align:left;color:var(--ob-text);background:var(--ob-surface);font:inherit;cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.onboard167-software-card:hover,.onboard167-software-card:focus-visible{border-color:color-mix(in srgb,var(--ob-blue) 58%,var(--ob-line));background:color-mix(in srgb,var(--ob-blue) 5%,var(--ob-surface));transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.12);outline:0}
html[data-theme="light"] .onboard167-software-card:hover,html[data-theme="light"] .onboard167-software-card:focus-visible{box-shadow:0 8px 22px rgba(31,42,54,.08)}
.onboard167-software-card[hidden]{display:none!important}
.onboard167-software-icon{
  position:relative;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--ob-line);border-radius:9px;background:var(--ob-bg);overflow:hidden;
}
.onboard167-software-icon img{position:absolute;inset:5px;width:30px;height:30px;object-fit:contain}
.onboard167-software-icon svg{width:22px;height:22px;fill:none;stroke:var(--ob-muted);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.onboard167-software-copy{min-width:0;display:block}
.onboard167-software-copy>span{display:flex;align-items:center;gap:6px;min-width:0}
.onboard167-software-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ob-text);font-size:12px;font-weight:760}
.onboard167-software-copy em{flex:0 0 auto;padding:2px 5px;border-radius:999px;color:var(--ob-blue);background:color-mix(in srgb,var(--ob-blue) 10%,transparent);font-size:7px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.onboard167-software-copy small{display:block;margin-top:3px;color:var(--ob-muted);font-size:9px;font-weight:650}
.onboard167-software-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:7px 0 0;color:var(--ob-copy);font-size:9.5px;line-height:1.45}
.onboard167-next{align-self:center;width:20px;height:20px;display:grid;place-items:center;color:var(--ob-muted)}
.onboard167-next svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.onboard167-software-card:hover .onboard167-next{color:var(--ob-blue)}
.onboard167-empty{display:grid;place-items:center;min-height:180px;padding:24px;border:1px dashed var(--ob-line);border-radius:10px;text-align:center;color:var(--ob-copy);background:var(--ob-surface)}
.onboard167-empty strong{color:var(--ob-text);font-size:13px}.onboard167-empty p{margin:5px 0 10px;font-size:11px}.onboard167-empty.is-error{border-style:solid;border-color:color-mix(in srgb,var(--ob-red) 45%,var(--ob-line))}

.onboard167-install{padding-left:max(24px,calc((100% - 720px)/2));padding-right:max(24px,calc((100% - 720px)/2))}
.onboard167-install-head{position:relative;display:block;padding-left:86px}
.onboard167-back{
  position:absolute;left:0;top:2px;min-width:70px;height:40px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;border:1px solid var(--ob-line);border-radius:9px;color:var(--ob-copy);background:var(--ob-surface);font:inherit;font-size:9.5px;font-weight:700;cursor:pointer;
}
.onboard167-back span{display:inline}
.onboard167-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.onboard167-back:hover{color:var(--ob-text);border-color:color-mix(in srgb,var(--ob-blue) 45%,var(--ob-line))}
.onboard167-back:disabled{opacity:.45;cursor:not-allowed}
.onboard167-install-card{padding:18px;border:1px solid var(--ob-line);border-radius:12px;background:var(--ob-surface)}
.onboard167-selected{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding-bottom:15px;border-bottom:1px solid var(--ob-line-soft)}
.onboard167-selected-icon{position:relative;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--ob-line);border-radius:9px;background:var(--ob-bg);overflow:hidden}
.onboard167-selected-icon img{position:absolute;inset:5px;width:32px;height:32px;object-fit:contain}
.onboard167-selected-icon svg{width:23px;height:23px;fill:none;stroke:var(--ob-muted);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.onboard167-selected>div{min-width:0}.onboard167-selected>div strong{display:block;color:var(--ob-text);font-size:13px}.onboard167-selected>div span{display:block;margin-top:3px;color:var(--ob-muted);font-size:9px}
.onboard167-recommended{padding:4px 7px;border-radius:999px;color:var(--ob-blue);background:color-mix(in srgb,var(--ob-blue) 10%,transparent);font-size:8px;font-weight:800;text-transform:uppercase}
.onboard167-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}
.onboard167-field{display:grid;gap:6px}.onboard167-field>span{color:var(--ob-text);font-size:10px;font-weight:720}
.onboard167-field select{width:100%;height:40px;padding:0 10px;border:1px solid var(--ob-line);border-radius:8px;outline:0;color:var(--ob-text);background:var(--ob-bg);font:inherit;font-size:10.5px;color-scheme:dark}
html[data-theme="light"] .onboard167-field select{color-scheme:light}
.onboard167-field select:focus{border-color:var(--ob-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--ob-blue) 14%,transparent)}
.onboard167-field small{min-height:26px;color:var(--ob-muted);font-size:8.5px;line-height:1.4}
.onboard167-experimental{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:10px;border:1px solid var(--ob-line);border-radius:8px;background:var(--ob-bg);cursor:pointer}
.onboard167-experimental input{margin-top:2px}.onboard167-experimental strong{display:block;color:var(--ob-text);font-size:9.5px}.onboard167-experimental small{display:block;margin-top:2px;color:var(--ob-muted);font-size:8.5px}
.onboard167-readiness-note{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding:10px 11px;border-radius:8px;background:var(--ob-surface-2)}
.onboard167-ready-dot{width:8px;height:8px;flex:0 0 8px;margin-top:4px;border-radius:50%;background:var(--green,#53c58a)}
.onboard167-readiness-note strong{display:block;color:var(--ob-text);font-size:9.5px}.onboard167-readiness-note div>span{display:block;margin-top:2px;color:var(--ob-copy);font-size:8.5px;line-height:1.4}
.onboard167-install-status{margin-top:12px;padding:11px;border:1px solid var(--ob-line);border-radius:8px;background:var(--ob-bg)}
.onboard167-install-status>div:first-child{display:flex;justify-content:space-between;gap:12px;color:var(--ob-text);font-size:9.5px}.onboard167-install-status>div:first-child span{color:var(--ob-muted)}
.onboard167-progressbar{height:6px;margin-top:8px;border-radius:999px;overflow:hidden;background:var(--ob-line-soft)}
.onboard167-progressbar i{display:block;width:0;height:100%;border-radius:inherit;background:var(--ob-blue);transition:width .2s ease}
.onboard167-install-status p{margin:6px 0 0;color:var(--ob-muted);font-size:8.5px;line-height:1.4}.onboard167-install-status.is-success{border-color:color-mix(in srgb,var(--ob-green) 40%,var(--ob-line))}.onboard167-install-status.is-error{border-color:color-mix(in srgb,var(--ob-red) 48%,var(--ob-line))}
.onboard167-install-button{width:100%;min-height:42px;margin-top:14px;font-size:10.5px}

.onboard167-finish{position:relative;display:grid;place-items:center;overflow:hidden!important}
.onboard167-finish-content{position:relative;z-index:2;width:min(520px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;margin:auto;padding:24px}
.onboard167-finish-badge{width:70px;height:70px;display:grid;place-items:center;margin-bottom:15px;border-radius:50%;color:#fff;background:var(--ob-green);box-shadow:0 0 0 10px color-mix(in srgb,var(--ob-green) 11%,transparent)}
.onboard167-finish-badge svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.onboard167-finish .onboard167-step-label{color:var(--ob-green)}
.onboard167-finish h3{margin:0;color:var(--ob-text);font-size:28px;line-height:1.15;font-weight:800}
.onboard167-finish p{max-width:480px;margin:9px 0 0;color:var(--ob-copy);font-size:12px;line-height:1.55}.onboard167-finish p strong{color:var(--ob-text)}
.onboard167-complete-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin:18px 0}
.onboard167-complete-list span{display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--ob-green) 26%,var(--ob-line));border-radius:999px;color:var(--ob-copy);background:color-mix(in srgb,var(--ob-green) 6%,var(--ob-surface));font-size:9px;font-weight:680}
.onboard167-complete-list svg{width:13px;height:13px;fill:none;stroke:var(--ob-green);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.onboard167-finish form{width:min(330px,100%)}.onboard167-finish .button{width:100%;min-height:44px}
.onboard167-confetti{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.onboard167-confetti i{position:absolute;left:50%;top:43%;width:var(--confetti-size);height:calc(var(--confetti-size) * 1.7);border-radius:2px;background:var(--confetti-colour);opacity:0;transform:translate(-50%,-50%) rotate(0)}
.onboard167-confetti.is-celebrating i{animation:onboard167-confetti-burst var(--confetti-duration) cubic-bezier(.12,.68,.28,1) var(--confetti-delay) both}

.onboard167-footer{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 20px;border-top:1px solid var(--ob-line-soft);color:var(--ob-muted);background:var(--ob-surface);font-size:9px}
.onboard167-footer>span{display:flex;align-items:center;gap:6px}.onboard167-footer svg{width:14px;height:14px;fill:none;stroke:var(--ob-green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.onboard167-footer a{color:var(--ob-blue);font-weight:700;text-decoration:none}.onboard167-footer a:hover{text-decoration:underline}

@keyframes onboard167-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes onboard167-panel-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes onboard167-confetti-burst{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(0)}
  8%{opacity:1}
  75%{opacity:1}
  100%{opacity:0;transform:translate(calc(-50% + var(--confetti-x)),calc(-50% + var(--confetti-y))) scale(.9) rotate(var(--confetti-r))}
}

@media(max-width:820px){
  .onboard167-panel{width:calc(100vw - 20px);height:calc(100dvh - 20px)}
  .onboard167-software-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .onboard167-filterbar{align-items:stretch;flex-direction:column}.onboard167-search{flex-basis:auto;width:100%;max-width:none}.onboard167-categories{max-width:100%}
}
@media(max-width:600px){
  .onboard167-modal{padding:0}.onboard167-panel{width:100vw;height:100dvh;min-height:0;border:0;border-radius:0}
  .onboard167-header{min-height:72px;padding:12px}.onboard167-icon{width:36px;height:36px;flex-basis:36px}.onboard167-title-group h2{font-size:17px}.onboard167-title-group p{display:none}.onboard167-readiness{display:none}
  .onboard167-progress{padding:9px 10px}.onboard167-progress>i{width:24px}.onboard167-progress button strong{display:none}
  .onboard167-slide{padding:17px 14px 20px}.onboard167-slide-head h3{font-size:19px}.onboard167-count{display:none}
  .onboard167-software-grid{grid-template-columns:1fr}.onboard167-software-card{min-height:112px}
  .onboard167-install{padding-left:14px;padding-right:14px}.onboard167-install-head{padding-left:80px}.onboard167-fields{grid-template-columns:1fr}.onboard167-field small{min-height:0}
  .onboard167-finish-content{padding:14px}.onboard167-finish-badge{width:60px;height:60px}.onboard167-finish h3{font-size:24px}
  .onboard167-footer{padding:0 12px}.onboard167-footer>span{display:none}.onboard167-footer{justify-content:flex-end}
}
@media(prefers-reduced-motion:reduce){
  .onboard167-backdrop,.onboard167-panel,.onboard167-confetti i{animation:none!important}.onboard167-track{transition:none!important}.onboard167-software-card{transition:none!important}
}


/* ======= ui-r168.css ======= */
/* R168 — onboarding width and layout correction.
   R167 introduced the three-step wizard, but the install/finish stages still used
   constrained inner columns. This layer lets every step use the modal's full usable
   width while keeping the one-screen-at-a-time flow unchanged. */

/* Give the wizard enough room to feel like a real setup surface on desktop. */
.onboard167-panel{
  width:min(1220px,calc(100vw - 40px));
  height:min(760px,calc(100dvh - 40px));
}

/* Every slide owns the full visible wizard canvas. */
.onboard167-slide{
  padding:26px 30px 30px;
}
.onboard167-slide-head{
  width:100%;
  margin-bottom:20px;
}
.onboard167-slide-head>div{
  min-width:0;
}
.onboard167-slide-head p{
  max-width:760px;
}

/* Two generous cards read much better than three compressed catalogue cards. */
.onboard167-software-grid{
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.onboard167-software-card{
  min-height:126px;
  padding:15px 16px;
  grid-template-columns:46px minmax(0,1fr) 24px;
  gap:12px;
}
.onboard167-software-icon{
  width:46px;
  height:46px;
}
.onboard167-software-icon img{
  inset:6px;
  width:32px;
  height:32px;
}
.onboard167-software-copy strong{font-size:13px}
.onboard167-software-copy small{font-size:9.5px}
.onboard167-software-copy p{
  max-width:none;
  font-size:10px;
  -webkit-line-clamp:2;
}
.onboard167-filterbar{width:100%;gap:16px}
.onboard167-search{flex:0 1 390px}
.onboard167-categories{max-width:62%}

/* Install is a full-width step now — no 720px centre column. */
.onboard167-install{
  padding-left:30px;
  padding-right:30px;
}
.onboard167-install-head{
  position:static;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:16px;
  padding-left:0;
}
.onboard167-back{
  position:static;
  left:auto;
  top:auto;
  min-width:78px;
}
.onboard167-install-card{
  width:100%;
  max-width:none;
  margin:0;
  padding:22px 24px 24px;
}
.onboard167-selected{
  grid-template-columns:50px minmax(0,1fr) auto;
  gap:14px;
  padding-bottom:18px;
}
.onboard167-selected-icon{width:50px;height:50px}
.onboard167-selected-icon img{inset:6px;width:36px;height:36px}
.onboard167-selected>div strong{font-size:14px}
.onboard167-selected>div span{font-size:9.5px}
.onboard167-fields{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}
.onboard167-field>span{font-size:10.5px}
.onboard167-field select{height:44px;font-size:11px}
.onboard167-field small{font-size:9px}
.onboard167-experimental,
.onboard167-readiness-note,
.onboard167-install-status{width:100%}
.onboard167-experimental{margin-top:15px;padding:12px 13px}
.onboard167-readiness-note{margin-top:15px;padding:12px 13px}
.onboard167-install-button{min-height:46px;margin-top:16px;font-size:11px}

/* Finish uses the whole third slide; only long prose is line-length constrained. */
.onboard167-finish{
  padding:0;
}
.onboard167-finish-content{
  width:100%;
  max-width:none;
  min-height:100%;
  justify-content:center;
  margin:0;
  padding:36px 48px;
}
.onboard167-finish p{max-width:720px}
.onboard167-complete-list{
  width:min(800px,100%);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:22px 0;
}
.onboard167-complete-list span{
  min-height:44px;
  justify-content:center;
  border-radius:10px;
}
.onboard167-finish form{width:min(420px,100%)}
.onboard167-finish .button{min-height:46px}

@media(max-width:820px){
  .onboard167-panel{width:calc(100vw - 20px);height:calc(100dvh - 20px)}
  .onboard167-slide{padding:22px 20px 24px}
  .onboard167-software-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .onboard167-install{padding-left:20px;padding-right:20px}
  .onboard167-categories{max-width:100%}
  .onboard167-finish-content{padding:30px 24px}
}

@media(max-width:600px){
  .onboard167-panel{width:100vw;height:100dvh}
  .onboard167-slide{padding:17px 14px 20px}
  .onboard167-software-grid{grid-template-columns:1fr}
  .onboard167-software-card{min-height:112px;padding:13px}
  .onboard167-install{padding-left:14px;padding-right:14px}
  .onboard167-install-head{grid-template-columns:1fr;gap:12px}
  .onboard167-back{width:max-content;min-width:70px}
  .onboard167-fields{grid-template-columns:1fr;gap:12px}
  .onboard167-finish-content{padding:20px 14px}
  .onboard167-complete-list{grid-template-columns:1fr;gap:7px;width:min(360px,100%)}
}


/* ======= ui-r169.css ======= */
/* R169 — onboarding entrance polish, reinstall glass parity, console branding,
   create-overlay viewport centering, and admin/light-theme finishing. */

/* --------------------------------------------------------------------------
   Console branding: use the active site brand mark instead of a raw favicon
   image so custom-brand redirects/CSP do not leave the console title blank.
   -------------------------------------------------------------------------- */
.console167-favicon{
  width:28px!important;height:28px!important;flex:0 0 28px!important;
  display:grid!important;place-items:center!important;overflow:hidden;
  border-radius:7px!important;background:transparent!important;box-shadow:none!important;
}
.console167-favicon .brand-mark{
  width:28px;height:28px;flex:0 0 28px;border-radius:7px;
  box-shadow:none;
}
.console167-favicon .brand-mark svg{width:17px;height:17px}
.console167-favicon .brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:7px}

/* --------------------------------------------------------------------------
   Create server: when the overlay is portalled to <body>, it is centered on
   the browser viewport rather than the content column beside the sidebar.
   -------------------------------------------------------------------------- */
body>.server-create-overlay{
  position:fixed!important;inset:0!important;margin:0!important;
  width:100vw!important;height:100dvh!important;
  place-items:center!important;
}

/* --------------------------------------------------------------------------
   Onboarding: the modal blocks interaction immediately, but briefly leaves the
   server console visible before the backdrop fades and the card grows in.
   -------------------------------------------------------------------------- */
.onboard167-modal{pointer-events:auto}
.onboard167-backdrop{
  opacity:0;
  animation:r169-onboarding-backdrop-in .22s ease-out .07s both!important;
}
.onboard167-panel{
  opacity:0;
  transform:translateY(8px) scale(.82);
  transform-origin:50% 50%;
  animation:r169-onboarding-panel-in .34s cubic-bezier(.18,.84,.26,1.04) .12s both!important;
}
@keyframes r169-onboarding-backdrop-in{
  from{opacity:0}
  to{opacity:1}
}
@keyframes r169-onboarding-panel-in{
  0%{opacity:0;transform:translateY(8px) scale(.82)}
  72%{opacity:1;transform:translateY(-1px) scale(1.008)}
  100%{opacity:1;transform:none}
}

/* Back to servers belongs in the top-left of the setup card. */
.onboard167-header{
  position:relative;
  padding-top:48px!important;
}
.onboard169-back-to-servers{
  position:absolute;left:20px;top:13px;z-index:2;
  display:inline-flex;align-items:center;gap:6px;
  min-height:27px;padding:0 8px 0 5px;
  border:1px solid transparent;border-radius:7px;
  color:var(--ob-muted);font-size:9px;font-weight:740;
  transition:background .14s ease,border-color .14s ease,color .14s ease;
}
.onboard169-back-to-servers svg{
  width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;
}
.onboard169-back-to-servers:hover{
  color:var(--ob-text);border-color:var(--ob-line);background:var(--ob-surface);
}

/* A hidden empty-state must stay hidden even though the component has display:grid. */
.onboard167-empty[hidden]{display:none!important}

/* The footer no longer carries navigation; keep the lock note visually balanced. */
.onboard167-footer{justify-content:center!important}

/* --------------------------------------------------------------------------
   Reinstall dialog: same visual language as the Create Server loading card.
   Only this dialog is changed; delete/other destructive confirmations retain
   their existing deliberate destructive styling.
   -------------------------------------------------------------------------- */
#server-reinstall-dialog{
  width:100vw!important;max-width:none!important;height:100dvh;max-height:none!important;
  margin:0!important;padding:20px!important;overflow:auto!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;color:#f7f9fc!important;
}
#server-reinstall-dialog[open]{display:grid;place-items:center}
#server-reinstall-dialog::backdrop{
  background:rgba(0,0,0,.70)!important;
  backdrop-filter:blur(4px) saturate(.78)!important;
  -webkit-backdrop-filter:blur(4px) saturate(.78)!important;
}
#server-reinstall-dialog>form{
  width:min(430px,calc(100vw - 32px));
  margin:auto!important;overflow:hidden;
  border:1px solid var(--dark-border, #313945);border-radius:8px;
  color:#f7f9fc;background:var(--dark-card, #171b21);
  box-shadow:0 24px 80px rgba(0,0,0,.46),0 1px 0 rgba(255,255,255,.04) inset;
  animation:r164-create-loader-in .20s cubic-bezier(.2,.8,.2,1) both;
}
#server-reinstall-dialog .dialog-header{
  padding:24px 24px 15px!important;border:0!important;background:transparent!important;
}
#server-reinstall-dialog .dialog-header::before{display:none!important}
#server-reinstall-dialog .dialog-header .eyebrow{color:#ff8691!important;font-size:8px!important}
#server-reinstall-dialog .dialog-header h2{color:#fff!important;font-size:18px!important}
#server-reinstall-dialog .dialog-header p{color:var(--dark-text, #aeb7c2)!important;font-size:10.5px!important}
#server-reinstall-dialog .dialog-close{
  color:var(--dark-muted, #9ca7b3)!important;border-color:transparent!important;background:transparent!important;
}
#server-reinstall-dialog .dialog-close:hover{
  color:#fff!important;border-color:var(--dark-border, #38414c)!important;background:var(--dark-card, #222830)!important;
}
#server-reinstall-dialog .dialog-options{
  margin:0!important;padding:4px 24px 18px!important;background:transparent!important;
}
#server-reinstall-dialog .check-row{
  padding:12px 13px!important;border:1px solid var(--dark-border, #333c46)!important;border-radius:7px!important;
  color:#f7f9fc!important;background:var(--dark-card, #1e242b)!important;
}
#server-reinstall-dialog .check-row strong{color:#fff!important;font-size:10.5px!important}
#server-reinstall-dialog .check-row small{color:var(--dark-muted, #9eabb7)!important;font-size:9px!important;line-height:1.5!important}
#server-reinstall-dialog .dialog-actions{
  margin:0!important;padding:14px 24px 20px!important;
  border-top:1px solid var(--dark-border, #2c343d)!important;background:var(--dark-card, #171b21)!important;
}
#server-reinstall-dialog .dialog-actions .button{min-height:38px!important;border-radius:7px!important}

html[data-theme="light"] #server-reinstall-dialog{color:#111820!important}
html[data-theme="light"] #server-reinstall-dialog::backdrop{
  background:rgba(25,34,44,.34)!important;
  backdrop-filter:blur(5px) saturate(.88)!important;
  -webkit-backdrop-filter:blur(5px) saturate(.88)!important;
}
html[data-theme="light"] #server-reinstall-dialog>form{
  color:#111820;background:#fff;border-color:#d5dde5;
  box-shadow:0 26px 80px rgba(22,31,40,.22),0 1px 0 rgba(255,255,255,.95) inset;
}
html[data-theme="light"] #server-reinstall-dialog .dialog-header h2,
html[data-theme="light"] #server-reinstall-dialog .check-row strong{color:#111820!important}
html[data-theme="light"] #server-reinstall-dialog .dialog-header p,
html[data-theme="light"] #server-reinstall-dialog .check-row small{color:#56636f!important}
html[data-theme="light"] #server-reinstall-dialog .dialog-header .eyebrow{color:#b74655!important}
html[data-theme="light"] #server-reinstall-dialog .dialog-close{color:#687580!important}
html[data-theme="light"] #server-reinstall-dialog .dialog-close:hover{
  color:#111820!important;border-color:#d5dde5!important;background:#f2f5f7!important;
}
html[data-theme="light"] #server-reinstall-dialog .check-row{
  color:#111820!important;background:#f8fafb!important;border-color:#d7dee5!important;
}
html[data-theme="light"] #server-reinstall-dialog .dialog-actions{
  border-color:#d7dee5!important;background:#f6f8fa!important;
}

/* --------------------------------------------------------------------------
   Admin light mode. Admin does not load the customer-theme sheet, while the
   dark-first R144 stylesheet defines its tokens on :root. Re-declare the light
   token set on the admin body so every token-driven admin surface genuinely
   switches theme instead of only changing the toggle icon.
   -------------------------------------------------------------------------- */
html[data-theme="light"]{color-scheme:light}
html[data-theme="light"] body[class*="admin-v"]{
  --navy:#343a40;
  --navy-2:#2f353a;
  --page:#f3f5f7;
  --white:#fff;
  --soft:#eef2f5;
  --surface:#f7f9fb;
  --surface-raised:#fff;
  --surface-soft:#eef2f5;
  --panel:#fff;
  --panel-2:#f7f9fb;
  --panel-3:#eef2f5;
  --border:#d7dee5;
  --border-dark:#c4cdd6;
  --line:#d7dee5;
  --text:#202a34;
  --ink:#202a34;
  --muted:#65717d;
  --muted-2:#84909b;
  --blue:#087df5;
  --blue-hover:#066bd2;
  --blue-soft:rgba(8,125,245,.10);
  --teal:#087df5;
  --teal-hover:#066bd2;
  --teal-soft:rgba(8,125,245,.10);
  --green:#178b60;
  --amber:#a96d08;
  --red:#c84d5b;
  --red-soft:#fff1f3;
  --purple:#6757cc;
  --focus:rgba(8,125,245,.24);
  --shadow:0 2px 8px rgba(24,35,45,.07);
  --menu-shadow:0 18px 44px rgba(24,35,45,.16);
  --shell-sidebar:#343a40;
  --shell-topbar:#fff;
  --shell-sidebar-hover:#3d454c;
  --shell-sidebar-active:#087df5;
  --shell-sidebar-active-hover:#0875e6;
  color:var(--text);
  background:var(--page)!important;
}
html[data-theme="light"] body[class*="admin-v"] :is(.app-shell,.main-area,.page-admin){
  color:var(--text);
  background:var(--page)!important;
}
html[data-theme="light"] body[class*="admin-v"] .topbar{
  color:var(--text);
  background:#fff!important;
  border-bottom-color:#d9e0e6!important;
  box-shadow:0 1px 3px rgba(24,35,45,.06);
}
html[data-theme="light"] body[class*="admin-v"] :is(.theme-toggle,.system-status,.topbar-admin-switch){
  color:#52606c!important;
  border-color:#d4dce3!important;
  background:#f7f9fb!important;
}
html[data-theme="light"] body[class*="admin-v"] :is(.theme-toggle,.system-status,.topbar-admin-switch):hover{
  color:#202a34!important;
  border-color:#b9c4cd!important;
  background:#eef2f5!important;
}
html[data-theme="light"] body[class*="admin-v"] .topbar-admin-switch.is-admin{
  color:#075fb8!important;
  border-color:rgba(8,125,245,.35)!important;
  background:rgba(8,125,245,.08)!important;
}
html[data-theme="light"] body[class*="admin-v"] :is(.breadcrumb,.breadcrumb>span:first-child){color:#4b5864}
html[data-theme="light"] body[class*="admin-v"] .breadcrumb b{color:#a1abb4}
html[data-theme="light"] body[class*="admin-v"] .topbar-mobile-brand{color:var(--text)}
html[data-theme="light"] body[class*="admin-v"] .user-dropdown{
  color:var(--text);
  border-color:var(--border);
  background:#fff;
  box-shadow:var(--menu-shadow);
}
html[data-theme="light"] body[class*="admin-v"] .user-dropdown-head{border-bottom-color:var(--border)}
html[data-theme="light"] body[class*="admin-v"] .user-dropdown :is(a,button){color:#36424d}
html[data-theme="light"] body[class*="admin-v"] .user-dropdown :is(a,button):hover{color:#111820;background:#f0f3f6}
html[data-theme="light"] body[class*="admin-v"] .sidebar{color:#dce1e5;background:#343a40!important}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(input,select,textarea){
  color:var(--text);
  background-color:var(--white);
  color-scheme:light;
}
html[data-theme="dark"] body[class*="admin-v"] .page-admin :is(input,select,textarea){color-scheme:dark}

/* Resource-pool selector is a first-class Create Server field. */
.create169-pool-field small{line-height:1.45}

@media(max-width:600px){
  .onboard167-header{padding-top:45px!important}
  .onboard169-back-to-servers{left:10px;top:10px}
  #server-reinstall-dialog{padding:10px!important}
  #server-reinstall-dialog>form{width:min(430px,calc(100vw - 20px))}
  #server-reinstall-dialog .dialog-header{padding:20px 18px 13px!important}
  #server-reinstall-dialog .dialog-options{padding:3px 18px 15px!important}
  #server-reinstall-dialog .dialog-actions{padding:12px 18px 17px!important}
}

@media(prefers-reduced-motion:reduce){
  .onboard167-backdrop,.onboard167-panel{animation:none!important;opacity:1!important;transform:none!important}
  #server-reinstall-dialog>form{animation:none!important}
}


/* ======= ui-r171.css ======= */
/* R171: keep /servers clean; choose a resource pool only after Create server is pressed. */
.servers171-create-chooser{position:relative;display:inline-block;z-index:24}
.servers171-create-chooser>summary{list-style:none;cursor:pointer;user-select:none}
.servers171-create-chooser>summary::-webkit-details-marker{display:none}
.servers171-create-chooser>summary::marker{display:none;content:""}
.servers171-create-chooser[open]>summary{position:relative;z-index:2}
.servers171-create-menu{position:absolute;top:calc(100% + 9px);right:0;z-index:50;width:260px;padding:8px;border:1px solid var(--customer-border,rgba(255,255,255,.11));border-radius:14px;background:color-mix(in srgb,var(--customer-panel,var(--dark-card, #191d21)) 94%,transparent);box-shadow:0 18px 46px rgba(0,0,0,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transform-origin:top right;animation:r171-pool-menu-in .14s ease-out both}
.servers171-create-menu-label{display:block;padding:8px 10px 7px;font-size:10px;line-height:1;font-weight:850;letter-spacing:.085em;text-transform:uppercase;color:var(--customer-muted,var(--dark-muted, #8d959d))}
.servers171-create-menu>a,.servers171-create-menu>span:not(.servers171-create-menu-label){display:grid;gap:3px;padding:10px 11px;border-radius:10px;text-decoration:none;color:var(--customer-text,#f4f6f8)}
.servers171-create-menu>a:hover,.servers171-create-menu>a:focus-visible{background:color-mix(in srgb,var(--accent,#56c16f) 13%,transparent);outline:none}
.servers171-create-menu strong{font-size:13px;line-height:1.2;font-weight:800}
.servers171-create-menu small{font-size:11px;line-height:1.25;color:var(--customer-muted,var(--dark-muted, #8d959d))}
.servers171-create-menu .is-disabled{opacity:.48;cursor:not-allowed}
.servers171-create-chooser-up .servers171-create-menu{top:auto;bottom:calc(100% + 9px);transform-origin:bottom right}
html[data-theme="light"] .servers171-create-menu{border-color:#d9e0e6;background:rgba(255,255,255,.97);box-shadow:0 18px 42px rgba(28,39,50,.14)}
html[data-theme="light"] .servers171-create-menu>a,html[data-theme="light"] .servers171-create-menu>span:not(.servers171-create-menu-label){color:#17212b}
html[data-theme="light"] .servers171-create-menu small,html[data-theme="light"] .servers171-create-menu-label{color:#687581}
@keyframes r171-pool-menu-in{from{opacity:0;transform:translateY(-4px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
.servers171-create-chooser-up .servers171-create-menu{animation-name:r171-pool-menu-up-in}
@keyframes r171-pool-menu-up-in{from{opacity:0;transform:translateY(4px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.servers171-create-chooser{width:100%}.servers171-create-chooser>summary{width:100%;justify-content:center}.servers171-create-menu{left:0;right:auto;width:min(100%,300px)}}
@media(prefers-reduced-motion:reduce){.servers171-create-menu{animation:none}}


/* ======= ui-r174.css ======= */
/* R174 — live chart inspection, mobile onboarding, player/subuser polish,
   and tracked Version Changer reinstall presentation. */

/* --------------------------------------------------------------------------
   Console charts: inspect the exact historical sample under the pointer/touch.
   -------------------------------------------------------------------------- */
.server-console-v1138-body .console8-chart-plot[data-chart-hover]{
  cursor:crosshair;touch-action:pan-y;isolation:isolate;
}
.server-console-v1138-body .console174-chart-guide{
  stroke:color-mix(in srgb,var(--text) 35%,transparent);stroke-width:1;
  stroke-dasharray:3 3;vector-effect:non-scaling-stroke;pointer-events:none;
}
.server-console-v1138-body .console174-chart-dot{
  fill:var(--white);stroke:var(--teal);stroke-width:2.2;vector-effect:non-scaling-stroke;pointer-events:none;
}
.server-console-v1138-body .console174-chart-dot.is-rx{stroke:var(--teal)}
.server-console-v1138-body .console174-chart-dot.is-tx{stroke:var(--amber)}
.server-console-v1138-body .console174-chart-guide[hidden],
.server-console-v1138-body .console174-chart-dot[hidden]{display:none!important}
.server-console-v1138-body .console174-chart-tooltip{
  position:absolute;z-index:5;top:14px;left:50%;min-width:126px;max-width:min(220px,calc(100% - 16px));
  display:grid;gap:5px;padding:9px 10px;border:1px solid var(--border-dark);border-radius:9px;
  color:var(--text);background:color-mix(in srgb,var(--white) 96%,transparent);
  box-shadow:0 10px 28px color-mix(in srgb,#000 18%,transparent);backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);transform:translateX(-50%);pointer-events:none;
}
.server-console-v1138-body .console174-chart-tooltip[hidden]{display:none!important}
.server-console-v1138-body .console8-chart-plot.is-tooltip-right .console174-chart-tooltip{transform:translateX(-100%)}
.server-console-v1138-body .console174-chart-tooltip time{
  color:var(--muted);font-size:8px;font-weight:760;letter-spacing:.04em;text-transform:uppercase;
}
.server-console-v1138-body .console174-chart-tooltip>strong{font-size:11px;line-height:1.25}
.server-console-v1138-body .console174-chart-tooltip>span{
  display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:6px;color:var(--muted);font-size:9px;
}
.server-console-v1138-body .console174-chart-tooltip>span i{width:7px;height:7px;border-radius:50%;background:var(--teal)}
.server-console-v1138-body .console174-chart-tooltip>span i.is-tx{background:var(--amber)}
.server-console-v1138-body .console174-chart-tooltip>span strong{color:var(--text);font-size:9px}
html[data-theme="dark"] .server-console-v1138-body .console174-chart-dot{fill:var(--surface,#171b21)}
html[data-theme="dark"] .server-console-v1138-body .console174-chart-tooltip{
  background:color-mix(in srgb,var(--surface,var(--dark-card, #171b21)) 96%,transparent);
}

/* --------------------------------------------------------------------------
   Players and subusers: iconography works in both themes via currentColor.
   Player rows expose only scan-friendly facts; details live in the profile dialog.
   -------------------------------------------------------------------------- */
.entity-list-v136-body .entity136-empty-icon-svg{
  width:42px;height:42px;display:grid;place-items:center;color:var(--entity-muted);opacity:.82;
}
.entity-list-v136-body .entity136-empty-icon-svg svg{
  width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;
}
.players136-body .players136-player-row{
  grid-template-columns:minmax(220px,1.1fr) minmax(260px,.95fr) auto;
}
.players136-body .players136-player-row .player174-summary-facts,
.players136-body .players136-player-row.is-owner .player174-summary-facts{
  grid-template-columns:repeat(2,minmax(112px,1fr));
}
.players136-body .player174-actions{gap:8px;white-space:nowrap}
.players136-body .player174-details-button,
.players136-body .player174-manage-toggle{
  min-height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;
}
.players136-body .player174-details-button{color:var(--entity-text)}
.players136-body .player174-manage{display:block!important}
.players136-body .player174-manage-toggle{
  width:auto;height:38px;font-size:10px;font-weight:760;line-height:1;
}
.players136-body .player174-manage-toggle .player174-action-icon:last-child{width:12px;height:12px;margin-left:1px}
.players136-body .player174-manage-toggle[aria-expanded="true"] .player174-action-icon:last-child{transform:rotate(180deg)}
.players136-body .player174-action-icon{
  width:14px;height:14px;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  transition:transform .14s ease;
}
.players136-body .player174-manage-menu{width:min(220px,calc(100vw - 16px));gap:4px;padding:7px}
.players136-body .player174-manage-menu .entity136-action{gap:9px;min-height:40px;border-color:transparent;background:transparent}
.players136-body .player174-manage-menu .entity136-action:hover{border-color:var(--entity-border);background:var(--entity-soft)}
.players136-body .player174-details-dialog{width:min(620px,calc(100vw - 24px));color:var(--entity-text)}
.players136-body .player174-details-card{min-width:0}
.players136-body .player174-details-head{align-items:center}
.players136-body .player174-details-identity{min-width:0;display:flex;align-items:center;gap:12px}
.players136-body .player174-details-identity>div{min-width:0}
.players136-body .player174-details-identity h2{margin-top:3px}
.players136-body .player174-details-identity p{
  margin:4px 0 0;overflow:hidden;color:var(--entity-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size:9.5px;text-overflow:ellipsis;white-space:nowrap;
}
.players136-body .player174-details-avatar{
  width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border:1px solid var(--entity-border);
  border-radius:10px;background:var(--entity-soft);color:var(--entity-text);font-size:14px;font-weight:800;
}
.players136-body .player174-details-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 22px 15px}
.players136-body .player174-details-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 22px 20px;overflow:hidden;
  border:1px solid var(--entity-border);border-radius:10px;background:var(--entity-card);
}
.players136-body .player174-details-grid>div{min-width:0;padding:13px 14px;border-bottom:1px solid var(--entity-border)}
.players136-body .player174-details-grid>div:nth-child(odd){border-right:1px solid var(--entity-border)}
.players136-body .player174-details-grid>div:nth-last-child(-n+2){border-bottom:0}
.players136-body .player174-details-grid .player174-details-wide{grid-column:1/-1;border-right:0;border-bottom:0}
.players136-body .player174-details-grid dt{margin:0 0 5px;color:var(--entity-muted);font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.players136-body .player174-details-grid dd{margin:0;color:var(--entity-text);font-size:11px;font-weight:680;line-height:1.45;overflow-wrap:anywhere}

/* --------------------------------------------------------------------------
   Onboarding: true phone viewport layout, safe areas, and scrollable controls.
   -------------------------------------------------------------------------- */
@media(max-width:700px){
  .onboard167-modal{align-items:stretch!important;justify-content:stretch!important}
  .onboard167-panel{
    width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;
    border-radius:0!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;
  }
  .onboard167-header{
    min-height:0!important;padding:calc(43px + env(safe-area-inset-top,0px)) 14px 12px!important;gap:10px!important;
  }
  .onboard169-back-to-servers{top:calc(10px + env(safe-area-inset-top,0px))!important;left:10px!important}
  .onboard167-header h2{font-size:17px!important;line-height:1.18!important}
  .onboard167-header p{font-size:9.5px!important;line-height:1.4!important}
  .onboard167-progress{
    min-width:0!important;overflow-x:auto!important;overscroll-behavior-inline:contain;scrollbar-width:none;padding:9px 12px!important;
  }
  .onboard167-progress::-webkit-scrollbar{display:none}
  .onboard167-progress>button{flex:0 0 auto!important}
  .onboard167-progress>i{min-width:26px!important;flex:1 0 26px!important}
  .onboard167-viewport{min-height:0!important;overflow:hidden!important}
  .onboard167-track{height:100%!important}
  .onboard167-slide{
    height:100%!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding:15px 13px 22px!important;
    -webkit-overflow-scrolling:touch;
  }
  .onboard167-slide-head{align-items:flex-start!important;gap:8px!important;margin-bottom:14px!important}
  .onboard167-slide-head h3{font-size:18px!important}
  .onboard167-slide-head p{font-size:10px!important;line-height:1.45!important}
  .onboard167-filterbar{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .onboard167-search{width:100%!important;max-width:none!important;flex:none!important}
  .onboard167-categories{
    width:100%!important;max-width:none!important;display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;
    padding-bottom:2px;scrollbar-width:none;
  }
  .onboard167-categories::-webkit-scrollbar{display:none}
  .onboard167-categories button{flex:0 0 auto!important}
  .onboard167-software-grid{grid-template-columns:1fr!important;gap:9px!important}
  .onboard167-software-card{min-height:100px!important;padding:12px!important;grid-template-columns:42px minmax(0,1fr) 22px!important}
  .onboard167-software-icon{width:42px!important;height:42px!important}
  .onboard167-install{padding:15px 13px 22px!important}
  .onboard167-install-head{grid-template-columns:1fr!important;gap:9px!important}
  .onboard167-install-card{padding:16px 14px 18px!important;border-radius:11px!important}
  .onboard167-selected{grid-template-columns:44px minmax(0,1fr)!important;gap:10px!important}
  .onboard167-selected-icon{width:44px!important;height:44px!important}
  .onboard167-selected>span:last-child{grid-column:1/-1!important}
  .onboard167-fields{grid-template-columns:1fr!important;gap:11px!important;margin-top:14px!important}
  .onboard167-field select{height:46px!important;font-size:13px!important}
  .onboard167-install-button{width:100%!important;min-height:48px!important}
  .onboard167-finish-content{min-height:100%!important;padding:22px 14px!important}
  .onboard167-complete-list{grid-template-columns:1fr!important;width:100%!important;gap:7px!important}
  .onboard167-footer{
    min-height:44px!important;padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px))!important;text-align:center!important;
  }
  .onboard167-footer span{font-size:8.5px!important;line-height:1.35!important}
}
@media(max-width:430px){
  .onboard167-header{padding-inline:11px!important}
  .onboard167-header h2{font-size:16px!important}
  .onboard167-readiness{font-size:8px!important}
  .onboard167-slide,.onboard167-install{padding-inline:10px!important}
  .onboard167-software-card{grid-template-columns:38px minmax(0,1fr) 20px!important}
  .onboard167-software-icon{width:38px!important;height:38px!important}
  .onboard167-software-copy p{font-size:9px!important}
}

/* Light/dark icon parity: all newly introduced navigation/empty/action glyphs inherit text colour. */
.sidebar-link svg,
.account-settings-nav a svg,
.subusers136-body .entity136-empty svg,
.players136-body .entity136-empty svg{
  fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;
}

@media(max-width:820px){
  .players136-body .players136-player-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity actions" "facts facts"}
  .players136-body .players136-player-row .player174-summary-facts,
  .players136-body .players136-player-row.is-owner .player174-summary-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .players136-body .players136-player-row{grid-template-columns:1fr;grid-template-areas:"identity" "facts" "actions"}
  .players136-body .player174-actions{width:100%;justify-content:stretch!important}
  .players136-body .player174-details-button,.players136-body .player174-manage{flex:1 1 0}
  .players136-body .player174-details-button,.players136-body .player174-manage-toggle{width:100%}
  .players136-body .player174-details-dialog{width:calc(100vw - 14px)}
  .players136-body .player174-details-status{padding-inline:15px}
  .players136-body .player174-details-grid{grid-template-columns:1fr;margin-inline:15px}
  .players136-body .player174-details-grid>div,.players136-body .player174-details-grid>div:nth-child(odd){border-right:0;border-bottom:1px solid var(--entity-border)}
  .players136-body .player174-details-grid>div:nth-last-child(-n+2){border-bottom:1px solid var(--entity-border)}
  .players136-body .player174-details-grid .player174-details-wide{grid-column:auto;border-bottom:0}
}


/* ======= ui-r175.css ======= */
/* R175: durable backend install progress + Pterodactyl-style Chart.js resource graphs. */
.server-console-v1138-body .console175-chart-plot{
  height:210px!important;
  padding:10px 8px 8px!important;
  position:relative;
}
.server-console-v1138-body .console175-chart-plot canvas{
  display:block;
  width:100%!important;
  height:100%!important;
  min-width:0;
  touch-action:pan-y;
}
.server-console-v1138-body .console175-chart-fallback{
  position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:11px;
}
.server-console-v1138-body .console175-chart-fallback[hidden]{display:none!important}

.onboard175-install-status{display:grid!important;gap:10px;padding:13px!important;overflow:hidden;position:relative}
.onboard175-install-status[hidden]{display:none!important}
.onboard175-progress-head{display:grid!important;grid-template-columns:28px minmax(0,1fr) auto;align-items:center!important;gap:10px!important}
.onboard175-progress-head>div{display:grid;gap:2px;min-width:0}
.onboard175-progress-head strong{font-size:10px;line-height:1.25;color:var(--ob-text)}
.onboard175-progress-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ob-muted);font-size:8.5px;line-height:1.3}
.onboard175-progress-head>[data-onboarding-install-percent]{font-variant-numeric:tabular-nums;font-weight:800;color:var(--ob-text)!important}
.onboard175-progress-pulse{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--ob-blue) 13%,transparent);border:1px solid color-mix(in srgb,var(--ob-blue) 28%,var(--ob-line))}
.onboard175-progress-pulse i{width:8px;height:8px;border-radius:50%;background:var(--ob-blue);box-shadow:0 0 0 0 color-mix(in srgb,var(--ob-blue) 32%,transparent);animation:onboard175Pulse 1.25s ease-out infinite}
.onboard175-progressbar{height:9px!important;margin-top:0!important;position:relative;background:color-mix(in srgb,var(--ob-line-soft) 85%,transparent)!important;border:1px solid color-mix(in srgb,var(--ob-line) 55%,transparent)}
.onboard175-progressbar>i{position:relative;overflow:hidden;min-width:3px;transition:width .18s linear!important;background:linear-gradient(90deg,var(--ob-blue),color-mix(in srgb,var(--ob-blue) 62%,#79d5ff))!important}
.onboard175-progressbar>i>b{position:absolute;inset:0;width:45%;transform:translateX(-125%);background:linear-gradient(90deg,transparent,var(--dark-card-alpha-0-42, rgba(255,255,255,.42)),transparent);animation:onboard175Shimmer 1.15s linear infinite}
.onboard175-progress-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;color:var(--ob-muted)!important;font-size:8.5px!important}
.onboard175-progress-meta>[data-onboarding-install-transfer]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.onboard175-live-badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--ob-muted)}
.onboard175-live-badge i{width:6px;height:6px;border-radius:50%;background:var(--ob-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--ob-green) 13%,transparent)}
.onboard175-install-status[data-phase="complete"] .onboard175-progress-pulse i{background:var(--ob-green);animation:none}
.onboard175-install-status[data-phase="failed"] .onboard175-progress-pulse i{background:var(--ob-red);animation:none}

.server-versions-v80-body .version175-install-progress{gap:9px!important;overflow:hidden}
.server-versions-v80-body .version175-progress-track{height:9px!important;position:relative}
.server-versions-v80-body .version175-progress-track>span{position:relative;overflow:hidden;min-width:3px;transition:width .18s linear!important;background:linear-gradient(90deg,var(--blue),var(--teal))!important}
.server-versions-v80-body .version175-progress-track>span>i{position:absolute;inset:0;width:45%;transform:translateX(-125%);background:linear-gradient(90deg,transparent,var(--dark-card-alpha-0-42, rgba(255,255,255,.42)),transparent);animation:onboard175Shimmer 1.15s linear infinite}
.server-versions-v80-body .version175-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;color:var(--muted);font-size:8.5px}
.server-versions-v80-body .version175-progress-copy span,.server-versions-v80-body .version175-progress-copy small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.server-versions-v80-body .version175-progress-copy small{font-size:inherit;text-align:right}

@keyframes onboard175Shimmer{to{transform:translateX(290%)}}
@keyframes onboard175Pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ob-blue) 34%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.onboard175-progress-pulse i,.onboard175-progressbar>i>b,.version175-progress-track>span>i{animation:none!important}}
@media (max-width:700px){
  .server-console-v1138-body .console175-chart-plot{height:180px!important;padding:8px 4px 6px!important}
  .onboard175-progress-head{grid-template-columns:25px minmax(0,1fr) auto;gap:8px!important}
  .onboard175-progress-pulse{width:25px;height:25px;border-radius:8px}
  .onboard175-progress-meta,.server-versions-v80-body .version175-progress-copy{align-items:flex-start!important;flex-direction:column;gap:4px!important}
  .server-versions-v80-body .version175-progress-copy small{text-align:left}
}


/* ======= ui-r179.css ======= */
/* R179 production polish: keep the destructive Version Changer confirmation
   unmistakably actionable in both themes. A broad light-theme `span` rule in
   R166 used to win over the primary button's inherited text colour. */
.server-versions-v79-body .version79-dialog-actions [data-version-install].button-primary{
  min-width:148px!important;
  border:1px solid #0969da!important;
  background:#0969da!important;
  color:#fff!important;
  font-weight:800!important;
  box-shadow:0 7px 18px rgba(9,105,218,.22)!important;
  opacity:1;
}
.server-versions-v79-body .version79-dialog-actions [data-version-install].button-primary [data-version-install-label]{
  color:#fff!important;
  font-weight:inherit!important;
}
.server-versions-v79-body .version79-dialog-actions [data-version-install].button-primary:hover:not(:disabled){
  border-color:#075bbd!important;
  background:#075bbd!important;
  box-shadow:0 9px 22px rgba(9,105,218,.28)!important;
}
.server-versions-v79-body .version79-dialog-actions [data-version-install].button-primary:focus-visible{
  outline:3px solid color-mix(in srgb,#0969da 34%,transparent)!important;
  outline-offset:2px!important;
}
.server-versions-v79-body .version79-dialog-actions [data-version-install].button-primary:disabled{
  border-color:var(--dark-border, #718096)!important;
  background:var(--dark-card, #718096)!important;
  color:#fff!important;
  box-shadow:none!important;
  opacity:.66!important;
  cursor:not-allowed!important;
}
.server-versions-v79-body .version79-dialog-actions [data-version-install].button-primary:disabled [data-version-install-label]{color:#fff!important}

/* Keep the button equally legible in light mode even though the modal applies
   generic copy colours to descendant spans. */
html[data-theme="light"] .server-versions-v79-body .version79-dialog-actions [data-version-install].button-primary,
html[data-theme="dark"] .server-versions-v79-body .version79-dialog-actions [data-version-install].button-primary{
  color:#fff!important;
}

@media(max-width:700px){
  .server-versions-v79-body .version79-dialog-actions [data-version-install].button-primary{min-width:0!important}
}


/* ======= ui-r181.css ======= */
/* R181: full-workspace node outage state, admin renewal freeze visibility. */
.server-node-control-surface{position:relative}
.server-node-offline-overlay{
  position:fixed;
  top:var(--shell-topbar-height,64px);
  left:var(--shell-sidebar-width,278px);
  right:0;
  bottom:0;
  z-index:34;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(22px,4vw,56px);
  background:var(--dark-card-alpha-0-72, rgba(238,241,245,.72));
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
  overflow:auto;
}
.server-node-offline-overlay[hidden]{display:none!important}
.server-node-offline-card{
  width:min(700px,100%);
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:30px 32px;
  border:1px solid color-mix(in srgb,var(--border) 88%,transparent);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface-raised) 96%,transparent);
  box-shadow:0 24px 70px rgba(18,24,30,.20);
}
.server-node-offline-copy{min-width:0}
.server-node-offline-card h2{margin:6px 0 8px;font-size:clamp(22px,3vw,30px);letter-spacing:-.035em}
.server-node-offline-card p{max-width:610px;margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.server-node-offline-icon{
  width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;border-radius:14px;
  background:color-mix(in srgb,var(--amber) 15%,var(--surface-raised));color:var(--amber)
}
.server-node-offline-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.server-node-offline-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.server-node-offline-facts article{min-width:0;padding:14px 15px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 80%,transparent)}
.server-node-offline-facts span{display:block;margin-bottom:5px;color:var(--muted-2);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.server-node-offline-facts strong{display:block;overflow-wrap:anywhere;color:var(--text);font-size:15px}
.server-node-offline-facts small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.45}
.server-node-offline-billing strong{color:var(--teal)}
.server-node-offline-since{display:block;margin-top:15px;color:var(--muted-2);font-size:11px}
.server-overview-page[data-node-offline="1"] .console-power-actions{opacity:.58}
.server-overview-page[data-node-offline="1"] .console-power-actions button{cursor:not-allowed}
html[data-sidebar-state="collapsed"] .server-node-offline-overlay{left:var(--shell-sidebar-collapsed-width,78px)}
html[data-theme="dark"] .server-node-offline-overlay{background:rgba(8,12,18,.72)}
html[data-theme="dark"] .server-node-offline-card{background:var(--dark-card-alpha-0-97, rgba(17,24,35,.97));border-color:rgba(255,255,255,.12);box-shadow:0 28px 80px rgba(0,0,0,.38)}
html[data-theme="dark"] .server-node-offline-facts article{border-color:rgba(255,255,255,.10);background:var(--dark-card-alpha-0-035, rgba(255,255,255,.035))}

/* Five operational states fit on one row on wide admin screens. */
.admin-renewal-panel .renewal70-stats{grid-template-columns:repeat(5,minmax(0,1fr))}

@media(max-width:1080px){
  .admin-renewal-panel .renewal70-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1120px){
  .server-node-offline-overlay,
  html[data-sidebar-state="collapsed"] .server-node-offline-overlay{left:0}
}
@media(max-width:760px){
  .server-node-offline-overlay{top:60px;padding:18px}
  .server-node-offline-card{grid-template-columns:1fr;justify-items:center;text-align:center;padding:24px 20px}
  .server-node-offline-card p{margin-inline:auto}
  .server-node-offline-facts{width:100%;grid-template-columns:1fr;text-align:left}
  .server-node-offline-since{text-align:center}
  .admin-renewal-panel .renewal70-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .server-node-offline-overlay{padding:12px}
  .server-node-offline-card{padding:22px 16px;border-radius:14px}
  .server-node-offline-icon{width:46px;height:46px}
}


/* ======= ui-r182.css ======= */
/* R182: backend-authoritative node outage workspace lock. */
html.server-node-outage-active,
html.server-node-outage-active body,
body.server-node-offline-r182-body{overflow:hidden!important;overscroll-behavior:none;height:100%}
body.server-node-offline-r182-body #soft-nav-content{min-height:calc(100vh - var(--shell-topbar-height,64px))}
.server-offline-page{min-height:1px}
.server-node-offline-overlay{
  position:fixed;
  top:var(--shell-topbar-height,64px);
  left:var(--shell-sidebar-width,278px);
  right:0;
  bottom:0;
  z-index:34;
  display:grid;
  place-items:center;
  padding:clamp(20px,4vw,54px);
  overflow:hidden;
  overscroll-behavior:none;
  touch-action:none;
  pointer-events:all;
  background:
    radial-gradient(circle at 50% 35%,rgba(239,163,62,.09),transparent 34%),
    color-mix(in srgb,var(--page) 82%,transparent);
  -webkit-backdrop-filter:blur(10px) saturate(.88);
  backdrop-filter:blur(10px) saturate(.88);
}
.server-node-offline-overlay[hidden]{display:none!important}
.server-node-offline-card{
  width:min(760px,100%);
  max-height:calc(100vh - var(--shell-topbar-height,64px) - 40px);
  padding:clamp(24px,3.4vw,38px);
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--border) 82%,transparent);
  border-radius:22px;
  background:color-mix(in srgb,var(--surface-raised) 97%,transparent);
  box-shadow:0 30px 90px rgba(19,26,34,.20),0 2px 8px rgba(19,26,34,.05);
}
.server-node-offline-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:start}
.server-node-offline-title{min-width:0;padding-top:1px}
.server-node-offline-title .eyebrow{color:var(--amber);font-size:10px;letter-spacing:.13em}
.server-node-offline-card h2{margin:6px 0 9px;font-size:clamp(25px,3.2vw,34px);line-height:1.1;letter-spacing:-.042em}
.server-node-offline-card p{max-width:600px;margin:0;color:var(--muted);font-size:14px;line-height:1.62}
.server-node-offline-icon{
  width:58px;height:58px;display:grid;place-items:center;flex:0 0 58px;
  border:1px solid color-mix(in srgb,var(--amber) 25%,var(--border));
  border-radius:17px;
  color:var(--amber);
  background:linear-gradient(145deg,color-mix(in srgb,var(--amber) 15%,var(--surface-raised)),color-mix(in srgb,var(--amber) 5%,var(--surface-raised)));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14)
}
.server-node-offline-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.server-node-offline-icon .server-node-offline-slash{stroke-width:2.4}
.server-node-offline-monitor{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:7px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface);font-size:9px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.server-node-offline-monitor i{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb,var(--amber) 12%,transparent);animation:r182-node-monitor 1.8s ease-in-out infinite}
.server-node-offline-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
.server-node-offline-fact{position:relative;min-width:0;padding:17px 18px 16px;border:1px solid var(--border);border-radius:15px;background:color-mix(in srgb,var(--surface) 78%,var(--surface-raised));overflow:hidden}
.server-node-offline-fact::after{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:color-mix(in srgb,var(--muted) 36%,transparent)}
.server-node-offline-node::after{background:var(--amber)}
.server-node-offline-billing::after{background:var(--teal)}
.server-node-offline-fact>span{display:block;margin-bottom:7px;color:var(--muted-2);font-size:9px;font-weight:850;letter-spacing:.105em;text-transform:uppercase}
.server-node-offline-fact>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:18px;letter-spacing:-.018em}
.server-node-offline-billing>strong{color:var(--teal)}
.server-node-offline-fact>small{display:flex;align-items:center;gap:6px;min-height:18px;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.5}
.server-node-offline-fact>small svg{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.server-node-offline-fact>small b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-weight:650}
.server-node-offline-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.server-node-offline-footer>small{max-width:360px;color:var(--muted-2);font-size:10px;line-height:1.5;text-align:right}
.server-node-offline-since{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:11px;font-weight:650}
.server-node-offline-since svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.server-node-offline-since>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.server-overview-page[data-node-offline="1"] .console-power-actions{opacity:.48}
.server-overview-page[data-node-offline="1"] .console-power-actions button{cursor:not-allowed}
html[data-sidebar-state="collapsed"] .server-node-offline-overlay{left:var(--shell-sidebar-collapsed-width,78px)}
html[data-theme="dark"] .server-node-offline-overlay{background:radial-gradient(circle at 50% 35%,rgba(239,163,62,.08),transparent 34%),rgba(7,11,17,.80)}
html[data-theme="dark"] .server-node-offline-card{background:var(--dark-card-alpha-0-98, rgba(16,23,33,.98));border-color:rgba(255,255,255,.12);box-shadow:0 32px 100px rgba(0,0,0,.44)}
html[data-theme="dark"] .server-node-offline-fact{border-color:rgba(255,255,255,.10);background:var(--dark-card-alpha-0-035, rgba(255,255,255,.035))}
html[data-theme="dark"] .server-node-offline-monitor{border-color:rgba(255,255,255,.10);background:var(--dark-card-alpha-0-035, rgba(255,255,255,.035))}
@keyframes r182-node-monitor{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}
@media(max-width:1120px){
  .server-node-offline-overlay,html[data-sidebar-state="collapsed"] .server-node-offline-overlay{left:0}
}
@media(max-width:760px){
  .server-node-offline-overlay{top:60px;padding:16px}
  .server-node-offline-card{max-height:calc(100vh - 92px);padding:24px 20px;border-radius:18px}
  .server-node-offline-head{grid-template-columns:auto minmax(0,1fr);gap:14px}
  .server-node-offline-monitor{grid-column:2;justify-self:start}
  .server-node-offline-icon{width:50px;height:50px;border-radius:15px}
  .server-node-offline-icon svg{width:31px;height:31px}
  .server-node-offline-facts{margin-top:20px;grid-template-columns:1fr}
  .server-node-offline-fact{padding:14px 15px}
  .server-node-offline-footer{align-items:flex-start;flex-direction:column;gap:8px;margin-top:16px;padding-top:14px}
  .server-node-offline-footer>small{text-align:left;max-width:none}
}
@media(max-width:480px){
  .server-node-offline-overlay{padding:10px}
  .server-node-offline-card{padding:20px 16px;border-radius:16px}
  .server-node-offline-card h2{font-size:25px}
  .server-node-offline-card p{font-size:13px;line-height:1.5}
  .server-node-offline-monitor{font-size:8px;padding:6px 8px}
  .server-node-offline-facts{gap:8px;margin-top:16px}
  .server-node-offline-fact>strong{font-size:16px}
  .server-node-offline-footer>small{display:none}
}
@media(prefers-reduced-motion:reduce){.server-node-offline-monitor i{animation:none}}
@media(max-height:680px) and (min-width:761px){
  .server-node-offline-card{padding:24px 28px}
  .server-node-offline-icon{width:50px;height:50px}
  .server-node-offline-icon svg{width:31px;height:31px}
  .server-node-offline-card h2{font-size:27px;margin-top:4px;margin-bottom:6px}
  .server-node-offline-card p{line-height:1.48}
  .server-node-offline-facts{margin-top:18px}
  .server-node-offline-fact{padding:13px 15px}
  .server-node-offline-footer{margin-top:14px;padding-top:13px}
}
@media(max-height:560px){
  .server-node-offline-card{padding-top:17px;padding-bottom:17px}
  .server-node-offline-card p{font-size:12px}
  .server-node-offline-facts{margin-top:12px}
  .server-node-offline-fact{padding-top:10px;padding-bottom:10px}
  .server-node-offline-footer{margin-top:10px;padding-top:10px}
  .server-node-offline-footer>small{display:none}
}


/* ======= ui-r183.css ======= */
/* R183 — translucent node-outage workspace, stable centered card, and
   Facebook-style shimmer placeholders. Backend-confirmed health remains the
   only authority for entering/leaving the outage state. */

html.server-node-outage-active,
html.server-node-outage-active body,
body.server-node-offline-r183-body{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  height:100%;
}
body.server-node-offline-r183-body #soft-nav-content{min-height:calc(100vh - var(--shell-topbar-height,64px))}
.server-offline-page{min-height:1px}

.server-node-offline-overlay{
  position:fixed;
  top:var(--shell-topbar-height,64px);
  left:var(--shell-sidebar-width,278px);
  right:0;
  bottom:0;
  z-index:34;
  display:grid;
  place-items:center;
  padding:clamp(18px,3.4vw,44px);
  overflow:hidden;
  overscroll-behavior:none!important;
  touch-action:none!important;
  pointer-events:all!important;
  isolation:isolate;
  background:var(--dark-card-alpha-0-34, rgba(245,248,251,.34));
  -webkit-backdrop-filter:blur(7px) saturate(.82);
  backdrop-filter:blur(7px) saturate(.82);
  animation:r183-outage-fade .18s ease-out both;
}
.server-node-offline-overlay[hidden]{display:none!important}

/* A low-contrast server-page skeleton keeps the blocked workspace feeling
   alive without using a traditional spinner. */
.server-node-offline-skeleton{
  position:absolute;
  inset:clamp(18px,2.6vw,34px);
  z-index:0;
  display:grid;
  grid-template-rows:42px minmax(210px,1fr) 132px;
  gap:14px;
  opacity:.34;
  filter:saturate(.72);
  pointer-events:none;
}
.server-node-offline-skeleton-toolbar,
.server-node-offline-skeleton-console,
.server-node-offline-skeleton-cards>i{
  position:relative;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--border) 62%,transparent);
  background:color-mix(in srgb,var(--surface-raised) 46%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.server-node-offline-skeleton-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-radius:12px}
.server-node-offline-skeleton-console{display:flex;flex-direction:column;gap:13px;padding:22px;border-radius:16px}
.server-node-offline-skeleton-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.server-node-offline-skeleton-cards>i{display:block;border-radius:14px}
.server-node-offline-skeleton-line,
.server-node-offline-skeleton-pill{
  display:block;
  height:9px;
  border-radius:999px;
  background:color-mix(in srgb,var(--muted) 18%,transparent);
}
.server-node-offline-skeleton-line{width:47%}
.server-node-offline-skeleton-line.is-short{width:24%}
.server-node-offline-skeleton-line.is-mid{width:36%}
.server-node-offline-skeleton-line.is-wide{width:63%}
.server-node-offline-skeleton-pill{width:100px;height:24px}
.server-node-offline-skeleton-toolbar::after,
.server-node-offline-skeleton-console::after,
.server-node-offline-skeleton-cards>i::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-125%);
  background:linear-gradient(105deg,transparent 18%,var(--dark-card-alpha-0-22, rgba(255,255,255,.22)) 44%,var(--dark-card-alpha-0-32, rgba(255,255,255,.32)) 50%,var(--dark-card-alpha-0-22, rgba(255,255,255,.22)) 56%,transparent 82%);
  animation:r183-skeleton-sweep 1.75s ease-in-out infinite;
}
.server-node-offline-skeleton-console::after{animation-delay:.12s}
.server-node-offline-skeleton-cards>i:nth-child(1)::after{animation-delay:.20s}
.server-node-offline-skeleton-cards>i:nth-child(2)::after{animation-delay:.31s}
.server-node-offline-skeleton-cards>i:nth-child(3)::after{animation-delay:.42s}

.server-node-offline-card,
.server-node-offline-card *{box-sizing:border-box}
.server-node-offline-card{
  position:relative;
  z-index:2;
  width:min(700px,100%);
  min-width:0;
  max-height:calc(100dvh - var(--shell-topbar-height,64px) - 36px);
  padding:clamp(23px,3vw,34px);
  overflow:hidden;
  border:1px solid var(--dark-border-alpha-0-78, rgba(203,212,222,.78));
  border-radius:22px;
  color:var(--text);
  background:var(--dark-card-alpha-0-78, rgba(255,255,255,.78));
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  backdrop-filter:blur(18px) saturate(1.08);
  box-shadow:0 28px 80px rgba(30,42,54,.20),0 2px 10px rgba(30,42,54,.05),inset 0 1px 0 rgba(255,255,255,.72);
  animation:r183-card-in .24s cubic-bezier(.2,.78,.24,1) both;
}
.server-node-offline-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.server-node-offline-topline .eyebrow{min-width:0;color:#176fd1;font-size:10px;font-weight:850;letter-spacing:.17em;line-height:1.2}
.server-node-offline-monitor{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;white-space:nowrap;padding:7px 10px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:999px;color:var(--muted);background:var(--dark-card-alpha-0-44, rgba(255,255,255,.44));font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.server-node-offline-monitor i{position:relative;width:16px;height:7px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--amber) 20%,var(--border))}
.server-node-offline-monitor i::after{content:"";position:absolute;inset:0;width:55%;border-radius:inherit;background:var(--amber);animation:r183-monitor-slide 1.45s ease-in-out infinite}

.server-node-offline-hero{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:start}
.server-node-offline-title{min-width:0;padding-top:1px}
.server-node-offline-card h2{margin:0 0 8px;font-size:clamp(27px,3.3vw,36px);line-height:1.06;letter-spacing:-.045em}
.server-node-offline-card p{max-width:560px;margin:0;color:var(--muted);font-size:14px;line-height:1.58}
.server-node-offline-icon{
  width:64px;height:64px;display:grid;place-items:center;flex:0 0 64px;
  border:1px solid color-mix(in srgb,var(--amber) 30%,var(--border));
  border-radius:19px;
  color:#b56b00;
  background:linear-gradient(145deg,rgba(255,248,232,.92),rgba(249,239,214,.62));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 8px 22px rgba(173,108,8,.08)
}
.server-node-offline-icon svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.server-node-offline-icon .server-node-offline-break{stroke-width:2.6}

.server-node-offline-facts{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:24px}
.server-node-offline-fact{
  width:100%;min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;
  padding:15px 16px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:15px;
  background:var(--dark-card-alpha-0-58, rgba(248,250,252,.58));overflow:hidden
}
.server-node-offline-fact-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--muted);background:color-mix(in srgb,var(--surface) 72%,transparent)}
.server-node-offline-node .server-node-offline-fact-icon{color:#ae6800;background:rgba(241,172,62,.11)}
.server-node-offline-billing .server-node-offline-fact-icon{color:var(--teal);background:color-mix(in srgb,var(--teal) 10%,transparent)}
.server-node-offline-fact-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.server-node-offline-fact>div:last-child{min-width:0}
.server-node-offline-fact span{display:block;margin:0 0 5px;color:var(--muted-2);font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.server-node-offline-fact strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:17px;line-height:1.2;letter-spacing:-.018em}
.server-node-offline-billing strong{color:var(--teal)}
.server-node-offline-fact small{display:flex;align-items:flex-start;gap:5px;max-width:100%;margin-top:5px;color:var(--muted);font-size:10.5px;line-height:1.45}
.server-node-offline-fact small svg{width:13px;height:13px;flex:0 0 13px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.server-node-offline-fact small b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-weight:650}

.server-node-offline-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--border) 80%,transparent)}
.server-node-offline-footer>small{max-width:315px;color:var(--muted-2);font-size:10px;line-height:1.45;text-align:right}
.server-node-offline-since{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:10.5px;font-weight:700}
.server-node-offline-since svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.server-node-offline-since>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.server-overview-page[data-node-offline="1"] .console-power-actions{opacity:.48}
.server-overview-page[data-node-offline="1"] .console-power-actions button{cursor:not-allowed}
html[data-sidebar-state="collapsed"] .server-node-offline-overlay{left:var(--shell-sidebar-collapsed-width,78px)}

html[data-theme="dark"] .server-node-offline-overlay{background:rgba(5,9,14,.42);-webkit-backdrop-filter:blur(8px) saturate(.76);backdrop-filter:blur(8px) saturate(.76)}
html[data-theme="dark"] .server-node-offline-card{border-color:rgba(255,255,255,.11);background:var(--dark-card-alpha-0-78, rgba(15,21,30,.78));box-shadow:0 32px 90px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.06)}
html[data-theme="dark"] .server-node-offline-topline .eyebrow{color:#69a6ff}
html[data-theme="dark"] .server-node-offline-monitor{border-color:rgba(255,255,255,.10);background:var(--dark-card-alpha-0-045, rgba(255,255,255,.045))}
html[data-theme="dark"] .server-node-offline-icon{color:#f0ad46;border-color:rgba(240,173,70,.22);background:linear-gradient(145deg,rgba(240,173,70,.11),rgba(240,173,70,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
html[data-theme="dark"] .server-node-offline-fact{border-color:rgba(255,255,255,.09);background:var(--dark-card-alpha-0-035, rgba(255,255,255,.035))}
html[data-theme="dark"] .server-node-offline-fact-icon{background:var(--dark-card-alpha-0-045, rgba(255,255,255,.045))}
html[data-theme="dark"] .server-node-offline-node .server-node-offline-fact-icon{background:rgba(240,173,70,.09)}
html[data-theme="dark"] .server-node-offline-skeleton-toolbar,
html[data-theme="dark"] .server-node-offline-skeleton-console,
html[data-theme="dark"] .server-node-offline-skeleton-cards>i{border-color:rgba(255,255,255,.07);background:var(--dark-card-alpha-0-025, rgba(255,255,255,.025))}
html[data-theme="dark"] .server-node-offline-skeleton-line,
html[data-theme="dark"] .server-node-offline-skeleton-pill{background:var(--dark-card-alpha-0-06, rgba(255,255,255,.06))}
html[data-theme="dark"] .server-node-offline-skeleton-toolbar::after,
html[data-theme="dark"] .server-node-offline-skeleton-console::after,
html[data-theme="dark"] .server-node-offline-skeleton-cards>i::after{background:linear-gradient(105deg,transparent 18%,var(--dark-card-alpha-0-035, rgba(255,255,255,.035)) 44%,var(--dark-card-alpha-0-08, rgba(255,255,255,.08)) 50%,var(--dark-card-alpha-0-035, rgba(255,255,255,.035)) 56%,transparent 82%)}

@keyframes r183-skeleton-sweep{0%{transform:translateX(-125%)}58%,100%{transform:translateX(125%)}}
@keyframes r183-monitor-slide{0%,100%{transform:translateX(-12%)}50%{transform:translateX(94%)}}
@keyframes r183-outage-fade{from{opacity:0}to{opacity:1}}
@keyframes r183-card-in{from{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:1120px){
  .server-node-offline-overlay,html[data-sidebar-state="collapsed"] .server-node-offline-overlay{left:0}
}
@media(max-width:760px){
  .server-node-offline-overlay{top:60px;padding:14px}
  .server-node-offline-skeleton{inset:14px;grid-template-rows:38px minmax(180px,1fr) 100px}
  .server-node-offline-skeleton-cards{grid-template-columns:1fr 1fr}
  .server-node-offline-skeleton-cards>i:last-child{display:none}
  .server-node-offline-card{width:min(620px,100%);max-height:calc(100dvh - 88px);padding:22px 19px;border-radius:19px}
  .server-node-offline-topline{margin-bottom:16px}
  .server-node-offline-hero{grid-template-columns:54px minmax(0,1fr);gap:14px}
  .server-node-offline-icon{width:54px;height:54px;border-radius:16px}
  .server-node-offline-icon svg{width:36px;height:36px}
  .server-node-offline-card h2{font-size:27px}
  .server-node-offline-facts{grid-template-columns:1fr;margin-top:18px}
  .server-node-offline-footer{align-items:flex-start;flex-direction:column;gap:7px;margin-top:14px;padding-top:13px}
  .server-node-offline-footer>small{max-width:none;text-align:left}
}
@media(max-width:480px){
  .server-node-offline-overlay{padding:10px}
  .server-node-offline-skeleton{inset:10px;opacity:.24}
  .server-node-offline-card{padding:19px 15px;border-radius:17px}
  .server-node-offline-topline{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:14px}
  .server-node-offline-monitor{padding:6px 8px;font-size:8px}
  .server-node-offline-hero{grid-template-columns:46px minmax(0,1fr);gap:12px}
  .server-node-offline-icon{width:46px;height:46px;border-radius:14px}
  .server-node-offline-icon svg{width:31px;height:31px}
  .server-node-offline-card h2{font-size:24px}
  .server-node-offline-card p{font-size:12.5px;line-height:1.48}
  .server-node-offline-facts{gap:8px;margin-top:14px}
  .server-node-offline-fact{grid-template-columns:30px minmax(0,1fr);gap:10px;padding:12px 13px}
  .server-node-offline-fact-icon{width:30px;height:30px}
  .server-node-offline-fact strong{font-size:15px}
  .server-node-offline-footer>small{display:none}
}
@media(max-height:620px) and (min-width:761px){
  .server-node-offline-card{padding:18px 24px}
  .server-node-offline-topline{margin-bottom:12px}
  .server-node-offline-hero{grid-template-columns:50px minmax(0,1fr);gap:14px}
  .server-node-offline-icon{width:50px;height:50px;border-radius:15px}
  .server-node-offline-icon svg{width:34px;height:34px}
  .server-node-offline-card h2{font-size:27px;margin-bottom:5px}
  .server-node-offline-card p{font-size:12px;line-height:1.42}
  .server-node-offline-facts{margin-top:13px}
  .server-node-offline-fact{padding:11px 13px}
  .server-node-offline-footer{margin-top:10px;padding-top:10px}
  .server-node-offline-footer>small{display:none}
}
@media(prefers-reduced-motion:reduce){
  .server-node-offline-overlay,.server-node-offline-card{animation:none}
  .server-node-offline-monitor i::after,.server-node-offline-skeleton-toolbar::after,.server-node-offline-skeleton-console::after,.server-node-offline-skeleton-cards>i::after{animation:none}
}


/* ======= ui-r184.css ======= */
/* R184 — isolate the current outage card from legacy R181/R182 layout rules.
   Historical UI patch stylesheets remain loaded for compatibility elsewhere,
   so this file deliberately resets every card-level grid property that older
   outage revisions introduced before allowing the R183 component layout to
   take over. */

.server-node-offline-overlay .server-node-offline-card{
  display:block;
  grid-template-columns:none;
  grid-template-rows:none;
  grid-auto-columns:auto;
  grid-auto-rows:auto;
  grid-auto-flow:row;
  gap:0;
  align-items:normal;
  align-content:normal;
  justify-items:normal;
  justify-content:normal;
  place-items:normal;
  text-align:left;
  height:auto;
  min-height:0;
}

/* R181 used a more-specific `.server-node-offline-facts article` rule. Keep
   the R183 fact-card styling authoritative even while the historical patch is
   still present in the document. */
.server-node-offline-overlay .server-node-offline-facts > article.server-node-offline-fact{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:15px 16px;
  border:1px solid color-mix(in srgb,var(--border) 88%,transparent);
  border-radius:15px;
  background:var(--dark-card-alpha-0-58, rgba(248,250,252,.58));
  overflow:hidden;
  text-align:left;
}
html[data-theme="dark"] .server-node-offline-overlay .server-node-offline-facts > article.server-node-offline-fact{
  border-color:rgba(255,255,255,.09);
  background:var(--dark-card-alpha-0-035, rgba(255,255,255,.035));
}

@media(max-width:760px){
  .server-node-offline-overlay .server-node-offline-card{
    display:block;
    grid-template-columns:none;
    gap:0;
    justify-items:normal;
    text-align:left;
  }
  .server-node-offline-overlay .server-node-offline-facts > article.server-node-offline-fact{
    grid-template-columns:34px minmax(0,1fr);
  }
}
@media(max-width:480px){
  .server-node-offline-overlay .server-node-offline-facts > article.server-node-offline-fact{
    grid-template-columns:30px minmax(0,1fr);
    gap:10px;
    padding:12px 13px;
  }
}


/* ======= ui-r185.css ======= */
/* R185 — backend node state, Admin Monitor, complete admin light theme, and
   embedded outage skeleton surfaces. Loaded after all historical UI patches. */

/* --------------------------------------------------------------------------
   Server fleet: server runtime and hosting-node availability are separate.
   -------------------------------------------------------------------------- */
.server-node-availability-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:25px;
  padding:4px 9px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface-soft);
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.server-node-availability-chip .status-dot{
  width:7px;
  height:7px;
  min-width:7px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 3px color-mix(in srgb,currentColor 13%,transparent);
}
.server-node-availability-chip.is-online{
  color:#178b60;
  border-color:color-mix(in srgb,#178b60 25%,var(--border));
  background:color-mix(in srgb,#178b60 8%,var(--surface-raised));
}
.server-node-availability-chip.is-offline{
  color:#c84d5b;
  border-color:color-mix(in srgb,#c84d5b 27%,var(--border));
  background:color-mix(in srgb,#c84d5b 8%,var(--surface-raised));
}
.server-node-availability-chip.is-checking{
  color:#a96d08;
  border-color:color-mix(in srgb,#a96d08 28%,var(--border));
  background:color-mix(in srgb,#a96d08 9%,var(--surface-raised));
}
.server-node-availability-chip.is-unknown{
  color:var(--muted);
  background:var(--surface-soft);
}
html[data-theme="dark"] .server-node-availability-chip.is-online{color:#61d6a6}
html[data-theme="dark"] .server-node-availability-chip.is-offline{color:#ff7e8c}
html[data-theme="dark"] .server-node-availability-chip.is-checking{color:#f0b94e}

/* --------------------------------------------------------------------------
   Admin / Monitor. Read-only operational state comes from the backend.
   -------------------------------------------------------------------------- */
.admin-monitor185-panel{display:grid;gap:18px}
.admin-monitor185-panel[hidden]{display:none!important}
.admin-monitor185-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.admin-monitor185-stats>article{
  min-width:0;
  padding:17px 18px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--surface-raised);
  box-shadow:var(--shadow);
}
.admin-monitor185-stats span{
  display:block;
  margin-bottom:7px;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.105em;
}
.admin-monitor185-stats strong{
  display:block;
  color:var(--text);
  font-size:27px;
  line-height:1;
  letter-spacing:-.035em;
}
.admin-monitor185-stats small{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:11px;
  line-height:1.42;
}
.admin-monitor185-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
}
.admin-monitor185-card{min-width:0}
.admin-monitor185-table td{vertical-align:middle}
.admin-monitor185-table .state{white-space:nowrap}
.admin-monitor185-error{
  max-width:280px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.state.state-warn,.state.state-warning{
  color:#98610a;
  border-color:rgba(169,109,8,.28);
  background:rgba(169,109,8,.09);
}
.state.state-info{
  color:#086ccf;
  border-color:rgba(8,125,245,.27);
  background:rgba(8,125,245,.08);
}
html[data-theme="dark"] .state.state-warn,
html[data-theme="dark"] .state.state-warning{color:#f0b94e;border-color:rgba(240,185,78,.23);background:rgba(240,185,78,.08)}
html[data-theme="dark"] .state.state-info{color:#67afff;border-color:rgba(103,175,255,.23);background:rgba(103,175,255,.08)}

/* --------------------------------------------------------------------------
   Admin light mode hardening.

   Older admin revisions were dark-first and several component-specific rules
   had greater specificity than the light token reset. R185 finishes the light
   theme at the component layer so content never keeps a black panel merely
   because an old patch stylesheet is also present.
   -------------------------------------------------------------------------- */
html[data-theme="light"] body[class*="admin-v"] .page-admin{
  color-scheme:light;
  color:#202a34!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(
  .users-card,.form-card,.admin-stat-card,.admin-secondary-card,.admin-snapshot-card,
  .admin-email-compose-card,.admin-email-delivery-card,.admin-email-info-card,.admin-email-overview-v2,
  .admin-smtp-test-card,.admin-smtp-test-preview,.admin-smtp-test-form,.admin-node-policy-card,.admin-node-stock-card,.admin-node-partner-card,
  .partner-admin-card,.billing-subscriptions-card,.paypal-sync-card,.paypal-rest-card,
  .security-provider-card,.primary-lock-card,.renewal70-card,.renewal68-stats>article,.analytics-chart-card,.analytics-stat,.alt73-stat,
  .analytics-live-card,.admin-promo-hero,.admin-promo-list-card,.admin-promo-item,.admin-promo-active,
  .bypass105-overview,.bypass105-automation,.bypass105-directory,.bypass105-row,.bypass105-stats>article,
  .auto-stock74-card,.admin-server-job,.premium-plan-manager,.premium-plan-dialog-body,.premium-plan-live-preview,
  .admin-credit-editor,.email-delivery-status,.email-service-row,.admin-monitor185-stats>article
){
  color:#202a34!important;
  border-color:#d7dee5!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(24,35,45,.06)!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(
  .bulk-user-toolbar,.bulk-server-toolbar,.admin-list-range,.admin-filter-help,
  .form-submit-bar,.dialog-options,.dialog-actions,.dialog-warning,.check-row,.switch-row,
  .admin-promo-summary-strip,.admin-promo-list-meta,.admin-server-job-foot,
  .admin-server-job-stats,.admin-email-submit-row,.admin-smtp-test-note,
  .bypass105-tabs,.bypass105-bulkbar,.bypass105-list-meta,.bypass105-auto-foot,
  .resource-preview,.admin-pool-summary,.partner-resource-summary,.renewal70-help
){
  color:#34414d!important;
  border-color:#d7dee5!important;
  background:#f6f8fa!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(
  .users-card-header,.card-heading,.admin-node-policy-head,.premium-plan-manager-header,
  .admin-promo-list-head,.analytics-page-head,.admin-server-job-head
){
  color:#202a34!important;
  border-color:#d7dee5!important;
  background:transparent!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(h1,h2,h3,h4,strong,b,label){color:#202a34}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(p,small,.muted,.table-date,.block-small){color:#65717d}
html[data-theme="light"] body[class*="admin-v"] .page-admin .user-table{
  color:#27323d!important;
  background:#fff!important;
  border-color:#d7dee5!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin .user-table thead th{
  color:#56636e!important;
  border-color:#d7dee5!important;
  background:#f1f4f7!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin .user-table tbody td{
  color:#27323d!important;
  border-color:#e0e5ea!important;
  background:#fff!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin .user-table tbody tr:hover td{background:#f8fafb!important}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(.table-scroll,.admin-table-scroll,.premium-plan-list-scroll){
  border-color:#d7dee5!important;
  background:#fff!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(input,select,textarea,.input-suffix){
  color:#202a34!important;
  border-color:#cfd8e0!important;
  background:#fff!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(input,select,textarea)::placeholder{color:#909ba5!important}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(input,select,textarea):focus{
  border-color:#087df5!important;
  box-shadow:0 0 0 3px rgba(8,125,245,.12)!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin .input-suffix b{
  color:#66737e!important;
  border-color:#d7dee5!important;
  background:#eef2f5!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(.user-dialog,.premium-plan-dialog,.admin-promo-dialog,.partner-dialog,.bulk-delete-dialog)>form,
html[data-theme="light"] body[class*="admin-v"] .page-admin dialog>form{
  color:#202a34!important;
  border-color:#d3dbe3!important;
  background:#fff!important;
  box-shadow:0 28px 70px rgba(24,35,45,.22)!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(.dialog-header,.admin-promo-dialog-header){border-color:#d7dee5!important;background:#fff!important}
html[data-theme="light"] body[class*="admin-v"] .page-admin .dialog-close{color:#63707c!important;background:transparent!important}
html[data-theme="light"] body[class*="admin-v"] .page-admin .dialog-close:hover{color:#202a34!important;background:#eef2f5!important}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(code,pre,.mono-input){
  color:#334155!important;
  border-color:#d7dee5!important;
  background:#f1f4f7!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(.count-pill,.chip,.server-pool-chip){border-color:#d4dce3;background:#f2f5f7;color:#475461}
html[data-theme="light"] body[class*="admin-v"] .page-admin .notice:not(.notice-error):not(.notice-warning):not(.notice-success){border-color:#cfe1f5;background:#f3f8fe;color:#315778}
html[data-theme="light"] body[class*="admin-v"] .admin-monitor185-stats>article:nth-child(4){border-color:rgba(200,77,91,.22)!important}

/* --------------------------------------------------------------------------
   Hosting interruption: the skeleton is the solid embedded page underneath;
   only the outage curtain/card uses transparency. This removes the stacked
   "transparent placeholder under another transparent layer" appearance.
   -------------------------------------------------------------------------- */
.server-node-offline-overlay{
  background:var(--dark-card-alpha-0-43, rgba(244,247,250,.43))!important;
  -webkit-backdrop-filter:blur(6px) saturate(.86)!important;
  backdrop-filter:blur(6px) saturate(.86)!important;
}
.server-node-offline-skeleton{
  opacity:1!important;
  filter:none!important;
}
.server-node-offline-skeleton-toolbar,
.server-node-offline-skeleton-console,
.server-node-offline-skeleton-cards>i{
  border:1px solid var(--dark-border, #dce3e9)!important;
  background:var(--dark-card, #fff)!important;
  box-shadow:0 1px 2px rgba(24,35,45,.04)!important;
}
.server-node-offline-skeleton-line,
.server-node-offline-skeleton-pill{
  background:var(--dark-card, #e9eef2)!important;
}
.server-node-offline-skeleton-toolbar::after,
.server-node-offline-skeleton-console::after,
.server-node-offline-skeleton-cards>i::after{
  background:linear-gradient(105deg,transparent 18%,var(--dark-card-alpha-0-22, rgba(255,255,255,.22)) 41%,var(--dark-card-alpha-0-88, rgba(255,255,255,.88)) 50%,var(--dark-card-alpha-0-22, rgba(255,255,255,.22)) 59%,transparent 82%)!important;
}
html[data-theme="dark"] .server-node-offline-overlay{
  background:rgba(7,11,17,.48)!important;
  -webkit-backdrop-filter:blur(6px) saturate(.82)!important;
  backdrop-filter:blur(6px) saturate(.82)!important;
}
html[data-theme="dark"] .server-node-offline-skeleton-toolbar,
html[data-theme="dark"] .server-node-offline-skeleton-console,
html[data-theme="dark"] .server-node-offline-skeleton-cards>i{
  border-color:var(--dark-border, #263241)!important;
  background:var(--dark-card, #151d27)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.24)!important;
}
html[data-theme="dark"] .server-node-offline-skeleton-line,
html[data-theme="dark"] .server-node-offline-skeleton-pill{background:var(--dark-card, #222d39)!important}
html[data-theme="dark"] .server-node-offline-skeleton-toolbar::after,
html[data-theme="dark"] .server-node-offline-skeleton-console::after,
html[data-theme="dark"] .server-node-offline-skeleton-cards>i::after{
  background:linear-gradient(105deg,transparent 18%,var(--dark-card-alpha-0-018, rgba(255,255,255,.018)) 41%,var(--dark-card-alpha-0-105, rgba(255,255,255,.105)) 50%,var(--dark-card-alpha-0-018, rgba(255,255,255,.018)) 59%,transparent 82%)!important;
}

@media(max-width:1180px){
  .admin-monitor185-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .admin-monitor185-grid{grid-template-columns:1fr}
  .admin-monitor185-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .admin-monitor185-stats{grid-template-columns:1fr}
  .dashboard-server-status-row .server-node-availability-chip{max-width:100%}
}


/* ======= ui-r188.css ======= */
/* R188 — Monitor pool inventory, complete Admin light surfaces, outage-card
   refinement, strict-CSP progress controls, and soft-navigation outage cleanup. */

/* Admin Monitor: Premium / Partner inventory. */
.admin-monitor188-pools{min-width:0}
.admin-monitor188-pool-table{min-width:980px}
.admin-monitor188-pool-table .server-pool-chip{justify-content:center;min-width:72px}
.admin-monitor188-list-note{padding:11px 16px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;background:var(--surface-soft)}

/* Finish light-mode surfaces that older Admin patches still paint dark. The
   Admin sidebar intentionally remains dark; only the content workspace is
   normalized here. */
html[data-theme="light"] body[class*="admin-v"] .page-admin :is(
  .admin-list-filter-bar,.admin-list-filter-compact,.admin-pagination,
  .admin-email-user-search,.smtp-queue-summary,.partner-search-results,
  .admin-tab-group,.admin-filter-help,.admin-monitor188-list-note,
  .admin-email-rule-list span,.mail-usage-stats>div,.email-service-row,
  .partner-resource-summary span,.premium-plan-list-resources span,
  .resource-preview,.admin-node-option,.admin-node-policy-options
){
  color:#34414d!important;
  border-color:#d7dee5!important;
  background:#f6f8fa!important;
  box-shadow:none!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin .admin-list-filter-bar :is(label,span),
html[data-theme="light"] body[class*="admin-v"] .page-admin .admin-email-user-search :is(label,span){color:#56636e!important}
html[data-theme="light"] body[class*="admin-v"] .page-admin input[type="search"]{
  color:#202a34!important;
  border-color:#cbd4dc!important;
  background:#fff!important;
  -webkit-text-fill-color:#202a34!important;
}
html[data-theme="light"] body[class*="admin-v"] .page-admin input[type="search"]::-webkit-search-cancel-button{filter:none}
html[data-theme="light"] body[class*="admin-v"] .page-admin .partner-search-result{color:#27323d!important;background:transparent!important}
html[data-theme="light"] body[class*="admin-v"] .page-admin .partner-search-result:is(:hover,:focus-visible){background:#edf2f6!important}
html[data-theme="light"] body[class*="admin-v"] .page-admin .admin-tab-group .admin-tab{color:#4a5763!important;background:transparent!important}
html[data-theme="light"] body[class*="admin-v"] .page-admin .admin-tab-group .admin-tab.active{color:#1f2b35!important;border-color:#d1d9e1!important;background:#fff!important}

/* Hosting interruption: use the same graphite card family as the rest of the
   customer workspace in dark mode. The curtain stays translucent, but the card
   itself no longer looks like a separate blue-black panel. */
.server-node-offline-status-copy{margin-top:10px;color:var(--muted-2);font-size:11px;line-height:1.45}
.server-node-offline-status-copy a{color:var(--teal);font-weight:800;text-decoration:none}
.server-node-offline-status-copy a:hover{text-decoration:underline}
.server-node-offline-icon svg{width:39px;height:39px}
.server-node-offline-icon .server-node-offline-break{stroke-width:2.35}
html[data-theme="dark"] .server-node-offline-card{
  border-color:var(--border,var(--dark-border, #515c65))!important;
  background:var(--panel,var(--dark-card, #343a40))!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:0 22px 62px rgba(7,10,13,.34),var(--shadow)!important;
}
html[data-theme="dark"] .server-node-offline-overlay .server-node-offline-facts>article.server-node-offline-fact{
  border-color:var(--border,var(--dark-border, #515c65))!important;
  background:var(--panel-2,var(--dark-card, #30363c))!important;
}
html[data-theme="dark"] .server-node-offline-monitor{
  border-color:var(--border,var(--dark-border, #515c65))!important;
  background:var(--panel-2,var(--dark-card, #30363c))!important;
}
html[data-theme="dark"] .server-node-offline-icon{
  color:var(--amber,#f1b950)!important;
  border-color:color-mix(in srgb,var(--amber,#f1b950) 24%,var(--border,var(--dark-border, #515c65)))!important;
  background:var(--panel-2,var(--dark-card, #30363c))!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .server-node-offline-fact-icon{background:var(--panel-3,var(--dark-card, #2c3237))!important}

/* Strict-CSP compatible meters. Native progress values replace inline style
   widths, so normal pages can keep style-src-attr 'none'. */
.status-resource-bar{
  width:100%;
  border:0;
  appearance:none;
  -webkit-appearance:none;
}
.status-resource-bar::-webkit-progress-bar{border-radius:999px;background:color-mix(in srgb,var(--border) 70%,var(--surface-soft))}
.status-resource-bar::-webkit-progress-value{border-radius:999px;background:var(--teal);transition:width .3s ease}
.status-resource-meter[data-node-resource="disk"] .status-resource-bar::-webkit-progress-value{background:var(--amber)}
.status-resource-bar::-moz-progress-bar{border-radius:999px;background:var(--teal)}
.status-resource-meter[data-node-resource="disk"] .status-resource-bar::-moz-progress-bar{background:var(--amber)}

.account-subusers-body .account-subuser-capacity-track>progress{
  display:block;width:100%;height:100%;border:0;border-radius:inherit;appearance:none;-webkit-appearance:none;background:transparent
}
.account-subusers-body .account-subuser-capacity-track>progress::-webkit-progress-bar{border-radius:inherit;background:transparent}
.account-subusers-body .account-subuser-capacity-track>progress::-webkit-progress-value{border-radius:inherit;background:var(--teal)}
.account-subusers-body .account-subuser-capacity-track>progress::-moz-progress-bar{border-radius:inherit;background:var(--teal)}
.account-subusers-v62-body .account-subuser-capacity-track>progress::-webkit-progress-value{background:var(--sub62-blue)!important}
.account-subusers-v62-body .account-subuser-capacity-track>progress::-moz-progress-bar{background:var(--sub62-blue)!important}
.account-subusers-v78-body .account-subuser-capacity-track>progress::-webkit-progress-value{background:var(--sub78-accent)!important}
.account-subusers-v78-body .account-subuser-capacity-track>progress::-moz-progress-bar{background:var(--sub78-accent)!important}

