@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

.rf-portal,
.rf-admin-wrap {
	font-family: Arial, Helvetica, sans-serif;
	color: #000000;
}

.rf-portal h1,
.rf-portal h2,
.rf-portal h3,
.rf-admin-wrap h1,
.rf-admin-wrap h2,
.rf-admin-wrap h3 {
	font-family: 'Roboto', Arial, Helvetica, sans-serif;
	font-weight: 700;
	text-align: center;
	color: #006241;
	margin-top: 0;
}

.rf-panel,
.rf-card {
	background: #ffffff;
	border: 1px solid #f2f0eb;
	border-radius: 14px;
	box-shadow: 0 10px 24px rgba(30, 57, 50, 0.06);
	padding: 24px;
	margin-bottom: 20px;
}

.rf-panel {
	background: linear-gradient(135deg, #d4e9e2 0%, #ffffff 100%);
}

.rf-panel-intro {
	text-align: center;
	max-width: 900px;
	margin: 0 auto;
}

.rf-grid {
	display: grid;
	gap: 20px;
}

.rf-grid-2 {
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.rf-grid-3 {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.rf-tool-card {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	min-height: 220px;
}

.rf-tool-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(30, 57, 50, 0.12);
}

.rf-badge {
	display: inline-block;
	padding: 6px 10px;
	background: #006241;
	color: #ffffff;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 14px;
}

.rf-link {
	color: #00754a;
	font-weight: 700;
	text-decoration: none;
}

.rf-link:hover {
	color: #1e3932;
}

.rf-portal-topbar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.rf-userbox {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #ffffff;
	border-radius: 999px;
	padding: 10px 14px;
	border: 1px solid #d4e9e2;
}

.rf-login-card {
	max-width: 520px;
	margin: 0 auto;
}

.rf-login-form form {
	display: grid;
	gap: 14px;
}

.rf-login-form label {
	display: block;
	font-weight: 700;
	margin-bottom: 6px;
}

.rf-login-form input[type="text"],
.rf-login-form input[type="password"] {
	width: 100%;
	border: 1px solid #7e866f;
	border-radius: 10px;
	padding: 12px;
	font-size: 15px;
}

.rf-login-form input[type="submit"],
.rf-button,
.rf-admin-wrap .button.button-primary {
	background: #006241;
	border-color: #006241;
	color: #ffffff;
	border-radius: 10px;
	padding: 6px 16px;
	font-weight: 700;
	box-shadow: none;
}

.rf-login-form input[type="submit"]:hover,
.rf-button:hover,
.rf-admin-wrap .button.button-primary:hover {
	background: #00754a;
	border-color: #00754a;
	color: #ffffff;
}

.rf-secondary-button {
	background: #1e3932;
	border: 1px solid #1e3932;
	color: #ffffff;
	border-radius: 10px;
	padding: 10px 16px;
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
}

.rf-secondary-button:hover {
	background: #006241;
	border-color: #006241;
	color: #ffffff;
}

.rf-admin-table th,
.rf-admin-table thead td,
.rf-data-table th {
	background: #006241 !important;
	color: #ffffff !important;
	text-align: center;
	font-weight: 700;
	font-family: 'Roboto', Arial, Helvetica, sans-serif;
}

.rf-admin-table td,
.rf-data-table td {
	vertical-align: middle;
}

.rf-data-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 10px;
}

.rf-data-table th,
.rf-data-table td {
	padding: 10px;
	border: 1px solid #f2f0eb;
}

.rf-data-table tbody tr:nth-child(even) {
	background: #f9f9f9;
}

.rf-code {
	background: #1e3932;
	color: #ffffff;
	padding: 18px;
	border-radius: 12px;
	overflow-x: auto;
}

.rf-admin-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.rf-admin-tab {
	display: inline-block;
	padding: 10px 14px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 700;
	background: #d4e9e2;
	color: #1e3932;
}

.rf-admin-tab.is-active {
	background: #006241;
	color: #ffffff;
}

.rf-status {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}

.rf-status-pending {
	background: #fea500;
	color: #1e3932;
}

.rf-status-approved {
	background: #006241;
	color: #ffffff;
}

.rf-status-rejected {
	background: #1e3932;
	color: #ffffff;
}

.rf-metric-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
	margin-top: 20px;
}

.rf-metric {
	background: #f9f9f9;
	border: 1px solid #f2f0eb;
	border-radius: 12px;
	padding: 18px;
	text-align: center;
}

.rf-metric strong {
	display: block;
	font-size: 26px;
	color: #006241;
	font-family: 'Roboto', Arial, Helvetica, sans-serif;
}

.rf-note {
	background: #fff7e1;
	border-left: 4px solid #fea500;
	padding: 12px 14px;
	border-radius: 8px;
	margin: 12px 0;
}

.rf-form-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: end;
}

.rf-form-inline .rf-field {
	flex: 1 1 180px;
}

.rf-form-inline label {
	display: block;
	font-weight: 700;
	margin-bottom: 6px;
}

.rf-form-inline select,
.rf-form-inline input[type="text"],
.rf-form-inline input[type="number"],
.rf-admin-wrap input[type="text"],
.rf-admin-wrap input[type="number"],
.rf-admin-wrap select,
.rf-admin-wrap textarea {
	width: 100%;
	border: 1px solid #7e866f;
	border-radius: 10px;
	padding: 10px 12px;
}

.rf-admin-wrap textarea {
	min-height: 90px;
}

.rf-tool-header p {
	margin-bottom: 0;
	text-align: center;
}

@media (max-width: 782px) {
	.rf-portal-topbar {
		flex-direction: column;
	}

	.rf-userbox {
		width: 100%;
		justify-content: space-between;
	}
}
