:root {
	--brand-900: #0f2f2a;
	--brand-800: #16453d;
	--brand-700: #1f5d53;
	--brand-600: #2c7a6b;
	--accent-500: #f4b740;
	--surface-0: #ffffff;
	--surface-50: #f7faf9;
	--surface-100: #eef4f2;
	--surface-200: #dde8e4;
	--text-900: #17322d;
	--text-700: #3f5a54;
	--text-500: #68817a;
	--danger-500: #dc3545;
	--shadow-soft: 0 16px 40px rgba(12, 41, 35, 0.12);
	--radius-lg: 20px;
	--radius-md: 12px;
	--btn-radius: 12px;
	--btn-height: 42px;
}

body {
	color: var(--text-900);
	background: var(--surface-50);
}

.btn {
	min-height: var(--btn-height);
	border-radius: var(--btn-radius);
	font-weight: 700;
	font-size: 14px;
	line-height: 1.15;
	padding: 10px 16px;
	border-width: 1px;
	transition: all 0.18s ease;
}

.btn i {
	margin-right: 6px;
}

.btn:focus-visible {
	box-shadow: 0 0 0 0.2rem rgba(44, 122, 107, 0.22);
}

.btn-primary {
	background: linear-gradient(180deg, var(--brand-700), var(--brand-800));
	border-color: var(--brand-800);
	color: #fff;
}

.btn-primary:hover,
.btn-primary:focus {
	background: linear-gradient(180deg, var(--brand-800), var(--brand-900));
	border-color: var(--brand-900);
	color: #fff;
	transform: translateY(-1px);
}

.btn-secondary {
	background: #e8f1ee;
	border-color: #d4e4de;
	color: var(--text-900);
}

.btn-secondary:hover,
.btn-secondary:focus {
	background: #dceae4;
	border-color: #c4dad1;
	color: var(--text-900);
	transform: translateY(-1px);
}

.btn-danger {
	background: linear-gradient(180deg, #dc3545, #c6303f);
	border-color: #b02a37;
	color: #fff;
}

.btn-danger:hover,
.btn-danger:focus {
	background: linear-gradient(180deg, #c6303f, #a82734);
	border-color: #92212d;
	color: #fff;
	transform: translateY(-1px);
}

.btn-sm {
	min-height: 34px;
	padding: 7px 12px;
	border-radius: 10px;
	font-size: 13px;
}

.btn:disabled,
.btn.disabled {
	opacity: 0.58;
	transform: none !important;
}

.form-control,
.form-select {
	border-color: var(--surface-200);
	border-radius: 10px;
	min-height: 42px;
}

.form-control:focus,
.form-select:focus {
	border-color: var(--brand-600);
	box-shadow: 0 0 0 0.2rem rgba(44, 122, 107, 0.15);
}

.card-surface {
	background: var(--surface-0);
	border: 1px solid var(--surface-200);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
}
