﻿@import url("https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css");
@import url("/assets/css/index.css");
@import url("/assets/css/input.css");
@import url("/assets/css/styles.css");

:root {
	--rb-font-sans: "Inter", "Manrope", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
	--rb-bg: #f3f5f8;
	--rb-surface: #ffffff;
	--rb-text: #0f172a;
	--rb-muted: #64748b;
	--rb-border: #d7dde7;
	--rb-primary: #0c4a84;
	--rb-primary-hover: #0b3f71;
	--rb-accent: #0891b2;
	--rb-success: #16a34a;
	--rb-warning: #d97706;
	--rb-danger: #dc2626;
	--rb-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

body {
	font-family: var(--rb-font-sans);
	background-color: var(--rb-bg);
	color: var(--rb-text);
}

.card,
.modal-content,
.dropdown-menu {
	border-radius: 14px;
	border-color: var(--rb-border);
}

.card,
.modal-content {
	box-shadow: var(--rb-shadow);
}

.navbar,
.main-header {
	background: var(--rb-surface) !important;
	border-bottom: 1px solid #e7ebf2 !important;
}

.navbar .nav-link,
.main-header .nav-link {
	color: var(--rb-text) !important;
}

.navbar .nav-link:hover,
.main-header .nav-link:hover {
	color: var(--rb-primary) !important;
}

.btn-primary {
	background-color: var(--rb-primary) !important;
	border-color: var(--rb-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus {
	background-color: var(--rb-primary-hover) !important;
	border-color: var(--rb-primary-hover) !important;
}

.btn-outline-primary {
	color: var(--rb-primary) !important;
	border-color: var(--rb-primary) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
	color: #fff !important;
	background-color: var(--rb-primary) !important;
	border-color: var(--rb-primary) !important;
}

.text-muted {
	color: var(--rb-muted) !important;
}

.form-control,
.form-select {
	border-color: var(--rb-border);
}

.form-control:focus,
.form-select:focus {
	border-color: #93c5fd;
	box-shadow: 0 0 0 0.2rem rgba(12, 74, 132, 0.15);
}

/* Tailwind-inspired utility mappings for consistent migration with Bootstrap pages */
.rb-surface {
	background-color: var(--rb-surface) !important;
}

.rb-muted-text {
	color: var(--rb-muted) !important;
}

.rb-rounded-xl {
	border-radius: 0.75rem !important;
}

.rb-shadow-sm {
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) !important;
}

.rb-shadow-md {
	box-shadow: 0 6px 16px rgba(15, 23, 42, 0.10) !important;
}

.rb-border {
	border: 1px solid var(--rb-border) !important;
}

/* Minimal utility layer to replace the few Tailwind utilities still used in rental create/update pages */
.font-sans { font-family: var(--rb-font-sans) !important; }

/* Dashboard page shell */
body.rb-dashboard-page {
	background: linear-gradient(180deg, #f7f9fc 0%, #edf2f9 100%);
	min-height: 100vh;
}

body.rb-dashboard-page .content-container {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 28px;
}

body.rb-dashboard-page .stats-container,
body.rb-dashboard-page .rb-dashboard-shell {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

body.rb-dashboard-page .stats-grid,
body.rb-dashboard-page .item-status-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}

body.rb-dashboard-page .metric-card-link {
	display: block;
	height: 100%;
	text-decoration: none;
}

body.rb-dashboard-page .stat-card {
	position: relative;
	overflow: hidden;
	height: 100%;
	padding: 20px;
	border-radius: 18px;
	border: 1px solid #e5ebf3;
	background: var(--rb-surface);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	color: var(--rb-text);
}

body.rb-dashboard-page .stat-card::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	border-radius: 18px 0 0 18px;
}

body.rb-dashboard-page .stat-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 34px rgba(15, 23, 42, 0.12);
}

body.rb-dashboard-page .stat-card.total-tasks::before,
body.rb-dashboard-page .work-icon {
	background: rgba(14, 165, 233, 0.12);
}

body.rb-dashboard-page .stat-card.overdue-tasks::before {
	background: rgba(220, 38, 38, 0.85);
}

body.rb-dashboard-page .stat-card.completed-tasks::before {
	background: rgba(22, 163, 74, 0.85);
}

body.rb-dashboard-page .stat-card.pending-approvals::before {
	background: rgba(217, 119, 6, 0.85);
}

body.rb-dashboard-page .stat-content {
	display: flex;
	align-items: center;
	gap: 14px;
}

body.rb-dashboard-page .stat-icon-container {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.35rem;
	flex-shrink: 0;
}

body.rb-dashboard-page .total-tasks .stat-icon-container {
	background: rgba(14, 165, 233, 0.12);
	color: #0284c7;
}

body.rb-dashboard-page .overdue-tasks .stat-icon-container {
	background: rgba(220, 38, 38, 0.12);
	color: #dc2626;
}

body.rb-dashboard-page .completed-tasks .stat-icon-container {
	background: rgba(22, 163, 74, 0.12);
	color: #16a34a;
}

body.rb-dashboard-page .pending-approvals .stat-icon-container {
	background: rgba(217, 119, 6, 0.12);
	color: #d97706;
}

body.rb-dashboard-page .stat-info {
	flex: 1;
}

body.rb-dashboard-page .stat-value {
	font-size: 1.8rem;
	font-weight: 800;
	line-height: 1.1;
	color: #0f172a;
	margin-bottom: 0.2rem;
}

body.rb-dashboard-page .stat-label {
	margin-bottom: 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: #64748b;
}

body.rb-dashboard-page .stat-trend {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.4rem;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #64748b;
}

body.rb-dashboard-page .trend-up {
	color: #16a34a;
}

body.rb-dashboard-page .trend-down {
	color: #dc2626;
}

body.rb-dashboard-page .recent-works-section {
	background: var(--rb-surface);
	border: 1px solid #e5ebf3;
	border-radius: 18px;
	box-shadow: var(--rb-shadow);
	overflow: hidden;
	height: 100%;
}

body.rb-dashboard-page .section-header {
	padding: 18px 22px;
	border-bottom: 1px solid #eef2f7;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

body.rb-dashboard-page .section-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 0;
	font-size: 1.05rem;
	font-weight: 800;
	color: #0f172a;
}

body.rb-dashboard-page .section-title i {
	color: var(--rb-primary);
}

body.rb-dashboard-page .works-list {
	padding: 0;
}

body.rb-dashboard-page .work-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 22px;
	border-bottom: 1px solid #eef2f7;
	transition: background 0.2s ease;
}

body.rb-dashboard-page .work-item:last-child {
	border-bottom: none;
}

body.rb-dashboard-page .work-item:hover {
	background: #f8fafc;
}

body.rb-dashboard-page .work-icon {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: #0284c7;
}

body.rb-dashboard-page .work-details {
	flex: 1;
	min-width: 0;
}

body.rb-dashboard-page .work-title {
	font-size: 1rem;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 0.35rem;
}

body.rb-dashboard-page .work-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 0.55rem;
}

body.rb-dashboard-page .meta-item,
body.rb-dashboard-page .work-date,
body.rb-dashboard-page .submitter-info {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.86rem;
	color: #64748b;
}

body.rb-dashboard-page .work-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

body.rb-dashboard-page .loading-state {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 20px 22px;
	color: #64748b;
}

body.rb-dashboard-page .empty-state {
	padding: 48px 24px;
	text-align: center;
}

body.rb-dashboard-page .empty-state i {
	font-size: 2.8rem;
	color: var(--rb-primary);
	opacity: 0.35;
	margin-bottom: 16px;
}

body.rb-dashboard-page .empty-state h5 {
	margin-bottom: 10px;
	font-weight: 800;
	color: #0f172a;
}

body.rb-dashboard-page .empty-state p {
	max-width: 420px;
	margin: 0 auto;
	color: #64748b;
}

body.rb-dashboard-page .rental-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
}

body.rb-dashboard-page .rental-table th,
body.rb-dashboard-page .rental-table td {
	padding: 14px 16px;
	border-bottom: 1px solid #eef2f7;
	vertical-align: top;
	text-align: left;
}

body.rb-dashboard-page .rental-table thead th {
	background: #f8fbff;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #64748b;
}

