/* Bootstrap 5 overrides to align with JBG design system */

:root,
[data-bs-theme="light"]
{
	--bs-primary: #f97316;
	--bs-primary-rgb: 249, 115, 22;
	--bs-secondary: #64748b;
	--bs-secondary-rgb: 100, 116, 139;
	--bs-success: #10b981;
	--bs-success-rgb: 16, 185, 129;
	--bs-info: #06b6d4;
	--bs-info-rgb: 6, 182, 212;
	--bs-warning: #f59e0b;
	--bs-warning-rgb: 245, 158, 11;
	--bs-danger: #ef4444;
	--bs-danger-rgb: 239, 68, 68;
	--bs-light: #f1f5f9;
	--bs-light-rgb: 241, 245, 249;
	--bs-dark: #0f172a;
	--bs-dark-rgb: 15, 23, 42;
	--bs-body-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--bs-body-font-size: 0.875rem;
	--bs-border-radius: 8px;
	--bs-border-radius-sm: 6px;
	--bs-border-radius-lg: 12px;
	--bs-border-color: #e2e8f0;
}

[data-bs-theme="dark"]
{
	--bs-body-bg: #0f172a;
	--bs-body-color: #f8fafc;
	--bs-border-color: #334155;
}

/* Button refinements */
.btn
{
	font-weight: 500;
	font-size: 0.8125rem;
	padding: 0.5rem 1rem;
	border-radius: 8px;
	transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-primary
{
	background-color: #f97316;
	border-color: #f97316;
}

.btn-primary:hover
{
	background-color: #ea580c;
	border-color: #ea580c;
	box-shadow: 0 4px 12px rgba(249, 115, 22, 0.25);
}

.btn-success
{
	background-color: #10b981;
	border-color: #10b981;
}

.btn-success:hover
{
	background-color: #059669;
	border-color: #059669;
}

.btn-warning
{
	background-color: #f59e0b;
	border-color: #f59e0b;
	color: white;
}

.btn-warning:hover
{
	background-color: #d97706;
	border-color: #d97706;
	color: white;
}

.btn-danger
{
	background-color: #ef4444;
	border-color: #ef4444;
}

.btn-danger:hover
{
	background-color: #dc2626;
	border-color: #dc2626;
}

.btn-light
{
	background-color: #f1f5f9;
	border-color: #e2e8f0;
	color: #475569;
}

.btn-light:hover
{
	background-color: #e2e8f0;
	border-color: #cbd5e1;
	color: #334155;
}

.btn-outline-primary
{
	color: #f97316;
	border-color: #f97316;
}

.btn-outline-primary:hover
{
	background-color: #f97316;
	border-color: #f97316;
	color: white;
}

.btn-outline-secondary
{
	color: #64748b;
	border-color: #e2e8f0;
}

.btn-outline-secondary:hover
{
	background-color: #f1f5f9;
	border-color: #e2e8f0;
	color: #334155;
}

/* Card refinements */
.card
{
	border-color: #e2e8f0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* Form control refinements */
.form-control,
.form-select
{
	font-size: 0.875rem;
	border-color: #e2e8f0;
	border-radius: 8px;
}

.form-control:focus,
.form-select:focus
{
	border-color: #f97316;
	box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1);
}

/* Accordion for request list */
.accordion-button
{
	font-size: 0.8125rem;
	font-weight: 500;
	padding: 0.75rem 1rem;
}

.accordion-button:not(.collapsed)
{
	background-color: #fff7ed;
	color: #f97316;
	box-shadow: none;
}

.accordion-button:focus
{
	box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1);
	border-color: #f97316;
}

/* Alert refinements */
.alert
{
	border-radius: 8px;
	font-size: 0.8125rem;
}

/* Dropdown refinements */
.dropdown-menu
{
	border-color: #e2e8f0;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.04);
	border-radius: 8px;
	padding: 0.375rem;
}

.dropdown-item
{
	border-radius: 6px;
	font-size: 0.8125rem;
	padding: 0.5rem 0.75rem;
}

.dropdown-item:hover
{
	background-color: #f1f5f9;
}

/* Modal refinements */
.modal-content
{
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
}

.modal-header
{
	border-bottom-color: #e2e8f0;
	padding: 1.25rem 1.5rem;
}

.modal-footer
{
	border-top-color: #e2e8f0;
	padding: 1rem 1.5rem;
	background-color: #f8fafc;
}

.modal-title
{
	font-size: 1rem;
	font-weight: 600;
}

/* Badge */
.badge
{
	font-weight: 500;
	font-size: 0.6875rem;
}
