/* Add here all your CSS customizations */

/*
 * RevCloser: logged-in admin uses Porto’s 13px body text — bump for readability.
 * Scoped to section.body so login/auth pages (body-sign) are unchanged.
 */
section.body {
	font-size: 16px;
	line-height: 1.5;
}

/* Admin header: wider logo */
.header .logo-container .logo img {
  min-width: 140px;
  max-width: 200px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* --------------------------------------------------------------------------
   Dashboard (admin + customer): elevated cards, soft gradients, depth
   Scoped so other Porto pages stay unchanged.
   -------------------------------------------------------------------------- */
.dashboard-revcloser {
	--dash-radius: 14px;
	--dash-shadow: 0 10px 36px rgba(15, 23, 42, 0.09), 0 2px 8px rgba(15, 23, 42, 0.04);
	--dash-shadow-lg: 0 18px 52px rgba(15, 23, 42, 0.14), 0 6px 16px rgba(15, 23, 42, 0.06);
	position: relative;
	z-index: 0;
	padding-bottom: 0.5rem;
}

.dashboard-revcloser::before {
	content: "";
	position: absolute;
	inset: -12px -8px 0 -8px;
	z-index: -1;
	border-radius: 20px;
	background:
		radial-gradient(900px 420px at 12% -8%, rgba(59, 130, 246, 0.09), transparent 55%),
		radial-gradient(700px 380px at 92% 0%, rgba(139, 92, 246, 0.07), transparent 50%),
		linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, rgba(241, 245, 249, 0.35) 100%);
	pointer-events: none;
}