body.rb-dashboard-page .rental-table tbody tr:hover {
	background: #f8fafc;
}

body.rb-dashboard-page .rental-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.34rem 0.72rem;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 800;
	text-transform: capitalize;
	letter-spacing: 0.02em;
	background: #eef2f7;
	color: #334155;
}

body.rb-dashboard-page .rental-pill.pending,
body.rb-dashboard-page .rental-pill.submitted,
body.rb-dashboard-page .rental-pill.waiting,
body.rb-dashboard-page .rental-pill.draft {
	background: rgba(217, 119, 6, 0.12);
	color: #b45309;
}

body.rb-dashboard-page .rental-pill.approved,
body.rb-dashboard-page .rental-pill.active,
body.rb-dashboard-page .rental-pill.completed,
body.rb-dashboard-page .rental-pill.available {
	background: rgba(22, 163, 74, 0.12);
	color: #15803d;
}

body.rb-dashboard-page .rental-pill.declined,
body.rb-dashboard-page .rental-pill.rejected,
body.rb-dashboard-page .rental-pill.canceled,
body.rb-dashboard-page .rental-pill.cancelled,
body.rb-dashboard-page .rental-pill.inactive,
body.rb-dashboard-page .rental-pill.disabled {
	background: rgba(220, 38, 38, 0.12);
	color: #b91c1c;
}

body.rb-dashboard-page .main-footer {
	background: rgba(255, 255, 255, 0.92);
	border-top: 1px solid #e5ebf3;
	color: #64748b;
	padding: 0.9rem 1rem;
}

body.rb-dashboard-page .footer-label {
	display: inline-block;
	margin-left: 0.5rem;
	color: #0f172a;
	font-weight: 700;
}

@media (max-width: 992px) {
	body.rb-dashboard-page .content-container {
		padding: 20px;
	}
}

@media (max-width: 768px) {
	body.rb-dashboard-page .content-container {
		padding: 16px;
	}

	body.rb-dashboard-page .work-item {
		flex-direction: column;
	}

	body.rb-dashboard-page .stat-content {
		align-items: flex-start;
	}
}

