/* FROST FLUX ORIGINAL LOOK V7
   Goal: restore the high-contrast original UI from the user's reference photo.
   Neutral black/graphite shell. Semantic status colors do the visual work. */
html,body,body.dark{
  background:#050506!important;
  background-image:none!important;
  color:#f4f5f7!important;
}
body.dark{
  --bg:#050506!important;
  --panel:#0c0c0e!important;
  --panel2:#111114!important;
  --input:#09090b!important;
  --text:#f5f5f7!important;
  --muted:#9c9ca4!important;
  --line:#37373c!important;
  --blue1:#42bfff!important;
  --blue2:#0a84ff!important;
  --glow:transparent!important;
}
body.dark #hubHeaderShell,
body.dark .tabs,
body.dark main,
body.dark .main,
body.dark .page,
body.dark .content,
body.dark .tab-content,
body.dark .page-wrap,
body.dark .claims-workspace,
body.dark .claims-panel,
body.dark .claims-sheet{
  background:#050506!important;
  background-image:none!important;
}
body.dark #hubHeaderShell{
  border-bottom:1px solid #26262b!important;
  box-shadow:0 12px 34px rgba(0,0,0,.55)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.dark #hubHeaderShell:after{display:none!important}

/* BIG, sharp, actual asset. The source is square, so height must be real height. */
body.dark .frostflux-main-brand{
  min-height:178px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 0 4px!important;
}
body.dark .frostflux-main-emblem{
  width:168px!important;
  height:168px!important;
  max-width:168px!important;
  max-height:168px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
  filter:drop-shadow(0 8px 18px rgba(26,168,255,.16))!important;
}
body.dark .frostflux-main-wordmark{display:none!important}

