/* ═══════════════════════════════════
   PRUVN ADMIN — Design System
   ═══════════════════════════════════ */

body { font-family: 'Inter', sans-serif; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: transparent; border-radius: 3px; }
*:hover::-webkit-scrollbar-thumb { background: rgba(148,163,184,0.35); }
*:hover::-webkit-scrollbar-thumb:hover { background: rgba(148,163,184,0.6); }
html::-webkit-scrollbar { width: 8px; }
html:hover::-webkit-scrollbar-thumb { background: rgba(148,163,184,0.3); }
* { scrollbar-width: thin; scrollbar-color: transparent transparent; }
*:hover { scrollbar-color: rgba(148,163,184,0.35) transparent; }

/* Sidebar */
.sidebar { transition: width 0.3s ease; }
.sidebar-collapsed { width: 64px !important; }
.sidebar-collapsed .sidebar-text { display: none; }
.sidebar-collapsed .sidebar-logo-text { display: none; }
.sidebar-collapsed .sidebar-section-label { display: none; }

/* Material icons inline fix */
.material-symbols-outlined { font-variation-settings: 'FILL' 1, 'wght' 400; vertical-align: middle; }

/* Cards */
.admin-card {
    background: #fff; border-radius: 12px; border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04); transition: box-shadow 0.2s;
}
.admin-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.06); }

/* Stat cards */
.stat-card {
    background: #fff; border-radius: 12px; padding: 20px 24px;
    border: 1px solid #e2e8f0; position: relative; overflow: hidden;
}
.stat-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
}
.stat-card-brand::before { background: #2D6A4F; }
.stat-card-mis::before { background: #B91C1C; }
.stat-card-dev::before { background: #B45309; }
.stat-card-blue::before { background: #2563EB; }
.stat-card-purple::before { background: #7C3AED; }
.stat-card-pink::before { background: #DB2777; }

/* Status badges */
.badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: 6px; font-size: 11px; font-weight: 600; }
.badge-success { background: #ECFDF5; color: #065F46; }
.badge-danger { background: #FEF2F2; color: #991B1B; }
.badge-warning { background: #FFFBEB; color: #92400E; }
.badge-info { background: #EFF6FF; color: #1E40AF; }
.badge-gray { background: #F1F5F9; color: #475569; }

/* Table */
.admin-table { width: 100%; text-align: left; font-size: 14px; }
.admin-table thead { background: #F8FAFC; border-bottom: 1px solid #E2E8F0; }
.admin-table th { padding: 12px 16px; font-weight: 600; font-size: 12px; color: #64748B; text-transform: uppercase; letter-spacing: 0.5px; }
.admin-table td { padding: 14px 16px; border-bottom: 1px solid #F1F5F9; }
.admin-table tr:hover { background: #F8FAFC; }

/* Buttons */
.btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.15s; border: none; }
.btn-brand { background: #2D6A4F; color: #fff; }
.btn-brand:hover { background: #1B4332; }
.btn-danger { background: #B91C1C; color: #fff; }
.btn-danger:hover { background: #991B1B; }
.btn-outline { background: #fff; border: 1px solid #E2E8F0; color: #475569; }
.btn-outline:hover { background: #F8FAFC; border-color: #CBD5E1; }
.btn-sm { padding: 5px 10px; font-size: 12px; }

/* Form inputs */
.form-input {
    width: 100%; padding: 10px 14px; border-radius: 8px; border: 1px solid #E2E8F0;
    font-size: 14px; color: #1E293B; background: #fff; transition: border-color 0.2s;
}
.form-input:focus { outline: none; border-color: #2D6A4F; box-shadow: 0 0 0 3px rgba(45,106,79,0.1); }
.form-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%2364748B'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; }

/* Quill editor override */
.ql-container { font-family: 'Inter', sans-serif !important; min-height: 200px; }
.ql-editor { font-size: 14px; line-height: 1.7; }

/* Animations */
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.fade-in { animation: fadeIn 0.3s ease; }

/* Toast */
.admin-toast {
    position: fixed; bottom: 24px; right: 24px; z-index: 9999;
    padding: 12px 20px; border-radius: 10px; font-size: 13px; font-weight: 600;
    color: #fff; background: #1E293B; box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    transform: translateY(100px); opacity: 0; transition: all 0.3s ease;
}
.admin-toast.show { transform: translateY(0); opacity: 1; }
