/* ========================================================================
   KIVORA EMPIRE v35.18 — COLOR SYSTEM / UI REDESIGN
   Monochrome brand + functional gameplay color.
   This file loads LAST and intentionally overrides legacy monochrome UI.
   ======================================================================== */

:root{
  --kv-bg:#f4f7fb;
  --kv-bg-2:#eef3f9;
  --kv-surface:#ffffff;
  --kv-surface-2:#f8fafc;
  --kv-ink:#0f172a;
  --kv-ink-2:#1e293b;
  --kv-muted:#64748b;
  --kv-muted-2:#94a3b8;
  --kv-line:#dce5f0;
  --kv-primary:#2563eb;
  --kv-primary-2:#4f46e5;
  --kv-primary-soft:#eaf1ff;
  --kv-cyan:#0891b2;
  --kv-green:#16a34a;
  --kv-green-soft:#eaf8ef;
  --kv-red:#dc2626;
  --kv-red-soft:#fff0f0;
  --kv-amber:#d97706;
  --kv-amber-soft:#fff7e8;
  --kv-purple:#7c3aed;
  --kv-purple-soft:#f2ebff;
  --kv-gold:#b7791f;
  --kv-dark:#111827;
  --kv-dark-2:#172033;
  --kv-shadow:0 14px 36px rgba(31,55,89,.08);
  --kv-shadow-sm:0 7px 18px rgba(31,55,89,.07);
  --kv-ring:0 0 0 3px rgba(37,99,235,.14);
  --kv-radius:18px;
  --kv-radius-lg:24px;
  --b:var(--kv-ink);
  --l:var(--kv-bg);
  --l2:var(--kv-bg-2);
  --g:var(--kv-muted);
  --m:var(--kv-muted-2);
  --line:var(--kv-line);
  --accent:var(--kv-primary);
  --up:var(--kv-green);
  --down:var(--kv-red);
}

html,body{background:var(--kv-bg);color:var(--kv-ink)}
body{
  background:
    radial-gradient(circle at 82% -12%,rgba(79,70,229,.08),transparent 29rem),
    radial-gradient(circle at 8% 0%,rgba(37,99,235,.06),transparent 24rem),
    var(--kv-bg);
}

