/* ==========================================
   Base Container & Layout
========================================== */
.sc-container, .sc-dashboard-wrapper { 
    background: #fff; 
    padding: 20px; 
    border-radius: 12px; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    color: #333;
}

.sc-box { 
    background: #fff; 
    padding: 20px; 
    border: 1px solid #e2e8f0; 
    border-radius: 8px; 
}

/* ==========================================
   Welcome Header (Center Dashboard)
========================================== */
.sc-welcome-header { 
    margin-bottom: 20px; 
    padding-bottom: 15px; 
    border-bottom: 2px solid #f1f5f9; 
}
.sc-welcome-header h2 { 
    margin: 0; 
    color: #1e293b; 
    font-size: 24px; 
    font-weight: 600;
}
.sc-welcome-header p { 
    margin: 5px 0 0; 
    color: #64748b; 
    font-size: 14px;
}

/* ==========================================
   4-Column Compact Grid (Cards)
========================================== */
.sc-grid-4 { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); 
    gap: 15px; 
    margin-bottom: 20px; 
}
.sc-card { 
    padding: 15px; 
    border-radius: 8px; 
    color: #fff; 
    text-align: center; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.sc-card h2 { 
    margin: 5px 0 0; 
    font-size: 24px; 
    font-weight: bold; 
}
.sc-card label { 
    display: block; 
    font-size: 11px; 
    text-transform: uppercase; 
    letter-spacing: 0.5px; 
    opacity: 0.9; 
}
.sc-card i { 
    font-size: 22px; 
    margin-bottom: 5px; 
    height: auto; 
    width: auto; 
}

/* Card Colors (Updated Total Paid Card) */
.card-dark { 
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); 
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
}
.card-blue { background: #3b82f6; }
.card-orange { background: #f59e0b; }
.card-green { background: #10b981; }
.card-red { background: #ef4444; }

/* Responsive adjustments for Cards */
@media (max-width: 992px) { 
    .sc-grid-4 { grid-template-columns: repeat(2, 1fr); } 
}
@media (max-width: 576px) { 
    .sc-grid-4 { grid-template-columns: 1fr; } 
}

/* ==========================================
   Progress Bar
========================================== */
.sc-progress-bg { 
    background: #e2e8f0; 
    border-radius: 20px; 
    height: 12px; 
    width: 100%; 
    overflow: hidden; 
    margin-top: 10px; 
}
.sc-progress-bar { 
    background: #10b981; 
    height: 100%; 
    transition: width 0.5s ease; 
}

/* ==========================================
   Tables & 2-Column Layout
========================================== */
.sc-grid-2 { 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 20px; 
}
@media (max-width: 768px) { 
    .sc-grid-2 { grid-template-columns: 1fr; } 
}

.sc-table-responsive { 
    max-height: 350px; 
    overflow-y: auto; 
}

.sc-main-table { 
    width: 100%; 
    border-collapse: collapse; 
}
.sc-main-table th {
    background: #f8fafc;
    padding: 12px;
    text-align: left;
    border-bottom: 2px solid #e2e8f0;
    font-size: 13px;
    color: #475569;
}
.sc-main-table td { 
    padding: 12px; 
    border-bottom: 1px solid #f1f5f9; 
    font-size: 14px;
}

/* ==========================================
   Master Center Tabs
========================================== */
.sc-tabs-nav { 
    display: flex; 
    border-bottom: 2px solid #f1f5f9; 
    margin-bottom: 20px; 
    flex-wrap: wrap;
}
.tab-link { 
    padding: 12px 20px; 
    border: none; 
    background: none; 
    cursor: pointer; 
    font-weight: 600; 
    color: #64748b; 
    font-size: 14px;
}
.tab-link:hover { color: #3b82f6; }
.tab-link.active { 
    border-bottom: 3px solid #3b82f6; 
    color: #3b82f6; 
}
.apex-tab-content { display: none; }
.apex-tab-content.active { display: block; animation: fadeIn 0.3s; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ==========================================
   Forms & Buttons
========================================== */
.sc-grid-form { 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 15px; 
}
.full-width { grid-column: span 2; }
textarea.full-width { height: 80px; resize: vertical; }

.sc-grid-form input, .sc-grid-form select, .sc-grid-form textarea {
    padding: 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 14px;
}

.sc-btn-save { 
    background: #0f172a; 
    color: #fff; 
    padding: 10px 20px; 
    border: none; 
    border-radius: 6px; 
    cursor: pointer; 
    font-weight: 500;
    transition: 0.2s;
}
.sc-btn-save:hover { background: #1e293b; }

/* ==========================================
   Alerts & Badges
========================================== */
.sc-alert { 
    padding: 15px; 
    margin-bottom: 15px; 
    border-radius: 6px; 
    font-weight: 500;
}
.sc-alert.success { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.sc-alert.error { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }

.sc-badge-success { 
    background: #dcfce7; 
    color: #166534; 
    padding: 4px 8px; 
    border-radius: 4px; 
    font-size: 12px; 
    font-weight: bold; 
}
.sc-badge-pending { 
    background: #fef3c7; 
    color: #92400e; 
    padding: 4px 8px; 
    border-radius: 4px; 
    font-size: 12px; 
    font-weight: bold; 
}