/* PerformMax — Dual Theme (Pure Light + Neon Dark) */

/* ===== Pure LIGHT (default) ===== */
:root{
  /* surfaces */
  --bg:#ffffff;          /* page */
  --bg-2:#ffffff;        /* secondary */
  --topbar-bg:#ffffff;
  --topbar-border:#e8ebf3;
  --card:#ffffff;        /* glass card */
  --card-solid:#ffffff;  /* solid card (tables) */
  --border:#e8ebf3;

  /* text */
  --text:#0b1026;
  --muted:#5b6280;

  /* accents */
  --primary:#6c5ce7;
  --primary-2:#5b8aff;
  --accent:#00b894;
  --danger:#d63031;

  /* nav */
  --nav-link:#3a4060;
  --nav-hover-bg:#f2f5ff;
  --nav-hover:#11173a;

  /* misc */
  --shadow: 0 10px 26px rgba(16,22,58,.06);
  --radius:16px;
  --radius-lg:20px;
}

/* ===== DARK (neon) ===== */
body[data-theme="dark"]{
  --bg:#0b0f26;
  --bg-2:#0b112e;
  --topbar-bg:linear-gradient(120deg,rgba(16,22,58,.72),rgba(16,22,58,.55));
  --topbar-border:#263088;
  --card:#111636cc;
  --card-solid:#171d42;
  --border:#2c3384;

  --text:#eaf0ff;
  --muted:#a8b3ff;

  --primary:#7c6cff;
  --primary-2:#5b8aff;
  --accent:#00d1b2;
  --danger:#ff6b6b;

  --nav-link:#cdd6ff;
  --nav-hover-bg:#151b46;
  --nav-hover:#ffffff;

  --shadow: 0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.02);
}

/* ===== Base ===== */
*{box-sizing:border-box}
html,body{
  margin:0; padding:0;
  font-family: "Plus Jakarta Sans", Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Helvetica, Arial, sans-serif;
  color:var(--text);
  background: var(--bg);
  min-height:100%;
}

/* Enhance dark only with gradients */
body[data-theme="dark"]{
  background:
    radial-gradient(1200px 800px at 10% -10%, #1a1f52 0%, transparent 60%),
    radial-gradient(900px 700px at 100% 0%, #182159 0%, transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
}

/* Topbar */
.pmx-topbar{
  position:sticky; top:0; z-index:30;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px;
  background:var(--topbar-bg);
  border-bottom:1px solid var(--topbar-border);
  backdrop-filter: blur(10px);
}
.pmx-logo{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.2px}
.pmx-logo .logo{height:22px;filter:drop-shadow(0 2px 8px #6c5ce733)}
/* Active page highlight */
.pmx-nav a{
  display:inline-block; margin:0 6px; padding:8px 12px; border-radius:12px;
  color:var(--nav-link); text-decoration:none; border:1px solid transparent;
  transition:.18s ease;
}
.pmx-nav a:hover{
  background:var(--nav-hover-bg);
  color:var(--nav-hover);
  border-color:var(--border);
}
.pmx-nav a.active{
  background:var(--nav-hover-bg);
  color:var(--nav-hover);
  border-color: var(--primary);
  box-shadow: inset 0 0 0 1px var(--primary);
  font-weight:700;
}

.pmx-nav a:hover{background:var(--nav-hover-bg); color:var(--nav-hover); border-color:var(--border)}
.pmx-user .btn.small{padding:7px 11px}

/* Shell */
.pmx-main{padding:24px; max-width:1200px; margin:0 auto}
.pmx-footer{padding:22px; text-align:center; color:var(--muted)}

/* Cards */
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px; margin:12px 0; box-shadow: var(--shadow);
}
.chart-wrap{padding:14px; border-radius:var(--radius); background:var(--card); border:1px solid var(--border)}

.grid-cards{display:grid; gap:14px; grid-template-columns:repeat(4,1fr)}
.g{display:grid; gap:14px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.g-12{grid-template-columns:repeat(12,1fr)}

h1{margin:0 0 12px; font-size:26px; letter-spacing:.2px}
h2{margin:0 0 10px; font-size:18px}

/* KPI cards */
.kpi{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; gap:6px; padding:14px;
  border-radius:16px; border:1px solid var(--border);
  background:var(--card);
}
body[data-theme="dark"] .kpi{
  background:
    radial-gradient(450px 180px at 0% 0%, #1b2370 0%, transparent 60%),
    linear-gradient(180deg, #1a215a, #131a48);
}
.kpi h2{margin:0;color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.6px}
.kpi .v{font-size:28px; font-weight:800}

/* Buttons */
.btn{
  background:linear-gradient(135deg, var(--primary), var(--primary-2));
  border:none; color:#fff; padding:10px 14px; border-radius:12px;
  cursor:pointer; box-shadow: 0 6px 18px rgba(92,117,255,.20);
  transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{transform: translateY(-1px); box-shadow: 0 10px 24px rgba(92,117,255,.30)}
.btn:active{transform: translateY(0)}
.btn.secondary{background:#27308a; color:#fff}
.btn.ghost{background:rgba(0,0,0,0); border:1px solid var(--border); color:var(--nav-link)}
.btn.small{padding:6px 10px; font-size:12px}

/* Forms */
.form-row{display:flex; gap:12px; flex-wrap:wrap}
.input,.select, select.input, input.input{
  background:#ffffff;
  border:1px solid var(--border); color:var(--text); border-radius:12px; padding:10px; min-width:220px;
  outline:none; transition:border-color .15s ease, box-shadow .15s ease;
}
body[data-theme="dark"] .input, body[data-theme="dark"] .select, body[data-theme="dark"] select.input{
  background:linear-gradient(180deg,#0e1436,#0a1030);
  color:#dfe6ff; border-color:#2a3380;
}
.input:focus, .select:focus, select.input:focus{
  border-color:#4a57df; box-shadow: 0 0 0 4px rgba(74,87,223,.18);
}
label{display:block; font-size:12px; color:var(--muted); margin:0 0 6px}

/* Helpers */
.badge{
  display:inline-block; background:#f2f5ff; border:1px solid var(--border);
  padding:6px 10px; border-radius:999px; color:#3a4060; font-size:12px
}
body[data-theme="dark"] .badge{background:#141a47; border-color:#2e3991; color:#b7c1ff}
.notice{color:#198754}
.err{color:#d22d2d}
.vsep{height:10px}

/* Tables */
.table{width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:14px; background:var(--card-solid); border:1px solid var(--border)}
.table thead th{
  position:sticky; top:0; z-index:1;
  background:#f6f8ff;
  color:#3a4060; font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.5px;
  padding:12px; border-bottom:1px solid var(--border);
}
body[data-theme="dark"] .table thead th{
  background:linear-gradient(180deg,#1a2158,#121743);
  color:#b9c4ff;
}
.table td{padding:12px; border-bottom:1px dashed var(--border)}
.table tbody tr:hover{background:#f7f9ff}
body[data-theme="dark"] .table tbody tr:hover{background:#121743}

/* Links */
a{color:#4850a8; text-decoration:none}
a:hover{text-decoration:underline}
body[data-theme="dark"] a{color:#b9c7ff}

/* Images */
.logo{height:22px}

/* Mobile */
@media (max-width: 920px){
  .grid-cards{grid-template-columns:repeat(2,1fr)}
  .g-2{grid-template-columns:1fr}
  .pmx-nav a{padding:8px 10px; margin:0 4px}
}

/* Charts */
canvas{max-width:100%}