/* ---- App shell --------------------------------------------------------- */
.topbar{
  background:rgba(255,255,255,.88)!important;
  border-color:var(--kv-line)!important;
  backdrop-filter:blur(18px) saturate(150%);
  box-shadow:0 1px 0 rgba(255,255,255,.7),0 8px 28px rgba(31,55,89,.04);
}
.topbar .brand .mark,.side-brand-mark{
  background:linear-gradient(145deg,var(--kv-primary),var(--kv-primary-2))!important;
  box-shadow:0 8px 20px rgba(37,99,235,.24);
}
.topbar .brand .mark img,.side-brand-mark img{filter:brightness(0) invert(1)}
.cash-pill{
  background:var(--kv-green)!important;
  color:#fff!important;
  box-shadow:0 7px 16px rgba(22,163,74,.18);
}
.kc-pill{
  background:var(--kv-purple-soft)!important;
  color:var(--kv-purple)!important;
  border-color:#ddceff!important;
  box-shadow:inset 0 0 0 1px rgba(124,58,237,.03);
}
.mail-topbar-btn{background:#fff!important;border-color:var(--kv-line)!important;color:var(--kv-primary)!important}
.mail-unread-badge{background:var(--kv-red)!important;color:#fff!important}
.language-switch{background:var(--kv-bg-2)!important;border-color:var(--kv-line)!important}
.language-switch button[aria-pressed="true"]{background:var(--kv-primary)!important;color:#fff!important}

.sidenav{
  background:linear-gradient(180deg,#111827 0%,#131d31 66%,#0f172a 100%)!important;
  border-right:1px solid #243047!important;
  color:#fff;
  box-shadow:10px 0 30px rgba(15,23,42,.08);
}
.side-brand{border-color:#26344d!important}.side-brand-copy strong{color:#fff!important}.side-brand-copy small,.nav-section-label,.side-nav-foot{color:#8392aa!important}
.sidenav .nav-item{color:#aab6c8!important;border:1px solid transparent!important}
.sidenav .nav-item .ic{background:#1f2b42!important;color:#aebcd0!important}
.sidenav .nav-item:not(.active):hover{background:#19253a!important;color:#fff!important;border-color:#293a57!important;transform:translateX(2px)}
.sidenav .nav-item.active{
  background:linear-gradient(135deg,var(--kv-primary),var(--kv-primary-2))!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 10px 24px rgba(37,99,235,.28)!important;
}
.sidenav .nav-item.active .ic{background:rgba(255,255,255,.15)!important;color:#fff!important}
.premium-nav-item .premium-nav-kc{background:var(--kv-purple)!important;color:#fff!important}
.sidebar-toggle{background:#fff!important;color:var(--kv-primary)!important;border-color:var(--kv-line)!important;box-shadow:var(--kv-shadow-sm)}

.bottomnav{background:rgba(255,255,255,.94)!important;border-color:var(--kv-line)!important;backdrop-filter:blur(18px)}
.bottomnav .nav-item.active{color:var(--kv-primary)!important;background:var(--kv-primary-soft)}

main{background:transparent}
.kicker{color:var(--kv-primary)!important}
.h-sec{color:var(--kv-ink)!important}

/* ---- Shared surfaces --------------------------------------------------- */
.card,.stat,.qlink,.dashboard-shop-entry,.premium-bg-card,.premium-slot-card,
.biz19-card,.biz23-head-card,.biz23-card,.biz31-section,.biz31-stat,.biz31-worker,
.citizen-company-panel,.citizen-showcase-card,.fs-panel,.fs-side-card{
  border-color:var(--kv-line)!important;
  box-shadow:var(--kv-shadow-sm);
}
.card,.stat,.qlink,.biz31-section,.biz31-worker,.fs-panel,.fs-side-card{background:var(--kv-surface)!important}
.card:hover,.qlink:hover,.premium-bg-card:hover,.premium-slot-card:hover{border-color:#bfd0e8!important;box-shadow:var(--kv-shadow)}
.card.owned{background:var(--kv-green-soft)!important;border-color:#bde7ca!important}
.empty,.biz31-empty,.fs-empty{background:var(--kv-surface-2)!important;border-color:#cbd8e8!important;color:var(--kv-muted)!important}
.bar{background:#e6edf6!important;border-color:#dce5f0!important}.bar i{background:linear-gradient(90deg,var(--kv-primary),var(--kv-cyan))!important}

/* ---- Buttons / inputs -------------------------------------------------- */
.btn,.biz31-save{
  background:linear-gradient(135deg,var(--kv-primary),var(--kv-primary-2))!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18);
}
/* Holding Company action is a layout container, not a button */
.empire-action{
  background:transparent!important;
  color:var(--kv-ink)!important;
  box-shadow:none!important;
  padding:0!important;
}
.empire-action b{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border:1px solid #d7e0eb;
  border-radius:9px;
  background:#f7f9fc!important;
  color:#172033!important;
  box-shadow:none!important;
}
.empire-action .btn{
  background:#17191f!important;
  border-color:#17191f!important;
  color:#fff!important;
  box-shadow:0 7px 15px rgba(15,23,42,.13)!important;
}
.empire-action .btn:hover{background:#262a33!important;filter:none!important}

.btn:hover,.g-btn.dark:hover{filter:brightness(1.04)}
.btn.up{background:var(--kv-green)!important}.btn.down{background:var(--kv-red)!important}
.btn.ghost{background:#fff!important;color:var(--kv-ink)!important;border-color:var(--kv-line)!important;box-shadow:none}
.g-btn.dark,.biz31-section-head button,.biz31-manager-card button,.biz31-auto-card button{
  background:var(--kv-primary)!important;border-color:var(--kv-primary)!important;color:#fff!important;
}
.g-btn:not(.dark){border-color:var(--kv-line)!important;color:var(--kv-ink)!important}
input:focus,select:focus,textarea:focus{border-color:var(--kv-primary)!important;box-shadow:var(--kv-ring)!important;outline:none}

/* ---- Dashboard --------------------------------------------------------- */
.cashcard{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#14213d 0%,#1d4ed8 58%,#4f46e5 100%)!important;
  box-shadow:0 22px 48px rgba(29,78,216,.22);
  border:1px solid rgba(255,255,255,.09);
}
.cashcard:before{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-120px;top:-170px;box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.018)}
.cashcard>*{position:relative;z-index:1}.cashcard .lbl,.cashcard .mini-stats div span{color:#c8d7ff!important}
.cashcard .mini-stats div{padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.tapzone{
  background:linear-gradient(145deg,#fff,#f7fbff)!important;
  border:1.5px solid #c9d9ee!important;
  box-shadow:var(--kv-shadow-sm);
}
.tapzone:hover{border-color:#8cb6ef!important;box-shadow:0 14px 32px rgba(37,99,235,.12)}
.tapzone:active{background:#eef6ff!important}.tap-reward,.floatnum{color:var(--kv-green)!important}
.tap-command{color:var(--kv-primary)!important}

.quicklinks .qlink{border-width:1px!important}
.quicklinks .qlink .ic{box-shadow:none!important}
.quicklinks .qlink:nth-child(6n+1) .ic{background:#eaf1ff!important;color:#2563eb!important}
.quicklinks .qlink:nth-child(6n+2) .ic{background:#eaf8ef!important;color:#16a34a!important}
.quicklinks .qlink:nth-child(6n+3) .ic{background:#fff4df!important;color:#d97706!important}
.quicklinks .qlink:nth-child(6n+4) .ic{background:#f2ebff!important;color:#7c3aed!important}
.quicklinks .qlink:nth-child(6n+5) .ic{background:#e7f7fb!important;color:#0891b2!important}
.quicklinks .qlink:nth-child(6n+6) .ic{background:#fff0f0!important;color:#dc2626!important}

/* ---- Trading / finance ------------------------------------------------- */
.ticker{
  background:linear-gradient(135deg,#0f172a,#1e3a8a 65%,#1d4ed8)!important;
  box-shadow:0 18px 42px rgba(30,58,138,.2);
}
.ticker .coin{color:#bfdbfe!important}.ticker .chg.up{background:var(--kv-green)!important}.ticker .chg.down{background:var(--kv-red)!important}
.cycle-boom{background:var(--kv-green-soft)!important;color:#15803d!important}.cycle-slump{background:var(--kv-red-soft)!important;color:#b91c1c!important}.cycle-stable{background:var(--kv-primary-soft)!important;color:#315b9a!important}

/* ---- Business management ---------------------------------------------- */
.biz31-shell,.biz31-inbox-shell{background:var(--kv-bg)!important}
.biz31-top{background:rgba(255,255,255,.94)!important;border-color:var(--kv-line)!important;backdrop-filter:blur(18px)}
.biz31-tabs{background:#fff!important;border-color:var(--kv-line)!important}
.biz31-tabs button{background:#f5f8fc!important;border-color:var(--kv-line)!important;color:var(--kv-muted)!important}
.biz31-tabs button.active{background:var(--kv-primary)!important;border-color:var(--kv-primary)!important;color:#fff!important;box-shadow:0 7px 15px rgba(37,99,235,.18)}
.biz31-hero{
  background:linear-gradient(135deg,#111827 0%,#1e3a8a 55%,#2563eb 100%)!important;
  box-shadow:0 22px 50px rgba(30,58,138,.18)!important;
}
.biz31-hero>div>small{color:#bfdbfe!important}.biz31-hero-side .biz31-stat{background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.13)!important}
.biz31-hero-side .biz31-stat small{color:#cbdcf9!important}
.biz31-stat.good{background:var(--kv-green-soft)!important;border-color:#c9ead3!important;color:#166534!important}
.biz31-stat.neg{background:var(--kv-red-soft)!important;border-color:#f2caca!important;color:#b91c1c!important}
.biz31-status{background:var(--kv-green-soft)!important;color:#15803d!important}.biz31-status.attention{background:var(--kv-amber-soft)!important;color:#a95e06!important}.biz31-status.critical{background:var(--kv-red-soft)!important;color:#b91c1c!important}
.biz31-hero .biz31-status{background:rgba(255,255,255,.12)!important;color:#fff!important}
.biz31-hero .biz31-status.attention{background:rgba(245,158,11,.18)!important;color:#fde68a!important}.biz31-hero .biz31-status.critical{background:rgba(239,68,68,.2)!important;color:#fecaca!important}
.biz31-live{color:var(--kv-green)!important}.biz31-error{background:var(--kv-red-soft)!important;color:#b91c1c!important;border-color:#f2caca!important}
.biz31-growth-bar i{background:linear-gradient(90deg,var(--kv-primary),var(--kv-cyan))!important}
.biz31-finance-hero{background:linear-gradient(135deg,#064e3b,#15803d)!important;color:#fff!important;box-shadow:0 18px 38px rgba(21,128,61,.17)}
.biz31-welfare-card,.biz31-delegate-card,.biz31-control-card,.biz31-resource-card{border-color:var(--kv-line)!important}
.biz31-policy-state.on{background:var(--kv-green-soft)!important;color:#15803d!important}.biz31-policy-state.off{background:#eef2f7!important;color:#64748b!important}

/* ---- Premium ----------------------------------------------------------- */
.premium-shop-hero{
  background:linear-gradient(135deg,#21143d 0%,#6d28d9 52%,#8b5cf6 100%)!important;
  box-shadow:0 22px 50px rgba(109,40,217,.22);
}
.premium-shop-hero p,.premium-kc-balance small{color:#ddd6fe!important}
.premium-bg-copy em{background:var(--kv-purple)!important}.premium-bg-card.owned{box-shadow:inset 0 0 0 2px #8b5cf6,var(--kv-shadow-sm)!important}
.premium-card{background:linear-gradient(145deg,#1e1b4b,#5b21b6)!important;border-color:#6d28d9!important}.premium-card p{color:#ddd6fe!important}

/* ---- FazOS / Bank / Social -------------------------------------------- */
.faz-bank{background:linear-gradient(145deg,#047857,#16a34a)!important}.faz-bank-card{background:linear-gradient(135deg,#0f172a,#1e3a8a)!important;box-shadow:0 18px 35px rgba(30,58,138,.22)!important}
.faz-browser{background:linear-gradient(145deg,#0284c7,#2563eb)!important}.faz-social{background:linear-gradient(145deg,#2563eb,#4f46e5)!important}
.fs-logo,.fs-nav .active{color:var(--kv-primary)!important}.fs-cover{background:linear-gradient(135deg,#1e3a8a,#4f46e5)!important}.fs-side-title span{background:var(--kv-primary)!important}.fs-online-list small{color:var(--kv-green)!important}

/* ---- Citizen / profile ------------------------------------------------- */
.citizen-shell,.citizen-page-body{background:var(--kv-bg)!important}.citizen-sitebar{background:rgba(255,255,255,.95)!important;border-color:var(--kv-line)!important}.citizen-brand{color:var(--kv-primary)!important}
.citizen-stat-grid>div,.citizen-wealth-grid>div{background:#fff!important;border-color:var(--kv-line)!important;box-shadow:var(--kv-shadow-sm)}
.citizen-company-hero{background:linear-gradient(135deg,#111827,#1e3a8a 62%,#2563eb)!important;color:#fff!important}

/* ---- Corporate --------------------------------------------------------- */
body:has(.corp-shell){background:var(--kv-bg)!important}
.corp-shell{--ink:var(--kv-ink);--paper:var(--kv-bg);--card:#fff;--line:var(--kv-line);--muted:var(--kv-muted);--soft:#f4f7fb;--green:var(--kv-green);--red:var(--kv-red);--amber:var(--kv-amber);--shadow:var(--kv-shadow)}
.game-sidebar{
  background:linear-gradient(180deg,#0f172a,#14213a 64%,#111827)!important;
  border-color:#263653!important;
  box-shadow:10px 0 30px rgba(15,23,42,.08);
}
.corp-id{border-color:#263653!important}.corp-id small,.corp-id span{color:#8ea0bb!important}
.side-item{color:#9dadc3!important}.side-item i{background:#1d2a42!important;color:#9fb0c7!important}
.side-item:hover{background:#19263c!important;color:#fff!important}.side-item.active{background:linear-gradient(135deg,var(--kv-primary),var(--kv-primary-2))!important;color:#fff!important;box-shadow:0 10px 22px rgba(37,99,235,.25)}.side-item.active i{background:rgba(255,255,255,.14)!important;color:#fff!important}.nav-dot{background:#22c55e!important}
.game-hud{background:rgba(244,247,251,.9)!important;border-color:var(--kv-line)!important;backdrop-filter:blur(18px) saturate(140%)}
.hud-stats>div{border-color:var(--kv-line)!important;box-shadow:0 5px 14px rgba(31,55,89,.04)}
.mobile-menu{background:var(--kv-primary)!important}
.page-head small,.panel-title small,.section-bar small{color:var(--kv-primary)!important}
.current-hq{background:linear-gradient(135deg,#111827,#1e3a8a)!important;box-shadow:var(--kv-shadow-sm)}
.hero-command{background:linear-gradient(125deg,#111827,#1e3a8a 56%,#2563eb)!important;box-shadow:0 20px 44px rgba(30,58,138,.18)!important}.hero-command:after{border-color:rgba(255,255,255,.13)!important}.command-icon{background:#eaf1ff!important;color:#2563eb!important}
.g-btn.dark{background:var(--kv-primary)!important;border-color:var(--kv-primary)!important}.text-btn{color:var(--kv-primary)!important}.text-btn.danger{color:var(--kv-red)!important}
.logo-builder,.industry-node,.team-zone,.product-tile,.finance-panel,.map-game-panel{border-color:var(--kv-line)!important;box-shadow:var(--kv-shadow-sm)}
.logo-preview{background:linear-gradient(145deg,#edf3fb,#fff)!important;border-color:#cbd8e8!important}.shape-picks button.active{background:var(--kv-primary)!important;border-color:var(--kv-primary)!important}.shape-picks button:hover{border-color:#94b7eb!important;color:var(--kv-primary)!important}
.game-pill.danger{background:var(--kv-red-soft)!important;color:#b91c1c!important;border-color:#f3cccc!important}
.status-orb.good,.hud-status.good i{background:#22c55e!important}.status-orb.bad,.hud-status.bad i{background:#ef4444!important}
.finance-hero{background:linear-gradient(135deg,#064e3b,#15803d)!important;color:#fff!important}.finance-hero small{color:#bbf7d0!important}
.industry-node.is-ready,.industry-node.ready{border-color:#bde7ca!important;background:linear-gradient(180deg,#fff,var(--kv-green-soft))!important}
.industry-node.locked{background:#f6f8fb!important}.requirement-list .good{color:var(--kv-green)!important}.requirement-list .bad{color:var(--kv-red)!important}

/* ---- Office scene ------------------------------------------------------ */
.office-scene-shell,.office-scene-panel{--office-accent:var(--kv-primary)}
.office-scene-toolbar,.office-scene-stats,.office-shop-panel,.office-storage-panel{border-color:var(--kv-line)!important;box-shadow:var(--kv-shadow-sm)}
.office-builder-toggle.active{background:var(--kv-amber)!important;border-color:var(--kv-amber)!important;color:#fff!important;box-shadow:0 8px 18px rgba(217,119,6,.18)}
.office-scene-actions button:not(.office-builder-toggle){border-color:var(--kv-line)!important}.office-scene-actions button:hover{border-color:#9dbdec!important;color:var(--kv-primary)!important}
.office-worker-mood{filter:drop-shadow(0 4px 8px rgba(15,23,42,.15))}
.office-scene-item.selected{outline-color:var(--kv-primary)!important;box-shadow:0 0 0 4px rgba(37,99,235,.16)!important}
.office-blocking-badge{background:var(--kv-red)!important}.office-desk-badge{background:var(--kv-primary)!important}

/* ---- Economic Lab ------------------------------------------------------ */
.lab-shell,.economic-lab{background:var(--kv-bg)!important}.lab-hero,.economic-hero{background:linear-gradient(135deg,#111827,#1e3a8a 60%,#2563eb)!important;color:#fff!important;box-shadow:0 20px 44px rgba(30,58,138,.18)}

/* ---- Alerts / toast ---------------------------------------------------- */
.toast,.corp-toast{background:#111827!important;color:#fff!important;border:1px solid #2a3851!important;box-shadow:0 14px 34px rgba(15,23,42,.25)!important}

/* ---- Responsive polish ------------------------------------------------ */
@media(max-width:760px){
  .topbar{box-shadow:0 7px 22px rgba(31,55,89,.06)}
  main{padding-left:12px!important;padding-right:12px!important}
  .cashcard{border-radius:20px!important}
  .quicklinks .qlink{min-height:112px}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
