.rbs-price-row{
display:flex;
justify-content:space-between;
align-items:center;
margin-top:15px;
}

.rbs-price{
font-size:20px;
font-weight:700;
color:#050505;
}

.rbs-enroll-btn{
background:#D4AF37;
color:#050505;
border:none;
padding:10px 18px;
border-radius:6px;
font-weight:700;
cursor:pointer;
transition:.3s;
}

.rbs-enroll-btn:hover{
opacity:.9;
}
/* ==========================================================================
   Verification & Withdrawal Engine
   ========================================================================== */

.rbs-verified-badge{
display:inline-block;
background:#e6f6ec;
color:#1a7f37;
border:1px solid #1a7f37;
border-radius:20px;
padding:2px 10px;
font-size:12px;
font-weight:700;
vertical-align:middle;
}

.rbs-status-badge{
display:inline-block;
border-radius:20px;
padding:2px 10px;
font-size:12px;
font-weight:700;
text-transform:capitalize;
background:#eee;
color:#444;
}

.rbs-status-approved,
.rbs-status-paid{
background:#e6f6ec;
color:#1a7f37;
}

.rbs-status-pending,
.rbs-status-under_review{
background:#fff6e5;
color:#a86400;
}

.rbs-status-rejected,
.rbs-status-cancelled{
background:#fdeaea;
color:#c62828;
}

.rbs-verification-panel,
.rbs-instructor-withdrawals,
.rbs-request-payout{
background:#fff;
border:1px solid #e2e2e2;
border-radius:8px;
padding:20px;
margin-bottom:20px;
}

.rbs-verification-panel label{
font-weight:600;
}

.rbs-verification-panel input[type="text"],
.rbs-verification-panel input[type="file"],
.rbs-verification-panel select,
.rbs-instructor-withdrawals input[type="number"]{
width:100%;
max-width:420px;
padding:8px 10px;
border:1px solid #ccc;
border-radius:6px;
margin-top:4px;
}

.rbs-btn,
.rbs-verification-submit-btn,
.rbs-withdrawal-submit-btn,
.rbs-cancel-withdrawal-btn{
background:#D4AF37;
color:#050505;
border:none;
padding:10px 18px;
border-radius:6px;
font-weight:700;
cursor:pointer;
transition:.3s;
}

.rbs-cancel-withdrawal-btn{
background:#fdeaea;
color:#c62828;
padding:6px 12px;
font-size:12px;
}

.rbs-btn:hover,
.rbs-verification-submit-btn:hover,
.rbs-withdrawal-submit-btn:hover{
opacity:.9;
}

.rbs-btn:disabled{
opacity:.6;
cursor:not-allowed;
}

.rbs-verification-message,
.rbs-withdrawal-message{
margin-top:10px;
padding:10px;
border-radius:6px;
background:#f1f1f1;
}

.rbs-verification-success{
background:#e6f6ec;
color:#1a7f37;
}

.rbs-verification-error{
background:#fdeaea;
color:#c62828;
}

.rbs-verification-gate{
background:#fff6e5;
border:1px solid #f0dca0;
border-radius:8px;
padding:16px;
margin-bottom:20px;
}

.rbs-notice{
border-radius:6px;
padding:10px 14px;
margin-bottom:16px;
}

.rbs-notice-success{
background:#e6f6ec;
color:#1a7f37;
}

.rbs-notice-error{
background:#fdeaea;
color:#c62828;
}

.rbs-aff-identity{
text-align:right;
padding:6px 0;
}

/* ------------------------------------------------------------------ */
/* Tutor LMS instructor dashboard integration (Phase 1 & 2)           */
/* ------------------------------------------------------------------ */

.rbs-dashboard-page .rbs-cards-grid,
.rbs-cards-grid-homepage {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:16px;
margin-bottom:16px;
}

.rbs-card {
background:#fff;
border:1px solid #e4e5e7;
border-radius:8px;
padding:16px 18px;
display:flex;
flex-direction:column;
gap:6px;
}

.rbs-card-label {
font-size:13px;
color:#6e727a;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
display:block;
}

.rbs-card-value {
font-size:clamp(14px, 4vw, 22px);
font-weight:700;
color:#212327;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
max-width:100%;
display:block;
}

.rbs-table {
width:100%;
border-collapse:collapse;
}

.rbs-table th,
.rbs-table td {
text-align:left;
padding:10px 12px;
border-bottom:1px solid #e4e5e7;
font-size:14px;
}

.rbs-status {
display:inline-block;
padding:2px 10px;
border-radius:12px;
font-size:12px;
font-weight:600;
text-transform:capitalize;
}

