:root {
	--bs-body-bg: #f4efe7;
	--bs-body-color: #18211f;
	--bs-primary: #17685f;
	--bs-primary-rgb: 23, 104, 95;
	--bs-secondary-color: #45534f;
	--bs-border-color: #cfc7ba;
	--bs-link-color: #17685f;
	--bs-link-hover-color: #0e4b45;
	--dindon-surface: #fffaf2;
	--dindon-surface-strong: #fff3dc;
	--dindon-ink: #18211f;
	--dindon-muted: #45534f;
	--dindon-accent: #b95f24;
	--dindon-danger: #9d2d2a;
	--dindon-shadow: 0 14px 34px rgba(43, 32, 19, 0.13);
}

body {
	background:
		linear-gradient(180deg, rgba(23, 104, 95, 0.09), rgba(185, 95, 36, 0.07) 42%, transparent),
		var(--bs-body-bg);
}

.app-navbar {
	background: #123c37;
	border-bottom: 4px solid var(--dindon-accent);
	box-shadow: 0 12px 28px rgba(18, 60, 55, 0.18);
}

.app-navbar .navbar-brand,
.app-navbar .nav-link {
	color: #fff7eb;
}

.app-navbar .nav-link:hover,
.app-navbar .nav-link:focus {
	color: #ffdca8;
}

.card,
.table,
.form-control,
.form-select,
.accordion-item {
	border-color: var(--bs-border-color);
}

.card {
	background: var(--dindon-surface);
	box-shadow: var(--dindon-shadow);
}

.btn-primary {
	--bs-btn-bg: var(--bs-primary);
	--bs-btn-border-color: var(--bs-primary);
	--bs-btn-hover-bg: #0e4b45;
	--bs-btn-hover-border-color: #0e4b45;
	--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}

.btn-outline-primary {
	--bs-btn-bg: #17685f;
	--bs-btn-border-color: #17685f;
	--bs-btn-color: #fff;
	--bs-btn-hover-bg: #0e4b45;
	--bs-btn-hover-border-color: #0e4b45;
	--bs-btn-hover-color: #fff;
	--bs-btn-active-bg: #0e4b45;
	--bs-btn-active-border-color: #0e4b45;
	--bs-btn-active-color: #fff;
	--bs-btn-disabled-bg: #17685f;
	--bs-btn-disabled-border-color: #17685f;
	--bs-btn-disabled-color: #fff;
}

.btn-outline-warning {
	--bs-btn-bg: #a6531f;
	--bs-btn-border-color: #a6531f;
	--bs-btn-color: #fff;
	--bs-btn-hover-bg: #79370f;
	--bs-btn-hover-border-color: #79370f;
	--bs-btn-hover-color: #fff;
	--bs-btn-active-bg: #79370f;
	--bs-btn-active-border-color: #79370f;
	--bs-btn-active-color: #fff;
}

.btn-outline-danger {
	--bs-btn-bg: var(--dindon-danger);
	--bs-btn-border-color: var(--dindon-danger);
	--bs-btn-color: #fff;
	--bs-btn-hover-bg: var(--dindon-danger);
	--bs-btn-hover-border-color: var(--dindon-danger);
	--bs-btn-hover-color: #fff;
	--bs-btn-active-bg: #76201e;
	--bs-btn-active-border-color: #76201e;
	--bs-btn-active-color: #fff;
}

.btn-outline-secondary {
	--bs-btn-bg: #33423e;
	--bs-btn-border-color: #33423e;
	--bs-btn-color: #fff;
	--bs-btn-hover-bg: #1f2d2a;
	--bs-btn-hover-border-color: #1f2d2a;
	--bs-btn-hover-color: #fff;
	--bs-btn-active-bg: #1f2d2a;
	--bs-btn-active-border-color: #1f2d2a;
	--bs-btn-active-color: #fff;
}

.btn {
	border-width: 2px;
	font-weight: 700;
}

.btn:focus-visible,
.form-control:focus,
.form-select:focus,
.nav-link:focus-visible {
	box-shadow: 0 0 0 0.25rem rgba(185, 95, 36, 0.45);
	outline: 3px solid #fff3dc;
	outline-offset: 2px;
}

.required-label::after {
	color: #8f211f;
	content: " *";
	font-weight: 800;
}

.consultation-history {
	max-height: 32rem;
	overflow-y: auto;
}

.consultation-history .list-group-item {
	background: #fffaf2;
	border-color: var(--bs-border-color);
}

.table {
	--bs-table-bg: var(--dindon-surface);
	--bs-table-striped-bg: #fbf1df;
	--bs-table-hover-bg: #f4e7d0;
}

.table thead th {
	background: #ead8ba;
	border-bottom-color: #9d8c73;
	color: var(--dindon-ink);
}

.client-table {
	min-width: 1180px;
	table-layout: fixed;
}

.client-table th,
.client-table td {
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: middle;
	white-space: nowrap;
}

.client-table .col-id {
	width: 56px;
}

.client-table .col-owner {
	width: 260px;
}

.client-table .col-phone {
	width: 122px;
}

.client-table .col-pet {
	width: 170px;
}

.client-table .col-age {
	width: 92px;
}

.client-table .col-breed {
	width: 150px;
}

.client-table .col-sex,
.client-table .col-species {
	width: 84px;
}

.client-table .col-actions {
	width: 330px;
}
