/* ============================================================
   admin.css — Admin panel styles
   Dlstream streaming platform
   ============================================================ */

/* ── Sidebar ── */
.sidebar-link { transition: all 0.2s; }
.sidebar-link:hover { background: color-mix(in srgb, var(--primary-color) 20%, transparent); }
.sidebar-link.active {
    background: color-mix(in srgb, var(--primary-color) 30%, transparent);
    border-left: 3px solid var(--primary-color);
}

/* ── Admin sidebar mobile ── */
@media (max-width: 768px) {
    .admin-sidebar {
        transform: translateX(-100%);
        position: fixed; z-index: 40;
        height: 100vh; top: 0; left: 0;
        width: 256px !important;
    }
    .admin-sidebar.open { transform: translateX(0); }
    .admin-sidebar.open .admin-label { display: inline !important; }
}

/* ── Admin table ── */
.admin-table th {
    background: rgba(255,255,255,0.03);
    font-size: 0.75rem; text-transform: uppercase;
    letter-spacing: 0.05em; color: #6b7280;
}
.admin-table tr:hover td { background: rgba(255,255,255,0.02); }

/* ── Status badges ── */
.badge-active   { background: rgba(34,197,94,0.15);  color: #4ade80;  border: 1px solid rgba(34,197,94,0.3); }
.badge-inactive { background: rgba(239,68,68,0.15);  color: #f87171;  border: 1px solid rgba(239,68,68,0.3); }
.badge-draft    { background: rgba(234,179,8,0.15);  color: #facc15;  border: 1px solid rgba(234,179,8,0.3); }
.badge-pending  { background: rgba(249,115,22,0.15); color: #fb923c;  border: 1px solid rgba(249,115,22,0.3); }
.badge-resolved { background: rgba(99,102,241,0.15); color: #818cf8;  border: 1px solid rgba(99,102,241,0.3); }

/* ── Admin form inputs ── */
.admin-input {
    width: 100%; background: #1f2937;
    border: 1px solid #374151; border-radius: 0.5rem;
    padding: 0.625rem 1rem; color: #f9fafb; font-size: 0.875rem;
    transition: border-color 0.2s;
    outline: none;
}
.admin-input:focus { border-color: var(--primary-color); }

/* ── Admin card ── */
.admin-card {
    background: rgba(17,24,39,0.8);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 1rem;
    box-shadow: 0 4px 24px rgba(0,0,0,0.3);
}

/* ── Stat card ── */
.stat-card {
    background: rgba(17,24,39,0.7);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 0.875rem;
    padding: 1.25rem;
    transition: border-color 0.2s;
}
.stat-card:hover { border-color: rgba(124,58,237,0.3); }

/* ── Toggle switch ── */
.toggle-checkbox:checked { right: 0; border-color: var(--primary-color); }
.toggle-checkbox:checked + .toggle-label { background-color: var(--primary-color); }

/* ── JS toggle panels ── */
.js-toggle-panel { display: none; }
.js-toggle-panel.is-active { display: block; }

/* ── Bulk action bar ── */
#bulk-bar { background: rgba(124,58,237,0.1); border: 1px solid rgba(124,58,237,0.3); border-radius: 0.75rem; padding: 0.75rem 1rem; }

/* ── TMDB search result card ── */
.tmdb-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 0.75rem; overflow: hidden;
    transition: border-color 0.2s, transform 0.2s;
}
.tmdb-card:hover { border-color: rgba(124,58,237,0.4); transform: translateY(-2px); }

/* ── Demo mode banner ── */
.demo-banner {
    background: linear-gradient(90deg, rgba(234,179,8,0.15), rgba(234,179,8,0.08));
    border-bottom: 1px solid rgba(234,179,8,0.3);
    color: #fbbf24;
}

/* ── Flash messages ── */
.flash-success { background: rgba(34,197,94,0.12);  border: 1px solid rgba(34,197,94,0.3);  color: #4ade80; }
.flash-error   { background: rgba(239,68,68,0.12);  border: 1px solid rgba(239,68,68,0.3);  color: #f87171; }
.flash-info    { background: rgba(59,130,246,0.12); border: 1px solid rgba(59,130,246,0.3); color: #60a5fa; }
.flash-warning { background: rgba(234,179,8,0.12);  border: 1px solid rgba(234,179,8,0.3);  color: #facc15; }

/* ── Scrollbar (admin dark) ── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #111827; }
::-webkit-scrollbar-thumb { background: #374151; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #4b5563; }

/* ── Responsive table wrapper ── */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ── SEO preview box ── */
.seo-preview {
    background: #fff; border-radius: 8px; padding: 16px;
    font-family: Arial, sans-serif;
}
.seo-preview .seo-title { color: #1a0dab; font-size: 18px; text-decoration: none; }
.seo-preview .seo-url   { color: #006621; font-size: 13px; margin: 2px 0; }
.seo-preview .seo-desc  { color: #545454; font-size: 13px; }

/* ── Cron command box ── */
.cron-box {
    background: #0d1117; border: 1px solid #30363d;
    border-radius: 8px; padding: 12px 16px;
    font-family: 'Courier New', monospace; font-size: 13px; color: #58a6ff;
    word-break: break-all;
}

/* ── Ad slot preview ── */
.ad-slot-preview {
    background: repeating-linear-gradient(
        45deg, rgba(255,255,255,0.02), rgba(255,255,255,0.02) 10px,
        transparent 10px, transparent 20px
    );
    border: 2px dashed rgba(255,255,255,0.1);
    border-radius: 8px; min-height: 90px;
    display: flex; align-items: center; justify-content: center;
    color: #6b7280; font-size: 12px;
}
