/* ═══════════════════════════════════════════════
   TrustPulsar — Admin Panel Styles
   ═══════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body.tp-admin{font-family:'DM Sans',-apple-system,sans-serif;background:#F5F5FA;color:#1d2327;display:flex;min-height:100vh}

/* ─── Sidebar ─── */
.tp-sidebar{width:240px;background:#0A0A0F;color:#EEEEF5;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto}
.tp-sidebar-logo{padding:24px 20px;font-family:'Playfair Display',serif;font-size:20px;font-weight:700;border-bottom:1px solid #1E1E30}
.tp-sidebar-logo a{color:#EEEEF5;text-decoration:none}
.tp-sidebar-logo span{color:#6C5CE7}
.tp-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}
.tp-nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;color:#7A7A9A;text-decoration:none;font-size:14px;font-weight:500;transition:all .15s}
.tp-nav-item:hover{background:#14141E;color:#EEEEF5}
.tp-nav-item.active{background:#6C5CE7;color:#fff}
.tp-nav-icon{font-size:18px;width:24px;text-align:center}
.tp-sidebar-footer{padding:16px 12px;border-top:1px solid #1E1E30}
.tp-admin-info{padding:8px 14px;font-size:13px;color:#7A7A9A}
.tp-nav-logout{color:#FF6B6B !important}
.tp-nav-logout:hover{background:rgba(255,107,107,.1) !important}

/* ─── Main ─── */
.tp-main{flex:1;margin-left:240px;padding:32px;min-height:100vh}

/* ─── Login Page ─── */
.tp-login-page{font-family:'DM Sans',-apple-system,sans-serif;background:#050508;color:#EEEEF5;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.tp-login-card{background:#0D0D14;border:1px solid #1E1E30;border-radius:16px;padding:40px;max-width:420px;width:100%;box-shadow:0 8px 32px rgba(0,0,0,.4)}
.tp-logo{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;margin-bottom:4px}
.tp-logo span{color:#6C5CE7}
.tp-login-subtitle{color:#7A7A9A;font-size:14px;margin-bottom:28px}
.tp-login-card label{display:block;color:#7A7A9A;font-size:13px;margin-bottom:6px}
.tp-login-card input{width:100%;padding:12px 16px;border-radius:10px;background:#050508;border:1px solid #1E1E30;color:#EEEEF5;font-size:14px;margin-bottom:16px;outline:none;font-family:inherit}
.tp-login-card input:focus{border-color:#6C5CE7}

/* ─── Stats Grid ─── */
.tp-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px}
.tp-stat-card{background:#fff;border:1px solid #E8E8EE;border-radius:14px;padding:24px;box-shadow:0 1px 4px rgba(0,0,0,.04);transition:transform .15s,box-shadow .15s}
.tp-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.08)}
.tp-stat-icon{font-size:28px;margin-bottom:10px}
.tp-stat-value{font-size:32px;font-weight:800;color:#1d2327}
.tp-stat-label{font-size:13px;color:#888;margin-top:4px}
.tp-stat-accent .tp-stat-value{color:#E17055}

/* ─── Card ─── */
.tp-card{background:#fff;border:1px solid #E8E8EE;border-radius:14px;padding:24px;margin-bottom:20px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.tp-card h2{font-size:18px;font-weight:700;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #F0F0F5;display:flex;align-items:center;gap:8px}

/* ─── Badge ─── */
.tp-badge{background:#6C5CE7;color:#fff;font-size:11px;padding:2px 8px;border-radius:50px;font-weight:600}

/* ─── Table ─── */
.tp-table{width:100%;border-collapse:collapse}
.tp-table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999;border-bottom:2px solid #F0F0F5}
.tp-table td{padding:12px;border-bottom:1px solid #F8F8FA;font-size:14px;vertical-align:middle}
.tp-table tbody tr:hover{background:#F8F8FF}
.tp-truncate{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#666}
.tp-actions{white-space:nowrap;display:flex;gap:4px}

/* ─── Buttons ─── */
.tp-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .15s;border:1px solid #E0E0E0;background:#fff;color:#444;font-family:inherit;line-height:1}
.tp-btn:hover{background:#F5F5F5;color:#222}
.tp-btn-primary{background:#6C5CE7;color:#fff !important;border-color:#6C5CE7;box-shadow:0 2px 8px rgba(108,92,231,.3)}
.tp-btn-primary:hover{background:#5a4bd6}
.tp-btn-success{background:#00B894;color:#fff !important;border-color:#00B894}
.tp-btn-success:hover{background:#00a383}
.tp-btn-warning{background:#FDCB6E;color:#333 !important;border-color:#FDCB6E}
.tp-btn-danger{background:#FF6B6B;color:#fff !important;border-color:#FF6B6B}
.tp-btn-danger:hover{background:#e55}
.tp-btn-secondary{background:transparent;color:#666;border:1px solid #ddd}
.tp-btn-sm{padding:6px 10px;font-size:12px;border-radius:8px}
.tp-btn-block{width:100%;justify-content:center;padding:14px;font-size:15px;font-weight:600;border-radius:10px}

/* ─── Page Header ─── */
.tp-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.tp-page-header h1{font-size:24px;font-weight:700}

/* ─── Form ─── */
.tp-form-group{margin-bottom:18px}
.tp-form-group label{display:block;font-size:13px;font-weight:600;color:#444;margin-bottom:6px}
.tp-form-group input[type="text"],
.tp-form-group input[type="email"],
.tp-form-group input[type="url"],
.tp-form-group input[type="number"],
.tp-form-group input[type="password"],
.tp-form-group textarea{width:100%;max-width:500px;padding:10px 14px;border:1px solid #ddd;border-radius:10px;font-size:14px;font-family:inherit;transition:border-color .2s;background:#fff;color:#333}
.tp-form-group input:focus,.tp-form-group textarea:focus{border-color:#6C5CE7;outline:none;box-shadow:0 0 0 3px rgba(108,92,231,.12)}
.tp-form-group small{display:block;font-size:12px;color:#999;margin-top:4px}
.tp-form-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #F0F0F5}

/* ─── Select ─── */
.tp-select{padding:10px 14px;border:1px solid #ddd;border-radius:10px;font-size:14px;min-width:300px;font-family:inherit;background:#fff}
.tp-select:focus{border-color:#6C5CE7;outline:none}

/* ─── Status ─── */
.tp-status{display:inline-block;padding:3px 10px;border-radius:50px;font-size:12px;font-weight:600}
.tp-status-pending{background:#FFF3CD;color:#856404}
.tp-status-approved{background:#D4EDDA;color:#155724}
.tp-status-rejected{background:#F8D7DA;color:#721C24}

/* ─── Filters ─── */
.tp-filters{display:flex;gap:8px;margin-bottom:20px}
.tp-filter{padding:8px 16px;border-radius:50px;font-size:13px;font-weight:500;text-decoration:none;color:#666;background:#F0F0F0;transition:all .15s}
.tp-filter:hover{background:#E0E0E0;color:#333}
.tp-filter.active{background:#6C5CE7;color:#fff}

/* ─── Copy Input ─── */
.tp-copy-input{font-size:12px;padding:8px 12px;color:#6C5CE7;background:#F8F7FF;border:1px solid #E0DCFF;cursor:pointer;border-radius:8px;width:100%;max-width:300px;font-family:inherit}
.tp-copy-input-lg{max-width:100%;font-size:14px;padding:12px 16px}

/* ─── Code ─── */
.tp-code{font-family:'Courier New',monospace;font-size:12px;background:#F5F5F5;border:1px solid #E0E0E0;padding:12px;border-radius:10px;width:100%;resize:vertical;color:#555;line-height:1.5}

/* ─── Search ─── */
.tp-search-bar{display:flex;gap:8px;margin-bottom:16px}
.tp-search-bar input{flex:1;padding:10px 14px;border:1px solid #ddd;border-radius:10px;font-size:14px;font-family:inherit}
.tp-search-bar input:focus{border-color:#6C5CE7;outline:none}

/* ─── Empty ─── */
.tp-empty{text-align:center;padding:40px 24px;color:#999;font-size:15px}
.tp-empty a{color:#6C5CE7}

/* ─── Alerts ─── */
.tp-alert{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px;font-weight:500}
.tp-alert-success{background:#D4EDDA;color:#155724;border:1px solid #C3E6CB}
.tp-alert-error{background:#F8D7DA;color:#721C24;border:1px solid #F5C6CB}

/* ─── Helpers ─── */
.tp-muted{color:#888}
.tp-link{color:#6C5CE7;text-decoration:none;font-weight:500}
.tp-link:hover{text-decoration:underline}

/* ─── Responsive ─── */
@media(max-width:900px){
    .tp-sidebar{width:200px}
    .tp-main{margin-left:200px;padding:20px}
}
@media(max-width:640px){
    .tp-sidebar{display:none}
    .tp-main{margin-left:0;padding:16px}
    .tp-stats-grid{grid-template-columns:repeat(2,1fr)}
    .tp-page-header{flex-direction:column;align-items:flex-start}
}