/* Main card language: original graphite panels with visible edges/depth. */
body.dark .card,
body.dark .content-card,
body.dark .control-card,
body.dark .repairq-card,
body.dark .service-card,
body.dark .health-item,
body.dark .repairq-mini-item,
body.dark .panel,
body.dark .section,
body.dark fieldset,
body.dark .system-panel,
body.dark .claims-section,
body.dark .claim-details,
body.dark .tool-panel,
body.dark .claims-tool-panel,
body.dark .widget,
body.dark .modal-content,
body.dark .dialog-content,
body.dark .drawer-content,
body.dark .sheet-wrap{
  background:linear-gradient(180deg,#111114 0%,#0b0b0d 100%)!important;
  background-image:linear-gradient(180deg,#111114 0%,#0b0b0d 100%)!important;
  border:1px solid #34343a!important;
  color:#f4f5f7!important;
  box-shadow:0 8px 24px rgba(0,0,0,.34)!important;
}

/* Navigation - quiet until selected. */
body.dark .tabs{
  border:1px solid #232329!important;
  border-radius:13px!important;
  padding:4px!important;
  box-shadow:none!important;
}
body.dark .tabs a,
body.dark .tabs button,
body.dark .system-settings-tab{
  background:transparent!important;
  border-color:transparent!important;
  color:#b7b7be!important;
  box-shadow:none!important;
}
body.dark .tabs a:hover,
body.dark .tabs button:hover,
body.dark .system-settings-tab:hover{
  background:#131316!important;
  color:#fff!important;
  border-color:#34343a!important;
}
body.dark .tabs a.active,
body.dark .tabs button.active,
body.dark .system-settings-tab.active{
  background:#17171b!important;
  color:#fff!important;
  border-color:#4b4b52!important;
  box-shadow:inset 0 -2px 0 #43bfff!important;
}

/* General buttons are graphite. Blue is reserved for a real primary action. */
body.dark button,
body.dark .btn,
body.dark .button,
body.dark input[type=submit],
body.dark input[type=button],
body.dark #hubLeftUtilityDock>button,
body.dark #hubRightUtilityDock>button,
body.dark #hubRightUtilityDock>details>summary{
  background:linear-gradient(180deg,#1a1a1e,#111114)!important;
  border:1px solid #424248!important;
  color:#f5f5f7!important;
  box-shadow:0 4px 12px rgba(0,0,0,.28)!important;
}
body.dark button:hover,
body.dark .btn:hover,
body.dark .button:hover{
  transform:translateY(-1px)!important;
  border-color:#66666f!important;
}
body.dark .btn.blue,
body.dark button.blue,
body.dark .btn-primary,
body.dark .primary,
body.dark .action-primary{
  background:linear-gradient(180deg,#169de8,#0875bd)!important;
  border-color:#55c9ff!important;
  color:#fff!important;
}
body.dark .btn.purple,
body.dark button.purple{
  background:linear-gradient(180deg,#169de8,#0875bd)!important;
  border-color:#55c9ff!important;
  color:#fff!important;
}

/* Inputs / sheets */
body.dark input,body.dark select,body.dark textarea{
  background:#09090b!important;
  border:1px solid #3a3a40!important;
  color:#fff!important;
  box-shadow:inset 0 1px 4px rgba(0,0,0,.45)!important;
}
body.dark input:focus,body.dark select:focus,body.dark textarea:focus{
  border-color:#4fc4ff!important;
  box-shadow:0 0 0 2px rgba(79,196,255,.12)!important;
}
body.dark table{background:#09090b!important}
body.dark table th,body.dark thead th{
  background:#17171b!important;
  color:#f1f1f4!important;
  border-color:#3b3b41!important;
}
body.dark table td,body.dark tbody td,body.dark .sheet td{
  background:#0d0d10!important;
  color:#e6e6ea!important;
  border-color:#29292f!important;
}
body.dark tbody tr:nth-child(even) td{background:#101014!important}
body.dark tbody tr:hover td{background:#17171c!important}

/* Recovery: no giant yellow pill. */
body.dark .recovery-summary-status,
body.dark .recovery-status{
  background:#18181c!important;
  border:1px solid #47474e!important;
  color:#d6d6db!important;
  box-shadow:none!important;
}
body.dark .recovery-card,
body.dark .recovery-host-card,
body.dark .recovery-section{
  background:#0c0c0e!important;
  border-color:#303036!important;
}

/* ===================== AGE - RESTORE ORIGINAL SEMANTIC LOOK ===================== */
body.dark .age-category-grid{gap:10px!important}
body.dark .age-category-summary{
  background:linear-gradient(180deg,#141418,#0d0d10)!important;
  border:1px solid #4a4a51!important;
  border-radius:10px!important;
  box-shadow:0 6px 14px rgba(0,0,0,.28)!important;
  color:#f5f5f7!important;
}
body.dark .age-category-summary:hover{
  background:linear-gradient(180deg,#1a1a1f,#111115)!important;
  border-color:#72727b!important;
}
body.dark .age-category-summary.active{
  border:2px solid #32b9ff!important;
  background:linear-gradient(180deg,rgba(50,185,255,.12),#101014)!important;
  box-shadow:0 0 0 1px rgba(50,185,255,.18) inset,0 8px 18px rgba(0,0,0,.32)!important;
}
body.dark .age-card-open{color:#4ed0ff!important}
body.dark .age-category-panel{border-top-color:#303036!important}

body.dark .age-status-grid{gap:10px!important}
body.dark .age-status-card{
  min-height:86px!important;
  border-radius:9px!important;
  background:#151519!important;
  box-shadow:0 5px 14px rgba(0,0,0,.28)!important;
  transform:none!important;
}
body.dark .age-status-card:hover{transform:translateY(-2px)!important}
body.dark .age-status-card .age-status-card-count{font-size:29px!important}
body.dark .age-status-card .age-status-card-meta{color:#b8b8c0!important}

/* BLUE - all inventory */
body.dark .age-status-card.all{
  color:#3fc5ff!important;
  border:2px solid #28aef2!important;
  background:linear-gradient(180deg,rgba(40,174,242,.14),#121217)!important;
}
/* GREEN - healthy */
body.dark .age-status-card.healthy{
  color:#38e36f!important;
  border:2px solid #2fc85e!important;
  background:linear-gradient(180deg,rgba(47,200,94,.14),#121713)!important;
}
/* YELLOW - slow moving */
body.dark .age-status-card.slow_moving{
  color:#ffe245!important;
  border:2px solid #e7c62c!important;
  background:linear-gradient(180deg,rgba(231,198,44,.13),#171611)!important;
}
/* ORANGE - aging */
body.dark .age-status-card.aging{
  color:#ffad3d!important;
  border:2px solid #e98b22!important;
  background:linear-gradient(180deg,rgba(233,139,34,.14),#18140f)!important;
}
/* RED - dead stock */
body.dark .age-status-card.dead_stock{
  color:#ff5454!important;
  border:2px solid #e23b3b!important;
  background:linear-gradient(180deg,rgba(226,59,59,.14),#181010)!important;
}
/* no purple: Overstock gets cyan/teal */
body.dark .age-status-card.overstock{
  color:#53e0da!important;
  border:2px solid #28bdb6!important;
  background:linear-gradient(180deg,rgba(40,189,182,.13),#101716)!important;
}
body.dark .age-status-card.active{
  box-shadow:0 0 0 1px currentColor inset,0 8px 18px rgba(0,0,0,.32)!important;
}

body.dark .age-section-tab{
  background:#151519!important;
  border:1px solid #4a4a50!important;
  color:#e9e9ec!important;
  box-shadow:none!important;
}
body.dark .age-section-tab.active{
  border:2px solid #2eb6fb!important;
  background:rgba(46,182,251,.13)!important;
  color:#fff!important;
}
body.dark .age-family-section,
body.dark .age-variant-card{
  background:#0f0f12!important;
  border-color:#414147!important;
  box-shadow:0 5px 13px rgba(0,0,0,.25)!important;
}
body.dark .age-compatible-ribbon{
  border-color:#34c9a0!important;
  background:rgba(52,201,160,.10)!important;
  color:#8ff0d2!important;
}
body.dark .age-status.healthy{color:#38e36f!important;border-color:#2fc85e!important}
body.dark .age-status.slow_moving{color:#ffe245!important;border-color:#e7c62c!important}
body.dark .age-status.aging{color:#ffad3d!important;border-color:#e98b22!important}
body.dark .age-status.dead_stock{color:#ff5454!important;border-color:#e23b3b!important}
body.dark .age-status.overstock{color:#53e0da!important;border-color:#28bdb6!important}

/* Backup notice: useful but not a purple neon billboard. */
body.dark .age-backup-banner,
body.dark [class*="backup"]{
  border-color:#d29137!important;
}

/* Other status cards keep semantic identity instead of every card being blue. */
body.dark .healthy,body.dark .success,body.dark .ok,body.dark .running{color:#38e36f!important}
body.dark .warning,body.dark .pending,body.dark .scheduled{color:#ffe245!important}
body.dark .aging{color:#ffad3d!important}
body.dark .error,body.dark .failed,body.dark .danger,body.dark .deadstock{color:#ff5454!important}
body.dark .overstock{color:#53e0da!important}
body.dark .small,body.dark .muted,body.dark .subtle,body.dark .help,body.dark .description{color:#9f9fa7!important}

@media(max-width:820px){
  body.dark .frostflux-main-brand{min-height:146px!important}
  body.dark .frostflux-main-emblem{width:138px!important;height:138px!important;max-width:138px!important;max-height:138px!important}
}
