/* Basic helpers without Tailwind build step */
.input {
	width: 100%;
	border: 1px solid #d1d5db; /* gray-300 */
	border-radius: 0.375rem; /* rounded-md */
	padding: 0.5rem 0.75rem; /* px-3 py-2 */
	font-size: 0.875rem; /* text-sm */
	outline: none;
	transition: box-shadow 120ms, border-color 120ms;
}
.input:focus {
	border-color: #fda4af; /* primary-300 approx maroon */
	box-shadow: 0 0 0 2px rgba(190, 18, 60, 0.25);
}

.btn {
	border: 1px solid #e5e7eb; /* gray-200 */
	border-radius: 0.375rem;
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	background-color: #ffffff;
}
.btn:hover { background-color: #f9fafb; }

.card {
	border: 1px solid #e5e7eb;
	background: #ffffff;
	border-radius: 0.5rem; /* rounded-lg */
	padding: 1rem;
	box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.stat { border: 1px solid #e5e7eb; background: #ffffff; border-radius: 0.5rem; padding: 1rem; }
.stat-title { font-size: 0.75rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; }
.stat-value { margin-top: .5rem; font-size: 1.5rem; font-weight: 700; }

.badge { display: inline-flex; align-items: center; border-radius: 9999px; background: #fff1f2; color: #be123c; padding: 0 .5rem; height: 1.25rem; font-size: .75rem; }
.tag { display: inline-flex; align-items: center; border-radius: .25rem; background: #f3f4f6; color: #374151; padding: 0 .5rem; height: 1.25rem; font-size: .75rem; }

.card-grid { display: grid; gap: .75rem; }

.modal-open { overflow: hidden; }

/* Utilities */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-clamp: 2; }
