:root{
	--bg-top:#eef5f0;
	--bg-bottom:#f8fafc;
	--card-bg:#ffffff;
	--text:#1f2937;
	--muted:#6b7280;
	--primary:#198754;
	--border:#e5e7eb;
}

body{
	color:var(--text);
	background:
		radial-gradient(circle at top right, #d9f2e3 0, transparent 38%),
		linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%);
	min-height:100vh;
}

.app-main{
	max-width:1400px;
	margin:0 auto;
	padding:1rem;
}

.page-title{
	font-weight:700;
	letter-spacing:.2px;
	margin-bottom:1rem;
}

.card{
	border:1px solid var(--border);
	border-radius:14px;
	background:var(--card-bg);
	box-shadow:0 8px 24px rgba(0,0,0,.05);
}

.table{
	margin-bottom:0;
}

.table th{
	white-space:nowrap;
	font-weight:600;
}

.table td,
.table th{
	vertical-align:middle;
}

.form-control,
.form-select{
	border-radius:10px;
	border-color:#d1d5db;
	min-height:40px;
}

.form-control:focus,
.form-select:focus{
	border-color:#75c79f;
	box-shadow:0 0 0 .2rem rgba(25,135,84,.12);
}

label{
	font-size:.9rem;
	color:var(--muted);
	margin-bottom:.25rem;
}

.btn{
	border-radius:10px;
	min-height:40px;
}

.btn-success{
	background-color:var(--primary);
	border-color:var(--primary);
}

.badge{
	font-size:.82rem;
}

.table-responsive{
	border-radius:10px;
}

@media (max-width: 991.98px){
	.app-main{
		padding:.85rem;
	}

	.page-title{
		font-size:1.3rem;
		margin-bottom:.85rem;
	}

	.card{
		border-radius:12px;
	}

	.card.p-3{
		padding:.9rem !important;
	}

	.table{
		font-size:.92rem;
	}
}

@media (max-width: 767.98px){
	.app-main{
		padding:.7rem;
	}

	.page-title{
		font-size:1.15rem;
	}

	.navbar-brand{
		font-size:1rem;
	}

	.card{
		border-radius:10px;
		box-shadow:0 6px 18px rgba(0,0,0,.045);
	}

	.card.p-3{
		padding:.75rem !important;
	}

	.btn,
	.form-control,
	.form-select{
		min-height:38px;
		font-size:.95rem;
	}

	.table{
		font-size:.86rem;
	}

	.table th,
	.table td{
		padding:.5rem .55rem;
	}

	.alert{
		font-size:.9rem;
		margin-bottom:.75rem;
	}
}

@media (max-width: 575.98px){
	.row.g-2 > [class*="col-"] .btn{
		width:100%;
	}

	.table-responsive{
		-webkit-overflow-scrolling:touch;
	}
}