@media (max-width: 576px) {
	body.rb-dashboard-page .content-container {
		padding: 12px;
	}

	body.rb-dashboard-page .section-header,
	body.rb-dashboard-page .work-item,
	body.rb-dashboard-page .rental-table th,
	body.rb-dashboard-page .rental-table td {
		padding-left: 14px;
		padding-right: 14px;
	}

	body.rb-dashboard-page .stat-value {
		font-size: 1.55rem;
	}
}
.bg-gray-50 { background-color: #f9fafb !important; }
.bg-white { background-color: #fff !important; }
.bg-black { background-color: #000 !important; }
.bg-blue-600 { background-color: #2563eb !important; }
.hover\:bg-blue-700:hover { background-color: #1d4ed8 !important; }
.bg-green-200 { background-color: #bbf7d0 !important; }
.bg-red-200 { background-color: #fecaca !important; }
.text-white { color: #fff !important; }
.text-green-800 { color: #166534 !important; }
.text-red-800 { color: #991b1b !important; }
.text-gray-600 { color: #4b5563 !important; }
.hover\:text-gray-900:hover { color: #111827 !important; }
.text-2xl { font-size: 1.5rem !important; line-height: 2rem !important; }
.font-bold { font-weight: 700 !important; }
.font-semibold { font-weight: 600 !important; }
.w-full { width: 100% !important; }
.max-w-md { max-width: 28rem !important; }
.max-w-2xl { max-width: 42rem !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }
.p-3 { padding: 0.75rem !important; }
.p-6 { padding: 1.5rem !important; }
.px-3 { padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
.px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
.py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.mb-1 { margin-bottom: 0.25rem !important; }
.mb-4 { margin-bottom: 1rem !important; }
.mb-6 { margin-bottom: 1.5rem !important; }
.mt-4 { margin-top: 1rem !important; }
.rounded { border-radius: 0.25rem !important; }
.rounded-lg { border-radius: 0.5rem !important; }
.border { border: 1px solid #d1d5db !important; }
.shadow { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06) !important; }
.block { display: block !important; }
.flex { display: flex !important; }
.fixed { position: fixed !important; }
.absolute { position: absolute !important; }
.relative { position: relative !important; }
.hidden { display: none !important; }
.items-center { align-items: center !important; }
.justify-center { justify-content: center !important; }
.gap-2 { gap: 0.5rem !important; }
.space-y-4 > * + * { margin-top: 1rem !important; }
.inset-0 { top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; }
.top-2 { top: 0.5rem !important; }
.right-2 { right: 0.5rem !important; }
.bg-black.bg-opacity-50 {
	background-color: rgba(0, 0, 0, 0.5) !important;
}

/* Home page scoped style consolidation */
.rb-home-page .navbar {
	min-height: 80px;
	background-color: #ffffff !important;
	border-bottom: 1px solid #e9edf5 !important;
}

.rb-home-page .navbar .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.rb-home-page .navbar h5 {
	margin: 0;
	font-weight: 900;
	font-size: 1.5rem;
}

.rb-home-page .navbar .nav-link {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	font-weight: 600;
	color: #111827 !important;
}

.rb-home-page .navbar .navbar-brand {
	color: #111827 !important;
}

.rb-home-page .navbar .nav-link:hover {
	color: #1546b0 !important;
}

.rb-home-page .navbar .btn-outline-primary {
	color: #1546b0 !important;
	border-color: #1546b0 !important;
	background-color: #ffffff !important;
	border-radius: 999px !important;
}

.rb-home-page .navbar .btn-primary {
	background-color: #1546b0 !important;
	border-color: #1546b0 !important;
	border-radius: 999px !important;
	box-shadow: 0 8px 18px rgba(21, 70, 176, 0.25) !important;
}

.rb-home-page .home-shell {
	max-width: 1240px;
}

.rb-home-page .home-hero {
	background: linear-gradient(135deg, #f7faff 0%, #ffffff 52%, #eef4ff 100%);
	border: 1px solid #e3eaf7;
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
	position: relative;
}

.rb-home-page .home-hero::after {
	content: '';
	position: absolute;
	right: -120px;
	top: -120px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(21, 70, 176, 0.16) 0%, rgba(21, 70, 176, 0) 70%);
	pointer-events: none;
}

.rb-home-page .hero-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	background: rgba(21, 70, 176, 0.08);
	color: #1546b0;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.rb-home-page .hero-title {
	color: #0f172a;
	max-width: 760px;
}

.rb-home-page .hero-copy {
	max-width: 720px;
	color: #4b5563;
	font-size: 1.02rem;
	line-height: 1.8;
}

.rb-home-page .hero-stats {
	background: #ffffff;
	border: 1px solid #e3eaf7;
	border-radius: 20px;
	box-shadow: 0 14px 36px rgba(15, 23, 42, 0.08);
	position: relative;
	z-index: 1;
}

.rb-home-page .hero-stat-value {
	font-size: 2rem;
	font-weight: 900;
	line-height: 1;
	color: #1546b0;
}

.rb-home-page .hero-stat-label {
	margin-top: 0.35rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #64748b;
}

.rb-home-page .hero-note {
	padding: 0.9rem 1rem;
	border-radius: 14px;
	background: #f3f7ff;
	border: 1px solid #dce8ff;
	color: #294168;
	font-size: 0.95rem;
	line-height: 1.6;
}

.rb-home-page .discover-block {
	padding: 0.25rem 0;
}

.rb-home-page .search-stage-card {
	max-width: 1020px;
	border-radius: 16px;
	background: linear-gradient(160deg, #ffffff 0%, #f5f9ff 60%, #eef4ff 100%);
	border: 1px solid #d8e5fa;
	box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.rb-home-page .search-stage-grid {
	display: grid;
	grid-template-columns: 1fr 1.5fr auto;
	gap: 12px;
	align-items: end;
}

.rb-home-page .search-stage-label {
	display: inline-block;
	font-size: 0.74rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #3c5480;
}

.rb-home-page .search-stage-actions .btn {
	min-width: 128px;
	height: 39px;
	font-size: 0.82rem;
	font-weight: 800;
	border-radius: 10px;
}

.rb-home-page .discover-title {
	font-size: 1.15rem;
	font-weight: 900;
	letter-spacing: 0.01em;
	color: #102042;
}

.rb-home-page .discover-subtitle {
	font-size: 0.88rem;
	color: #5f6f86;
}

.rb-home-page .mini-card-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.rb-home-page .recent-viewed-grid {
	max-width: 980px;
	margin: 0 auto;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rb-home-page .discover-grid-wrap {
	max-width: 980px;
}

.rb-home-page .mini-item-card {
	display: block;
	border: 1px solid #e2e8f3;
	border-radius: 12px;
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.rb-home-page .mini-item-card:hover {
	transform: translateY(-2px);
	border-color: #cdddf8;
	box-shadow: 0 10px 18px rgba(15, 23, 42, 0.1);
}

.rb-home-page .mini-item-card img {
	width: 100%;
	height: 92px;
	object-fit: cover;
	background: #eef2f8;
}

.rb-home-page .mini-item-body {
	padding: 8px 9px 10px;
}

.rb-home-page .mini-item-body h6 {
	font-size: 0.8rem;
	font-weight: 800;
	line-height: 1.3;
	margin: 0 0 4px;
	color: #162446;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rb-home-page .mini-item-body p {
	margin: 0;
	font-size: 0.72rem;
	color: #64748b;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rb-home-page .mini-item-rate {
	margin-top: 6px;
	display: inline-block;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 0.69rem;
	font-weight: 800;
	color: #1546b0;
	background: #edf3ff;
	border: 1px solid #d7e5ff;
}

.rb-home-page .popular-searches-wrap {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 280px));
	justify-content: center;
	gap: 7px 9px;
	max-width: 620px;
	margin: 0 auto;
}

.rb-home-page .popular-chip {
	border: 1px solid #d8e4fa;
	background: #ffffff;
	color: #1d3567;
	padding: 5px 8px;
	border-radius: 10px;
	font-size: 0.72rem;
	font-weight: 700;
	transition: 0.2s ease;
	display: flex;
	align-items: center;
	gap: 6px;
	text-align: left;
}

.rb-home-page .popular-chip-rank {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #edf3ff;
	color: #1546b0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.62rem;
	font-weight: 900;
}

.rb-home-page .popular-chip-text {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rb-home-page .popular-chip:hover {
	background: #edf3ff;
	border-color: #bfd3f8;
	color: #1546b0;
	transform: translateY(-1px);
}

.rb-home-page .empty-mini-state {
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px dashed #d4deed;
	background: #f8fafd;
	font-size: 0.83rem;
	color: #64748b;
}

.rb-home-page .rental-card-home {
	border: 1px solid #e6ebf4;
	border-radius: 16px;
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	cursor: default;
	max-width: none;
	min-width: 0;
	flex: none;
	position: relative;
}

.rb-home-page .rental-card-home:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 26px rgba(15, 23, 42, 0.12);
	border-color: rgba(21, 70, 176, 0.22);
}

.rb-home-page .rental-card-link {
	position: relative;
	outline: none;
}

.rb-home-page .rental-card-link:focus-visible .rental-card-home {
	border-color: rgba(21, 70, 176, 0.42);
	box-shadow: 0 0 0 4px rgba(21, 70, 176, 0.14), 0 12px 26px rgba(15, 23, 42, 0.12);
}

.rb-home-page .rental-card-media {
	height: 182px;
	background: #eef2f8;
	overflow: hidden;
	position: relative;
}

.rb-home-page .rental-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.rb-home-page .rental-card-home:hover .rental-card-media img {
	transform: scale(1.04);
}

.rb-home-page .rental-card-overlay {
	position: absolute;
	left: 14px;
	top: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	max-width: calc(100% - 62px);
}

.rb-home-page .rental-card-overlay .badge {
	box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12);
}

.rb-home-page .save-fab {
	position: absolute;
	left: 10px;
	top: 10px;
	width: 38px;
	height: 38px;
	gap: 0.35rem;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 20px rgba(15, 23, 42, 0.16);
	right: 10px;
	top: 10px;
	width: 32px;
	height: 32px;
	background: #1546b0;
	color: #ffffff;
}

.rb-home-page .save-fab.btn-light {
	box-shadow: 0 6px 14px rgba(15, 23, 42, 0.16);
	color: #1546b0;
}

.rb-home-page .rental-card-home .card-body {
	padding: 0.9rem;
	gap: 0.65rem !important;
}

.rb-home-page .rental-card-home h5 {
	font-size: 0.98rem;
	line-height: 1.25;
}

.rb-home-page .item-summary {
	color: #4b5563;
	font-size: 0.86rem;
	line-height: 1.55;
	min-height: 2.35rem;
}

.rb-home-page .rental-card-footnote {
	margin-top: 0.1rem;
	padding-top: 0.25rem;
	border-top: 1px dashed #d9e4f8;
	font-size: 0.77rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #1546b0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* Detail page professional sections */
.rb-item-details-page .detail-sections-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	background: #f8fbff;
}

.rb-item-details-page .detail-section-description,
.rb-item-details-page .detail-section-terms,
.rb-item-details-page .detail-section-specs {
	display: flex;
	gap: 0.7rem;
	padding: 0.95rem;
	margin: 0;
	border: 1px solid #e3eaf6;
	border-radius: 12px;
	background: #ffffff;
	align-items: flex-start;
	min-height: 126px;
}

.rb-item-details-page .detail-section-icon {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: linear-gradient(135deg, #edf3ff 0%, #f5f8ff 100%);
	color: #1546b0;
	font-size: 0.8rem;
}

.rb-item-details-page .detail-section-description .detail-section-icon {
	background: linear-gradient(135deg, #fef3f0 0%, #ffe8e0 100%);
	color: #dc2626;
}

.rb-item-details-page .detail-section-terms .detail-section-icon {
	background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
	color: #16a34a;
}

.rb-item-details-page .detail-section-specs .detail-section-icon {
	background: linear-gradient(135deg, #fef9f0 0%, #fee2cc 100%);
	color: #d97706;
}

.rb-item-details-page .detail-section-content {
	flex: 1;
	min-width: 0;
}

.rb-item-details-page .detail-section-title {
	font-size: 0.96rem;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 0.25rem;
}

.rb-item-details-page .detail-section-text {
	font-size: 0.84rem;
	line-height: 1.45;
	color: #4b5563;
	margin: 0;
}

.rb-item-details-page .spec-link-wrap {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.rb-item-details-page .spec-link-wrap .btn {
	min-height: 38px;
	padding: 0.45rem 0.9rem;
	border-radius: 10px;
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.02em;
}

@media (max-width: 991.98px) {
	.rb-item-details-page .detail-sections-grid {
		grid-template-columns: 1fr;
	}

	.rb-item-details-page .detail-section-description,
	.rb-item-details-page .detail-section-terms,
	.rb-item-details-page .detail-section-specs {
		min-height: auto;
	}
}

/* Related items section styling - matches home page card style */
.rb-item-details-page .related-wrap {
	margin-top: 3rem;
	margin-bottom: 2rem;
}

.rb-item-details-page #relatedGrid {
	align-items: stretch;
}

.rb-item-details-page .rental-card-home {
	border: 1px solid #e6ebf4;
	border-radius: 16px;
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.rb-item-details-page .rental-card-home:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 26px rgba(15, 23, 42, 0.12);
	border-color: rgba(21, 70, 176, 0.22);
}

.rb-item-details-page .rental-card-link {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	height: 100%;
	outline: none;
}

.rb-item-details-page .rental-card-media {
	height: 182px;
	background: #eef2f8;
	overflow: hidden;
	position: relative;
}

.rb-item-details-page .rental-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.rb-item-details-page .rental-card-home:hover .rental-card-media img {
	transform: scale(1.04);
}

.rb-item-details-page .rental-card-overlay {
	position: absolute;
	left: 14px;
	top: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	max-width: calc(100% - 62px);
}

.rb-item-details-page .rental-card-overlay .badge {
	box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12);
}

.rb-item-details-page .rental-card-home .card-body {
	padding: 0.9rem;
	gap: 0.65rem !important;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.rb-item-details-page .rental-card-home h5 {
	font-size: 0.98rem;
	line-height: 1.25;
	font-weight: 800;
	color: #0f172a;
	margin: 0 0 0.3rem;
}

.rb-item-details-page .item-summary {
	color: #4b5563;
	font-size: 0.86rem;
	line-height: 1.55;
	min-height: auto;
	margin: 0 0 0.5rem;
}

.rb-item-details-page .rental-card-footnote {
	margin-top: auto;
	padding-top: 0.65rem;
	border-top: 1px dashed #d9e4f8;
	font-size: 0.77rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #1546b0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.rb-item-details-page .item-meta-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.4rem;
}

.rb-item-details-page .item-meta-grid div {
	padding: 0.42rem 0.52rem;
	border-radius: 8px;
	background: #f8fafc;
	border: 1px solid #e7edf6;
}

.rb-item-details-page .item-meta-grid span {
	display: block;
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #64748b;
	margin-bottom: 0.16rem;
}

.rb-item-details-page .item-meta-grid strong {
	display: block;
	font-size: 0.76rem;
	font-weight: 800;
	color: #0f172a;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rb-item-details-page .rental-card-footnote i {
	transition: transform 0.2s ease;
}

.rb-item-details-page .rental-card-link:hover .rental-card-footnote i {
	transform: translate(2px, -2px);
}

.rb-home-page .rental-card-footnote i {
	transition: transform 0.2s ease;
}

.rb-home-page .rental-card-link:hover .rental-card-footnote i {
	transform: translate(2px, -2px);
}

.rb-home-page .item-meta-grid,
.rb-home-page .preview-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.4rem;
}

.rb-home-page .item-meta-grid div,
.rb-home-page .preview-grid div {
	padding: 0.42rem 0.52rem;
	border-radius: 8px;
	background: #f8fafc;
	border: 1px solid #e7edf6;
}

.rb-home-page .item-meta-grid span,
.rb-home-page .preview-grid span {
	display: block;
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #64748b;
	margin-bottom: 0.16rem;
}

.rb-home-page .item-meta-grid strong,
.rb-home-page .preview-grid strong {
	display: block;
	font-size: 0.76rem;
	font-weight: 800;
	color: #0f172a;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rb-home-page .rental-card-home .btn.btn-sm {
	padding: 0.32rem 0.72rem;
	font-size: 0.79rem;
}

.rb-home-page .preview-modal .modal-header {
	padding: 1rem 1.25rem;
	background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}

.rb-home-page .preview-kicker {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1546b0;
	margin-bottom: 0.2rem;
}

.rb-home-page .preview-media-wrap {
	background: #eef2f8;
	min-height: 100%;
}

.rb-home-page .preview-image {
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	display: block;
}

.rb-home-page .preview-price {
	font-size: 1.5rem;
	font-weight: 900;
	color: #1546b0;
}

.rb-home-page .preview-copy {
	color: #4b5563;
	line-height: 1.8;
}

.rb-home-page .empty-state {
	background: #ffffff;
	border: 1px solid #e7ebf3;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.rb-home-page .empty-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto;
	border-radius: 50%;
	background: rgba(21, 70, 176, 0.08);
	color: #1546b0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.75rem;
}

@media (max-width: 767.98px) {
	.rb-home-page .search-stage-grid {
		grid-template-columns: 1fr;
	}

	.rb-home-page .search-stage-actions .btn {
		width: 100%;
	}

	.rb-home-page .mini-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rb-home-page .recent-viewed-grid {
		grid-template-columns: 1fr;
	}

	.rb-home-page .popular-searches-wrap {
		grid-template-columns: 1fr;
	}

	.rb-home-page .rental-card-media {
		height: 168px;
	}

	.rb-home-page .item-meta-grid,
	.rb-home-page .preview-grid {
		grid-template-columns: 1fr;
	}

	.rb-home-page .preview-image {
		min-height: 260px;
	}

	.rb-home-page .hero-title {
		font-size: 2rem;
	}

	.rb-home-page .hero-copy {
		font-size: 0.98rem;
	}
}

@media (min-width: 768px) and (max-width: 1199.98px) {
	.rb-home-page .mini-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.rb-home-page .recent-viewed-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Item details page scoped style consolidation */
.rb-item-details-page .rental-card {
	flex: 1 1 calc(20% - 1rem);
	min-width: 200px;
	max-width: 250px;
	box-sizing: border-box;
}

@media (max-width: 1200px) {
	.rb-item-details-page .rental-card {
		flex: 1 1 calc(25% - 1rem);
	}
}

@media (max-width: 992px) {
	.rb-item-details-page .rental-card {
		flex: 1 1 calc(33.333% - 1rem);
	}
}

@media (max-width: 768px) {
	.rb-item-details-page .rental-card {
		flex: 1 1 calc(50% - 1rem);
	}
}

@media (max-width: 576px) {
	.rb-item-details-page .rental-card {
		flex: 1 1 100%;
		max-width: 100%;
	}
}

/* Related items should fill columns like Discover cards */
.rb-item-details-page #relatedGrid .rental-card,
.rb-item-details-page #relatedGrid .rental-card-home {
	flex: 1 1 auto;
	min-width: 0;
	max-width: none;
	width: 100%;
	margin: 0;
}

.rb-item-details-page #relatedGrid .rental-card-media {
	height: 124px;
}

.rb-item-details-page #relatedGrid .rental-card-home .card-body {
	padding: 0.62rem;
	gap: 0.42rem !important;
}

.rb-item-details-page #relatedGrid .rental-card-home h5 {
	font-size: 0.84rem;
	margin-bottom: 0.15rem;
}

.rb-item-details-page #relatedGrid .item-summary {
	font-size: 0.74rem;
	line-height: 1.35;
	margin-bottom: 0.3rem;
}

.rb-item-details-page #relatedGrid .item-meta-grid {
	gap: 0.26rem;
}

.rb-item-details-page #relatedGrid .item-meta-grid div {
	padding: 0.3rem 0.42rem;
}

.rb-item-details-page #relatedGrid .item-meta-grid span {
	font-size: 0.58rem;
}

.rb-item-details-page #relatedGrid .item-meta-grid strong {
	font-size: 0.66rem;
}

.rb-item-details-page #relatedGrid .rental-card-footnote {
	padding-top: 0.35rem;
	font-size: 0.66rem;
}

.rb-item-details-page .media-thumbs {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	padding: 12px;
	background: #f8f9fa;
}

.rb-item-details-page .media-thumbs img {
	width: 90px;
	height: 70px;
	object-fit: cover;
	border-radius: 8px;
	cursor: pointer;
	border: 2px solid transparent;
	transition: 0.2s;
}

.rb-item-details-page .media-thumbs img:hover {
	transform: scale(1.05);
}

.rb-item-details-page .media-thumbs img.active-thumb {
	border: 2px solid #0d6efd;
}

.rb-item-details-page a div.transition {
	transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
}

.rb-item-details-page a div.transition:hover {
	background-color: #e9f5ff;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.rb-item-details-page .info-card {
	background: #f8fafc;
	border: 1px solid #e7edf6;
	border-radius: 12px;
	padding: 12px 14px;
	height: 100%;
	transition: 0.2s;
}

.rb-item-details-page .info-card:hover {
	background: #ffffff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	transform: translateY(-2px);
}

.rb-item-details-page .info-label {
	font-size: 13px;
	font-weight: 700;
	color: #4b5f7f;
	margin-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.rb-item-details-page .info-value {
	font-size: 15px;
	font-weight: 600;
	color: #0f172a;
	word-break: break-word;
}

.rb-item-details-page .info-card i {
	color: #1546b0 !important;
}

.rb-item-details-page .navbar {
	padding-top: 6px !important;
	padding-bottom: 6px !important;
	min-height: 84px !important;
	background-color: #ffffff !important;
	border-bottom: 1px solid #e9edf5 !important;
}

.rb-item-details-page .navbar .navbar-brand,
.rb-item-details-page .navbar .nav-link {
	color: #111827 !important;
}

.rb-item-details-page .navbar .nav-link:hover {
	color: #1546b0 !important;
}

.rb-item-details-page .navbar .btn-outline-primary {
	color: #1546b0 !important;
	border-color: #1546b0 !important;
	background-color: #ffffff !important;
	border-radius: 999px !important;
}

.rb-item-details-page .navbar .btn-primary {
	background-color: #1546b0 !important;
	border-color: #1546b0 !important;
	border-radius: 999px !important;
	box-shadow: 0 8px 18px rgba(21, 70, 176, 0.25) !important;
}

.rb-item-details-page .schedule-row .form-label {
	font-size: 0.83rem;
	font-weight: 700;
	color: #4b5563;
	margin-bottom: 0.35rem;
}

.rb-item-details-page .schedule-row .form-control,
.rb-item-details-page .schedule-row .form-select {
	min-height: 48px;
	border-radius: 12px;
}

.rb-item-details-page .schedule-row .input-group .form-control {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.rb-item-details-page .schedule-row .input-group .form-select {
	max-width: 130px;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.rb-item-details-page .manual-toggle-link {
	display: inline-block;
	margin-top: 0.35rem;
	font-size: 0.8rem;
	color: #4b5563;
	text-decoration: none;
	cursor: pointer;
}

.rb-item-details-page .manual-toggle-link:hover {
	color: #111827;
	text-decoration: underline;
}

/* Shared auth modal style used in home + item details */
.auth-modal .modal-content {
	background: #efefef;
	border: 1px solid #d9d9d9;
	border-radius: 18px;
	box-shadow: 0 12px 34px rgba(15, 23, 42, 0.15);
}

.auth-brand {
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: 0.3px;
	color: #161c2d;
}

.auth-subtitle {
	color: #4b5563;
	font-size: 0.97rem;
}

.auth-field {
	border-radius: 10px;
	border: 1px solid #cfd5df;
	min-height: 48px;
}

.auth-field:focus {
	border-color: #1546b0;
	box-shadow: 0 0 0 0.2rem rgba(21, 70, 176, 0.14);
}

.auth-primary-btn {
	min-height: 46px;
	border-radius: 10px;
	font-weight: 600;
	background: #0c4a84;
	border-color: #0c4a84;
}

.auth-primary-btn:hover {
	background: #0b3f71;
	border-color: #0b3f71;
}

.auth-link {
	color: #0c4a84;
	text-decoration: none;
	font-weight: 500;
}

.auth-link:hover {
	text-decoration: underline;
}

.auth-panel { display: none; }
.auth-panel.active { display: block; }

/* =========================
	 Migrated from assets/css/styles/details.css
========================= */

/* =========================
	 NAVBAR (PROFESSIONAL + COMPACT)
========================= */

body {
	margin: 0;
	background: #f8fafc;
	color: #111827;
}

.navbar {
	padding-top: 6px !important;
	padding-bottom: 6px !important;
	min-height: 84px !important;
	background: #ffffff !important;
	border-bottom: 1px solid #e9edf5 !important;
}

.navbar .navbar-brand {
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1 !important;
	color: #111827 !important;
}

.navbar .navbar-brand span {
	font-size: 16px;
	font-weight: 800;
}

.navbar .nav-link {
	padding-top: 4px !important;
	padding-bottom: 4px !important;
	font-weight: 600;
	color: #111827 !important;
}

.navbar .nav-link:hover {
	color: #1546b0 !important;
}

.navbar .btn {
	padding-top: 6px !important;
	padding-bottom: 6px !important;
}

@media (max-width: 991px) {
	.navbar .navbar-nav {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.navbar .nav-item {
		margin-bottom: 8px;
	}
}

.filter-card {
	border: 1px solid #e7ebf3;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

#categoryFilter,
#searchInput {
	border-radius: 10px;
	border: 1px solid #e5e7eb;
	padding: 10px 12px;
	font-size: 0.9rem;
}

#categoryFilter:focus,
#searchInput:focus {
	border-color: #1546b0;
	box-shadow: 0 0 0 4px rgba(21, 70, 176, 0.14);
}

.btn-dark {
	color: #ffffff;
	background: #1546b0;
	border-color: #1546b0;
	border-radius: 10px;
	padding: 10px 14px;
	font-weight: 800;
	transition: 0.2s ease;
}

.btn-dark:hover {
	color: #ffffff;
	background: #11388f;
	border-color: #11388f;
	transform: translateY(-2px);
}

.rental-card {
	border: 1px solid #e7ebf3;
	border-radius: 16px;
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
	transition: 0.25s ease;
	height: 100%;
	cursor: pointer;
	flex: 1 1 calc(20% - 1rem);
	min-width: 200px;
	max-width: 250px;
	box-sizing: border-box;
}

.rental-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
}

.rental-card img {
	height: 190px;
	width: 100%;
	object-fit: cover;
	background: #eef1f6;
}

.rental-card .card-body {
	padding: 18px;
	border-top: 1px solid #edf1f7;
}

.rental-card h5 {
	font-size: 1.05rem;
	font-weight: 900;
	color: #111827;
	margin-bottom: 10px;
}

.rental-card p {
	margin: 0;
	margin-bottom: 6px;
	font-size: 0.9rem;
	color: #5b6475;
}

.click-detail {
	margin-top: 12px;
	font-size: 0.82rem;
	font-weight: 800;
	color: #16a34a;
}

.portal-footer {
	background: linear-gradient(145deg, #0f1838 0%, #131f49 48%, #0f1838 100%);
	color: #e8ecf7;
	padding: 64px 0 22px;
	margin-top: 72px;
	position: relative;
	overflow: hidden;
}

.portal-footer::before {
	content: "";
	position: absolute;
	left: -100px;
	top: -120px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(76, 128, 255, 0.22), rgba(76, 128, 255, 0));
}

.portal-footer::after {
	content: "";
	position: absolute;
	right: -140px;
	bottom: -140px;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(8, 145, 178, 0.22), rgba(8, 145, 178, 0));
}

.portal-footer .container {
	position: relative;
	z-index: 2;
}

.portal-footer .footer-top-panel {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	padding: 16px 18px;
	border: 1px solid rgba(187, 206, 255, 0.25);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(6px);
	margin-bottom: 32px;
}

.portal-footer .footer-brand {
	font-weight: 800;
	font-size: 1.12rem;
	color: #f5f8ff;
}

.portal-footer .footer-brand-panel p {
	color: #d5deef;
	font-size: 0.92rem;
	max-width: 640px;
}

.portal-footer .footer-content {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}

.portal-footer h3 {
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 16px;
	color: #f6f8ff;
}

.portal-footer p {
	color: #d0d6e7;
	font-size: 0.95rem;
	line-height: 1.7;
}

.portal-footer .footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.portal-footer .footer-links li {
	margin-bottom: 10px;
}

.portal-footer .footer-links a {
	color: #d5def0;
	text-decoration: none;
	font-size: 0.92rem;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: 0.2s ease, transform 0.2s ease;
}

.portal-footer .footer-links a:hover {
	color: #ffffff;
	transform: translateX(4px);
	text-decoration: none;
}

.portal-footer .footer-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.portal-footer .footer-tags a {
	padding: 7px 11px;
	border-radius: 999px;
	border: 1px solid rgba(199, 217, 255, 0.36);
	background: rgba(255, 255, 255, 0.06);
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none;
	color: #e6edff;
	transition: 0.2s ease;
}

.portal-footer .footer-tags a:hover {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.54);
}

.portal-footer .social-links {
	display: flex;
	gap: 12px;
	margin-top: 14px;
}

.portal-footer .social-links a {
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 0.9rem;
	transition: 0.25s ease;
	text-decoration: none;
}

.portal-footer .social-links a:hover {
	background: rgba(255, 255, 255, 0.26);
	transform: translateY(-3px);
}

.portal-footer .footer-cta-panel {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.portal-footer .footer-cta-panel .btn {
	font-weight: 700;
	letter-spacing: 0.01em;
}

.portal-footer .footer-cta-panel .btn-outline-light:hover {
	background: #ffffff;
	color: #0f1838;
}

.portal-footer .copyright {
	margin-top: 34px;
	padding-top: 16px;
	border-top: 1px solid rgba(202, 216, 255, 0.38);
}

.portal-footer .copyright p {
	margin: 0;
	color: #ccd6ec;
	font-size: 0.85rem;
}

@media (max-width: 992px) {
	.portal-footer .footer-top-panel {
		flex-direction: column;
		align-items: flex-start;
	}

	.portal-footer .footer-content {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.portal-footer .footer-content {
		grid-template-columns: 1fr;
	}
}

.modal-content {
	border-radius: 16px;
	border: none;
	overflow: hidden;
	box-shadow: 0 20px 70px rgba(0, 0, 0, 0.25);
}

.modal-header {
	background: #ffffff;
	border-bottom: 1px solid #e5e7eb;
}

.modal-title {
	font-weight: 900;
	color: #111827;
}

.modal-body {
	background: #f9fafb;
}

#mediaCarousel {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #e5e7eb;
}

.carousel-item img,
.carousel-item video {
	max-height: 420px;
	object-fit: cover;
	width: 100%;
}

.list-group-item {
	border: 1px solid #e5e7eb;
	border-radius: 12px !important;
	margin-bottom: 10px;
	padding: 12px 14px;
	background: #ffffff;
	font-size: 0.95rem;
}

.list-group-item strong {
	color: #111827;
}

.navbar .btn-outline-primary {
	border-color: #1546b0 !important;
	color: #1546b0 !important;
	background: #ffffff !important;
	border-radius: 999px !important;
	padding-left: 1.2rem !important;
	padding-right: 1.2rem !important;
}

.navbar .btn-outline-primary:hover {
	background: #edf3ff !important;
	border-color: #1546b0 !important;
	color: #1546b0 !important;
}

.navbar .btn-primary {
	background: #1546b0 !important;
	border-color: #1546b0 !important;
	border-radius: 999px !important;
	padding-left: 1.2rem !important;
	padding-right: 1.2rem !important;
	box-shadow: 0 8px 18px rgba(21, 70, 176, 0.25) !important;
}

/* Consolidated shared UI styles */

:root {
  --rb-font-main: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body {
  font-family: var(--rb-font-main);
}

/* Keep parity for classes that appeared during refactor but are not in static Tailwind builds. */
.font-\[Inter\] {
  font-family: var(--rb-font-main);
}

.rb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  border-radius: 10px;
  border: 1px solid transparent;
  font-weight: 600;
  line-height: 1;
  min-height: 38px;
  padding: 0.55rem 0.95rem;
  text-decoration: none;
  cursor: pointer;
}

.rb-btn--primary {
  background: #0c4a84;
  color: #fff;
}

.rb-btn--secondary {
  background: #fff;
  border-color: #0c4a84;
  color: #0c4a84;
}

.rb-input-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.rb-input-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #334155;
}

.rb-input {
  min-height: 44px;
  border: 1px solid #cfd5df;
  border-radius: 10px;
  padding: 0.55rem 0.75rem;
}

.rb-modal {
  position: fixed;
  inset: 0;
  z-index: 999;
}

.rb-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.42);
}

.rb-modal__panel {
  position: relative;
  margin: 8vh auto 0;
  max-width: 620px;
  width: calc(100% - 2rem);
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 16px 44px rgba(15, 23, 42, 0.24);
  overflow: hidden;
}

.rb-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid #e5e7eb;
}

.rb-modal__body {
  padding: 1rem;
}

.rb-modal__close {
  border: none;
  background: transparent;
  color: #1f2937;
  font-size: 1.05rem;
  cursor: pointer;
}

.rb-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  object-fit: cover;
  background: #fff;
}

.rb-avatar--fallback {
  background: #0c4a84;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
}

/* Item rental history page (migrated from inline styles) */
body.rb-item-rental-history-page {
	--primary-blue: #1546b0;
	--core-dark: #0f172a;
	--light-bg: #f8fafc;
	--card-white: #ffffff;
	--border-light: #e7ebf3;
	--accent-yellow: #fff9db;
	--text-muted: #6b7280;
	background: var(--light-bg);
}

body.rb-item-rental-history-page .wrapper { display: flex; flex: 1 0 auto; }
body.rb-item-rental-history-page .content-wrapper { flex: 1 0 auto; padding: 1.5rem; background: var(--light-bg); }
body.rb-item-rental-history-page footer { flex-shrink: 0; }

body.rb-item-rental-history-page .page-title {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--core-dark);
	margin-bottom: 1.5rem;
}

body.rb-item-rental-history-page .layout-container {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 1.5rem;
}

body.rb-item-rental-history-page .left-section,
body.rb-item-rental-history-page .right-section { display: flex; flex-direction: column; gap: 1.5rem; }

body.rb-item-rental-history-page .card-shell {
	background: var(--card-white);
	border: 1px solid var(--border-light);
	border-radius: 16px;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
	overflow: hidden;
}

body.rb-item-rental-history-page .card-header-custom {
	background: #f8fafc;
	border-bottom: 1px solid var(--border-light);
	padding: 1rem 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem;
}

body.rb-item-rental-history-page .card-header-custom h5 {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--core-dark);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

body.rb-item-rental-history-page .card-body-custom { padding: 1.25rem; }

body.rb-item-rental-history-page .btn {
	font-size: 0.78rem;
	padding: 0.42rem 0.7rem;
	border-radius: 10px;
}

body.rb-item-rental-history-page .item-profile {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
	border: 1px solid #edf2fb;
	border-radius: 14px;
	padding: 0.9rem;
}

body.rb-item-rental-history-page .item-profile-image {
	width: 100%;
	height: 220px;
	border-radius: 14px;
	overflow: hidden;
	background: linear-gradient(135deg, #e0ecff 0%, #f0f5ff 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	border: 1px solid #dbeafe;
}

body.rb-item-rental-history-page .item-profile-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.rb-item-rental-history-page .item-media-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.45rem;
}

body.rb-item-rental-history-page .item-media-thumb {
	border: 1px solid #dbe7fb;
	border-radius: 10px;
	padding: 0;
	background: #ffffff;
	overflow: hidden;
	height: 56px;
	cursor: pointer;
}

body.rb-item-rental-history-page .item-media-thumb.active {
	border-color: #2563eb;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}

body.rb-item-rental-history-page .item-media-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.rb-item-rental-history-page .image-fallback {
	font-size: 3rem;
	color: var(--primary-blue);
}

body.rb-item-rental-history-page .item-profile-info {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.55rem;
}

body.rb-item-rental-history-page .profile-field {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.6rem 0.7rem;
	border: 1px solid #e9eef8;
	border-radius: 10px;
	background: #ffffff;
}

body.rb-item-rental-history-page .profile-label {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #64748b;
	font-weight: 700;
}

body.rb-item-rental-history-page .profile-value {
	font-size: 0.92rem;
	color: var(--core-dark);
	font-weight: 700;
}

body.rb-item-rental-history-page .profile-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: #e0ecff;
	color: var(--primary-blue);
	padding: 0.4rem 0.75rem;
	border-radius: 8px;
	font-size: 0.8rem;
	font-weight: 600;
	width: fit-content;
}

body.rb-item-rental-history-page .profile-badge.status-approved,
body.rb-item-rental-history-page .profile-badge.status-available { background: #dcfce7; color: #166534; }
body.rb-item-rental-history-page .profile-badge.status-maintenance { background: #fef3c7; color: #b45309; }
body.rb-item-rental-history-page .profile-badge.status-pending { background: #fff9db; color: #9a6700; }
body.rb-item-rental-history-page .profile-badge.status-rejected,
body.rb-item-rental-history-page .profile-badge.status-declined,
body.rb-item-rental-history-page .profile-badge.status-disabled { background: #fee2e2; color: #b91c1c; }

body.rb-item-rental-history-page .profile-actions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.65rem;
	margin-top: 0.35rem;
	padding-top: 1rem;
	border-top: 1px dashed #d6deec;
}

body.rb-item-rental-history-page .profile-actions .btn {
	font-weight: 700;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

body.rb-item-rental-history-page .profile-actions .btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(15, 23, 42, 0.10);
}

body.rb-item-rental-history-page .profile-actions .btn-outline-primary {
	border-color: #bfdbfe;
	color: #1d4ed8;
	background: #f8fbff;
}

body.rb-item-rental-history-page .profile-actions .btn-outline-info {
	border-color: #bae6fd;
	color: #0369a1;
	background: #f0f9ff;
}

body.rb-item-rental-history-page .profile-actions .btn-outline-danger {
	border-color: #fecaca;
	color: #b91c1c;
	background: #fff7f7;
}

body.rb-item-rental-history-page .history-table { font-size: 0.9rem; }
body.rb-item-rental-history-page .history-table thead th {
	background: #f8fafc;
	border: 1px solid var(--border-light);
	border-bottom-width: 2px;
	padding: 0.75rem;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--text-muted);
	font-weight: 700;
	text-align: left;
}

body.rb-item-rental-history-page .history-table tbody td {
	border: 1px solid #eef2f7;
	padding: 0.75rem;
	color: var(--core-dark);
}

body.rb-item-rental-history-page .history-table tbody tr:hover { background-color: #f8fafc; }

body.rb-item-rental-history-page .status-badge {
	display: inline-block;
	padding: 0.35rem 0.75rem;
	border-radius: 6px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: capitalize;
}

body.rb-item-rental-history-page .status-pending { background: var(--accent-yellow); color: #9a6700; }
body.rb-item-rental-history-page .status-submitted { background: #e0ecff; color: #1e3a8a; }
body.rb-item-rental-history-page .status-approved { background: #e6f8e6; color: #166534; }
body.rb-item-rental-history-page .status-active,
body.rb-item-rental-history-page .status-ongoing { background: #dcfce7; color: #166534; }
body.rb-item-rental-history-page .status-completed,
body.rb-item-rental-history-page .status-paid { background: #e6f5ff; color: #0369a1; }
body.rb-item-rental-history-page .status-declined,
body.rb-item-rental-history-page .status-canceled,
body.rb-item-rental-history-page .status-rejected { background: #fee2e2; color: #b91c1c; }
body.rb-item-rental-history-page .status-maintenance,
body.rb-item-rental-history-page .status-available,
body.rb-item-rental-history-page .status-disabled { background: #e5e7eb; color: #374151; }

body.rb-item-rental-history-page .action-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--border-light);
	border-radius: 6px;
	background: var(--card-white);
	color: var(--primary-blue);
	cursor: pointer;
	transition: all 0.2s ease;
	font-size: 0.75rem;
}

body.rb-item-rental-history-page .action-icon-btn:hover {
	background: var(--primary-blue);
	color: var(--card-white);
	border-color: var(--primary-blue);
}

body.rb-item-rental-history-page .loading-spinner { display: flex; align-items: center; justify-content: center; padding: 3rem 1rem; }
body.rb-item-rental-history-page .spinner-border { color: var(--primary-blue); }

body.rb-item-rental-history-page .right-tools {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

body.rb-item-rental-history-page .right-tools .btn { border-radius: 999px; }

@media (max-width: 1024px) {
	body.rb-item-rental-history-page .layout-container { grid-template-columns: 1fr; }
	body.rb-item-rental-history-page .item-profile-info { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
	body.rb-item-rental-history-page .item-profile-info { grid-template-columns: 1fr; }
	body.rb-item-rental-history-page .item-media-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body.rb-item-rental-history-page .right-tools { width: 100%; }
}

/* User details page (migrated from inline styles) */
body.rb-user-details-page {
	background: #f8fafc;
}

body.rb-user-details-page .detail-page {
	padding-bottom: 5rem;
}

body.rb-user-details-page .surface {
	border: 1px solid #e6ebf4;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
	overflow: hidden;
}

body.rb-user-details-page .surface-head {
	background: linear-gradient(135deg, #001a57 0%, #083b8a 100%);
	color: #fff;
	padding: 1rem 1.25rem;
}

body.rb-user-details-page .surface-body {
	padding: 1.25rem;
}

body.rb-user-details-page .profile-layout {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 1rem;
}

body.rb-user-details-page .avatar-wrap {
	border: 1px solid #e8edf6;
	border-radius: 18px;
	background: #f8fbff;
	padding: 1rem;
	text-align: center;
}

body.rb-user-details-page .avatar-wrap img {
	width: 112px;
	height: 112px;
	object-fit: cover;
}

body.rb-user-details-page .info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

body.rb-user-details-page .info-item {
	border: 1px solid #e9eef8;
	border-radius: 12px;
	padding: 0.8rem 0.9rem;
	background: #fff;
}

body.rb-user-details-page .info-label {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #64748b;
	font-weight: 800;
}

body.rb-user-details-page .info-value {
	font-size: 0.95rem;
	color: #0f172a;
	font-weight: 700;
	margin-top: 0.2rem;
}

body.rb-user-details-page .status-pill {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	padding: 0.34rem 0.7rem;
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: capitalize;
}

body.rb-user-details-page .status-pending { background: #fff9db; color: #9a6700; }
body.rb-user-details-page .status-submitted { background: #e0ecff; color: #1e3a8a; }
body.rb-user-details-page .status-approved,
body.rb-user-details-page .status-active,
body.rb-user-details-page .status-completed,
body.rb-user-details-page .status-ongoing { background: #dcfce7; color: #166534; }
body.rb-user-details-page .status-declined,
body.rb-user-details-page .status-canceled,
body.rb-user-details-page .status-cancelled,
body.rb-user-details-page .status-rejected { background: #fee2e2; color: #991b1b; }

body.rb-user-details-page .summary-card {
	border: 1px solid #e8edf6;
	border-radius: 14px;
	background: #fff;
	padding: 0.95rem 1rem;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

body.rb-user-details-page .summary-value {
	font-size: 1.3rem;
	font-weight: 800;
	color: #0f172a;
}

body.rb-user-details-page .summary-label {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #64748b;
	font-weight: 700;
}

body.rb-user-details-page .activity-table thead th {
	background: #0f172a;
	color: #fff;
	border-color: #1e293b;
	font-size: 0.76rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

body.rb-user-details-page .activity-table tbody td {
	vertical-align: middle;
	border-color: #edf2f7;
}

body.rb-user-details-page .danger-zone {
	border: 1px solid #fecaca;
	background: #fff5f5;
	border-radius: 16px;
	padding: 1rem;
}

@media (max-width: 992px) {
	body.rb-user-details-page .profile-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	body.rb-user-details-page .info-grid {
		grid-template-columns: 1fr;
	}
}

html.rb-faq-page,
html.rb-faq-page body {
	height: 100%;
}

body.rb-faq-page {
	background: #eaf3ff;
}

body.rb-faq-page .wrapper {
	min-height: 100vh;
}

body.rb-faq-page .layout-column {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

body.rb-faq-page .content-wrapper {
	flex: 1;
	display: flex;
	flex-direction: column;
}

body.rb-faq-page .faq-page {
	padding: 20px;
}

body.rb-faq-page .faq-head {
	background: #f4f7ff;
	border: 1px solid #dbe5f7;
	border-radius: 18px;
	padding: 16px 18px;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

body.rb-faq-page .faq-head h3 {
	margin: 0;
	color: #0f172a;
	font-weight: 800;
	letter-spacing: 0.02em;
}

body.rb-faq-page .faq-head p {
	margin: 2px 0 0;
	color: #5f697b;
	font-size: 0.92rem;
}

body.rb-faq-page .back-btn {
	border-radius: 999px;
	font-weight: 700;
	padding: 0.45rem 0.9rem;
}

body.rb-faq-page .faq-shell {
	background: #ffffff;
	border: 1px solid #dce7f4;
	border-radius: 18px;
	box-shadow: 0 10px 24px rgba(35, 66, 120, 0.08);
	padding: 10px;
}

body.rb-faq-page .accordion-item {
	border: 1px solid #dfe8f7 !important;
	border-radius: 12px !important;
	overflow: hidden;
	margin-bottom: 10px;
	background: #fff;
}

body.rb-faq-page .accordion-button {
	font-weight: 700;
	color: #0f172a;
	background: #f9fbff;
	box-shadow: none !important;
}

body.rb-faq-page .accordion-button:not(.collapsed) {
	color: #0b4aa7;
	background: #eef4ff;
}

body.rb-faq-page .accordion-body {
	color: #3f4b60;
	line-height: 1.6;
}

body.rb-faq-page .faq-tip {
	margin-top: 14px;
	background: #f7fbff;
	border: 1px dashed #bfd5ff;
	border-radius: 12px;
	padding: 12px 14px;
	color: #33507f;
	font-size: 0.92rem;
}

html.rb-contact-support-page,
html.rb-contact-support-page body {
	height: 100%;
}

body.rb-contact-support-page {
	background: #eaf3ff;
}

body.rb-contact-support-page .wrapper {
	min-height: 100vh;
}

body.rb-contact-support-page .layout-column {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

body.rb-contact-support-page .content-wrapper {
	flex: 1;
	display: flex;
	flex-direction: column;
}

body.rb-contact-support-page .support-page {
	padding: 20px;
}

body.rb-contact-support-page .support-head {
	background: #f4f7ff;
	border: 1px solid #dbe5f7;
	border-radius: 18px;
	padding: 16px 18px;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

body.rb-contact-support-page .support-head h3 {
	margin: 0;
	color: #0f172a;
	font-weight: 800;
	letter-spacing: 0.02em;
}

body.rb-contact-support-page .support-head p {
	margin: 2px 0 0;
	color: #5f697b;
	font-size: 0.92rem;
}

body.rb-contact-support-page .faq-btn {
	border-radius: 999px;
	font-weight: 700;
	padding: 0.45rem 0.9rem;
}

body.rb-contact-support-page .support-card {
	background: #ffffff;
	border: 1px solid #dce7f4;
	border-radius: 18px;
	padding: 24px 20px;
	box-shadow: 0 10px 24px rgba(35, 66, 120, 0.08);
	height: 100%;
	text-align: center;
}

body.rb-contact-support-page .support-icon {
	width: 74px;
	height: 74px;
	border-radius: 50%;
	margin: 0 auto 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
}

body.rb-contact-support-page .support-icon.email {
	background: #eef0ff;
	color: #5b66e2;
}

body.rb-contact-support-page .support-icon.phone {
	background: #e6f7f3;
	color: #1ea37f;
}

body.rb-contact-support-page .support-icon.chat {
	background: #eaf7ff;
	color: #18a7d6;
}

body.rb-contact-support-page .support-card h4 {
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 8px;
}

body.rb-contact-support-page .support-card p {
	color: #5f697b;
	margin-bottom: 14px;
}

body.rb-contact-support-page .contact-btn {
	border-radius: 10px;
	font-weight: 700;
	min-width: 190px;
}

body.rb-contact-support-page .muted-meta {
	color: #5e6a7c;
	font-size: 0.95rem;
	margin-top: 10px;
}

body.rb-contact-support-page .info-card {
	background: #ffffff;
	border: 1px solid #dce7f4;
	border-radius: 16px;
	padding: 20px;
	box-shadow: 0 10px 24px rgba(35, 66, 120, 0.06);
	height: 100%;
}

body.rb-contact-support-page .info-card h5 {
	font-weight: 800;
	margin-bottom: 12px;
	color: #0f172a;
}

body.rb-contact-support-page .info-title {
	font-weight: 700;
	color: #364154;
	margin-bottom: 2px;
}

body.rb-contact-support-page .info-text {
	color: #4f5b6e;
	margin-bottom: 10px;
}

body.rb-item-details-page .rb-detail-filter-strip {
	position: sticky;
	top: 72px;
	z-index: 1010;
	background: transparent;
	border-bottom: none;
}

body.rb-item-details-page .rb-top-trail {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 0.83rem;
	color: #5f6b7b;
}

body.rb-item-details-page .rb-top-trail a {
	color: #1d4ed8;
	text-decoration: none;
}

body.rb-item-details-page .rb-top-trail a:hover {
	text-decoration: underline;
}

body.rb-item-details-page .rb-top-trail .sep {
	color: #94a3b8;
}

body.rb-item-details-page .rb-gallery-wrap {
	padding: 14px;
}

body.rb-item-details-page .rb-gallery-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 10px;
}

body.rb-item-details-page .rb-gallery-main {
	border-radius: 10px;
	overflow: hidden;
	background: #f0f3f8;
	min-height: 300px;
	cursor: zoom-in;
}

body.rb-item-details-page .rb-gallery-main img,
body.rb-item-details-page .rb-gallery-main video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.rb-item-details-page .rb-gallery-side {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

body.rb-item-details-page .rb-media-picker {
	border: 2px solid transparent;
	padding: 0;
	border-radius: 10px;
	background: transparent;
	overflow: hidden;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

body.rb-item-details-page .rb-media-picker.active,
body.rb-item-details-page .rb-media-picker:hover {
	border-color: #1d4ed8;
	transform: translateY(-1px);
}

body.rb-item-details-page .rb-gallery-tile {
	border-radius: 10px;
	overflow: hidden;
	min-height: 145px;
	background: #f0f3f8;
}

body.rb-item-details-page .rb-gallery-tile img,
body.rb-item-details-page .rb-gallery-tile video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.rb-item-details-page .rb-head-wrap {
	padding: 14px 16px;
}

body.rb-item-details-page .rb-price {
	font-size: 2rem;
	font-weight: 700;
	color: #151b26;
	line-height: 1;
}

body.rb-item-details-page .rb-price-unit {
	color: #5f6b7b;
	font-size: 0.92rem;
	margin-left: 6px;
	font-weight: 500;
}

body.rb-item-details-page .rb-title {
	margin-top: 8px;
	font-size: 1.07rem;
	color: #1f2937;
	font-weight: 600;
}

body.rb-item-details-page .rb-share-row {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #64748b;
	font-size: 0.84rem;
}

body.rb-item-details-page .rb-share-btn {
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid #dbe3ee;
	background: #ffffff;
	color: #334155;
	transition: all 0.2s ease;
}

body.rb-item-details-page .rb-share-btn:hover {
	border-color: #93c5fd;
	color: #1d4ed8;
	background: #f0f7ff;
}

body.rb-item-details-page .rb-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
	flex-wrap: wrap;
}

body.rb-item-details-page .rb-meta-inline {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

body.rb-item-details-page .rb-meta-pill {
	border: 1px solid #dbe3ee;
	background: #f8fafc;
	border-radius: 999px;
	padding: 6px 10px;
	font-size: 0.8rem;
	color: #334155;
}

body.rb-item-details-page .rb-status-pill {
	border-color: #86efac;
	background: #dcfce7;
	color: #166534;
	font-weight: 700;
}

body.rb-item-details-page .rb-request-inline-btn {
	border-radius: 999px;
	font-weight: 600;
	white-space: nowrap;
}

body.rb-item-details-page .rb-stat-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

body.rb-item-details-page .rb-stat {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #f8fafc;
	padding: 10px 12px;
}

body.rb-item-details-page .rb-stat-value {
	font-size: 1.08rem;
	font-weight: 700;
	color: #111827;
}

body.rb-item-details-page .rb-stat-label {
	font-size: 0.76rem;
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-top: 3px;
}

body.rb-item-details-page .rb-content-grid {
	padding: 0 16px 16px;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	max-width: calc(66.666% - 8px);
}

body.rb-item-details-page .rb-detail-shell {
	max-width: 1240px;
}

body.rb-item-details-page .rb-section {
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid #e5e7eb;
}

body.rb-item-details-page .rb-section h5 {
	margin: 0 0 8px;
	padding: 0;
	border-bottom: none;
	font-size: 0.95rem;
	font-weight: 700;
	color: #111827;
	background: transparent;
}

body.rb-item-details-page .rb-section .rb-body {
	padding: 0;
	color: #1f2937;
	font-size: 0.92rem;
}

body.rb-item-details-page .rb-prop-table {
	width: 100%;
	border-collapse: collapse;
}

body.rb-item-details-page .rb-prop-table td {
	padding: 7px 0;
	border-bottom: 1px solid #f1f5f9;
	vertical-align: top;
	font-size: 0.89rem;
}

body.rb-item-details-page .rb-prop-table tr:last-child td {
	border-bottom: none;
}

body.rb-item-details-page .rb-prop-key {
	color: #64748b;
	width: 48%;
}

@media (max-width: 992px) {
	body.rb-item-details-page .rb-detail-filter-strip {
		top: 64px;
	}

	body.rb-item-details-page .rb-gallery-grid {
		grid-template-columns: 1fr;
	}

	body.rb-item-details-page .rb-content-grid {
		grid-template-columns: 1fr;
		max-width: 100%;
	}

	body.rb-item-details-page .rb-stat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

