/* Tapromox — Proxmox-inspired console skin */
:root {
  --tap-orange: #f57c00;
  --tap-orange-bright: #ff9d2e;
  --tap-navy: #1d2733;
  --tap-navy-deep: #131a22;
  --tap-panel: #ffffff;
  --tap-muted: #6b7280;
  --tap-border: #d8dde5;
  --tap-blue: #2f79b9;
  --tap-green: #3c9b59;
  --tap-red: #cf4b4b;
  --tap-shadow: 0 1px 3px rgba(15, 23, 42, .14), 0 8px 22px rgba(15, 23, 42, .08);
}

html[data-theme="dark"] body,
body {
  background: #eef1f5 !important;
  color: #293241 !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
body::before { display: none !important; }

/* Neutralise the previous neon treatment without touching behavior. */
.nc-orb-inner { background: var(--tap-orange) !important; box-shadow: 0 4px 14px rgba(245,124,0,.3) !important; }
.nc-orb-inner i { color: #fff !important; filter: none !important; }
.nc-orb-ring, .nc-orb-ring2 { border-color: rgba(245,124,0,.45) !important; }

.sidebar {
  background: var(--tap-navy) !important;
  border-right: 1px solid #0d131a !important;
  box-shadow: 2px 0 8px rgba(15,23,42,.16) !important;
}
.sidebar-header, .sidebar-logo, .brand, .logo-container { background: var(--tap-navy-deep) !important; }
.sidebar-header { min-height: 68px !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; }
.sidebar-logo img, .brand img, .logo-container img { max-height: 42px !important; width: auto !important; object-fit: contain !important; }
.sidebar-logo-text, .brand-text, .logo-text { color: #fff !important; font-weight: 700 !important; letter-spacing: .02em !important; }
.sidebar a, .sidebar .nav-link, .sidebar .menu-item { color: #cbd5e1 !important; border-radius: 3px !important; margin: 2px 8px !important; }
.sidebar a:hover, .sidebar .nav-link:hover, .sidebar .menu-item:hover { background: #2b3948 !important; color: #fff !important; }
.sidebar a.active, .sidebar .nav-link.active, .sidebar .menu-item.active { background: var(--tap-orange) !important; color: #fff !important; box-shadow: none !important; }
.sidebar .section-title, .sidebar .nav-section-title { color: #91a2b5 !important; font-size: .69rem !important; text-transform: uppercase !important; letter-spacing: .08em !important; }

.main-content, .main, .content-wrapper { background: #eef1f5 !important; }
header, .top-header, .main-header, .header { background: #fff !important; border-bottom: 1px solid var(--tap-border) !important; box-shadow: 0 1px 4px rgba(15,23,42,.08) !important; }
.header-title, .page-title { color: #1f2937 !important; font-size: 1.12rem !important; font-weight: 600 !important; }
.breadcrumb, .breadcrumb a { color: var(--tap-muted) !important; }

.content { padding: 18px 22px !important; max-width: none !important; }
.card, .panel, .stat-card, .holo-stat, .cyber-hero, .glass-card, .table-container, .dashboard-card {
  background: var(--tap-panel) !important;
  border: 1px solid var(--tap-border) !important;
  border-radius: 4px !important;
  box-shadow: var(--tap-shadow) !important;
  color: #293241 !important;
  backdrop-filter: none !important;
}
.card-header, .panel-header, .table-header { background: #f7f8fa !important; border-bottom: 1px solid var(--tap-border) !important; color: #374151 !important; }
.card h1, .card h2, .card h3, .card h4, .panel h1, .panel h2, .panel h3, .panel h4, .hero-title { color: #202a36 !important; background: none !important; -webkit-text-fill-color: initial !important; }
.hero-sub, .text-muted, .muted, .stat-label, .hm-lbl { color: var(--tap-muted) !important; }

button, .btn, input[type="submit"], input[type="button"] { border-radius: 3px !important; box-shadow: none !important; font-weight: 600 !important; }
.btn-primary, .button-primary, .btn-success { background: var(--tap-orange) !important; border-color: #dc6c00 !important; color: #fff !important; }
.btn-primary:hover, .button-primary:hover, .btn-success:hover { background: #d86b00 !important; }
.btn-outline, .btn-secondary { background: #fff !important; border: 1px solid #b8c1cc !important; color: #465260 !important; }
.btn-danger { background: var(--tap-red) !important; border-color: #b63e3e !important; }

input, select, textarea { border: 1px solid #c8d0da !important; border-radius: 3px !important; background: #fff !important; color: #27313d !important; box-shadow: inset 0 1px 2px rgba(15,23,42,.04) !important; }
input:focus, select:focus, textarea:focus { border-color: var(--tap-orange) !important; box-shadow: 0 0 0 2px rgba(245,124,0,.16) !important; }
table { background: #fff !important; border-color: var(--tap-border) !important; }
th { background: #f2f4f7 !important; color: #4b5563 !important; font-size: .76rem !important; text-transform: uppercase !important; letter-spacing: .04em !important; }
td { border-color: #e2e6eb !important; color: #374151 !important; }
.status-online, .status-active, .text-success { color: var(--tap-green) !important; }
.status-offline, .status-error, .text-danger { color: var(--tap-red) !important; }

/* Make existing dashboard accents orange/blue rather than neon. */
.cyber-hero::before, .holo-stat::after, .hero-laser, .db-grid-bg, .db-orb, .db-scanlines { display: none !important; }
.quick-nav-strip { gap: 6px !important; }
.qn-btn { border-radius: 3px !important; padding: .55rem .85rem !important; background: #fff !important; color: #3f4a57 !important; border: 1px solid #c9d1da !important; box-shadow: none !important; }
.qn-btn:hover { transform: translateY(-1px) !important; border-color: var(--tap-orange) !important; color: #a84d00 !important; }
.qn-cyan, .qn-purple, .qn-green, .qn-orange { color: #3f4a57 !important; }

.footer { background: #e2e7ed !important; color: #657181 !important; border-top: 1px solid #cbd3dc !important; font-size: .75rem !important; }
.alert { border-radius: 3px !important; box-shadow: none !important; }
.dropdown, .user-dropdown, .modal-content, .nc-panel { border-radius: 4px !important; border: 1px solid var(--tap-border) !important; box-shadow: var(--tap-shadow) !important; }

@media (max-width: 900px) {
  .content { padding: 14px !important; }
  .sidebar { width: 230px !important; }
}
@media (max-width: 640px) {
  .content { padding: 10px !important; }
  .sidebar { width: 220px !important; }
}

/* Structural Proxmox-style workspace */
.app-wrapper { display: flex !important; min-height: 100vh !important; background: #eef1f5 !important; }
.sidebar { width: 260px !important; flex: 0 0 260px !important; background: #f6f7f9 !important; color: #364152 !important; border-right: 1px solid #c7cdd5 !important; box-shadow: none !important; overflow-y: auto !important; }
.sidebar-header { height: 58px !important; min-height: 58px !important; padding: 0 14px !important; background: #273442 !important; border-bottom: 1px solid #16202a !important; }
.sidebar .logo { gap: 9px !important; font-size: .98rem !important; color: #fff !important; }
.sidebar .logo img { width: 34px !important; height: 34px !important; border-radius: 2px !important; }
.sidebar .logo svg { display: none !important; }
.sidebar .logo span { color: #fff !important; background: none !important; -webkit-text-fill-color: #fff !important; }
.pve-tree-head, .pve-tree-node { display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 6px 13px; border-bottom: 1px solid #d9dee5; color: #46515e; font-size: .82rem; }
.pve-tree-head { background: #e7ebf0; font-weight: 600; }
.pve-tree-node { padding-left: 27px; background: #f8f9fb; border-bottom: 1px solid #e1e5ea; }
.pve-tree-node.is-selected { background: #dcebf8; color: #155a8e; }
.pve-tree-toggle { width: 12px; color: #788493; font-size: .67rem; }
.pve-tree-head > i, .pve-tree-node > i { width: 16px; color: #5d7893; }
.pve-tree-state { margin-left: auto; font-size: .45rem; color: #4b9e5e; }
.sidebar-nav { padding: 7px 0 18px !important; }
.sidebar .nav-section { margin: 0 !important; }
.sidebar .nav-section-title { padding: 9px 15px 5px !important; color: #7b8794 !important; font-size: .65rem !important; font-weight: 700 !important; }
.sidebar .nav-item { display: flex !important; align-items: center !important; gap: 10px !important; min-height: 30px !important; margin: 1px 7px !important; padding: 6px 10px !important; border: 1px solid transparent !important; border-radius: 3px !important; color: #4b5663 !important; font-size: .78rem !important; }
.sidebar .nav-item i { width: 16px !important; color: #768493 !important; font-size: .77rem !important; }
.sidebar .nav-item:hover { background: #e8eef4 !important; color: #1b5f8c !important; }
.sidebar .nav-item.active { background: #d5e8f7 !important; border-color: #a9cce8 !important; color: #155a8e !important; box-shadow: inset 3px 0 0 #2f79b9 !important; }
.sidebar .nav-item.active i { color: #2f79b9 !important; }
.main-content { min-width: 0 !important; background: #eef1f5 !important; }
.pve-toolbar { height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; background: #f8f9fa; border-bottom: 1px solid #c7cdd5; color: #596675; font-size: .75rem; }
.pve-toolbar-left, .pve-toolbar-right { display: flex; align-items: center; gap: 6px; }
.pve-tool-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 25px; padding: 3px 9px; background: #fff; border: 1px solid #c5ccd5; border-radius: 3px; color: #4a5663; font-size: .73rem; text-decoration: none; cursor: pointer; }
.pve-tool-btn:hover { background: #eaf3fb; border-color: #86b6d9; color: #155a8e; }
.pve-tool-primary { background: #e7f1fa; border-color: #9fc7e4; color: #155a8e; }
.pve-tool-btn i { color: #6d8295; }
.pve-cluster-state { color: #4b7f54; font-size: .72rem; }
.pve-cluster-state i { font-size: .46rem; margin-right: 4px; }
.pve-toolbar-separator { height: 17px; width: 1px; background: #cbd1d8; }
.pve-version { color: #7b8794; font-size: .7rem; }
.header { height: 52px !important; min-height: 52px !important; padding: 0 16px !important; background: #fff !important; border-bottom: 1px solid #c7cdd5 !important; box-shadow: 0 1px 2px rgba(24,39,55,.06) !important; }
.header-title { font-size: 1rem !important; font-weight: 600 !important; color: #374151 !important; }
.content { padding: 14px 16px !important; }
.breadcrumb { margin-bottom: 10px !important; font-size: .73rem !important; }
.cyber-hero { border-radius: 3px !important; padding: 16px 18px !important; margin-bottom: 12px !important; }
.hero-title { font-size: 1.25rem !important; margin-bottom: 3px !important; }
.hero-status-badge { margin-bottom: 7px !important; padding: 3px 8px !important; border-radius: 3px !important; font-size: .62rem !important; }
.stats-grid { gap: 9px !important; margin-bottom: 12px !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important; }
.holo-stat { border-radius: 3px !important; padding: 12px 13px !important; }
.hs-icon { width: 28px !important; height: 28px !important; border-radius: 3px !important; }
.hm-val, .hs-value { font-size: 1.25rem !important; }
.cc-card, .content-card, .dashboard-card { border-radius: 3px !important; }
.cyber-table { border-collapse: collapse !important; }
.cyber-table th { padding: 7px 9px !important; }
.cyber-table td { padding: 8px 9px !important; }
.footer { padding: 8px 15px !important; }
@media (max-width: 760px) { .sidebar { width: 228px !important; flex-basis: 228px !important; } .pve-toolbar-right { display: none; } .pve-tool-btn span { display: none; } .pve-tool-btn { padding: 5px 8px; } }

/* Public and authentication screens: same operational console language */
body:has(.auth-scene), body:has(.legacy-scene) { background: #eef1f5 !important; color: #293241 !important; overflow-x: hidden !important; }
body:has(.auth-scene)::before, body:has(.legacy-scene)::before { display: none !important; }
body:has(.auth-scene) .theme-bg-overlay, body:has(.legacy-scene) .theme-bg-overlay { display: none !important; }
body:has(.auth-scene) .auth-scene { min-height: 100vh !important; background: #eef1f5 !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 36px 18px !important; }
body:has(.auth-scene) .aurora-band, body:has(.auth-scene) .orb { display: none !important; }
body:has(.auth-scene) .auth-card { width: min(430px, 100%) !important; background: #fff !important; border: 1px solid #c7cdd5 !important; border-radius: 4px !important; box-shadow: 0 8px 24px rgba(22,36,52,.14) !important; padding: 30px !important; color: #293241 !important; }
body:has(.auth-scene) .card-scanline, body:has(.auth-scene) .corner-badge { display: none !important; }
body:has(.auth-scene) .status-pill { background: #eaf5ed !important; border: 1px solid #b8d9c0 !important; color: #3b7b48 !important; border-radius: 3px !important; }
body:has(.auth-scene) .status-dot-anim { background: #45a458 !important; box-shadow: none !important; }
body:has(.auth-scene) .logo-ring-container { width: 58px !important; height: 58px !important; }
body:has(.auth-scene) .logo-ring, body:has(.auth-scene) .logo-ring-2 { display: none !important; }
body:has(.auth-scene) .logo-icon-bg { background: #e7f1fa !important; border: 1px solid #a9cce8 !important; border-radius: 3px !important; box-shadow: none !important; }
body:has(.auth-scene) .logo-icon-bg i { color: #2f79b9 !important; filter: none !important; }
body:has(.auth-scene) .auth-title { color: #273442 !important; font-size: 1.45rem !important; background: none !important; -webkit-text-fill-color: #273442 !important; }
body:has(.auth-scene) .auth-sub, body:has(.auth-scene) .brand-tag { color: #718092 !important; }
body:has(.auth-scene) .f-label { color: #647181 !important; letter-spacing: .06em !important; }
body:has(.auth-scene) .f-input { background: #fff !important; color: #273442 !important; border: 1px solid #bdc7d2 !important; border-radius: 3px !important; box-shadow: inset 0 1px 2px rgba(22,36,52,.04) !important; }
body:has(.auth-scene) .f-input:focus { border-color: #2f79b9 !important; box-shadow: 0 0 0 2px rgba(47,121,185,.14) !important; }
body:has(.auth-scene) .f-input-wrap i { color: #7f8b99 !important; }
body:has(.auth-scene) .btn-auth { background: #f57c00 !important; border: 1px solid #d86c00 !important; border-radius: 3px !important; box-shadow: none !important; }
body:has(.auth-scene) .btn-auth .btn-inner { background: transparent !important; }
body:has(.auth-scene) .btn-discord { background: #fff !important; color: #4a5663 !important; border: 1px solid #c5ccd5 !important; border-radius: 3px !important; }
body:has(.auth-scene) .auth-divider { color: #8a95a1 !important; }
body:has(.auth-scene) .auth-divider::before, body:has(.auth-scene) .auth-divider::after { background: #d9dee5 !important; }
body:has(.auth-scene) .f-link, body:has(.auth-scene) .auth-footer a { color: #2f79b9 !important; }
body:has(.auth-scene) .auth-footer { border-top-color: #d9dee5 !important; }
body:has(.legacy-scene) .legacy-scene { background: #eef1f5 !important; color: #293241 !important; min-height: 100vh !important; }
body:has(.legacy-scene) .legacy-scene::before, body:has(.legacy-scene) .legacy-scene::after, body:has(.legacy-scene) .legacy-orb { display: none !important; }
body:has(.legacy-scene) .legacy-nav { background: #273442 !important; border-bottom: 1px solid #16202a !important; box-shadow: 0 1px 2px rgba(22,36,52,.2) !important; }
body:has(.legacy-scene) .legacy-nav a, body:has(.legacy-scene) .nav-logo-text { color: #fff !important; }
body:has(.legacy-scene) .legacy-hero { background: #fff !important; border: 1px solid #c7cdd5 !important; border-radius: 4px !important; box-shadow: 0 8px 24px rgba(22,36,52,.1) !important; }
body:has(.legacy-scene) .legacy-hero h1, body:has(.legacy-scene) .legacy-hero h2, body:has(.legacy-scene) .legacy-hero p { color: #293241 !important; text-shadow: none !important; }
body:has(.legacy-scene) .legacy-hero .btn, body:has(.legacy-scene) .legacy-hero a { border-radius: 3px !important; box-shadow: none !important; }
body:has(.legacy-scene) .legacy-footer { background: #e2e7ed !important; color: #657181 !important; }

/* Welcome console */
.pve-welcome { max-width: 1280px; margin: 0 auto; color: #293241; }
.pve-welcome-topbar { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding:18px 20px; margin-bottom:14px; background:#fff; border:1px solid #c7cdd5; border-radius:3px; box-shadow:0 1px 3px rgba(22,36,52,.08); }
.pve-eyebrow { color:#6d7a88; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:6px; }
.pve-eyebrow i { color:#2f79b9; margin-right:6px; }
.pve-welcome h1 { margin:0 0 6px; color:#263442; font-size:1.45rem; font-weight:600; }
.pve-welcome-topbar p { margin:0; max-width:650px; color:#6b7785; font-size:.82rem; line-height:1.55; }
.pve-welcome-actions { display:flex; gap:7px; flex-wrap:wrap; }
.pve-action { display:inline-flex; align-items:center; gap:7px; padding:7px 11px; background:#fff; border:1px solid #c5ccd5; border-radius:3px; color:#4a5663; font-size:.76rem; font-weight:600; text-decoration:none; white-space:nowrap; }
.pve-action:hover { background:#eaf3fb; border-color:#86b6d9; color:#155a8e; }
.pve-action-primary { background:#f57c00; border-color:#d86c00; color:#fff; }
.pve-action-primary:hover { background:#d86c00; color:#fff; }
.pve-summary-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-bottom:12px; }
.pve-panel { background:#fff; border:1px solid #c7cdd5; border-radius:3px; box-shadow:0 1px 3px rgba(22,36,52,.08); overflow:hidden; }
.pve-panel-title { display:flex; align-items:center; gap:8px; min-height:34px; padding:0 12px; background:#f1f3f6; border-bottom:1px solid #d5dbe2; color:#43505d; font-size:.77rem; font-weight:700; }
.pve-panel-title i { color:#5e7890; }
.pve-panel-body { padding:11px 12px; }
.pve-metric-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid #edf0f3; font-size:.75rem; color:#6d7885; }
.pve-metric-row:last-child { border-bottom:0; }
.pve-metric-row strong { color:#374553; font-weight:600; text-align:right; }
.pve-ok { color:#438551 !important; }
.pve-ok i { font-size:.48rem; vertical-align:middle; }
.pve-tree-preview { font-size:.77rem; color:#4c5967; line-height:1.8; }
.pve-tree-preview i { width:17px; color:#68829a; }
.pve-indent { padding-left:18px; }
.pve-indent-2 { padding-left:38px; color:#6d7885; }
.pve-quick-list { padding:3px 0; }
.pve-quick-list a { display:flex; align-items:center; gap:9px; padding:8px 12px; border-bottom:1px solid #edf0f3; color:#4c5967; font-size:.75rem; text-decoration:none; }
.pve-quick-list a:last-child { border-bottom:0; }
.pve-quick-list a:hover { background:#eef5fb; color:#155a8e; }
.pve-quick-list a > i:first-child { width:16px; color:#5e7890; }
.pve-quick-list a > i:last-child { margin-left:auto; color:#9ba6b1; font-size:.65rem; }
.pve-feature-panel { margin-bottom:12px; }
.pve-capability-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); }
.pve-capability-grid > div { padding:15px 14px; border-right:1px solid #e3e7eb; }
.pve-capability-grid > div:last-child { border-right:0; }
.pve-capability-grid i { color:#2f79b9; font-size:1rem; }
.pve-capability-grid h3 { margin:8px 0 4px; color:#364453; font-size:.82rem; font-weight:700; }
.pve-capability-grid p { margin:0; color:#77828e; font-size:.72rem; line-height:1.5; }
.pve-welcome-footer { padding:9px 2px 4px; color:#89939e; font-size:.7rem; }
@media (max-width: 900px) { .pve-summary-grid { grid-template-columns:1fr; } .pve-capability-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } .pve-capability-grid > div:nth-child(2) { border-right:0; } .pve-capability-grid > div:nth-child(-n+2) { border-bottom:1px solid #e3e7eb; } }
@media (max-width: 620px) { .pve-welcome-topbar { flex-direction:column; } .pve-capability-grid { grid-template-columns:1fr; } .pve-capability-grid > div { border-right:0; border-bottom:1px solid #e3e7eb; } .pve-capability-grid > div:last-child { border-bottom:0; } }
body:has(.auth-scene) #starfield { display:none !important; }
body:has(.auth-scene) .auth-card::before, body:has(.auth-scene) .auth-card::after { display:none !important; }
body:has(.auth-scene) .logo-icon-bg { background:#fff url('/static/img/tapromox-mark.png') center/cover no-repeat !important; border-color:#b9c8d7 !important; }
body:has(.auth-scene) .logo-icon-bg i { display:none !important; }

/* Datacenter summary dashboard */
.pve-dashboard { max-width: 1440px; margin: 0 auto; }
.pve-dashboard-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:15px 17px; margin-bottom:12px; background:#fff; border:1px solid #c7cdd5; border-radius:3px; box-shadow:0 1px 3px rgba(22,36,52,.08); }
.pve-dashboard-head h1 { margin:2px 0 4px; color:#273442; font-size:1.22rem; font-weight:600; }
.pve-dashboard-head p { margin:0; color:#74808c; font-size:.76rem; }
.pve-dashboard-actions { display:flex; gap:7px; flex-wrap:wrap; }
.pve-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.pve-stat-card { display:flex; align-items:center; gap:11px; min-height:78px; padding:11px 12px; background:#fff; border:1px solid #c7cdd5; border-radius:3px; box-shadow:0 1px 3px rgba(22,36,52,.07); }
.pve-stat-icon { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:3px; font-size:.9rem; }
.pve-stat-icon.blue { background:#e3f0fa; color:#2f79b9; } .pve-stat-icon.green { background:#e5f4e8; color:#469457; } .pve-stat-icon.violet { background:#eee9fa; color:#7b5bb8; } .pve-stat-icon.orange { background:#fff0df; color:#dc7814; }
.pve-stat-card span { display:block; color:#78838e; font-size:.68rem; } .pve-stat-card strong { display:block; margin-top:2px; color:#33404d; font-size:1.12rem; font-weight:600; } .pve-stat-card small { display:block; color:#9aa3ac; font-size:.63rem; margin-top:2px; }
.pve-dashboard-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(240px,1fr); gap:12px; margin-bottom:12px; }
.pve-wide { min-width:0; }
.pve-panel-title a { margin-left:auto; color:#2f79b9; font-size:.68rem; text-decoration:none; font-weight:600; } .pve-panel-title a i { color:inherit; }
.pve-table-wrap { overflow-x:auto; } .pve-table { width:100%; border-collapse:collapse; background:#fff; } .pve-table th { padding:7px 9px; background:#eef1f4; color:#687582; border-bottom:1px solid #d8dee5; font-size:.64rem; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; } .pve-table td { padding:8px 9px; color:#53606c; border-bottom:1px solid #edf0f3; font-size:.7rem; white-space:nowrap; } .pve-table tr:last-child td { border-bottom:0; } .pve-table tr:hover td { background:#f6f9fc; }
.pve-resource { display:flex; align-items:center; gap:8px; } .pve-resource > i { color:#5b7891; } .pve-resource strong, .pve-node-row strong { display:block; color:#3b4855; font-weight:600; } .pve-resource small, .pve-node-row small { display:block; color:#929ca6; font-size:.61rem; margin-top:2px; }
.pve-status { display:inline-flex; align-items:center; gap:4px; padding:3px 6px; border-radius:3px; font-size:.61rem; font-weight:600; } .pve-status.running { color:#3d8650; background:#e5f4e8; } .pve-status.stopped { color:#737f89; background:#edf0f2; } .pve-status.suspended { color:#a36a0e; background:#fff2dd; } .pve-status i { font-size:.42rem; }
.pve-row-actions { text-align:right; } .pve-row-actions a { display:inline-flex; align-items:center; justify-content:center; width:23px; height:23px; margin-left:3px; border:1px solid #cbd3db; border-radius:3px; color:#668096; text-decoration:none; } .pve-row-actions a:hover { color:#155a8e; background:#eaf3fb; }
.pve-node-list { padding:3px 0; } .pve-node-row { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 12px; border-bottom:1px solid #edf0f3; } .pve-node-row:last-child { border-bottom:0; } .pve-node-row > div { display:flex; align-items:center; gap:8px; } .pve-node-row > div > i { color:#668096; }
.pve-quick-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); } .pve-quick-grid a { display:flex; align-items:center; gap:8px; padding:11px 13px; border-right:1px solid #e5e9ed; color:#4c5967; font-size:.72rem; text-decoration:none; } .pve-quick-grid a:last-child { border-right:0; } .pve-quick-grid a:hover { background:#eef5fb; color:#155a8e; } .pve-quick-grid a i { color:#638097; }
.pve-alert { display:flex; align-items:center; gap:8px; margin-bottom:10px; padding:9px 11px; border:1px solid #b8d9c0; border-radius:3px; background:#eaf5ed; color:#3b7b48; font-size:.73rem; } .pve-alert button { margin-left:auto; border:0; background:transparent; color:inherit; cursor:pointer; }
.pve-empty { display:flex; flex-direction:column; align-items:center; gap:6px; padding:28px 14px; color:#7d8994; font-size:.72rem; text-align:center; } .pve-empty > i { color:#7890a4; font-size:1.35rem; margin-bottom:3px; } .pve-empty strong { color:#52606d; font-size:.8rem; } .pve-empty .pve-action { margin-top:5px; } .pve-empty.compact { padding:24px 12px; }
@media (max-width: 1050px) { .pve-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .pve-quick-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .pve-quick-grid a:nth-child(3) { border-right:0; } }
@media (max-width: 760px) { .pve-dashboard-head { flex-direction:column; } .pve-dashboard-grid { grid-template-columns:1fr; } .pve-stat-grid { gap:7px; } .pve-stat-card { min-height:70px; padding:9px; } .pve-table th:nth-child(n+4), .pve-table td:nth-child(n+4) { display:none; } .pve-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .pve-quick-grid a:nth-child(2n) { border-right:0; } }

/* Final dark Proxmox console mode */
body:has(.pve-toolbar) { background:#1f2023 !important; color:#d8dce2 !important; }
body:has(.pve-toolbar)::before, body:has(.pve-toolbar)::after { display:none !important; }
body:has(.pve-toolbar) .theme-bg-overlay { display:none !important; }
body:has(.pve-toolbar) .sidebar { background:#242629 !important; border-right:1px solid #111214 !important; box-shadow:none !important; }
body:has(.pve-toolbar) .sidebar-header { height:42px !important; padding:5px 8px !important; background:#1d1e20 !important; border-bottom:1px solid #111214 !important; }
body:has(.pve-toolbar) .sidebar-header .logo img { width:26px !important; height:26px !important; border-radius:2px !important; filter:none !important; }
body:has(.pve-toolbar) .sidebar-header .logo span, body:has(.pve-toolbar) .sidebar-header .logo-text { color:#e7eaee !important; font-size:.76rem !important; font-weight:600 !important; }
body:has(.pve-toolbar) .sidebar-nav { padding:2px 0 10px !important; }
body:has(.pve-toolbar) .nav-section { margin:0 !important; }
body:has(.pve-toolbar) .nav-section-title { padding:9px 10px 4px !important; color:#77808a !important; font-size:.59rem !important; text-transform:uppercase !important; letter-spacing:.06em !important; }
body:has(.pve-toolbar) .nav-item { min-height:27px !important; padding:5px 10px !important; border-left:3px solid transparent !important; border-radius:0 !important; color:#c4c9cf !important; font-size:.69rem !important; }
body:has(.pve-toolbar) .nav-item:hover { background:#303338 !important; color:#fff !important; }
body:has(.pve-toolbar) .nav-item.active { background:#385c7a !important; border-left-color:#f39822 !important; color:#fff !important; box-shadow:none !important; }
body:has(.pve-toolbar) .nav-item i { width:17px !important; color:#96a0aa !important; font-size:.7rem !important; }
body:has(.pve-toolbar) .nav-item.active i { color:#fff !important; }
body:has(.pve-toolbar) .datacenter-tree { margin:0 !important; padding:5px 0 6px !important; border-bottom:1px solid #151619 !important; background:#292b2e !important; }
body:has(.pve-toolbar) .tree-root, body:has(.pve-toolbar) .tree-node { color:#d5d9de !important; font-size:.68rem !important; }
body:has(.pve-toolbar) .tree-node.active { background:#385c7a !important; color:#fff !important; }
body:has(.pve-toolbar) .main-content { margin-left:260px !important; padding:0 !important; background:#1f2023 !important; }
body:has(.pve-toolbar) .pve-toolbar { height:31px !important; min-height:31px !important; padding:0 8px !important; background:#282a2d !important; border-bottom:1px solid #111214 !important; color:#cfd4da !important; }
body:has(.pve-toolbar) .pve-tool-btn { height:25px !important; padding:0 8px !important; border:0 !important; border-right:1px solid #3a3d41 !important; border-radius:0 !important; background:transparent !important; color:#c4c9cf !important; font-size:.66rem !important; }
body:has(.pve-toolbar) .pve-tool-btn:hover, body:has(.pve-toolbar) .pve-tool-primary { background:#3b5d79 !important; color:#fff !important; }
body:has(.pve-toolbar) .pve-cluster-state { color:#71b27b !important; font-size:.63rem !important; }
body:has(.pve-toolbar) .pve-version { color:#8b939c !important; font-size:.61rem !important; }
body:has(.pve-toolbar) .header { height:39px !important; min-height:39px !important; padding:0 10px !important; background:#292b2e !important; border-bottom:1px solid #111214 !important; color:#dfe3e8 !important; }
body:has(.pve-toolbar) .header-title { color:#e5e8ec !important; font-size:.88rem !important; font-weight:500 !important; }
body:has(.pve-toolbar) .header-left .menu-toggle { color:#bac1c8 !important; }
body:has(.pve-toolbar) .header-right button, body:has(.pve-toolbar) .header-right a { color:#c2c8cf !important; }
body:has(.pve-toolbar) .content { padding:10px !important; background:#1f2023 !important; }
body:has(.pve-toolbar) .footer { display:none !important; }
body:has(.pve-toolbar) .pve-dashboard, body:has(.pve-toolbar) .pve-welcome { max-width:none !important; }
body:has(.pve-toolbar) .pve-dashboard-head, body:has(.pve-toolbar) .pve-welcome-topbar, body:has(.pve-toolbar) .pve-panel, body:has(.pve-toolbar) .pve-stat-card { background:#292b2e !important; border-color:#42464b !important; box-shadow:none !important; color:#d7dbe0 !important; }
body:has(.pve-toolbar) .pve-dashboard-head h1, body:has(.pve-toolbar) .pve-welcome h1, body:has(.pve-toolbar) .pve-stat-card strong, body:has(.pve-toolbar) .pve-panel-title, body:has(.pve-toolbar) .pve-welcome h3 { color:#e2e6ea !important; }
body:has(.pve-toolbar) .pve-dashboard-head p, body:has(.pve-toolbar) .pve-welcome-topbar p, body:has(.pve-toolbar) .pve-stat-card span, body:has(.pve-toolbar) .pve-stat-card small, body:has(.pve-toolbar) .pve-metric-row, body:has(.pve-toolbar) .pve-capability-grid p { color:#9ca4ad !important; }
body:has(.pve-toolbar) .pve-panel-title { background:#32353a !important; border-color:#44484d !important; }
body:has(.pve-toolbar) .pve-table th { background:#34373b !important; color:#afb7bf !important; border-color:#454a50 !important; }
body:has(.pve-toolbar) .pve-table td, body:has(.pve-toolbar) .pve-metric-row, body:has(.pve-toolbar) .pve-node-row { color:#b9c0c7 !important; border-color:#3b3f44 !important; }
body:has(.pve-toolbar) .pve-table tr:hover td { background:#33373c !important; }
body:has(.pve-toolbar) .pve-resource strong, body:has(.pve-toolbar) .pve-node-row strong { color:#e0e4e8 !important; }
body:has(.pve-toolbar) .pve-resource small, body:has(.pve-toolbar) .pve-node-row small { color:#89929c !important; }
body:has(.pve-toolbar) .pve-quick-grid a, body:has(.pve-toolbar) .pve-quick-list a { color:#c6ccd2 !important; border-color:#41464b !important; }
body:has(.pve-toolbar) .pve-quick-grid a:hover, body:has(.pve-toolbar) .pve-quick-list a:hover { background:#39434d !important; color:#fff !important; }
body:has(.pve-toolbar) .pve-action { background:#34373b !important; border-color:#555a60 !important; color:#d3d8dd !important; }
body:has(.pve-toolbar) .pve-action-primary { background:#e67e16 !important; border-color:#f39a38 !important; color:#fff !important; }
body:has(.pve-toolbar) .pve-stat-icon.blue { background:#244765 !important; color:#78b8ed !important; } body:has(.pve-toolbar) .pve-stat-icon.green { background:#244b31 !important; color:#83c68f !important; } body:has(.pve-toolbar) .pve-stat-icon.violet { background:#433466 !important; color:#b89be8 !important; } body:has(.pve-toolbar) .pve-stat-icon.orange { background:#5a3a22 !important; color:#f0a04d !important; }
body:has(.pve-toolbar) .pve-empty { color:#9aa3ac !important; }
body:has(.pve-toolbar) .pve-welcome-footer { color:#7f8993 !important; }
body:has(.auth-scene) .logo-icon-bg svg { display:none !important; }
body:has(.auth-scene) .logo-icon-bg { background:#fff url('/static/img/tapromox-mark.png') center/cover no-repeat !important; }
@media (max-width:760px) { body:has(.pve-toolbar) .main-content { margin-left:0 !important; } body:has(.pve-toolbar) .sidebar { transform:translateX(-100%) !important; } body:has(.pve-toolbar) .sidebar.mobile-open { transform:translateX(0) !important; } body:has(.pve-toolbar) .content { padding:7px !important; } body:has(.pve-toolbar) .pve-toolbar { overflow-x:auto !important; } body:has(.pve-toolbar) .pve-tool-btn { flex:0 0 auto !important; } }

.public-health-page { min-height:calc(100vh - 50px); display:flex; align-items:flex-start; justify-content:center; padding:38px 18px; background:#1f2023; }
.public-health-card { width:min(760px,100%); background:#292b2e; border:1px solid #42464b; border-radius:3px; box-shadow:0 10px 30px rgba(0,0,0,.28); color:#d9dde2; overflow:hidden; }
.public-health-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding:18px 20px; background:#32353a; border-bottom:1px solid #464b51; }
.public-health-head h1 { margin:3px 0 5px; font-size:1.32rem; font-weight:600; color:#edf0f2; } .public-health-head p { margin:0; color:#9ca4ad; font-size:.76rem; }
.health-status-banner { display:flex; align-items:center; gap:9px; margin:16px 18px 10px; padding:11px 12px; border:1px solid #3f7550; border-radius:3px; background:#23382a; color:#a5d7ae; font-size:.75rem; } .health-status-banner span:last-child { margin-left:auto; color:#7f9c85; font-size:.66rem; }
.health-pulse { width:8px; height:8px; border-radius:50%; background:#70c17d; box-shadow:0 0 0 3px rgba(112,193,125,.14); }
.health-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0 18px 14px; background:#44494e; border:1px solid #44494e; }
.health-item { display:flex; justify-content:space-between; gap:10px; padding:13px 12px; background:#292b2e; color:#9ca4ad; font-size:.72rem; } .health-item strong { color:#e1e5e8; font-weight:600; text-align:right; } .health-good { color:#82c68f !important; } .health-muted { color:#d7a45f !important; }
.health-note { display:flex; gap:8px; margin:0 18px 16px; padding:10px 12px; background:#31353a; border:1px solid #454a50; color:#aab2ba; font-size:.7rem; line-height:1.5; } .health-note i { color:#8ab9dd; }
.health-footer { display:flex; justify-content:space-between; gap:12px; padding:11px 18px; background:#232528; color:#818a93; font-size:.67rem; } .health-footer a { color:#8bbbe0; text-decoration:none; }
body:has(.pve-toolbar) .pve-tree-node { display:flex !important; align-items:center !important; gap:6px !important; min-height:25px !important; padding:4px 9px !important; color:#c7ccd1 !important; text-decoration:none !important; font-size:.68rem !important; }
body:has(.pve-toolbar) .pve-tree-node:hover { background:#33383e !important; } body:has(.pve-toolbar) .pve-tree-node.is-selected { background:#385c7a !important; color:#fff !important; } body:has(.pve-toolbar) .pve-tree-state { margin-left:auto !important; color:#6b747c !important; font-size:.48rem !important; } body:has(.pve-toolbar) .pve-tree-state.online { color:#71b27b !important; }
@media (max-width:620px) { .public-health-page { padding:18px 10px; } .public-health-head { flex-direction:column; } .health-grid { grid-template-columns:1fr; } .health-footer { flex-direction:column; } }
body:has(.pve-toolbar) .pve-tree-children { padding:1px 0 3px 18px !important; background:#222426 !important; }
body:has(.pve-toolbar) .pve-tree-child { display:flex !important; align-items:center !important; gap:6px !important; min-height:22px !important; padding:3px 8px !important; color:#aeb6be !important; font-size:.64rem !important; text-decoration:none !important; }
body:has(.pve-toolbar) .pve-tree-child:hover { background:#30353a !important; color:#fff !important; } body:has(.pve-toolbar) .pve-tree-child > i { color:#8899a8 !important; font-size:.61rem !important; } body:has(.pve-toolbar) .pve-tree-child-state { margin-left:auto !important; color:#68727b !important; font-size:.44rem !important; } body:has(.pve-toolbar) .pve-tree-child-state.online { color:#71b27b !important; }
.pve-secondary-grid { margin-top:12px; margin-bottom:0; }
.pve-task-list { padding:3px 0; }
.pve-task-list > div { display:flex; align-items:center; gap:9px; padding:9px 12px; border-bottom:1px solid #3b3f44; }
.pve-task-list > div:last-child { border-bottom:0; }
.pve-task-state { display:flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:3px; font-size:.58rem; }
.pve-task-state.success { background:#23452c; color:#84c88f; } .pve-task-state.info { background:#243d54; color:#8fc0e4; }
.pve-task-list span:nth-child(2) { flex:1; } .pve-task-list strong { display:block; color:#d9dee2; font-size:.7rem; font-weight:600; } .pve-task-list small { display:block; margin-top:2px; color:#89929c; font-size:.62rem; } .pve-task-list em { color:#86bf8e; font-size:.61rem; font-style:normal; }
.pve-resource-bars { padding:11px 13px; } .pve-resource-bars > div { margin-bottom:12px; } .pve-resource-bars > div:last-child { margin-bottom:0; } .pve-resource-bars span { display:flex; justify-content:space-between; gap:8px; margin-bottom:5px; color:#aeb6be; font-size:.68rem; } .pve-resource-bars b { color:#e0e4e8; font-weight:600; } .pve-resource-bars em { color:#89929c; font-style:normal; font-size:.63rem; }
.pve-resource-bars i { display:block; height:6px; overflow:hidden; border-radius:2px; background:#1f2124; border:1px solid #454a50; } .pve-resource-bars i strong { display:block; height:100%; background:#3b82b5; border-radius:2px; } .pve-resource-bars > div:nth-child(2) i strong { background:#5f9e68; } .pve-resource-bars > div:nth-child(3) i strong { background:#b47733; }

/* Classic Proxmox console skin: intentionally dense, dark, flat, and operational. */
body:has(.classic-pve) { background:#1e1f21 !important; color:#d1d5d9 !important; }
body:has(.classic-pve)::before, body:has(.classic-pve)::after { display:none !important; }
body:has(.classic-pve) .content { padding:0 !important; background:#1e1f21 !important; }
.classic-pve { min-width:0; color:#cfd3d7; font-family:Arial,Helvetica,sans-serif; font-size:12px; }
.classic-nodebar { display:flex; align-items:center; gap:18px; min-height:31px; padding:0 10px; background:#292b2e; border:1px solid #111; color:#9da4aa; font-size:11px; }
.classic-nodebar > span { white-space:nowrap; } .classic-node-online { color:#75c481 !important; } .classic-node-online i { font-size:8px; } .classic-node-actions { display:flex; gap:3px; margin-left:auto; } .classic-node-actions a { padding:4px 8px; border:1px solid #4a4e53; border-radius:2px; color:#cbd1d6; text-decoration:none; background:#34373a; } .classic-node-actions a:hover { background:#3d5b73; color:#fff; }
.classic-summary-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:6px; margin:6px; }
.classic-panel { overflow:hidden; background:#292b2e; border:1px solid #44484d; border-radius:2px; box-shadow:none; }
.classic-panel-head { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:27px; padding:0 9px; background:#34373b; border-bottom:1px solid #4a4e53; color:#d8dde1; font-size:11px; } .classic-panel-head strong { font-weight:600; } .classic-panel-head i { color:#9ca8b2; margin-right:4px; } .classic-panel-tools { color:#9da5ac; font-size:10px; font-weight:normal; } .classic-panel-tools a { color:#9fc8e6; text-decoration:none; } .classic-panel-body { padding:10px; }
.classic-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 18px; } .classic-metric { display:grid; grid-template-columns:120px 1fr; align-items:center; gap:8px; } .classic-metric span { color:#c0c6cb; } .classic-metric strong { color:#e4e8eb; text-align:right; font-size:11px; font-weight:normal; } .classic-metric i { grid-column:1/-1; display:block; height:7px; overflow:hidden; background:#202123; border:1px solid #454a4f; } .classic-metric i b { display:block; height:100%; background:#1678ae; }
.classic-system-lines { margin-top:12px; padding-top:8px; border-top:1px solid #44484d; display:grid; grid-template-columns:1fr 1fr; gap:7px 20px; } .classic-system-lines div, .classic-info div { display:flex; justify-content:space-between; gap:8px; } .classic-system-lines span, .classic-info span { color:#9da6ad; } .classic-system-lines strong, .classic-info strong { color:#d9dee2; font-weight:normal; text-align:right; } .classic-ok { color:#74c17e !important; } .classic-warn { color:#ddb35e !important; }
.classic-info { display:grid; gap:11px; padding:11px 12px; } .classic-info div { padding-bottom:7px; border-bottom:1px solid #3a3e42; } .classic-info div:last-child { border-bottom:0; padding-bottom:0; }
.classic-chart-panel { margin:0 6px 6px; } .classic-chart-grid { padding:8px 10px 11px; background:#242628; } .classic-chart { display:flex; min-height:150px; } .classic-chart-axis { display:flex; flex-direction:column; justify-content:space-between; padding:3px 8px 4px 0; color:#7f888f; font-size:9px; } .classic-plot { position:relative; flex:1; min-height:150px; border-left:1px solid #60666b; border-bottom:1px solid #60666b; background:#202224; overflow:hidden; } .classic-grid-lines { position:absolute; inset:0; background:linear-gradient(#42474b 1px,transparent 1px),linear-gradient(90deg,#34383c 1px,transparent 1px); background-size:100% 25%,10% 100%; opacity:.65; } .classic-plot svg { position:absolute; inset:0; width:100%; height:100%; }
.classic-lower-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:6px; margin:0 6px 6px; } .classic-table-wrap { overflow:auto; } .classic-table { width:100%; border-collapse:collapse; color:#c5cbd0; font-size:11px; } .classic-table th { padding:6px 8px; background:#242628; border-right:1px solid #3e4246; border-bottom:1px solid #4b5055; color:#9ba4ac; text-align:left; font-size:10px; font-weight:600; white-space:nowrap; } .classic-table td { padding:7px 8px; border-right:1px solid #34383c; border-bottom:1px solid #3a3e42; white-space:nowrap; } .classic-table tr:hover td { background:#32363a; } .classic-table a { color:#a5cae6; text-decoration:none; } .classic-table a:hover { color:#fff; text-decoration:underline; } .classic-status { white-space:nowrap; } .classic-status i { margin-right:4px; font-size:8px; } .classic-status.running { color:#7bc485; } .classic-status.stopped { color:#a1a8ae; } .classic-status.warn { color:#e0b45e; } .classic-icon-btn { display:inline-block; margin-right:8px; color:#9da7af !important; } .classic-empty { padding:20px !important; color:#848d94; text-align:center; }
.classic-task-panel { margin:0 6px 12px; } .classic-task-tabs { display:flex; gap:0; padding:4px 7px 0; background:#242628; border-bottom:1px solid #454a4f; } .classic-task-tabs button { padding:5px 12px; border:1px solid transparent; border-bottom:0; background:transparent; color:#9da5ac; font-size:11px; cursor:pointer; } .classic-task-tabs button.active { background:#34373b; border-color:#454a4f; color:#e1e5e9; } .classic-task-table td { font-size:10px; } .classic-task-table .classic-status { font-size:10px; }
@media(max-width:900px) { .classic-summary-grid,.classic-lower-grid { grid-template-columns:1fr; } }
@media(max-width:760px) { body:has(.classic-pve) .main-content { margin-left:0 !important; } .classic-nodebar { gap:9px; overflow:auto; } .classic-nodebar > span:nth-child(3) { display:none; } .classic-summary-grid,.classic-lower-grid { margin:5px; } .classic-chart-panel,.classic-task-panel { margin-left:5px; margin-right:5px; } .classic-metrics { grid-template-columns:1fr; } .classic-system-lines { grid-template-columns:1fr; } .classic-node-actions { margin-left:0; } }
body:has(.classic-pve) .nc-orb { display:none !important; }
body:has(.classic-pve) .pve-alert { display:none !important; }
body:has(.classic-pve) .pve-dashboard-head, body:has(.classic-pve) .pve-stat-grid, body:has(.classic-pve) .pve-secondary-grid, body:has(.classic-pve) .pve-quick-grid { display:none !important; }
