.rsa-shell {
	--rsa-bg: #0B1220;
	--rsa-panel: #111A2B;
	--rsa-line: #223047;
	--rsa-text: #E7EEF7;
	--rsa-mute: #8CA0BE;
	--rsa-accent: #3DBEFF;
	--rsa-accent2: #22D3AA;
	font-family: -apple-system, "Segoe UI", Arial, sans-serif;
	background: var(--rsa-bg);
	color: var(--rsa-text);
	padding: 24px;
	border-radius: 20px;
}

.rsa-notice {
	background: rgba(34, 211, 170, 0.12);
	border: 1px solid rgba(34, 211, 170, 0.4);
	color: var(--rsa-accent2);
	padding: 10px 14px;
	border-radius: 10px;
	margin-bottom: 14px;
	font-size: 13px;
}
.rsa-denied {
	background: rgba(255, 90, 90, 0.1);
	border: 1px solid rgba(255, 90, 90, 0.4);
	color: #FF8A8A;
	padding: 10px 14px;
	border-radius: 10px;
	margin-bottom: 14px;
	font-size: 13px;
}

.rsa-grid {
	display: grid;
	grid-template-columns: 210px 1fr;
	gap: 22px;
	max-width: 1180px;
	margin: 0 auto;
}
@media (max-width: 820px) {
	.rsa-grid { grid-template-columns: 1fr; }
}

.rsa-sidebar {
	background: var(--rsa-panel);
	border: 1px solid var(--rsa-line);
	border-radius: 16px;
	padding: 16px 10px;
	height: max-content;
	position: sticky;
	top: 16px;
}
.rsa-logo {
	font-weight: 700;
	font-size: 15px;
	padding: 4px 12px 16px;
	color: #fff;
}
.rsa-logo span { display: block; font-weight: 400; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--rsa-accent); }
.rsa-logo-center { text-align: center; padding: 0 0 20px; }

.rsa-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	font-size: 13px;
	color: var(--rsa-mute);
	text-decoration: none;
	margin-bottom: 2px;
}
.rsa-link:hover { background: rgba(61, 190, 255, 0.08); }
.rsa-link.active { background: var(--rsa-accent); color: #071019; font-weight: 600; }
.rsa-logout { margin-top: 10px; border-top: 1px solid var(--rsa-line); padding-top: 12px; }

.rsa-main { min-width: 0; }
.rsa-title { font-size: 19px; margin: 0 0 16px; color: #fff; }

.rsa-stat-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}
.rsa-stat {
	background: var(--rsa-panel);
	border: 1px solid var(--rsa-line);
	border-radius: 14px;
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.rsa-stat span { font-size: 12px; color: var(--rsa-mute); }
.rsa-stat strong { font-size: 20px; color: #fff; }

.rsa-panel {
	background: var(--rsa-panel);
	border: 1px solid var(--rsa-line);
	border-radius: 16px;
	padding: 18px;
	margin-bottom: 18px;
}
.rsa-panel-flush { padding: 0; overflow: hidden; }
.rsa-panel h4 { font-size: 13px; color: var(--rsa-mute); margin: 0 0 14px; font-weight: 600; }

.rsa-bars { display: flex; align-items: flex-end; gap: 10px; height: 130px; }
.rsa-bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 6px; }
.rsa-bar { width: 100%; max-width: 30px; background: linear-gradient(180deg, var(--rsa-accent2), var(--rsa-accent)); border-radius: 6px 6px 0 0; min-height: 2px; }
.rsa-bar-col span { font-size: 10px; color: var(--rsa-mute); }

.rsa-plan-split { display: flex; gap: 20px; font-size: 13px; flex-wrap: wrap; }
.rsa-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-left: 6px; }

.rsa-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.rsa-table th, .rsa-table td { text-align: right; padding: 12px 16px; border-bottom: 1px solid var(--rsa-line); }
.rsa-table th { color: var(--rsa-mute); font-weight: 600; background: rgba(255,255,255,0.02); }
.rsa-table small { color: var(--rsa-mute); }

.rsa-badge { font-size: 11px; padding: 3px 10px; border-radius: 999px; }
.rsa-badge-green { background: rgba(34,211,170,0.15); color: var(--rsa-accent2); }
.rsa-badge-red { background: rgba(255,90,90,0.15); color: #FF8A8A; }

.rsa-mini-link { color: var(--rsa-accent); text-decoration: none; font-size: 12px; }
.rsa-mini-link:hover { text-decoration: underline; }

.rsa-form h4 { font-size: 13px; color: var(--rsa-mute); margin: 18px 0 10px; }
.rsa-form h4:first-child { margin-top: 0; }
.rsa-form label { display: block; font-size: 12px; color: var(--rsa-mute); margin-bottom: 10px; }
.rsa-form input {
	display: block; width: 100%; box-sizing: border-box; margin-top: 4px; padding: 9px 12px;
	border-radius: 10px; border: 1px solid var(--rsa-line); background: #0E1524; color: #fff; font-size: 13px;
}
.rsa-two-col { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; }
.rsa-price-pair { display: flex; gap: 6px; margin-top: 4px; }
.rsa-price-pair input { margin-top: 0; }

.rsa-btn {
	display: inline-block; padding: 10px 20px; border-radius: 10px; font-size: 13px;
	font-weight: 600; border: none; cursor: pointer; text-decoration: none;
}
.rsa-btn-primary { background: var(--rsa-accent); color: #071019; }
.rsa-btn-outline { background: transparent; color: var(--rsa-text); border: 1px solid var(--rsa-line); }

.rsa-login-shell { min-height: 60vh; display: flex; align-items: center; justify-content: center; }
.rsa-login-box {
	background: var(--rsa-panel);
	border: 1px solid var(--rsa-line);
	border-radius: 18px;
	padding: 30px;
	max-width: 340px;
	width: 100%;
}
.rsa-login-box input {
	width: 100%; box-sizing: border-box; padding: 10px 12px; margin-bottom: 10px;
	border-radius: 10px; border: 1px solid var(--rsa-line); background: #0E1524; color: #fff; font-size: 13px;
}
.rsa-login-box button { width: 100%; margin-top: 4px; }
