/* /assets/app.css  — refined mining portfolio look */

:root{
  --accent: #FBC241;
  --ink: #0F172A;          /* slate-900 */
  --ink-2: #334155;        /* slate-600 */
  --card: #ffffff;
  --glass: rgba(255,255,255,0.65);
  --bg: linear-gradient(135deg,#0f172a 0%, #1e293b 35%, #0b1220 100%);
}

html,body{ height:100%; }
body{
  background: var(--bg) fixed;
  color:#fff;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}

/* Typography */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;800&display=swap');
body, .btn, .form-control { font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }

/* Navbar */
.navbar{
  background: linear-gradient(180deg, rgba(17,24,39,0.9), rgba(17,24,39,0.6));
  backdrop-filter: saturate(160%) blur(8px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.navbar-brand strong{ color:var(--accent); }

/* Hero */
.hero {
  background: radial-gradient(1000px 300px at 10% 0%, rgba(251,194,65,0.16), transparent),
              radial-gradient(800px 240px at 90% 0%, rgba(255,255,255,0.08), transparent);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 20px;
  padding: 24px;
  color: #fff;
  overflow: hidden;
  position: relative;
}
.hero .title{ font-weight:800; letter-spacing:-0.02em; }
.hero .muted{ color: rgba(255,255,255,0.7); }

/* Cards */
.card {
  background: var(--glass);
  color:#0f172a;
  border: 1px solid rgba(255,255,255,0.35);
  backdrop-filter: blur(10px);
  border-radius: 18px;
}
.card.shadow-sm{ box-shadow: 0 12px 30px rgba(12,16,28,0.25); }
.card .text-muted{ color:#475569 !important; }

/* Buttons */
.btn-primary{
  background: var(--accent);
  border-color: var(--accent);
  color:#1f2937;
  font-weight:600;
}
.btn-primary:hover{ background:#f7b21c; border-color:#f7b21c; color:#111827; }
.btn-outline-secondary{
  border-color: rgba(255,255,255,0.5); color:#fff;
}
.btn-outline-secondary:hover{ background:rgba(255,255,255,0.08); color:#fff; }

/* KPI mini-cards */
.kpi{
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 16px;
}
.kpi .label{ color:#64748b; font-weight:600; text-transform:uppercase; letter-spacing:.04em; font-size:12px; }
.kpi .value{ font-weight:800; color:#0f172a; font-size:26px; }
.kpi .sub{ color:#475569; font-size:12px; }

/* Chart container */
.chart-card{
  background: linear-gradient(180deg, #0b1220, #121a2b);
  border: 1px solid rgba(255,255,255,0.08);
  color:#dbeafe;
}

/* Soft separators */
hr.soft{ border-color: rgba(255,255,255,0.12); opacity:.4; }

/* Forms on dark bg (login page) */
.card .form-label { color:#0f172a; }