.dashboard-revcloser .dash-card {
	border-radius: var(--dash-radius) !important;
	border: 1px solid rgba(255, 255, 255, 0.85) !important;
	background: linear-gradient(165deg, #ffffff 0%, #f8fafc 100%);
	box-shadow: var(--dash-shadow);
	transition: box-shadow 0.28s ease, transform 0.25s ease, border-color 0.2s ease;
	overflow: hidden;
}

.dashboard-revcloser .dash-card:hover {
	box-shadow: var(--dash-shadow-lg);
	transform: translateY(-3px);
	border-color: rgba(226, 232, 240, 0.95) !important;
}

.dashboard-revcloser .dash-card--hero {
	background: linear-gradient(135deg, #ffffff 0%, #f0f7ff 52%, #eef4ff 100%);
	border-color: rgba(59, 130, 246, 0.14) !important;
	box-shadow: var(--dash-shadow), 0 0 0 1px rgba(59, 130, 246, 0.06);
}

.dashboard-revcloser .dash-card--hero .card-title {
	letter-spacing: -0.02em;
}

/*
 * Spotlight cards: Porto sets .card.card-modern .card-body { background: #FFF } which
 * sits on top of the card’s gradient — result was white text (our styles) on white body.
 * Force transparent card-body so the parent gradient shows through.
 */
.dashboard-revcloser .card.card-modern.dash-card--spotlight .card-body,
.dashboard-revcloser .card.card-modern.dash-card--spotlight-teal .card-body {
	background: transparent !important;
	box-shadow: none !important;
}

/* Spotlight cards: force gradient bg (!important beats .card / Bootstrap) and high-contrast text */
.dashboard-revcloser .dash-card--spotlight {
	border: none !important;
	background: linear-gradient(145deg, #2563eb 0%, #1d4ed8 48%, #1e3a8a 100%) !important;
	--bs-card-bg: transparent;
	color: #ffffff !important;
	box-shadow:
		0 14px 44px rgba(37, 99, 235, 0.4),
		0 4px 12px rgba(15, 23, 42, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.dashboard-revcloser .dash-card--spotlight:hover {
	transform: translateY(-4px);
	box-shadow:
		0 22px 56px rgba(37, 99, 235, 0.48),
		0 8px 20px rgba(15, 23, 42, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.dashboard-revcloser .dash-card--spotlight .card-body,
.dashboard-revcloser .dash-card--spotlight .card-body strong,
.dashboard-revcloser .dash-card--spotlight .card-body .text-6,
.dashboard-revcloser .dash-card--spotlight .card-body .text-2 {
	color: #ffffff !important;
}

.dashboard-revcloser .dash-card--spotlight .dash-spotlight-label,
.dashboard-revcloser .dash-card--spotlight-teal .dash-spotlight-label {
	display: block;
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	opacity: 1 !important;
}

.dashboard-revcloser .dash-card--spotlight .dash-spotlight-value,
.dashboard-revcloser .dash-card--spotlight-teal .dash-spotlight-value {
	display: block;
	color: #ffffff !important;
	line-height: 1.1;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.dashboard-revcloser .dash-card--spotlight a {
	color: #ffffff !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	opacity: 1 !important;
}

.dashboard-revcloser .dash-card--spotlight a:hover {
	color: #f8fafc !important;
}

/* Customer “calls” highlight — teal/emerald */
.dashboard-revcloser .dash-card--spotlight-teal {
	border: none !important;
	background: linear-gradient(145deg, #0d9488 0%, #0f766e 50%, #134e4a 100%) !important;
	--bs-card-bg: transparent;
	color: #ffffff !important;
	box-shadow:
		0 14px 44px rgba(13, 148, 136, 0.38),
		0 4px 12px rgba(15, 23, 42, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.dashboard-revcloser .dash-card--spotlight-teal:hover {
	transform: translateY(-4px);
	box-shadow:
		0 22px 56px rgba(13, 148, 136, 0.45),
		0 8px 20px rgba(15, 23, 42, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.dashboard-revcloser .dash-card--spotlight-teal .card-body,
.dashboard-revcloser .dash-card--spotlight-teal .card-body strong,
.dashboard-revcloser .dash-card--spotlight-teal .card-body .text-6,
.dashboard-revcloser .dash-card--spotlight-teal .card-body .text-5,
.dashboard-revcloser .dash-card--spotlight-teal .card-body .text-2 {
	color: #ffffff !important;
}

.dashboard-revcloser .dash-card--spotlight-teal .text-muted,
.dashboard-revcloser .dash-card--spotlight-teal small.text-muted {
	color: rgba(255, 255, 255, 0.9) !important;
}

.dashboard-revcloser .dash-card--spotlight-teal .text-color-dark {
	color: #ffffff !important;
}

.dashboard-revcloser .dash-card--spotlight-teal .text-5.text-muted {
	color: rgba(255, 255, 255, 0.85) !important;
}

.dashboard-revcloser .dash-card--spotlight-teal p.small,
.dashboard-revcloser .dash-card--spotlight-teal .card-body p {
	color: rgba(255, 255, 255, 0.88) !important;
}


/* Stat tiles: colored top accent */
.dashboard-revcloser .dash-card--stat {
	position: relative;
}

.dashboard-revcloser .dash-card--stat::after {
	content: "";
	position: absolute;
	top: 0;
	left: 1rem;
	right: 1rem;
	height: 3px;
	border-radius: 0 0 4px 4px;
	opacity: 0.95;
}

.dashboard-revcloser .dash-card--stat-cyan::after {
	background: linear-gradient(90deg, #0ea5e9, #38bdf8);
}

.dashboard-revcloser .dash-card--stat-slate::after {
	background: linear-gradient(90deg, #64748b, #94a3b8);
}

.dashboard-revcloser .dash-card--stat-rose::after {
	background: linear-gradient(90deg, #e11d48, #fb7185);
}

.dashboard-revcloser .dash-card--stat-violet::after {
	background: linear-gradient(90deg, #7c3aed, #a78bfa);
}

.dashboard-revcloser .dash-card--stat-emerald::after {
	background: linear-gradient(90deg, #059669, #34d399);
}

.dashboard-revcloser .dash-card--stat-amber::after {
	background: linear-gradient(90deg, #d97706, #fbbf24);
}

/* Revenue strip */
.dashboard-revcloser .dash-card--revenue {
	background: linear-gradient(165deg, #ffffff 0%, #f0fdf4 45%, #ecfdf5 100%) !important;
	border-color: rgba(16, 185, 129, 0.12) !important;
}

.dashboard-revcloser .dash-card--revenue-muted {
	background: linear-gradient(165deg, #ffffff 0%, #f8fafc 100%) !important;
}

/* Table / data panels */
.dashboard-revcloser .dash-card--panel .card-header {
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
	border-bottom: 1px solid rgba(226, 232, 240, 0.95);
	padding-top: 1.1rem;
	padding-bottom: 1rem;
}

.dashboard-revcloser .dash-card--panel .card-header .card-title {
	font-size: 1.05rem;
	letter-spacing: -0.01em;
}

.dashboard-revcloser .dash-card--panel .table thead th {
	border-bottom-width: 1px;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #64748b;
}

/* Quick links bar */
.dashboard-revcloser .dash-card--quick {
	background: linear-gradient(165deg, #ffffff 0%, #f8fafc 55%, #f1f5f9 100%) !important;
	border-color: rgba(148, 163, 184, 0.2) !important;
}

.dashboard-revcloser .dash-card--quick .btn-outline-primary {
	border-width: 1.5px;
	border-radius: 999px;
	padding-left: 1rem;
	padding-right: 1rem;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.dashboard-revcloser .dash-card--quick .btn-outline-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.18);
}

/* Overdue danger accent on stat cards */
.dashboard-revcloser .dash-card.border-danger {
	box-shadow: var(--dash-shadow), inset 0 0 0 1px rgba(225, 29, 72, 0.12);
}

@media (prefers-reduced-motion: reduce) {
	.dashboard-revcloser .dash-card,
	.dashboard-revcloser .dash-card--quick .btn-outline-primary {
		transition: none;
	}
	.dashboard-revcloser .dash-card:hover {
		transform: none;
	}
}
