
/* K2 Advisors – Dashboard visual refresh (Bootstrap 4 compatible)
   - Palette powered by CSS variables (+ dark mode)
   - Softer cards, consistent spacing, better readability
*/
:root{
	--bg: #f7f8fa;
	--surface: #ffffff;
	--text: #1f2937;
	--muted: #6b7280;
	--primary: #0ea5e9; /* cyan-500 */
	--primary-600:#0284c7;
	--accent: #22c55e;  /* green-500 */
	--danger: #ef4444;  /* red-500 */
	--warning:#f59e0b;  /* amber-500 */
	--shadow: 0 10px 24px rgba(2,8,23,.06);
}

[data-theme="dark"]{
	--bg: #0b1020;
	--surface: #0f172a;
	--text: #e5e7eb;
	--muted: #94a3b8;
	--primary: #38bdf8;
	--primary-600:#0ea5e9;
	--accent: #34d399;
	--danger: #f87171;
	--warning:#fbbf24;
	--shadow: 0 10px 24px rgba(0,0,0,.45);
}

html,body{
	background: var(--bg);
	color: var(--text);
	font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Inter,Ubuntu,'Helvetica Neue',Arial,sans-serif;
}

a{ color: var(--primary); }
a:hover{ color: var(--primary-600); text-decoration: none; }

/* Navbar */
.navbar{
	background: linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.5));
	backdrop-filter: saturate(120%) blur(6px);
	box-shadow: var(--shadow);
}
.navbar .nav-link{ font-weight: 600; }
.navbar .badge{ transform: translateY(-2px); }

/* Card */
.card{
	border: 0;
	border-radius: 1rem;
	box-shadow: var(--shadow);
	background: var(--surface);
}
.card-header{
	background: transparent;
	border: 0;
	font-weight: 700;
	color: var(--muted);
}
.card-title{ margin: 0; font-weight: 800; letter-spacing: .2px; }
.card-subtitle{ color: var(--muted); }

/* KPI block */
.kpi{
	display:flex; align-items:center; justify-content:space-between;
	padding:.25rem 0;
}
.kpi .value{ font-size: 1.75rem; font-weight: 800; }
.kpi .delta.up{ color: var(--accent); }
.kpi .delta.down{ color: var(--danger); }

/* Buttons */
.btn-primary{ background: var(--primary); border-color: var(--primary); }
.btn-primary:hover{ background: var(--primary-600); border-color: var(--primary-600); }
.btn-outline-primary{ color: var(--primary); border-color: var(--primary); }
.btn-outline-primary:hover{ background: var(--primary); color:#fff; }

/* Tables */
.table thead th{
	position: sticky; top:0; z-index: 1;
	background: var(--surface);
	border-bottom: 2px solid rgba(148,163,184,.2);
	font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted);
}
.table-hover tbody tr:hover{ background: rgba(2,132,199,.06); }
.table td, .table th{ vertical-align: middle; }

.table-responsive{ -webkit-overflow-scrolling: touch; }

/* Badges & pills */
.badge-soft{ background: rgba(14,165,233,.15); color: var(--primary-600); }
.badge-soft.success{ background: rgba(34,197,94,.18); color:#059669; }
.badge-soft.warning{ background: rgba(245,158,11,.18); color:#b45309; }
.badge-soft.danger{ background: rgba(239,68,68,.18); color:#b91c1c; }

/* Progress */
.progress{ height:.65rem; border-radius: 1rem; background: rgba(148,163,184,.25); }
.progress-bar{ border-radius: 1rem; box-shadow: inset 0 -1px 0 rgba(255,255,255,.35); }

/* Forms */
.form-control{
	border-radius: .8rem;
	border: 1px solid rgba(148,163,184,.35);
	background: var(--surface);
	color: var(--text);
}
.form-control:focus{ border-color: var(--primary); box-shadow: 0 0 0 .2rem rgba(14,165,233,.25); }

/* Shadows & hover */
.hover-lift{ transition: transform .2s ease, box-shadow .2s ease; }
.hover-lift:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(2,8,23,.12); }

/* Utility spacing */
.section{ padding: 1rem 0; }
@media (min-width: 992px){ .section{ padding: 1.5rem 0; } }

/* Dark-mode helpers for Bootstrap 4 components */
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dropdown-menu{ background: var(--surface); color: var(--text); }

/* Chart containers */
.chart-card{ min-height: 320px; }
.chart-legend{ font-size:.85rem; color: var(--muted); }
