/**
 * RentConnect Maintenance Stylesheet
 * Consumes RentConnect Core design tokens; no :root redeclaration.
 */

.rc-maintenance-wrapper {
	font-family: var(--rc-font-body, system-ui, -apple-system, sans-serif);
	color: var(--rc-text-main, #1e293b);
	margin-bottom: 2rem;
}

.rc-card { background: var(--rc-surface, #ffffff); border-radius: var(--rc-radius, 8px); border: 1px solid var(--rc-border, #e2e8f0); }
.rc-p-6 { padding: 1.5rem; }
.rc-mb-3 { margin-bottom: 0.75rem; }
.rc-mb-4 { margin-bottom: 1rem; }
.rc-flex { display: flex; }
.rc-items-center { align-items: center; }
.rc-justify-between { justify-content: space-between; }
.rc-justify-end { justify-content: flex-end; }
.rc-border-t { border-top: 1px solid var(--rc-border, #e2e8f0); }
.rc-pt-3 { padding-top: 0.75rem; }
.rc-space-y-4 > * + * { margin-top: 1rem; }
.rc-font-heading { font-family: var(--rc-font-heading, var(--rc-font-body, system-ui, -apple-system, sans-serif)); }
.rc-font-bold { font-weight: 700; }
.rc-text-lg { font-size: 1.125rem; }
.rc-text-xl { font-size: 1.25rem; }
.rc-text-sm { font-size: 0.875rem; }
.rc-text-xs { font-size: 0.75rem; }
.rc-text-main { color: var(--rc-text-main, #1e293b); }
.rc-text-muted { color: var(--rc-text-muted, #64748b); }
.rc-text-error { color: #991b1b; }

.rc-form-group { margin-bottom: 1.25rem; }
.rc-form-label { display: block; font-size: 0.875rem; font-weight: 600; margin-bottom: 0.375rem; color: var(--rc-text-main, #1e293b); }
.rc-form-input,
.rc-form-textarea,
.rc-form-select {
	width: 100%;
	padding: 0.625rem 0.875rem;
	font-size: 0.9375rem;
	border: 1px solid var(--rc-border, #cbd5e1);
	border-radius: var(--rc-radius-sm, 6px);
	background-color: var(--rc-surface, #ffffff);
	color: var(--rc-text-main, #1e293b);
}
.rc-form-input:focus,
.rc-form-textarea:focus,
.rc-form-select:focus {
	outline: none;
	border-color: var(--rc-primary, #2563eb);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.rc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.625rem 1.25rem;
	font-weight: 600;
	font-size: 0.875rem;
	border-radius: var(--rc-radius, 8px);
	border: 1px solid transparent;
	cursor: pointer;
	transition: all 0.2s ease;
}
.rc-btn-primary { background-color: var(--rc-primary, #2563eb); color: #ffffff; }
.rc-btn-primary:hover { filter: brightness(0.92); }
.rc-btn-sm { padding: 0.4rem 0.875rem; font-size: 0.8125rem; }
.rc-btn:disabled { opacity: 0.6; cursor: not-allowed; }

.rc-alert { padding: 0.875rem 1rem; border-radius: var(--rc-radius-sm, 6px); font-size: 0.875rem; margin-bottom: 1rem; }
.rc-alert-success { background-color: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }
.rc-alert-warning { background-color: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.rc-alert-error { background-color: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.rc-alert-info { background-color: #eff6ff; border: 1px solid #bfdbfe; color: #1e40af; }

.rc-app-card {
	border: 1px solid var(--rc-border, #e2e8f0);
	border-radius: var(--rc-radius, 8px);
	padding: 1.25rem;
	background-color: var(--rc-surface, #ffffff);
	margin-bottom: 1rem;
	box-shadow: var(--rc-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
}
.rc-app-card-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 0.75rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--rc-border, #f1f5f9);
}

.rc-status-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	white-space: nowrap;
}
.rc-status-submitted { background-color: #fef3c7; color: #92400e; }
.rc-status-in_progress { background-color: #dbeafe; color: #1e40af; }
.rc-status-resolved { background-color: #dcfce7; color: #166534; }

.rc-loading-spinner { display: flex; align-items: center; justify-content: center; gap: 0.75rem; padding: 2rem 0; }
.rc-spinner {
	width: 1.25rem;
	height: 1.25rem;
	border: 2px solid var(--rc-border, #e2e8f0);
	border-top-color: var(--rc-primary, #2563eb);
	border-radius: 50%;
	animation: rc-maintenance-spin 0.8s linear infinite;
}
@keyframes rc-maintenance-spin {
	to { transform: rotate(360deg); }
}