.rbs-status-completed,
.rbs-status-approved,
.rbs-status-paid { background:#e6f6ec; color:#1a7f37; }

.rbs-status-pending { background:#fff4e0; color:#9a6700; }

.rbs-status-failed,
.rbs-status-rejected { background:#fdeaea; color:#c62828; }

.rbs-status-refunded,
.rbs-status-partially_refunded { background:#eef1ff; color:#3949ab; }

.rbs-pagination {
display:flex;
gap:6px;
margin-top:16px;
}

.rbs-pagination a {
padding:6px 12px;
border:1px solid #e4e5e7;
border-radius:6px;
text-decoration:none;
color:#212327;
}

.rbs-pagination a.active {
background:#212327;
color:#fff;
border-color:#212327;
}

.rbs-referral-link-box input {
width:100%;
max-width:480px;
}

.rbs-dashboard-homepage-widgets {
margin-top:8px;
}

.rbs-notification-list {
list-style:none;
margin:0;
padding:0;
display:flex;
flex-direction:column;
gap:8px;
}

.rbs-notification-list li {
display:flex;
justify-content:space-between;
gap:12px;
padding:10px 14px;
border:1px solid #e4e5e7;
border-radius:8px;
font-size:13px;
}

.rbs-notification-list li.rbs-notification-unread {
border-left:3px solid #212327;
background:#fafafa;
}

.rbs-notification-time {
color:#8a8f98;
white-space:nowrap;
}

/* Global button loading-state — applies wherever RBSMarketplace's
   bindLoadingStates()/withLoadingState() sets this class, site-wide. */
.rbs-btn-loading {
opacity: 0.75;
cursor: not-allowed !important;
position: relative;
padding-left: 30px !important;
}

.rbs-btn-loading::before {
content: "";
position: absolute;
left: 10px;
top: 50%;
width: 14px;
height: 14px;
margin-top: -7px;
border: 2px solid rgba(255,255,255,0.4);
border-top-color: currentColor;
border-radius: 50%;
animation: rbs-btn-spin 0.6s linear infinite;
}

@keyframes rbs-btn-spin {
to { transform: rotate(360deg); }
}

/* Shared image cropper modal — RBSMarketplace.openImageCropper() */
.rbs-cropper-overlay {
position: fixed;
inset: 0;
z-index: 999999;
background: rgba(10,10,10,0.88);
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
}

.rbs-cropper-modal {
background: #fff;
border-radius: 14px;
padding: 24px;
max-width: 92vw;
display: flex;
flex-direction: column;
gap: 18px;
align-items: center;
}

.rbs-cropper-frame {
position: relative;
overflow: hidden;
max-width: 80vw;
max-height: 60vh;
width: 420px;
border-radius: 8px;
border: 2px solid #D4AF37;
background: #16171a;
cursor: grab;
touch-action: none;
}

.rbs-cropper-frame:active,
.rbs-cropper-frame.is-dragging {
cursor: grabbing;
}

.rbs-cropper-image {
position: absolute;
top: 0;
left: 0;
max-width: none;
user-select: none;
-webkit-user-drag: none;
pointer-events: none;
}

.rbs-cropper-controls {
display: flex;
align-items: center;
gap: 12px;
width: 100%;
max-width: 420px;
}

.rbs-cropper-controls label {
font-size: 13px;
font-weight: 700;
color: #16171a;
white-space: nowrap;
}

.rbs-cropper-zoom {
flex: 1;
}

.rbs-cropper-actions {
display: flex;
gap: 12px;
width: 100%;
max-width: 420px;
}

.rbs-cropper-cancel,
.rbs-cropper-apply {
flex: 1;
padding: 11px;
border-radius: 8px;
font-weight: 700;
font-size: 13.5px;
cursor: pointer;
border: 1.5px solid #16171a;
}

.rbs-cropper-cancel {
background: #fff;
color: #16171a;
}

.rbs-cropper-apply {
background: #16171a;
color: #D4AF37;
}

/*
|--------------------------------------------------------------------------
| International Payouts — Payout Method Selector
|--------------------------------------------------------------------------
*/

.rbs-payout-method-select {
margin-bottom: 20px;
}

.rbs-payout-method-option {
display: block;
border: 1.5px solid #e2e2e2;
border-radius: 8px;
padding: 12px 14px;
margin-top: 8px;
cursor: pointer;
transition: border-color .15s ease;
}

.rbs-payout-method-option:has(input:checked) {
border-color: #16171a;
background: #fafafa;
}

.rbs-payout-method-option input[type="radio"] {
margin-right: 8px;
}

.rbs-payout-method-option__title {
font-weight: 700;
}

.rbs-payout-method-option__desc {
display: block;
margin-left: 22px;
font-size: 13px;
color: #666;
}

.rbs-intl-country-badge {
display: inline-block;
background: #16171a;
color: #D4AF37;
border-radius: 4px;
padding: 1px 8px;
font-size: 11px;
font-weight: 700;
letter-spacing: .04em;
}

.rbs-intl-unconfirmed {
color: #b45309;
}

.rbs-intl-confirmed {
color: #15803d;
}

.rbs-confirm-name-link {
font-size: 12px;
}

.rbs-account-name-preview.rbs-valid {
color: #15803d;
}

.rbs-account-name-preview.rbs-invalid {
color: #b91c1c;
}
