/* ==========================================================================
   Patient Invoice Manager — Frontend Styles
   ========================================================================== */

/* ---------- Layout ---------- */
.pim-invoice-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5rem;
	padding: 1rem 0;
	box-sizing: border-box;
}

/* ---------- Card ---------- */
.pim-card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.pim-card:hover {
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}

/* ---------- Card Icon ---------- */
.pim-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem 1.5rem 0.75rem;
	color: #2563eb;
}

.pim-card-icon svg {
	width: 48px;
	height: 48px;
	stroke: #2563eb;
}

/* ---------- Card Body ---------- */
.pim-card-body {
	flex: 1;
	padding: 0 1.25rem 0.75rem;
	text-align: center;
}

.pim-card-title {
	margin: 0 0 0.4rem;
	font-size: 1rem;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.4;
	word-break: break-word;
}

.pim-card-date {
	margin: 0;
	font-size: 0.8125rem;
	color: #64748b;
}

/* ---------- Card Footer ---------- */
.pim-card-footer {
	padding: 0.875rem 1.25rem 1.25rem;
	text-align: center;
}

/* ---------- Download Button ---------- */
.pim-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.55rem 1.2rem;
	background-color: #2563eb;
	color: #ffffff;
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	transition: background-color 0.18s ease, box-shadow 0.18s ease;
	line-height: 1.4;
	white-space: nowrap;
}

.pim-btn:hover,
.pim-btn:focus {
	background-color: #1d4ed8;
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 4px 10px rgba(37, 99, 235, 0.35);
	outline: none;
}

.pim-btn:active {
	background-color: #1e40af;
}

.pim-btn-icon {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
}

/* ---------- No file / Messages ---------- */
.pim-no-file {
	font-size: 0.8125rem;
	color: #94a3b8;
	font-style: italic;
}

.pim-message {
	padding: 1rem 1.25rem;
	border-radius: 8px;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.pim-not-logged-in {
	background: #fef3c7;
	border: 1px solid #f59e0b;
	color: #92400e;
}

.pim-no-invoices {
	background: #f1f5f9;
	border: 1px solid #cbd5e1;
	color: #475569;
}

/* ---------- Responsive ---------- */
@media (max-width: 480px) {
	.pim-invoice-grid {
		grid-template-columns: 1fr;
	}
}
