/* ===== MARLON ADMIN — diseño simple y profesional ===== */
.admin-panel {
    --admin-bg: #f4f6f9;
    --admin-surface: #ffffff;
    --admin-sidebar: #1b1430;
    --admin-sidebar-hover: #261d40;
    --admin-border: #e5e7eb;
    --admin-text: #1b1430;
    --admin-muted: #6b7280;
    --admin-accent: #7c3aed;
    --admin-accent-soft: #f5f3ff;
    --admin-success: #059669;
    --admin-radius: 10px;
    --admin-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
    color: var(--admin-text);
    background: var(--admin-bg);
}

.admin-panel .bg-effects {
    display: none;
}

/* Sidebar */
.admin-panel .sidebar {
    width: 252px;
    min-width: 252px;
    background: var(--admin-sidebar);
    border-right: none;
    box-shadow: none;
}

.admin-panel .sidebar::before {
    display: none;
}

.admin-panel .sidebar-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.admin-panel .logo {
    padding: 1.25rem 1rem;
    border-bottom: none;
}

.admin-panel .logo-icon {
    width: 42px;
    height: 42px;
    background: var(--admin-accent);
    border-radius: 10px;
    box-shadow: none;
    animation: none;
    font-size: 1.1rem;
}

.admin-panel .logo-text h2 {
    font-family: 'Inter', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    color: #fff;
    text-shadow: none;
    letter-spacing: 0.02em;
}

.admin-panel .logo-text p {
    color: #9ca3af;
    font-size: 0.7rem;
    letter-spacing: 0.06em;
}

.admin-panel .sidebar-nav {
    padding: 0.75rem 0.65rem 1.5rem;
    gap: 0;
}

.admin-panel .nav-group {
    margin-bottom: 1.1rem;
}

.admin-panel .nav-group-label {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6b7280;
    padding: 0.35rem 0.75rem 0.45rem;
}

.admin-panel .nav-item {
    padding: 0.6rem 0.75rem;
    margin-bottom: 2px;
    border-radius: 8px;
    color: #d1d5db;
    border: none;
    gap: 0.65rem;
}

.admin-panel .nav-item:hover {
    background: var(--admin-sidebar-hover);
    transform: none;
    box-shadow: none;
    color: #fff;
}

.admin-panel .nav-item.active {
    background: var(--admin-accent);
    color: #fff;
    box-shadow: none;
}

.admin-panel .nav-icon {
    width: 32px;
    height: 32px;
    font-size: 0.9rem;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 8px;
}

.admin-panel .nav-item:hover .nav-icon,
.admin-panel .nav-item.active .nav-icon {
    background: rgba(255, 255, 255, 0.15);
    color: inherit;
    box-shadow: none;
}

.admin-panel .nav-item span {
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0;
}

.admin-panel .nav-badge {
    margin-left: auto;
    flex-shrink: 0;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.35rem;
    text-align: center;
    box-shadow: 0 0 0 2px var(--admin-sidebar);
}

.admin-panel .nav-badge[hidden] {
    display: none !important;
}

.admin-panel .nav-badge-ok {
    background: #059669;
}

.admin-panel .nav-item .nav-badge + .nav-badge {
    margin-left: 0.35rem;
}

.admin-panel .filter-buttons .nav-badge {
    margin-left: 0.35rem;
    box-shadow: none;
    vertical-align: middle;
}

.admin-panel .filter-buttons .nav-badge + .nav-badge {
    margin-left: 0.25rem;
}

.admin-panel .nav-item.active .nav-badge {
    box-shadow: 0 0 0 2px var(--admin-accent);
}

.admin-panel .nav-glow {
    display: none;
}

/* Main layout */
.admin-panel .main-content {
    margin-left: 252px;
    background: var(--admin-bg);
}

.admin-panel .header {
    background: var(--admin-surface);
    border-bottom: 1px solid var(--admin-border);
    box-shadow: var(--admin-shadow);
    padding: 1rem 1.5rem;
}

.admin-panel .header::before {
    display: none;
}

.admin-panel .header-title h1 {
    font-family: 'Inter', sans-serif;
    font-size: 1.35rem !important;
    font-weight: 700;
    color: var(--admin-text);
    letter-spacing: -0.02em;
    margin: 0;
}

.admin-panel .header-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 0.85rem;
}

.admin-panel .header-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--admin-accent);
    line-height: 1.2;
}

.admin-panel .header-section-label::before {
    content: '·';
    color: #d1d5db;
    font-weight: 400;
    margin-right: 0.15rem;
}

.admin-panel .header-section-label i {
    font-size: 0.85rem;
    opacity: 0.9;
}

.admin-panel .title-glow,
.admin-panel .section-glow,
.admin-panel .btn-glow,
.admin-panel .icon-glow,
.admin-panel .badge-glow {
    display: none !important;
}

.admin-panel .header-subtitle {
    color: var(--admin-muted);
    font-size: 0.875rem;
    margin-top: 0.15rem;
}

.admin-panel .status-indicator {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #047857;
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.admin-panel .status-indicator .pulse {
    background: #10b981;
}

.admin-panel .logout-btn {
    background: #fff;
    border: 1px solid var(--admin-border);
    color: var(--admin-muted);
    border-radius: 8px;
    padding: 0.5rem 0.85rem;
    font-size: 0.8rem;
    font-weight: 500;
    box-shadow: none;
}

.admin-panel .logout-btn:hover {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}

/* Login admin */
body.admin-logged-out .container {
    display: none;
}

body.admin-logged-out .bg-effects {
    display: none;
}

.admin-login-screen {
    display: none;
    min-height: 100vh;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: linear-gradient(160deg, #160f28 0%, #1e293b 45%, #1b1430 100%);
}

body.admin-logged-out .admin-login-screen {
    display: flex;
}

.admin-login-card {
    width: 100%;
    max-width: 380px;
    background: #fff;
    border-radius: 14px;
    padding: 2rem 1.75rem;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.35);
}

.admin-login-brand {
    text-align: center;
    margin-bottom: 1.5rem;
}

.admin-login-logo {
    width: 56px;
    height: 56px;
    margin: 0 auto 0.75rem;
    border-radius: 14px;
    background: #f5f3ff;
    color: #7c3aed;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}

.admin-login-brand h2 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1b1430;
}

.admin-login-brand p {
    margin: 0.35rem 0 0;
    color: #6b7280;
    font-size: 0.9rem;
}

.admin-login-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.35rem;
}

.admin-login-input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0.65rem 0.75rem;
    font-size: 0.95rem;
    margin-bottom: 0.9rem;
}

.admin-login-input:focus {
    outline: none;
    border-color: #7c3aed;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.admin-login-submit {
    width: 100%;
    border: none;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    background: #7c3aed;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.admin-login-submit:hover {
    background: #6d28d9;
}

.admin-login-error {
    min-height: 1.25rem;
    margin: 0.75rem 0 0;
    color: #b91c1c;
    font-size: 0.85rem;
    text-align: center;
}

/* Sections */
.admin-panel .content-section {
    padding: 1rem 1.5rem 2rem;
}

.admin-panel .content-section > .section-header {
    display: none;
}

.admin-panel .section-header {
    margin-bottom: 1.25rem;
    padding-bottom: 0;
    border: none;
}

.admin-panel .section-header h2 {
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--admin-text);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.admin-panel .section-header h2 i {
    color: var(--admin-accent);
    font-size: 1rem;
}

/* Cards & stats */
.admin-panel .stat-card,
.admin-panel .quick-actions,
.admin-panel .table-container,
.admin-panel .process-controls,
.admin-panel .settings-container {
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius);
    box-shadow: var(--admin-shadow);
}

.admin-panel .card-border {
    display: none;
}

.admin-panel .stat-card {
    padding: 1rem 1.1rem;
}

.admin-panel .stat-content h3 {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--admin-muted);
    letter-spacing: 0.04em;
}

.admin-panel .stat-number {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--admin-text);
}

.admin-panel .stat-icon {
    background: var(--admin-accent-soft);
    color: var(--admin-accent);
    border-radius: 10px;
    width: 44px;
    height: 44px;
}

.admin-panel .stat-trend {
    font-size: 0.75rem;
}

.admin-panel .stats-grid {
    gap: 1rem;
}

/* Quick actions & buttons */
.admin-panel .quick-actions h3,
.admin-panel .table-header h3 {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--admin-text);
}

.admin-panel .table-header p {
    color: var(--admin-muted);
    font-size: 0.85rem;
}

.admin-panel .btn {
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.78rem;
    letter-spacing: 0;
    box-shadow: none;
    border: 1px solid transparent;
    /* styles.css deja padding 15px 25px — demasiado alto en el panel */
    padding: 0.35rem 0.65rem;
    gap: 0.35rem;
    min-height: 0;
    line-height: 1.25;
    text-transform: none;
}

.admin-panel .btn-sm {
    padding: 0.2rem 0.45rem;
    font-size: 0.72rem;
    gap: 0.25rem;
    border-radius: 5px;
}

.admin-panel .modal-content .form-actions {
    gap: 0.4rem;
    margin-top: 0.75rem;
    padding-top: 0.6rem;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.admin-panel .modal-content .form-actions .btn {
    padding: 0.28rem 0.55rem;
    font-size: 0.72rem;
    flex: 0 1 auto;
    white-space: nowrap;
}

.admin-panel .btn-neon-blue,
.admin-panel .btn-neon-green,
.admin-panel .btn-neon-purple,
.admin-panel .btn-neon-orange,
.admin-panel .btn-neon-teal,
.admin-panel .btn-neon-red {
    text-shadow: none;
}

.admin-panel .btn-neon-blue {
    background: var(--admin-accent);
    color: #fff;
}

.admin-panel .btn-neon-green {
    background: var(--admin-success);
    color: #fff;
}

.admin-panel .btn-neon-purple {
    background: #7c3aed;
    color: #fff;
}

.admin-panel .btn-neon-orange {
    background: #ea580c;
    color: #fff;
}

.admin-panel .btn-neon-teal {
    background: #0d9488;
    color: #fff;
}

.admin-panel .btn-neon-red {
    background: #dc2626;
    color: #fff;
}

.admin-panel .btn:hover {
    filter: brightness(1.05);
    transform: none;
}

.admin-panel .action-buttons {
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Search & filters */
.admin-panel .search-input,
.admin-panel .accounts-filter-select,
.admin-panel select,
.admin-panel input[type="text"],
.admin-panel input[type="email"],
.admin-panel input[type="number"],
.admin-panel input[type="date"],
.admin-panel textarea {
    border: 1px solid var(--admin-border);
    border-radius: 8px;
    background: #fff;
    color: var(--admin-text);
}

.admin-panel .search-bar {
    gap: 0.5rem;
    flex-wrap: wrap;
}

.admin-panel .accounts-bulk-toolbar {
    gap: 0.4rem;
}

.admin-panel .accounts-filter-label {
    font-size: 0.8rem;
    color: var(--admin-muted);
}

/* Service filters */
.admin-panel .accounts-service-filters .service-filter-btn {
    border-radius: 8px;
}

.admin-panel .accounts-service-filters .service-filter-btn:hover,
.admin-panel .accounts-service-filters .service-filter-btn.active {
    opacity: 1;
    transform: none;
    box-shadow: none;
}

.admin-panel .service-badge {
    box-shadow: none;
    border: 1px solid var(--admin-border);
    border-radius: 8px;
    padding: 0.35rem 0.65rem;
    font-size: 0.8rem;
    color: #374151;
    background: #f3f4f6;
    text-shadow: none;
}

.admin-panel .accounts-service-filters .service-filter-btn .service-badge i {
    color: #6b7280;
}

.admin-panel .accounts-service-filters .service-filter-btn:hover .service-badge,
.admin-panel .accounts-service-filters .service-filter-btn.active .service-badge {
    border-color: var(--admin-accent);
    background: var(--admin-accent-soft);
    color: #5b21b6;
}

.admin-panel .accounts-service-filters .service-filter-btn:hover .service-badge.netflix,
.admin-panel .accounts-service-filters .service-filter-btn.active .service-badge.netflix {
    background: linear-gradient(45deg, #e50914, #ff1a1a);
    border-color: transparent;
    color: #fff;
}

.admin-panel .accounts-service-filters .service-filter-btn:hover .service-badge.disney,
.admin-panel .accounts-service-filters .service-filter-btn.active .service-badge.disney {
    background: linear-gradient(45deg, #113ccf, #1a4cff);
    border-color: transparent;
    color: #fff;
}

.admin-panel .accounts-service-filters .service-filter-btn:hover .service-badge.prime,
.admin-panel .accounts-service-filters .service-filter-btn.active .service-badge.prime {
    background: linear-gradient(45deg, #00a8e1, #00ccff);
    border-color: transparent;
    color: #fff;
}

.admin-panel .accounts-service-filters .service-filter-btn:hover .service-badge.paramount,
.admin-panel .accounts-service-filters .service-filter-btn.active .service-badge.paramount {
    background: linear-gradient(45deg, #0064ff, #7c3aed);
    border-color: transparent;
    color: #fff;
}

.admin-panel .accounts-service-filters .service-filter-btn .service-badge[style*="background"] {
    color: #fff;
    border-color: transparent;
}

.admin-panel .accounts-service-filters .service-filter-btn:hover .service-badge[style*="background"],
.admin-panel .accounts-service-filters .service-filter-btn.active .service-badge[style*="background"] {
    filter: brightness(1.08);
    color: #fff;
}

.admin-panel .accounts-service-filters .service-filter-btn:hover .service-badge i,
.admin-panel .accounts-service-filters .service-filter-btn.active .service-badge i {
    color: var(--admin-accent);
}

.admin-panel .accounts-service-filters .service-filter-btn .service-badge.netflix,
.admin-panel .accounts-service-filters .service-filter-btn .service-badge.disney,
.admin-panel .accounts-service-filters .service-filter-btn .service-badge.prime,
.admin-panel .accounts-service-filters .service-filter-btn .service-badge.paramount,
.admin-panel .accounts-service-filters .service-filter-btn .service-badge.max,
.admin-panel .accounts-service-filters .service-filter-btn .service-badge.hbo {
    color: #fff;
    border-color: transparent;
}

.admin-panel .accounts-service-filters .service-filter-btn .service-badge.netflix i,
.admin-panel .accounts-service-filters .service-filter-btn .service-badge.disney i,
.admin-panel .accounts-service-filters .service-filter-btn .service-badge.prime i,
.admin-panel .accounts-service-filters .service-filter-btn .service-badge.paramount i,
.admin-panel .accounts-service-filters .service-filter-btn .service-badge.max i,
.admin-panel .accounts-service-filters .service-filter-btn .service-badge.hbo i {
    color: #fff;
}

/* Tables */
.admin-panel .table-wrapper {
    border: 1px solid var(--admin-border);
    border-radius: 8px;
    overflow-x: auto;
    overflow-y: auto;
    max-height: min(65vh, 600px);
    -webkit-overflow-scrolling: touch;
}

.admin-panel .data-table thead {
    background: #f9fafb;
}

.admin-panel .data-table th {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--admin-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--admin-border);
    padding: 0.65rem 0.75rem;
}

.admin-panel .data-table td {
    font-size: 0.85rem;
    color: var(--admin-text);
    border-bottom: 1px solid #f3f4f6;
    padding: 0.6rem 0.75rem;
}

.admin-panel .data-table:not(.admin-cuentas-table) tbody tr:hover,
.admin-panel .table-row:not(.cuenta-row):hover {
    background: #f5f3ff !important;
    transform: none !important;
}

.admin-panel #accounts-section .data-table td {
    color: #d9f8ff;
}

/* Tabla de cuentas estilo panel vendedor (oscuro, legible) */
.admin-panel .admin-cuentas-vendor-look {
    background: linear-gradient(145deg, #140b22, #1d1433);
    border: 1px solid rgba(232, 121, 249, 0.22);
    border-radius: 12px;
    padding: 0.65rem 0.75rem 0.75rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

.admin-panel .admin-cuentas-scroll-wrap {
    max-height: calc(100vh - 300px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-color: rgba(232, 121, 249, 0.35) rgba(0, 20, 30, 0.6);
}

.admin-panel #accounts-section .accounts-controls {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
    padding: 0.75rem 0.85rem;
    background: rgba(8, 14, 22, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
}

.admin-panel #accounts-section .accounts-controls-top {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.admin-panel #accounts-section .accounts-search-field {
    flex: 1 1 280px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 36px;
    padding: 0 0.75rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.28);
    color: #8aa4ad;
}

.admin-panel #accounts-section .accounts-search-field:focus-within {
    border-color: rgba(0, 180, 200, 0.45);
    box-shadow: 0 0 0 2px rgba(0, 180, 200, 0.08);
}

.admin-panel #accounts-section .accounts-search-input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    color: #e8f0f4;
    font-size: 0.84rem;
    padding: 0.45rem 0;
    outline: none;
}

.admin-panel #accounts-section .accounts-search-input::placeholder {
    color: #6b7f88;
}

.admin-panel #accounts-section .accounts-search-mobile-hint {
    display: none;
    margin: 0;
    font-size: 0.72rem;
    color: #c4b5fd;
    line-height: 1.35;
}

.admin-panel #accounts-section .accounts-client-filter,
.admin-panel #accounts-section .accounts-provider-filter {
    flex: 0 1 200px;
    min-width: 160px;
}

.admin-panel #accounts-section .accounts-filter-select {
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 36px;
    padding: 0 0.65rem;
    font-size: 0.8rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.28);
    color: #d9e4ea;
}

.admin-panel #accounts-section .accounts-controls-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.55rem;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.admin-panel #accounts-section .accounts-toolbar-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.admin-panel #accounts-section .accounts-toolbar-label {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5f727c;
    margin-right: 0.15rem;
    user-select: none;
}

.admin-panel #clients-section .client-detail-pagination {
    margin-top: 0.75rem;
}

.admin-panel #accounts-section .accounts-pagination-bar,
.admin-panel #clients-section .accounts-pagination-bar,
.admin-panel #accounting-section .accounts-pagination-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    margin-top: 0.75rem;
    padding: 0.65rem 0.85rem;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.admin-panel #accounts-section .accounts-pagination-info,
.admin-panel #accounting-section .accounts-pagination-info {
    font-size: 0.82rem;
    color: #9fb0b8;
}

.admin-panel #accounts-section .accounts-pagination-controls,
.admin-panel #accounting-section .accounts-pagination-controls {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.admin-panel #accounts-section .accounts-page-indicator {
    font-size: 0.82rem;
    color: #c5d3da;
    min-width: 7rem;
    text-align: center;
}

.admin-panel #accounts-section .accounts-page-btn,
.admin-panel #accounting-section .accounts-page-btn {
    appearance: none;
    border: 1px solid rgba(167, 139, 250, 0.35);
    background: rgba(167, 139, 250, 0.08);
    color: #b8ecff;
    border-radius: 8px;
    padding: 0.35rem 0.85rem;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.admin-panel #accounts-section .accounts-page-btn:hover:not(:disabled),
.admin-panel #accounting-section .accounts-page-btn:hover:not(:disabled) {
    background: rgba(167, 139, 250, 0.16);
    border-color: rgba(167, 139, 250, 0.55);
}

.admin-panel #accounts-section .accounts-page-btn:disabled,
.admin-panel #accounting-section .accounts-page-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.admin-panel #accounts-section .accounts-page-input,
.admin-panel #accounting-section .accounts-page-input {
    width: 3.2rem;
    padding: 0.2rem 0.35rem;
    border-radius: 6px;
    border: 1px solid rgba(167, 139, 250, 0.35);
    background: rgba(0, 0, 0, 0.25);
    color: #e8f4f8;
    font-size: 0.78rem;
    text-align: center;
}

.admin-panel #accounts-section .accounts-toolbar-sep {
    width: 1px;
    height: 22px;
    background: rgba(255, 255, 255, 0.08);
    margin: 0 0.15rem;
    flex-shrink: 0;
}

.admin-panel #accounts-section .accounts-tool-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    height: 30px;
    padding: 0 0.55rem;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
    color: #c5d4dc;
    font-size: 0.74rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    white-space: nowrap;
}

.admin-panel #accounts-section .accounts-tool-btn i {
    font-size: 0.72rem;
    opacity: 0.85;
}

.admin-panel #accounts-section .accounts-tool-btn:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.16);
    color: #eef6fa;
}

.admin-panel #accounts-section .accounts-tool-btn.active {
    background: rgba(255, 140, 0, 0.12);
    border-color: rgba(255, 140, 0, 0.35);
    color: #ffc978;
}

.admin-panel #accounts-section .accounts-tool-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    font-size: 0.65rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
}

.admin-panel #accounts-section .accounts-tool-danger {
    border-color: rgba(220, 70, 70, 0.35);
    color: #f0a0a0;
}

.admin-panel #accounts-section .accounts-tool-danger:hover {
    background: rgba(220, 70, 70, 0.12);
    border-color: rgba(220, 70, 70, 0.5);
    color: #ffc8c8;
}

.admin-panel #accounts-section .accounts-tool-danger-soft {
    border-color: rgba(220, 70, 70, 0.2);
    color: #c89090;
}

.admin-panel #accounts-section .accounts-tool-copy {
    border-color: rgba(56, 189, 248, 0.28);
    color: #c4b5fd;
}

.admin-panel #accounts-section .accounts-tool-copy:hover:not(:disabled) {
    background: rgba(56, 189, 248, 0.1);
    border-color: rgba(56, 189, 248, 0.45);
    color: #ddd6fe;
}

.admin-panel #accounts-section .accounts-tool-copy:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.admin-panel #accounts-section .accounts-tool-danger-soft:hover {
    background: rgba(220, 70, 70, 0.08);
}

.admin-panel #accounts-section .accounts-service-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding-top: 0.15rem;
}

.admin-panel #soporte-section .accounts-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.admin-panel #soporte-section .admin-soporte-chip {
    height: 32px;
    padding: 0 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.04);
    color: #9aadb6;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
}
.admin-panel #soporte-section .admin-soporte-chip:hover {
    border-color: rgba(232, 121, 249, 0.35);
    color: #d9f8ff;
}
.admin-panel #soporte-section .admin-soporte-chip.active {
    border-color: rgba(232, 121, 249, 0.55);
    background: rgba(232, 121, 249, 0.16);
    color: #d9f8ff;
    box-shadow: 0 0 12px rgba(232, 121, 249, 0.18);
}

.admin-panel #accounts-section .accounts-chip {
    height: 28px;
    padding: 0 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: transparent;
    color: #9aadb6;
    font-size: 0.72rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.admin-panel #accounts-section .accounts-service-subfilters-wrapper {
    margin-top: 0.15rem;
}

.admin-panel #accounts-section .accounts-subfilter-label {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.admin-panel #accounts-section .subfilter-btn {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.admin-panel #accounts-section .accounts-chip:hover {
    border-color: rgba(255, 255, 255, 0.2);
    color: #dce8ee;
}

.admin-panel #accounts-section .accounts-chip.active {
    background: rgba(0, 180, 200, 0.14);
    border-color: rgba(0, 180, 200, 0.4);
    color: #9ee8f2;
}

.admin-panel #accounts-section .accounts-chip-netflix.active { background: rgba(229, 9, 20, 0.18); border-color: rgba(229, 9, 20, 0.45); color: #ff8a90; }
.admin-panel #accounts-section .accounts-chip-disney.active { background: rgba(17, 60, 140, 0.35); border-color: rgba(80, 140, 255, 0.45); color: #9ec0ff; }
.admin-panel #accounts-section .accounts-chip-prime.active { background: rgba(0, 168, 225, 0.15); border-color: rgba(0, 168, 225, 0.4); color: #7ed4f5; }
.admin-panel #accounts-section .accounts-chip-paramount.active { background: rgba(0, 100, 255, 0.15); border-color: rgba(0, 100, 255, 0.4); color: #8ab8ff; }
.admin-panel #accounts-section .accounts-chip-max.active { background: rgba(92, 107, 192, 0.2); border-color: rgba(92, 107, 192, 0.45); color: #b5bfff; }
.admin-panel #accounts-section .accounts-chip-crunchyroll.active { background: rgba(244, 117, 33, 0.18); border-color: rgba(244, 117, 33, 0.5); color: #ffc59a; }

.admin-panel .accounts-chip-logo,
.admin-panel .service-brand-img {
    width: 18px;
    height: 18px;
    object-fit: contain;
    border-radius: 4px;
    flex-shrink: 0;
    vertical-align: middle;
}
.admin-panel .accounts-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.admin-panel .service-brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
}
.admin-panel .service-brand-fa {
    font-size: 1rem;
    color: #64748b;
}
.admin-panel .servicio-with-icon {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}
.admin-panel .servicio-with-icon > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.admin-panel .client-detail-chip-icon .service-brand-icon {
    width: 100%;
    height: 100%;
}
.admin-panel .client-detail-chip-icon .service-brand-img {
    width: 22px;
    height: 22px;
}


.admin-panel #accounts-filter-expired-btn.active .accounts-tool-count {
    background: rgba(255, 140, 0, 0.35);
    color: #fff3e0;
}

.admin-panel .admin-cuentas-table {
    width: 100%;
    min-width: 0;
    margin-top: 0.35rem;
    table-layout: fixed;
    border-collapse: collapse;
    background: transparent !important;
}

.admin-panel .admin-cuentas-table col.col-check { width: 36px; }
.admin-panel .admin-cuentas-table col.col-servicio { width: 10%; }
.admin-panel .admin-cuentas-table col.col-correo { width: 16%; }
.admin-panel .admin-cuentas-table col.col-pais { width: 7%; }
.admin-panel .admin-cuentas-table col.col-clave { width: 10%; }
.admin-panel .admin-cuentas-table col.col-estado { width: 8%; }
.admin-panel .admin-cuentas-table col.col-vencimiento { width: 11%; }
.admin-panel .admin-cuentas-table col.col-asignado { width: 9%; }
.admin-panel .admin-cuentas-table col.col-proveedor { width: 8%; }
.admin-panel .admin-cuentas-table col.col-costo-prov { width: 7%; }
.admin-panel .admin-cuentas-table col.col-ganancia { width: 7%; }
.admin-panel .admin-cuentas-table col.col-precio { width: 7%; }
.admin-margin-value.margin-positive { color: #5ee89a; }
.admin-margin-value.margin-negative { color: #ff7b7b; }
.admin-margin-cell { font-weight: 600; }

/* Resumen contable unificado */
.accounting-unified-panel {
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius);
    background: var(--admin-surface);
    box-shadow: var(--admin-shadow);
    padding: 1.15rem 1.25rem 1rem;
    margin-bottom: 1.25rem;
}

.accounting-unified-header h3 {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    color: var(--admin-text);
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.accounting-unified-header p {
    margin: 0 0 1rem;
    font-size: 0.84rem;
    color: var(--admin-muted);
    line-height: 1.45;
    max-width: 52rem;
}

.accounting-unified-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

@media (max-width: 800px) {
    .accounting-unified-grid {
        grid-template-columns: 1fr;
    }
}

.accounting-unified-col {
    border: 1px solid var(--admin-border);
    border-radius: 8px;
    padding: 0.75rem 0.85rem;
    background: #fafbfc;
}

.accounting-unified-col-vendor {
    border-top: 3px solid #059669;
}

.accounting-unified-col-mine {
    border-top: 3px solid #7c3aed;
}

.accounting-unified-col-provider {
    border-top: 3px solid #dc2626;
}

.accounting-unified-col-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin-bottom: 0.65rem;
    font-weight: 600;
    color: var(--admin-text);
    font-size: 0.92rem;
}

.accounting-unified-col-head small {
    font-weight: 500;
    color: var(--admin-muted);
    font-size: 0.76rem;
}

.accounting-unified-metric {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    padding: 0.35rem 0;
    border-top: 1px dashed rgba(15, 23, 42, 0.08);
}

.accounting-unified-metric:first-of-type {
    border-top: none;
}

.accounting-unified-metric .label {
    font-size: 0.78rem;
    color: var(--admin-muted);
}

.accounting-unified-metric .value {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--admin-text);
}

.accounting-unified-metric .value.warning {
    color: #d97706;
}

.accounting-unified-metric .value.negative {
    color: #dc2626;
}

.accounting-unified-metric-muted .value {
    color: var(--admin-muted);
    font-weight: 500;
}

.accounting-unified-example {
    font-size: 0.82rem;
    color: var(--admin-muted);
    padding: 0.55rem 0.75rem;
    background: var(--admin-accent-soft);
    border-radius: 8px;
    border: 1px solid rgba(37, 99, 235, 0.15);
}

.accounting-unified-example .ex-vendor { color: #059669; font-weight: 700; }
.accounting-unified-example .ex-mine { color: #7c3aed; font-weight: 700; }
.accounting-unified-example .ex-provider { color: #dc2626; font-weight: 700; }
.accounting-unified-example .ex-note {
    display: inline-block;
    margin-left: 0.35rem;
    font-size: 0.76rem;
}

.accounting-unified-actions {
    margin-top: 0.65rem;
}

.counter-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.accounting-detail-unified {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.accounting-unified-vendor-table .col-vendor,
.accounting-unified-vendor-table td.col-vendor {
    color: #047857;
    font-weight: 600;
}

.accounting-unified-vendor-table .col-mine,
.accounting-unified-vendor-table td.col-mine {
    color: #6d28d9;
    font-weight: 600;
}

.accounting-unified-provider-table .col-provider,
.accounting-unified-provider-table td.col-provider {
    color: #dc2626;
    font-weight: 600;
}

.accounting-financial-split.financial-overview {
    grid-template-columns: 1fr;
    margin-bottom: 1rem;
}

.accounting-not-saved {
    color: #b45309;
    font-size: 0.82rem;
    font-weight: 600;
}

.client-detail-pago-card--saved {
    border-color: rgba(37, 99, 235, 0.35);
    background: rgba(37, 99, 235, 0.06);
}

.client-detail-pago-sub {
    display: block;
    font-size: 0.72rem;
    color: var(--admin-muted);
    margin-top: 0.2rem;
    line-height: 1.3;
}

.client-detail-pago-empty {
    color: #b45309 !important;
    font-size: 0.95rem !important;
}

.client-detail-save-charge-btn {
    margin-top: 0.45rem;
    width: 100%;
    font-size: 0.78rem;
    padding: 0.35rem 0.5rem;
}

.accounting-empty-view {
    min-height: 40vh;
}

.accounting-invoices-wrap {
    margin-top: 1rem;
    border-top: 2px solid rgba(124, 58, 237, 0.25);
    padding-top: 1.25rem;
}

.accounting-shared-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 12px;
}

.accounting-shared-filters.is-provider-mode {
    border-color: rgba(220, 38, 38, 0.22);
    background: linear-gradient(90deg, rgba(255, 241, 242, 0.9) 0%, rgba(255, 255, 255, 0.85) 35%, rgba(255, 255, 255, 0.85) 65%, rgba(240, 253, 244, 0.9) 100%);
}

.accounting-filter-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.85rem;
    flex: 1 1 18rem;
    justify-content: center;
}

.accounting-filter-side {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.45rem;
    flex: 0 1 auto;
}

.accounting-filter-side--left {
    justify-content: flex-start;
}

.accounting-filter-side--right {
    justify-content: flex-end;
}

.acct-filter-metric {
    min-width: 7.5rem;
    padding: 0.45rem 0.7rem;
    border-radius: 10px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}

.acct-filter-metric .label {
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    letter-spacing: 0.01em;
}

.acct-filter-metric .value {
    font-size: 1.05rem;
    font-weight: 800;
    color: #160f28;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
}

.acct-filter-metric--total {
    border-color: rgba(220, 38, 38, 0.28);
    background: #fff1f2;
}
.acct-filter-metric--total .value { color: #b91c1c; }

.acct-filter-metric--paid {
    border-color: rgba(5, 150, 105, 0.28);
    background: #ecfdf5;
}
.acct-filter-metric--paid .value { color: #047857; }

.acct-filter-metric--due {
    border-color: rgba(217, 119, 6, 0.3);
    background: #fffbeb;
}
.acct-filter-metric--due .value { color: #b45309; }

.accounting-filter-provider-label {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #64748b;
    font-size: 0.86rem;
    font-weight: 600;
}

#accounting-filter-provider {
    min-width: 10rem;
    max-width: 14rem;
}

@media (max-width: 900px) {
    .accounting-shared-filters.is-provider-mode {
        flex-direction: column;
        align-items: stretch;
    }
    .accounting-filter-side,
    .accounting-filter-main {
        justify-content: flex-start;
        width: 100%;
    }
    .accounting-filter-side--right {
        justify-content: flex-start;
    }
}

.accounting-main-layout {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 7rem);
}

.accounting-workspace {
    display: flex;
    align-items: flex-start;
    gap: 1.15rem;
    min-width: 0;
}

.accounting-workspace-main {
    flex: 1;
    min-width: 0;
}

.accounting-view-switch {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.accounting-workspace .accounting-view-switch {
    display: flex;
    flex-direction: column;
    flex: 0 0 210px;
    width: 210px;
    gap: 0.45rem;
    margin: 0;
    position: sticky;
    top: 1rem;
    grid-template-columns: none;
}

@media (max-width: 640px) {
    .accounting-view-switch {
        grid-template-columns: 1fr;
    }
}

.acct-value-only-cell {
    color: #64748b;
    font-size: 0.84rem;
    font-weight: 600;
}

.accounting-vendor-detail-valueonly {
    margin: 0.35rem 0 1rem;
    padding: 1.1rem 1.2rem;
    border: 1px solid #ede9fe;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fbff 0%, #f5f3ff 100%);
}

.accounting-vendor-detail-valueonly .acct-value-only-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.accounting-vendor-detail-valueonly .acct-value-only-amount {
    display: block;
    margin-top: 0.25rem;
    font-size: 1.85rem;
    font-weight: 800;
    color: #160f28;
    letter-spacing: -0.03em;
}

.accounting-vendor-detail-valueonly .acct-value-only-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1.25rem;
    margin-top: 0.7rem;
    color: #334155;
    font-size: 0.92rem;
}

.accounting-vendor-detail-panel.is-value-only .accounting-vendor-detail-table-wrap,
.accounting-vendor-detail-panel.is-value-only .accounting-vendor-detail-pagination,
.accounting-vendor-detail-panel.is-value-only .acct-vendor-detail-selection-bar {
    display: none !important;
}

.accounting-view-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 3.25rem;
    padding: 0.85rem 1rem;
    border: 2px solid rgba(37, 99, 235, 0.22);
    border-radius: 12px;
    background: #fff;
    color: #334155;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.accounting-workspace .accounting-view-tab {
    justify-content: flex-start;
    width: 100%;
    min-height: 2.85rem;
    padding: 0.7rem 0.9rem;
}

.accounting-view-tab i {
    font-size: 1rem;
    opacity: 0.85;
}

.accounting-view-tab:hover {
    border-color: rgba(37, 99, 235, 0.45);
    background: #f8fbff;
}

.accounting-view-tab.active {
    border-color: #7c3aed;
    background: linear-gradient(180deg, #f5f3ff 0%, #ede9fe 100%);
    color: #6d28d9;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.14);
}

.accounting-view-tab[data-accounting-view="provider"].active {
    border-color: #dc2626;
    background: linear-gradient(180deg, #fff1f2 0%, #ffe4e6 100%);
    color: #b91c1c;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.12);
}

.accounting-view-tab[data-accounting-view="failed"].active {
    border-color: #d97706;
    background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
    color: #b45309;
    box-shadow: 0 4px 14px rgba(217, 119, 6, 0.12);
}

.accounting-view-panel {
    display: none;
    flex: 1;
    min-height: 0;
}

.accounting-view-panel.is-active {
    display: flex;
    flex-direction: column;
}

.accounting-view-panel .accounting-unified-panel {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    margin-top: 0;
    border-top: none;
    padding-top: 0;
}

.accounting-view-panel-header {
    margin-bottom: 0.85rem;
}

.accounting-view-panel .accounting-vendor-billing-table-wrap {
    flex: 1;
    min-height: 420px;
    max-height: none;
}

.accounting-global-month-filter {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 0.75rem;
    flex-wrap: wrap;
}

.accounting-global-month-filter label,
.accounting-filter-payment-label {
    font-size: 0.88rem;
    color: var(--admin-muted);
    font-weight: 600;
}

.accounting-payment-filter-btns {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.accounting-filter-vendor-label {
    font-size: 0.88rem;
    color: var(--admin-muted);
    font-weight: 600;
}

#accounting-filter-vendor {
    min-width: 10rem;
    max-width: 14rem;
}

.accounting-vendor-lookup-panel {
    margin: 0 0 1rem;
    padding: 1rem 1.1rem;
    border-radius: 12px;
    border: 1px solid rgba(232, 121, 249, 0.22);
    background: linear-gradient(135deg, rgba(232, 121, 249, 0.06), rgba(124, 58, 237, 0.05));
}

.accounting-vendor-lookup-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.accounting-vendor-lookup-head h4 {
    margin: 0;
    font-size: 1.05rem;
}

.accounting-vendor-lookup-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.accounting-vendor-lookup-stat {
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.accounting-vendor-lookup-stat span {
    display: block;
    font-size: 0.78rem;
    color: var(--admin-muted);
    margin-bottom: 0.2rem;
}

.accounting-vendor-lookup-stat strong {
    font-size: 1rem;
}

.accounting-vendor-lookup-stat--due strong {
    color: #c2410c;
}

.accounting-vendor-lookup-section {
    margin-top: 0.75rem;
}

.accounting-vendor-lookup-section > strong {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.86rem;
}

.accounting-vendor-lookup-payments {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.88rem;
}

.accounting-vendor-lookup-payments li {
    margin-bottom: 0.35rem;
}

.acct-payment-filter-btn {
    border: 1px solid rgba(124, 58, 237, 0.28);
    background: #fff;
    color: #4b5563;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 0.38rem 0.85rem;
    border-radius: 999px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.acct-payment-filter-btn:hover {
    border-color: rgba(124, 58, 237, 0.5);
    color: #6d28d9;
    background: rgba(124, 58, 237, 0.06);
}

.acct-payment-filter-btn.active {
    border-color: #7c3aed;
    background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(124, 58, 237, 0.28);
}

.acct-payment-filter-btn[data-payment-filter="paid"].active {
    border-color: #059669;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.28);
}

.acct-payment-filter-btn[data-payment-filter="pending"].active {
    border-color: #d97706;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.28);
}

.acct-billing-pay-actions {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.28rem;
    margin-top: 0;
}

.acct-billing-actions-cell {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    white-space: nowrap;
}

.acct-billing-actions-td {
    vertical-align: middle;
    min-width: 14rem;
    white-space: nowrap;
}

.acct-billing-month-td {
    vertical-align: middle;
    white-space: nowrap;
}

.admin-panel .acct-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1;
    padding: 0.28rem 0.55rem;
    border-radius: 6px;
    border: 1px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    box-shadow: none;
    text-transform: none;
    letter-spacing: 0;
}

.admin-panel .acct-action-btn i {
    font-size: 0.62rem;
    opacity: 0.9;
}

.admin-panel .acct-action-btn--abono {
    background: rgba(37, 99, 235, 0.08);
    color: #6d28d9;
    border-color: rgba(37, 99, 235, 0.28);
}

.admin-panel .acct-action-btn--abono:hover {
    background: rgba(37, 99, 235, 0.16);
    border-color: rgba(37, 99, 235, 0.45);
}

.admin-panel .acct-action-btn--pay {
    background: rgba(5, 150, 105, 0.08);
    color: #047857;
    border-color: rgba(16, 185, 129, 0.32);
}

.admin-panel .acct-action-btn--pay:hover {
    background: rgba(5, 150, 105, 0.16);
    border-color: rgba(16, 185, 129, 0.5);
}

.admin-panel .acct-action-btn--edit {
    background: rgba(234, 88, 12, 0.08);
    color: #c2410c;
    border-color: rgba(234, 88, 12, 0.28);
}

.admin-panel .acct-action-btn--edit:hover {
    background: rgba(234, 88, 12, 0.15);
    border-color: rgba(234, 88, 12, 0.45);
}

.admin-panel .acct-action-btn--hist {
    background: rgba(100, 116, 139, 0.08);
    color: #475569;
    border-color: rgba(100, 116, 139, 0.28);
}

.admin-panel .acct-action-btn--hist:hover {
    background: rgba(100, 116, 139, 0.15);
    border-color: rgba(100, 116, 139, 0.42);
}

.acct-billing-status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    white-space: nowrap;
}

.acct-billing-status--paid {
    color: #047857;
    background: rgba(16, 185, 129, 0.14);
}

.acct-billing-status--pending {
    color: #b45309;
    background: rgba(245, 158, 11, 0.16);
}

.acct-billing-status--partial {
    color: #6d28d9;
    background: rgba(59, 130, 246, 0.14);
}

.acct-billing-restante {
    color: #c2410c;
    font-weight: 700;
}

.warning-text {
    color: #d97706;
    font-weight: 600;
}

.accounting-invoices-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.accounting-invoices-note {
    font-size: 0.82rem;
    margin: 0.35rem 0 0;
    line-height: 1.45;
}

.invoice-line-marked-remove {
    opacity: 0.45;
    text-decoration: line-through;
}

.accounting-charge-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.accounting-charge-actions .btn {
    font-size: 0.72rem;
    padding: 0.25rem 0.45rem;
}

.accounting-invoices-toolbar label {
    font-size: 0.82rem;
    color: var(--admin-muted);
}

.invoice-status-open { color: #d97706; font-weight: 600; }
.invoice-status-partial { color: #7c3aed; font-weight: 600; }
.invoice-status-paid { color: #059669; font-weight: 600; }

.accounting-provider-billing-panel {
    margin-top: 0;
    border-top: none;
    padding-top: 0;
}

.accounting-provider-totals-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.accounting-provider-summary-wrap {
    margin-top: 1rem;
    border-top: 2px solid rgba(37, 99, 235, 0.2);
    padding-top: 1.25rem;
}

.accounting-client-charges-wrap {
    margin-top: 1.5rem;
    border-top: 2px solid rgba(5, 150, 105, 0.2);
    padding-top: 1.25rem;
}

.admin-price-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.admin-price-modal {
    background: #12141c;
    border: 1px solid rgba(232, 121, 249, 0.25);
    border-radius: 12px;
    padding: 1.25rem;
    width: min(420px, 100%);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.admin-price-modal h3 {
    margin: 0 0 0.5rem;
    color: var(--neon-cyan, #e879f9);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1rem;
}

.admin-price-modal input {
    width: 100%;
    box-sizing: border-box;
    margin: 0.35rem 0 0.5rem;
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(0, 0, 0, 0.35);
    color: #fff;
}

.admin-price-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.admin-panel .admin-cuentas-table col.admin-acciones-col { width: 100px; }

.admin-panel .admin-cuentas-table .account-select-th,
.admin-panel .admin-cuentas-table .account-select-td {
    width: 36px;
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.admin-panel .admin-cuentas-table th,
.admin-panel .admin-cuentas-table td {
    display: table-cell;
    box-sizing: border-box;
}

.admin-panel .admin-cuentas-table th {
    color: var(--neon-cyan, #e879f9) !important;
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 0.68rem !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    border-bottom: 1px solid rgba(232, 121, 249, 0.25) !important;
    background: rgba(0, 20, 30, 0.92) !important;
    text-shadow: none !important;
    padding: 8px 6px !important;
    position: sticky;
    top: 0;
    z-index: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-panel .admin-cuentas-table th.admin-acciones-col {
    z-index: 4;
}

.admin-panel .admin-cuentas-table td {
    color: #d9f8ff !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(232, 121, 249, 0.08) !important;
    padding: 7px 6px !important;
    font-weight: 500;
    text-shadow: none !important;
    vertical-align: middle;
    overflow: hidden;
}

.admin-panel .admin-cuentas-table td.cuenta-servicio-cell,
.admin-panel .admin-cuentas-table td.cuenta-correo-cell {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-panel .admin-cuentas-table .assigned-user-compact span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    min-width: 0;
}

.admin-panel .admin-cuentas-table .accounts-vendor-link {
    appearance: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: #22d3ee;
    cursor: pointer;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    min-width: 0;
    max-width: 100%;
    text-decoration: underline;
    text-decoration-color: rgba(34, 211, 238, 0.35);
    text-underline-offset: 2px;
}

.admin-panel .admin-cuentas-table .accounts-vendor-link:hover {
    color: #67e8f9;
    text-decoration-color: #67e8f9;
}

.admin-panel .admin-cuentas-table .accounts-vendor-link:focus-visible {
    outline: 2px solid rgba(34, 211, 238, 0.55);
    outline-offset: 2px;
    border-radius: 3px;
}

.admin-panel .admin-cuentas-table .cuenta-precio-cell {
    font-size: 0.82rem !important;
    white-space: nowrap;
}

.admin-panel .admin-cuentas-table .password-field-compact {
    padding: 4px 6px;
    gap: 4px;
    min-width: 0;
}

.admin-panel .admin-cuentas-table .password-field-compact .password-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
    font-size: 0.72rem;
}

.admin-panel .admin-cuentas-table .password-field-compact .password-toggle {
    flex-shrink: 0;
    font-size: 0.75rem;
}

.admin-panel .admin-cuentas-table .status-badge-compact {
    padding: 3px 6px;
    border-radius: 10px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.25;
    box-shadow: none !important;
}

.admin-panel .admin-cuentas-table .status-badge-compact.archived {
    background: rgba(148, 163, 184, 0.22);
    color: #cbd5e1;
    border: 1px solid rgba(148, 163, 184, 0.35);
}

.admin-panel .admin-cuentas-table .status-badge-compact.failed {
    background: rgba(239, 68, 68, 0.16);
    color: #fca5a5;
    border: 1px solid rgba(239, 68, 68, 0.35);
}

.admin-panel .admin-cuentas-table tr.cuenta-row-archivada {
    opacity: 0.88;
}

.admin-panel .admin-cuentas-table tr.cuenta-row-archivada td {
    background: rgba(71, 85, 105, 0.08);
}

.admin-panel .admin-cuentas-table .vencimiento-compact {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.admin-panel .admin-cuentas-table .vencimiento-fecha {
    font-size: 0.78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-panel .admin-cuentas-table .vencimiento-hint {
    font-size: 0.65rem;
    font-weight: 600;
    white-space: nowrap;
}

.admin-panel .admin-cuentas-table .vencimiento-hint.vencida { color: #ff9a9a; }
.admin-panel .admin-cuentas-table .vencimiento-hint.proxima { color: #ffc978; }
.admin-panel .admin-cuentas-table .vencimiento-hint.ok { color: #92f7c7; }

.admin-panel .admin-cuentas-table .assigned-user-compact {
    gap: 4px;
    min-width: 0;
    flex-wrap: wrap;
}

.admin-panel .admin-cuentas-table .assigned-user-compact i {
    font-size: 0.75rem;
    flex-shrink: 0;
}

.admin-panel .admin-cuentas-table .assigned-by-admin {
    flex-basis: 100%;
    margin: 0 0 0 1.1rem;
    font-size: 0.68rem;
    line-height: 1.2;
    color: rgba(180, 200, 230, 0.85);
    font-weight: 500;
}

.admin-panel .admin-cuentas-table .action-buttons-compact {
    display: flex;
    flex-wrap: nowrap;
    gap: 3px;
    justify-content: center;
}

.admin-panel .admin-cuentas-table .action-buttons-compact .btn-icon {
    padding: 5px 6px;
    font-size: 0.72rem;
    min-width: 26px;
    min-height: 26px;
    line-height: 1;
    border-radius: 5px;
}

.admin-panel .admin-cuentas-table .admin-acciones-cell {
    padding-left: 4px !important;
    padding-right: 4px !important;
    text-align: center;
}

.admin-panel .admin-cuentas-vendor-look .admin-cuentas-table tbody tr.cuenta-row {
    transition: none;
}

.admin-panel .admin-cuentas-vendor-look .admin-cuentas-table tbody tr.cuenta-row:hover {
    background: transparent !important;
    transform: none !important;
}

.admin-panel .admin-cuentas-table tbody tr:hover td {
    background: rgba(232, 121, 249, 0.07) !important;
    color: #d9f8ff !important;
    transform: none !important;
}

.admin-panel .admin-cuentas-table tbody tr.cuenta-row-vencida:hover td {
    background: rgba(255, 80, 80, 0.14) !important;
}

.admin-panel .admin-cuentas-table tbody tr.cuenta-row-por-vencer:hover td {
    background: rgba(255, 140, 0, 0.12) !important;
}

.admin-panel .admin-cuentas-table tbody tr:hover .cuenta-servicio-cell {
    color: #ff8a9e !important;
}

.admin-panel .admin-cuentas-table tbody tr:hover .cuenta-correo-cell {
    color: #9ee8ff !important;
}

.admin-panel .admin-cuentas-table tbody tr:hover .cuenta-precio-cell {
    color: #a8f5d0 !important;
}

.admin-panel .admin-cuentas-table tbody tr:hover .password-text {
    color: #e8f6fa !important;
}

.admin-panel .admin-cuentas-table tbody tr:hover .vencimiento-hint.vencida {
    color: #ffb3b3 !important;
}

.admin-panel .admin-cuentas-table tbody tr:hover .status-badge.expired {
    color: #ffc8c8 !important;
}

.admin-panel .admin-cuentas-table tbody tr:hover .admin-provider-marlon,
.admin-panel .admin-cuentas-table tbody tr:hover .provider-marlon-badge {
    color: #ffe08a !important;
}

.admin-panel .client-detail-scroll-table.admin-cuentas-vendor-look {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    margin-top: 6px;
    padding-top: 0;
    border-top: none;
}

.admin-panel .client-detail-sticky-layout.client-detail-accounts-focus .client-detail-scroll-table.admin-cuentas-vendor-look {
    min-height: calc(100vh - 260px);
}

.admin-panel .client-detail-accounts-heading .client-accounts-summary-inline {
    color: #4b5563 !important;
}

.admin-panel .client-detail-toggle-tools-btn {
    border: 1px solid var(--admin-border, #e5e7eb);
    background: #fff;
    color: #374151;
}

.admin-panel .client-detail-toggle-provider-btn {
    border: 1px solid var(--admin-border, #e5e7eb);
    background: #fff;
    color: #374151;
}

.admin-panel .client-detail-sticky-layout:not(.client-detail-provider-open) .client-detail-bulk-provider,
.admin-panel .client-detail-sticky-layout.client-detail-accounts-focus .client-detail-bulk-provider {
    display: none !important;
}

.admin-panel .client-detail-billing-panel {
    margin: 0.75rem 0 1rem;
    display: grid;
    gap: 1rem;
}

.admin-panel .client-detail-billing-section h4 {
    margin: 0 0 0.5rem;
    font-size: 0.95rem;
    color: #1b1430;
}

.admin-panel .client-detail-billing-table {
    font-size: 13px;
}

.admin-panel .client-detail-fullpage .client-detail-billing-table.data-table {
    background: #fff;
}

.admin-panel .client-detail-fullpage .client-detail-billing-table.data-table thead th {
    background: #f8fafc !important;
    color: #374151 !important;
}

.admin-panel .client-detail-fullpage .client-detail-billing-table.data-table tbody td {
    background: #fff !important;
    color: #1b1430 !important;
    border-color: #e5e7eb !important;
}

.admin-panel .client-detail-fullpage .client-detail-billing-table.data-table tbody tr:hover td {
    background: #f9fafb !important;
}

.admin-panel .client-detail-billing-table .expired-cutoff-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.admin-panel .client-detail-scroll-table.admin-cuentas-vendor-look .admin-cuentas-scroll-wrap {
    max-height: none;
    min-height: 0;
}

.admin-panel .admin-cuentas-table thead {
    background: transparent !important;
}

.admin-panel .admin-cuentas-table th.servicio-col {
    color: var(--neon-red, #ff0040) !important;
}

.admin-panel .admin-cuentas-table tbody tr:nth-child(even) td {
    background: rgba(232, 121, 249, 0.03) !important;
}

.admin-panel .admin-cuentas-table tbody tr:nth-child(even):hover td {
    background: rgba(232, 121, 249, 0.09) !important;
}

.admin-panel .admin-cuentas-table .cuenta-servicio-cell {
    color: var(--neon-red, #ff5a7a) !important;
    font-weight: 600;
}

.admin-panel .admin-cuentas-table .cuenta-correo-cell {
    color: #e9d5ff !important;
    font-weight: 600;
}

.admin-panel .admin-cuentas-table .cuenta-precio-cell {
    color: #92f7c7 !important;
    font-weight: 700;
}

.admin-panel .admin-cuentas-table .text-muted {
    color: #8aa4ad !important;
}

.admin-panel .admin-cuentas-vendor-look .password-field {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(232, 121, 249, 0.18);
}

.admin-panel .admin-cuentas-vendor-look .password-text {
    color: #e8f6fa !important;
}

.admin-panel .admin-cuentas-vendor-look .password-toggle {
    color: var(--neon-cyan, #e879f9);
}

.admin-panel .admin-cuentas-vendor-look .status-badge.active {
    background: rgba(0, 255, 128, 0.12);
    color: #92f7c7;
    border: 1px solid rgba(0, 255, 128, 0.35);
}

.admin-panel .admin-cuentas-vendor-look .status-badge.inactive {
    background: rgba(255, 170, 0, 0.12);
    color: #ffd59a;
    border: 1px solid rgba(255, 170, 0, 0.35);
}

.admin-panel .admin-cuentas-vendor-look .status-badge.expired {
    background: rgba(255, 80, 80, 0.15);
    color: #ffb3b3;
    border: 1px solid rgba(255, 80, 80, 0.45);
}

.admin-panel .admin-cuentas-vendor-look .status-badge.expiring {
    background: rgba(255, 140, 0, 0.12);
    color: #ffc978;
    border: 1px solid rgba(255, 140, 0, 0.4);
}

.admin-panel .admin-cuentas-vendor-look tr.cuenta-row-vencida td {
    background: rgba(255, 80, 80, 0.08) !important;
}

.admin-panel .admin-cuentas-vendor-look tr.cuenta-row-por-vencer td {
    background: rgba(255, 140, 0, 0.06) !important;
}

.admin-panel .admin-cuentas-vendor-look .status-corte.expired {
    color: #ff8a8a !important;
    font-weight: 600;
}

.admin-panel .admin-cuentas-vendor-look .days-badge-expired {
    color: #ff9a9a !important;
    border-color: rgba(255, 80, 80, 0.45);
}

.admin-panel #accounts-filter-expired-btn.active {
    box-shadow: none;
    outline: none;
}

.admin-panel .stat-card-expiry .stat-icon {
    color: #ff8a8a;
}

.admin-panel .stat-card-expiry .stat-number {
    color: #ffb3b3;
}

.admin-panel .admin-cuentas-vendor-look .days-badge,
.admin-panel .admin-cuentas-vendor-look .assigned-user span,
.admin-panel .admin-cuentas-vendor-look .date-info > div:first-child {
    color: #d9f8ff !important;
}

.admin-panel .admin-cuentas-vendor-look .provider-marlon-badge,
.admin-panel .admin-cuentas-vendor-look .admin-provider-marlon {
    color: #ffe08a !important;
    border-color: rgba(255, 193, 7, 0.45);
    background: rgba(255, 193, 7, 0.12);
}

.admin-panel .admin-cuentas-vendor-look tr.row-cuenta-marlon td {
    background: rgba(255, 193, 7, 0.04) !important;
}

.admin-panel .miscuentas-tools.admin-vendor-detail-filters {
    margin: 0.45rem 0 0.15rem;
    display: grid;
    gap: 0.55rem 0.75rem;
    grid-template-columns: 1.4fr 1fr 1fr auto;
    align-items: end;
}

.admin-panel .vendor-filter-field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.admin-panel .vendor-filter-label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8aa4ad;
}

.admin-panel .vendor-filter-clear {
    align-self: end;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .admin-panel .miscuentas-tools.admin-vendor-detail-filters {
        grid-template-columns: 1fr 1fr;
    }
    .admin-panel .vendor-filter-clear {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

/* Tabla detalle vendedor: correos completos + scroll horizontal */
.admin-panel .vendor-detail-accounts-table {
    table-layout: fixed;
    min-width: 1180px;
    width: 100%;
}

.admin-panel .vendor-detail-accounts-table col.vd-col-select { width: 36px; }
.admin-panel .vendor-detail-accounts-table col.vd-col-servicio { width: 118px; }
.admin-panel .vendor-detail-accounts-table col.vd-col-correo { width: 240px; }
.admin-panel .vendor-detail-accounts-table col.vd-col-pais { width: 88px; }
.admin-panel .vendor-detail-accounts-table col.vd-col-proveedor { width: 96px; }
.admin-panel .vendor-detail-accounts-table col.vd-col-costo { width: 88px; }
.admin-panel .vendor-detail-accounts-table col.vd-col-cliente { width: 100px; }
.admin-panel .vendor-detail-accounts-table col.vd-col-estado { width: 88px; }
.admin-panel .vendor-detail-accounts-table col.vd-col-corte { width: 96px; }
.admin-panel .vendor-detail-accounts-table col.vd-col-precio { width: 96px; }
.admin-panel .vendor-detail-accounts-table col.vd-col-renovacion { width: 140px; }

.admin-panel .client-detail-fullpage .client-detail-scroll-table .client-detail-accounts-table-wrap {
    overflow-x: auto;
    overflow-y: visible;
    max-height: none;
    -webkit-overflow-scrolling: touch;
}

.admin-panel .vendor-detail-accounts-table td.cuenta-correo-cell,
.admin-panel .vendor-detail-accounts-table th:nth-child(3) {
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
}

.admin-panel .vendor-detail-accounts-table .vendor-email-text {
    display: block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.78rem;
    line-height: 1.4;
    word-break: break-all;
    color: #9ee8ff;
    background: rgba(0, 0, 0, 0.22);
    padding: 0.2rem 0.35rem;
    border-radius: 4px;
}

.admin-panel .vendor-detail-accounts-table td.cuenta-servicio-cell {
    white-space: normal;
    line-height: 1.3;
    font-size: 0.8rem;
}

.admin-panel .vendor-detail-accounts-table .client-detail-renewal-col {
    font-size: 0.75rem;
    line-height: 1.35;
    white-space: normal;
    max-width: 5.5rem;
    text-align: center;
}

.admin-panel .vendor-detail-accounts-table .client-detail-renewal-col .account-renew-btn,
.admin-panel .client-detail-fullpage .client-detail-renewal-col .account-renew-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.15rem 0.4rem;
    font-size: 0.65rem;
    font-weight: 600;
    line-height: 1.1;
    min-height: 0;
    width: auto;
    max-width: 100%;
    white-space: nowrap;
    border-radius: 5px;
}

.admin-panel .vendor-detail-accounts-table .cuenta-precio-cell {
    white-space: nowrap;
}

.admin-panel .vendor-detail-accounts-table tbody tr:hover .vendor-email-text {
    color: #c8f4ff;
}

.admin-panel .miscuentas-search {
    width: 100%;
    padding: 9px 12px;
    border-radius: 8px;
    border: 1px solid rgba(232, 121, 249, 0.22);
    background: rgba(255, 255, 255, 0.04);
    color: #e8f6fa;
}

.admin-panel .miscuentas-search:focus {
    outline: none;
    border-color: var(--neon-cyan, #e879f9);
    box-shadow: 0 0 0 2px rgba(232, 121, 249, 0.12);
}

.admin-panel .subcli-btn {
    border: 1px solid rgba(232, 121, 249, 0.35);
    background: rgba(232, 121, 249, 0.11);
    color: #d9f8ff;
    border-radius: 8px;
    padding: 0.5rem 0.8rem;
    cursor: pointer;
}

.admin-panel #accounts-section .admin-cuentas-vendor-look .admin-cuentas-table.data-table tbody tr:hover td {
    color: #d9f8ff !important;
    font-weight: 500;
}

.admin-panel #accounts-section .admin-cuentas-vendor-look .admin-cuentas-table.data-table tbody tr:hover .cuenta-correo-cell {
    color: #9ee8ff !important;
    font-weight: 600;
}

.admin-panel #accounts-section .admin-cuentas-vendor-look .admin-cuentas-table.data-table tbody tr:hover .cuenta-precio-cell {
    color: #a8f5d0 !important;
    font-weight: 700;
}

.admin-panel #accounts-section .data-table:not(.admin-cuentas-table) td {
    color: var(--admin-muted);
}

.admin-panel #accounts-section .admin-cuentas-vendor-look .data-table td.price {
    color: #92f7c7;
    text-shadow: none;
}

.admin-panel #accounts-section .data-table:not(.admin-cuentas-table) tbody tr:hover td:nth-child(3),
.admin-panel #accounts-section .data-table:not(.admin-cuentas-table) tbody tr:hover td:nth-child(5),
.admin-panel #accounts-section .data-table:not(.admin-cuentas-table) tbody tr:hover td.price {
    color: #000 !important;
    font-weight: 600;
    text-shadow: none;
}

.admin-panel #accounts-section .data-table:not(.admin-cuentas-table) tbody tr:hover .date-info > div:first-child,
.admin-panel #accounts-section .data-table:not(.admin-cuentas-table) tbody tr:hover .assigned-user span {
    color: #000 !important;
    font-weight: 600;
}

.admin-panel #clients-section .data-table tbody tr:hover td:nth-child(2) {
    color: #000 !important;
    font-weight: 500;
}

/* Clientes: scroll interno para ver todas las filas (incl. la última) */
.admin-panel #clients-section.content-section.active:not(.client-detail-mode) {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 0.5rem 1rem 0.75rem;
}

.admin-panel #clients-section #clients-list-view {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.admin-panel #clients-section #clients-list-view .table-container.clients-table-compact {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0.65rem 0.75rem 0.75rem;
}

.admin-panel #clients-section .clients-toolbar {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
    margin-bottom: 0.55rem;
    flex: 0 0 auto;
}

.admin-panel #clients-section .clients-add-btn {
    padding: 0.42rem 0.85rem;
    font-size: 0.82rem;
    white-space: nowrap;
    flex-shrink: 0;
}

.admin-panel #clients-section .clients-search-wrap {
    position: relative;
    flex: 0 1 240px;
    max-width: 280px;
    min-width: 160px;
}

.admin-panel #clients-section .clients-search-input {
    width: 100%;
    padding: 0.42rem 0.65rem 0.42rem 2rem;
    font-size: 0.85rem;
    border-radius: 8px;
    border: 1px solid var(--admin-border);
    background: #fff;
}

.admin-panel #clients-section .clients-search-icon {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--admin-muted);
    font-size: 0.78rem;
    pointer-events: none;
}

.admin-panel #clients-section #clients-list-view .table-wrapper {
    flex: 1 1 auto;
    min-height: 120px;
    max-height: none;
    overflow-x: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.35rem;
}

.admin-panel #clients-section #clients-list-view .data-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}

.admin-panel .data-table .service-badge {
    color: #fff;
    text-shadow: none;
    border-color: transparent;
}

.admin-panel .data-table .service-badge.netflix {
    background: linear-gradient(45deg, #e50914, #ff1a1a);
}

.admin-panel .data-table .service-badge.netflix-perfiles {
    background: linear-gradient(45deg, #c2410c, #ea580c);
}

.admin-panel .data-table .service-badge.disney {
    background: linear-gradient(45deg, #113ccf, #1a4cff);
}

.admin-panel .data-table .service-badge.prime {
    background: linear-gradient(45deg, #00a8e1, #00ccff);
}

.admin-panel .data-table .service-badge.paramount {
    background: linear-gradient(45deg, #0064ff, #7c3aed);
}

.admin-panel .data-table .service-badge.max,
.admin-panel .data-table .service-badge.hbo,
.admin-panel .data-table .service-badge.maxpremium,
.admin-panel .data-table .service-badge.hbomax {
    background: linear-gradient(45deg, #7c3aed, #5b21b6);
}

.admin-panel .data-table .service-badge.crunchyroll {
    background: linear-gradient(45deg, #f47521, #ff8a3d);
}

.admin-panel .data-table .service-badge:not(.netflix):not(.netflix-perfiles):not(.disney):not(.prime):not(.paramount):not(.max):not(.hbo):not(.maxpremium):not(.hbomax):not(.crunchyroll) {
    background: #4b5563;
}

.admin-panel .data-table tbody tr:hover .service-badge {
    color: #fff;
}

.admin-panel .password-field {
    background: #f3f4f6;
    border: 1px solid var(--admin-border);
}

.admin-panel .password-text {
    color: #374151;
}

.admin-panel .data-table:not(.admin-cuentas-table) tbody tr:hover .password-text {
    color: #1b1430;
}

.admin-panel .password-toggle {
    color: var(--admin-accent);
    text-shadow: none;
}

.admin-panel .password-toggle:hover {
    color: #6d28d9;
}

.admin-panel .assigned-user {
    color: var(--admin-muted);
}

.admin-panel .assigned-user i {
    color: var(--admin-success);
    text-shadow: none;
}

/* Select vendedores — cuentas por cobrar */
.admin-panel .receivables-client-select {
    background: var(--admin-accent-soft);
    border-color: #c4b5fd;
    color: #5b21b6;
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
}

.admin-panel .receivables-client-select:hover,
.admin-panel .receivables-client-select:focus {
    background: #ede9fe;
    border-color: var(--admin-accent);
    color: #4c1d95;
    outline: none;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

/* Process section */
.admin-panel .control-group label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--admin-muted);
}

.admin-panel .process-scope-toggles {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}
.admin-panel .process-scope-btn {
    border: 1px solid rgba(232, 121, 249, 0.25);
    background: rgba(0, 0, 0, 0.2);
    color: var(--admin-muted, #94a3b8);
    border-radius: 999px;
    padding: .4rem .85rem;
    cursor: pointer;
    font: inherit;
    font-size: .82rem;
    font-weight: 600;
}
.admin-panel .process-scope-btn:hover {
    color: #e2e8f0;
    border-color: rgba(232, 121, 249, 0.45);
}
.admin-panel .process-scope-btn.active {
    background: rgba(232, 121, 249, 0.14);
    color: #67e8f9;
    border-color: rgba(232, 121, 249, 0.55);
}
.admin-panel .process-provider-fields {
    min-width: 12rem;
    max-width: 18rem;
}
.admin-panel .process-provider-fields .admin-provider-select,
.admin-panel .process-provider-fields .admin-provider-custom {
    width: 100%;
}

.admin-panel .process-step {
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius);
    background: #fff;
}

/* Modals — texto claro sobre fondo oscuro del modal (el panel usa color oscuro heredado) */
.admin-panel .modal-overlay .modal {
    color: var(--text-primary, #ffffff);
}

.admin-panel .modal-content {
    border-radius: 12px;
    border: 1px solid rgba(232, 121, 249, 0.25);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
    color: var(--text-secondary, #d1d5db);
}

.admin-panel .modal-content p,
.admin-panel .modal-content label,
.admin-panel .modal-content legend,
.admin-panel .modal-content .form-group label,
.admin-panel .modal-content .confirmation-content p {
    color: var(--text-secondary, #d1d5db);
}

.admin-panel .remove-account-dest-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.65rem;
}

.admin-panel .remove-account-dest-hero {
    text-align: center;
    margin-bottom: 0.35rem;
}

.admin-panel .remove-account-dest-hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    background: rgba(249, 115, 22, 0.15);
    color: #fb923c;
    font-size: 1.15rem;
    margin-bottom: 0.55rem;
}

.admin-panel .remove-account-dest-question {
    margin: 0 0 0.25rem;
    font-size: 1.02rem;
    color: #f3f4f6;
}

.admin-panel .remove-account-dest-email {
    font-size: 0.88rem;
    margin: 0 0 0.35rem;
    word-break: break-all;
}

.admin-panel .remove-account-provider-hint {
    font-size: 0.82rem;
    margin: 0 0 0.65rem;
    text-align: center;
}

.admin-panel .remove-account-dest-note {
    font-size: 0.78rem;
    margin-top: 0.9rem;
    line-height: 1.45;
    text-align: center;
}

.admin-panel .remove-dest-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    min-height: 7.2rem;
    padding: 0.85rem 0.65rem;
    border-radius: 14px;
    border: 1px solid transparent;
    background: rgba(15, 23, 42, 0.55);
    color: #f8fafc;
    cursor: pointer;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
    text-align: center;
}

.admin-panel .remove-dest-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

.admin-panel .remove-dest-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 12px;
    font-size: 1.05rem;
}

.admin-panel .remove-dest-card-title {
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.01em;
}

.admin-panel .remove-dest-card-desc {
    font-size: 0.72rem;
    line-height: 1.35;
    opacity: 0.82;
}

.admin-panel .remove-dest-card--disponibles {
    border-color: rgba(52, 211, 153, 0.45);
    background: linear-gradient(165deg, rgba(6, 78, 59, 0.45), rgba(15, 23, 42, 0.7));
}
.admin-panel .remove-dest-card--disponibles .remove-dest-card-icon {
    background: rgba(52, 211, 153, 0.18);
    color: #34d399;
}
.admin-panel .remove-dest-card--disponibles:hover {
    border-color: #34d399;
}

.admin-panel .remove-dest-card--caida {
    border-color: rgba(251, 146, 60, 0.5);
    background: linear-gradient(165deg, rgba(124, 45, 18, 0.4), rgba(15, 23, 42, 0.7));
}
.admin-panel .remove-dest-card--caida .remove-dest-card-icon {
    background: rgba(251, 146, 60, 0.18);
    color: #fb923c;
}
.admin-panel .remove-dest-card--caida:hover {
    border-color: #fb923c;
}

.admin-panel .remove-dest-card--problema {
    border-color: rgba(34, 211, 238, 0.5);
    background: linear-gradient(165deg, rgba(8, 51, 68, 0.5), rgba(15, 23, 42, 0.7));
}
.admin-panel .remove-dest-card--problema .remove-dest-card-icon {
    background: rgba(34, 211, 238, 0.16);
    color: #22d3ee;
}
.admin-panel .remove-dest-card--problema:hover {
    border-color: #22d3ee;
}

.admin-panel .remove-dest-card--purge {
    border-color: rgba(248, 113, 113, 0.55);
    background: linear-gradient(165deg, rgba(127, 29, 29, 0.45), rgba(15, 23, 42, 0.7));
}
.admin-panel .remove-dest-card--purge .remove-dest-card-icon {
    background: rgba(248, 113, 113, 0.18);
    color: #f87171;
}
.admin-panel .remove-dest-card--purge:hover {
    border-color: #f87171;
}

.admin-panel .admin-report-problem-modal textarea.form-input {
    min-height: 6.5rem;
    resize: vertical;
}

.admin-panel .remove-account-dest-options.remove-account-dest-options--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 640px) {
    .admin-panel .remove-account-dest-options,
    .admin-panel .remove-account-dest-options.remove-account-dest-options--two {
        grid-template-columns: 1fr;
    }
}

.admin-panel .remove-account-dest-options .remove-dest-btn {
    min-width: 9.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

.admin-panel .removal-billing-preview-wrap {
    margin: 0.75rem 0 1rem;
    padding: 0.65rem 0.75rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.45);
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.admin-panel .failed-amount-credit {
    color: #34d399;
    font-weight: 600;
}

.admin-panel .failed-amount-due {
    color: #fbbf24;
    font-weight: 600;
}

.admin-panel .failed-removal-tag {
    display: inline-block;
    font-size: 0.72rem;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-weight: 600;
}

.admin-panel .failed-removal-tag--disp {
    background: rgba(16, 185, 129, 0.15);
    color: #6ee7b7;
}

.admin-panel .failed-removal-tag--fail {
    background: rgba(245, 158, 11, 0.15);
    color: #fcd34d;
}

.admin-panel .modal-content .text-muted {
    color: #b8c9d4 !important;
}

.admin-panel .modal-content strong {
    color: #ffffff;
    font-weight: 600;
}

.admin-panel .modal-content .charge-settle-fieldset {
    color: var(--text-secondary, #d1d5db);
}

.admin-panel .modal-content .charge-settle-fieldset legend {
    color: #e8f6fa;
}

.admin-panel .modal-content input,
.admin-panel .modal-content select,
.admin-panel .modal-content textarea {
    color: var(--text-primary, #ffffff);
    background: rgba(15, 23, 42, 0.75);
    border-color: rgba(148, 163, 184, 0.35);
}

.admin-panel .modal-content input::placeholder {
    color: #94a3b8;
}

/* Modal resultado asignación Disponibles */
.assign-result-modal {
    max-height: min(72vh, 640px);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.assign-result-intro {
    margin: 0;
    font-size: 0.9rem;
}
.assign-result-list {
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    max-height: min(42vh, 360px);
    padding-right: 0.25rem;
}
.assign-result-item {
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 8px;
    padding: 0.55rem 0.65rem;
    background: rgba(15, 23, 42, 0.45);
}
.assign-result-item-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
    flex-wrap: wrap;
}
.assign-result-item-num {
    font-size: 0.75rem;
    color: #94a3b8;
    font-weight: 600;
}
.assign-result-item-svc {
    font-size: 0.82rem;
    color: #e2e8f0;
    flex: 1;
}
.assign-result-item-head .assign-result-copy-one {
    margin-left: auto;
    padding: 0.2rem 0.45rem;
    font-size: 0.75rem;
}
.assign-result-fields {
    display: grid;
    gap: 0.25rem;
    font-size: 0.85rem;
}
.assign-result-fields > div {
    display: grid;
    grid-template-columns: 4.2rem 1fr;
    gap: 0.35rem;
    align-items: baseline;
}
.assign-result-lbl {
    color: #94a3b8;
    font-size: 0.78rem;
}
.assign-result-val {
    color: #f1f5f9;
    word-break: break-all;
}
.assign-result-mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.84rem;
}
.assign-result-providers {
    border-top: 1px solid rgba(148, 163, 184, 0.2);
    padding-top: 0.65rem;
}
.assign-result-providers-title {
    margin: 0 0 0.5rem;
    font-size: 0.9rem;
    color: #e2e8f0;
}
.assign-result-provider-block {
    border: 1px solid rgba(56, 189, 248, 0.25);
    border-radius: 8px;
    padding: 0.5rem 0.65rem;
    margin-bottom: 0.45rem;
    background: rgba(14, 116, 144, 0.12);
}
.assign-result-provider-block:last-child {
    margin-bottom: 0;
}
.assign-result-provider-name {
    font-weight: 600;
    color: #c4b5fd;
    margin-bottom: 0.35rem;
    font-size: 0.88rem;
}
.assign-result-provider-row {
    display: grid;
    grid-template-columns: 4.2rem 1fr;
    gap: 0.35rem;
    font-size: 0.84rem;
    margin-top: 0.2rem;
    align-items: baseline;
}
.assign-result-link {
    color: #a78bfa;
    word-break: break-all;
}
.assign-result-actions {
    margin-top: 0.25rem;
    flex-shrink: 0;
}

/* Client detail fullpage — vendedor en admin (tema claro legible) */
.admin-panel #accounting-sum-vendor.is-loading,
.admin-panel #accounting-sum-provider.is-loading,
.admin-panel #accounting-sum-mine.is-loading {
    opacity: 0.55;
}
.admin-panel .client-detail-fullpage .client-detail-loading-state {
    padding: 2rem 1.5rem;
    text-align: center;
}
.admin-panel .client-detail-fullpage .client-detail-loading-msg {
    margin-top: 1.25rem;
    font-size: 1rem;
}
.admin-panel .client-detail-fullpage {
    background: var(--admin-bg);
    color: var(--admin-text);
}

.admin-panel .client-detail-fullpage .client-details-modal {
    color: var(--admin-text);
}

.admin-panel .client-detail-fullpage .client-detail-section-title h2 {
    color: var(--admin-text) !important;
    text-shadow: none !important;
}

.admin-panel .client-detail-fullpage .client-info-large h3 {
    color: var(--admin-text) !important;
}

.admin-panel .client-detail-fullpage .client-info-large p {
    color: var(--admin-muted) !important;
}

.admin-panel .client-detail-fullpage .client-detail-info-block {
    background: #f8fafc;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    padding: 0.35rem 0.5rem;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card {
    background: #fff !important;
    border: 1px solid var(--admin-border) !important;
    box-shadow: none !important;
    min-height: 0 !important;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--inventory {
    border-color: #c4b5fd !important;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--inventory .client-detail-pago-label {
    color: #6d28d9 !important;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--inventory .client-detail-pago-value {
    color: #5b21b6 !important;
    font-weight: 800 !important;
    font-size: 0.92rem !important;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--paid {
    border-color: #86efac !important;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--paid .client-detail-pago-label {
    color: #059669 !important;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--paid .client-detail-pago-value {
    color: #047857 !important;
    font-weight: 800 !important;
    font-size: 0.92rem !important;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--due {
    border-color: #fcd34d !important;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--due .client-detail-pago-label {
    color: #d97706 !important;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--due .client-detail-pago-value {
    color: #b45309 !important;
    font-weight: 800 !important;
    font-size: 0.92rem !important;
}

.admin-panel .client-detail-fullpage button.client-detail-pago-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    font: inherit;
    background: inherit;
    width: auto;
    min-width: 0;
    cursor: default;
}

.admin-panel .client-detail-fullpage button.client-detail-pago-card.is-clickable {
    cursor: pointer;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.admin-panel .client-detail-fullpage button.client-detail-pago-card.is-clickable:hover,
.admin-panel .client-detail-fullpage button.client-detail-pago-card.is-clickable:focus-visible {
    box-shadow: 0 2px 8px rgba(180, 83, 9, 0.16);
    border-color: #f59e0b !important;
    outline: none;
}

.admin-panel .client-detail-fullpage .client-detail-pago-hint {
    display: block;
    margin-top: 0;
    font-size: 0.62rem;
    font-weight: 600;
    color: #d97706;
    opacity: 0.85;
    line-height: 1.1;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--credit {
    border-color: #a5f3fc !important;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--credit .client-detail-pago-label {
    color: #0e7490 !important;
}

.admin-panel .client-detail-fullpage .client-detail-pago-card--credit .client-detail-pago-value {
    color: #0891b2 !important;
    font-weight: 800 !important;
    font-size: 0.92rem !important;
}

.admin-panel .client-detail-fullpage .client-detail-header-data {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0 0 0 0.65rem;
    border-left: 1px solid var(--admin-border);
}

.admin-panel .client-detail-fullpage .client-detail-header-data .data-item label {
    color: var(--admin-muted) !important;
}

.admin-panel .client-detail-fullpage .client-detail-header-data .data-item span {
    color: var(--admin-text) !important;
}

.admin-panel .client-detail-fullpage .client-detail-compact-subs h4,
.admin-panel .client-detail-fullpage .client-detail-accounts-heading {
    color: var(--admin-text) !important;
}

.admin-panel .client-detail-fullpage .client-accounts-summary,
.admin-panel .client-detail-fullpage .client-detail-table-hint {
    color: #374151 !important;
    font-weight: 500;
}

.admin-panel .client-detail-fullpage .client-detail-per-service-line {
    color: var(--admin-muted) !important;
}

.admin-panel .client-detail-fullpage .client-detail-per-service-line strong {
    color: #059669 !important;
}

.admin-panel .client-detail-bulk-price {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.65rem 0.85rem;
    margin: 0.65rem 0 0.85rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--admin-border, #e5e7eb);
    border-radius: 10px;
    background: #f8fafc;
}

.admin-panel .client-detail-bulk-price-field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0;
    font-size: 0.78rem;
    font-weight: 600;
    color: #4b5563;
}

.admin-panel .client-detail-bulk-provider {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.55rem 0.75rem;
    margin: 0.5rem 0 0.75rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid #fed7aa;
    border-radius: 10px;
    background: #fff7ed;
}

.admin-panel .client-detail-bulk-provider-count {
    font-size: 0.82rem;
    font-weight: 700;
    color: #c2410c;
    min-width: 7rem;
}

.admin-panel .client-detail-bulk-provider-field {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin: 0;
    font-size: 0.76rem;
    font-weight: 600;
    color: #4b5563;
    min-width: 10rem;
}

.admin-panel .client-detail-bulk-provider-field .admin-provider-select {
    min-width: 11rem;
    max-width: 14rem;
}

.admin-panel .client-detail-bulk-provider-field .admin-provider-custom {
    max-width: 14rem;
}

.admin-panel .vendor-detail-accounts-table .account-select-th,
.admin-panel .vendor-detail-accounts-table .account-select-td {
    width: 36px;
    text-align: center;
    vertical-align: middle;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

.admin-panel .client-detail-price-select,
.admin-panel .client-detail-price-input {
    min-width: 11rem;
    padding: 0.4rem 0.55rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    color: #1b1430;
    font-size: 0.9rem;
}

.admin-panel .client-detail-price-input {
    min-width: 8.5rem;
    max-width: 10rem;
}

.admin-panel .client-detail-price-btn {
    white-space: nowrap;
}

.admin-panel .client-detail-fullpage .client-detail-service-chip {
    background: #fff !important;
    border: 1px solid var(--admin-border) !important;
    color: var(--admin-text) !important;
    box-shadow: none !important;
}

.admin-panel .client-detail-fullpage .client-detail-service-chip:hover {
    border-color: #c4b5fd !important;
    background: #f8fafc !important;
}

.admin-panel .client-detail-fullpage .client-detail-service-chip.active {
    background: #f5f3ff !important;
    border-color: #8b5cf6 !important;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.25) !important;
}

.admin-panel .client-detail-fullpage .client-detail-chip-icon {
    background: #f3f4f6 !important;
    color: #7c3aed !important;
}

.admin-panel .client-detail-fullpage .client-detail-service-chip.active .client-detail-chip-icon {
    background: #ede9fe !important;
    color: #6d28d9 !important;
}

.admin-panel .client-detail-fullpage .client-detail-chip-count {
    background: #059669 !important;
    color: #fff !important;
}

.admin-panel .client-detail-fullpage .client-detail-scroll-table.admin-cuentas-vendor-look {
    background: linear-gradient(145deg, #140b22, #1d1433);
    border: 1px solid rgba(232, 121, 249, 0.22);
    border-radius: 12px;
    padding: 0.65rem 0.75rem 0.75rem;
}

.admin-panel .client-detail-fullpage .client-detail-accounts-table.admin-cuentas-table th,
.admin-panel .client-detail-fullpage .client-detail-accounts-table.admin-cuentas-table td {
    color: inherit;
}

.admin-panel .client-detail-fullpage .client-detail-renewal-col {
    color: #b8d4dc !important;
}

.admin-panel .client-detail-fullpage .subscription-badge {
    opacity: 1;
}

.provider-marlon-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    border: 1px solid rgba(180, 130, 0, 0.45);
    background: rgba(255, 193, 7, 0.14);
    color: #9a6700;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}

.admin-panel .provider-marlon-badge {
    color: #8a5a00;
}

.admin-panel tr.row-cuenta-marlon {
    background: rgba(255, 193, 7, 0.06);
}

@media (max-width: 900px) {
    /* En tablet/móvil el menú va oculto (drawer); no la barra estrecha de iconos */
    .admin-panel .sidebar {
        width: 252px;
        min-width: 252px;
    }
}

/* ===== MÓVIL: panel limpio (drawer + layout) ===== */
.admin-panel .admin-mobile-menu-btn {
    display: none;
}

.admin-panel .admin-sidebar-backdrop {
    display: none;
}

@media (max-width: 900px) {
    .admin-panel .container {
        display: block;
        min-height: 100vh;
    }

    .admin-panel .admin-mobile-menu-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        flex-shrink: 0;
        margin-right: 0.55rem;
        border: 1px solid var(--admin-border);
        border-radius: 10px;
        background: #fff;
        color: var(--admin-text);
        font-size: 1.1rem;
        cursor: pointer;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    }

    .admin-panel .admin-mobile-menu-btn:active {
        background: #f3f4f6;
    }

    .admin-panel .header-left {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 0.15rem 0;
        min-width: 0;
        flex: 1;
    }

    .admin-panel .header-title {
        flex: 1;
        min-width: 0;
    }

    .admin-panel .header-subtitle {
        width: 100%;
        margin: 0.2rem 0 0;
        font-size: 0.78rem;
        line-height: 1.35;
        padding-left: calc(42px + 0.55rem);
    }

    .admin-panel .header-section-label {
        display: none !important;
    }

    .admin-panel .status-indicators {
        display: none;
    }

    .admin-panel .logout-btn span {
        display: none;
    }

    .admin-panel .logout-btn {
        width: 42px;
        height: 42px;
        padding: 0;
        justify-content: center;
        border-radius: 10px;
    }

    .admin-panel .sidebar {
        position: fixed !important;
        top: 0;
        left: 0;
        bottom: 0;
        z-index: 1200;
        width: min(86vw, 300px) !important;
        min-width: 0 !important;
        max-width: 300px;
        transform: translateX(-105%);
        transition: transform 0.22s ease;
        box-shadow: 8px 0 28px rgba(15, 23, 42, 0.28);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .admin-panel.admin-nav-open .sidebar,
    body.admin-nav-open.admin-panel .sidebar {
        transform: translateX(0);
    }

    /* body carries admin-panel class */
    body.admin-panel.admin-nav-open .sidebar {
        transform: translateX(0);
    }

    .admin-panel .logo-text,
    .admin-panel .nav-item span,
    .admin-panel .nav-group-label {
        display: block !important;
    }

    .admin-panel .nav-item {
        justify-content: flex-start !important;
        padding: 0.75rem 1rem !important;
        gap: 0.75rem;
        border-radius: 10px;
        margin: 0.15rem 0.55rem;
    }

    .admin-panel .nav-item span {
        font-size: 0.92rem;
    }

    .admin-panel .admin-sidebar-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1190;
        background: rgba(15, 23, 42, 0.45);
        backdrop-filter: blur(2px);
        border: none;
        padding: 0;
        margin: 0;
        cursor: pointer;
    }

    .admin-panel .admin-sidebar-backdrop[hidden] {
        display: none !important;
    }

    .admin-panel .main-content {
        margin-left: 0 !important;
        width: 100%;
        max-width: 100vw;
        overflow-x: hidden;
        padding: 0;
    }

    .admin-panel .header {
        position: sticky;
        top: 0;
        z-index: 40;
        padding: 0.7rem 0.85rem;
        flex-direction: row !important;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        text-align: left !important;
    }

    .admin-panel .header-right {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        flex-shrink: 0;
    }

    .admin-panel .header-title h1 {
        font-size: 1.12rem !important;
    }

    .admin-panel .content-section {
        padding: 0.75rem 0.75rem 1.5rem;
    }

    .admin-panel .section-header h2 {
        font-size: 1rem;
    }

    .admin-panel .stats-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 0.55rem !important;
    }

    .admin-panel .stat-card {
        padding: 0.75rem 0.7rem;
        min-height: auto;
    }

    .admin-panel .stat-card h3 {
        font-size: 0.68rem !important;
        letter-spacing: 0.02em;
    }

    .admin-panel .stat-number .counter {
        font-size: 1.15rem !important;
    }

    .admin-panel .search-bar,
    .admin-panel .accounts-controls-top,
    .admin-panel .clients-toolbar,
    .admin-panel .available-toolbar,
    .admin-panel .vendor-sales-toolbar,
    .admin-panel .api-toolbar,
    .admin-panel .failed-view-mode-filters,
    .admin-panel .filter-buttons {
        flex-wrap: wrap !important;
    }

    .admin-panel .filter-buttons {
        gap: 0.4rem;
    }

    .admin-panel .filter-buttons .btn {
        flex: 1 1 auto;
        min-height: 40px;
        font-size: 0.75rem;
        padding: 0.45rem 0.65rem;
    }

    .admin-panel .table-wrapper,
    .admin-panel .table-container .table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 12px;
        border: 1px solid var(--admin-border);
        background: #fff;
        margin: 0 -0.15rem;
    }

    .admin-panel .data-table {
        min-width: 0;
        width: 100%;
        font-size: 0.82rem;
    }

    .admin-panel .data-table th,
    .admin-panel .data-table td {
        padding: 0.55rem 0.5rem;
        white-space: normal;
    }

    .admin-panel .settings-grid {
        grid-template-columns: 1fr !important;
        gap: 0.85rem;
    }

    .admin-panel .settings-card {
        border-radius: 12px;
    }

    .admin-panel .setting-input,
    .admin-panel .setting-select,
    .admin-panel .search-input,
    .admin-panel .accounts-filter-select {
        min-height: 44px;
        font-size: 16px !important; /* evita zoom iOS */
    }

    .admin-panel .modal-content,
    .admin-panel .modal .modal-content {
        width: calc(100vw - 1rem) !important;
        max-width: calc(100vw - 1rem) !important;
        margin: 0.5rem auto !important;
        max-height: calc(100vh - 1rem);
        overflow-y: auto;
        border-radius: 14px;
    }

    .admin-panel .btn {
        min-height: 40px;
    }

    .admin-panel .quick-actions {
        padding: 0.75rem;
    }

    .admin-panel .accounting-view-switch {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        gap: 0.35rem;
        padding-bottom: 0.25rem;
    }

    .admin-panel .accounting-view-tab {
        flex: 0 0 auto;
        white-space: nowrap;
        min-height: 40px;
    }

    .admin-panel .vendor-sales-filters,
    .admin-panel .settings-stock-prices-add {
        flex-direction: column;
        align-items: stretch !important;
    }

    .admin-panel .vendor-sales-filters .search-input,
    .admin-panel .settings-stock-prices-add .setting-input,
    .admin-panel .settings-stock-prices-add .setting-select {
        max-width: none !important;
        width: 100%;
    }
}

@media (max-width: 560px) {
    .admin-panel .stats-grid {
        grid-template-columns: 1fr !important;
    }

    .admin-panel .header-subtitle {
        display: none;
    }

    .admin-panel .admin-login-card {
        width: calc(100% - 1.25rem);
        margin: 0.75rem;
        padding: 1.25rem 1rem;
    }

    .admin-panel .data-table {
        min-width: 0;
        width: 100%;
    }
}

/* ===== PROCESO: misma tabla que Cuentas ===== */
.admin-panel #process-section .process-results {
    margin-top: 1rem;
    padding: 0;
    background: transparent;
    border: none;
}

.admin-panel #process-section .process-results-header {
    margin-bottom: 0.45rem;
}

.admin-panel #process-section .process-results-sub {
    margin: 0;
    font-size: 0.8rem;
    color: #8aa4ad;
    letter-spacing: 0.01em;
}

.admin-panel #process-section .process-toolbar-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: nowrap;
    margin-bottom: 0.75rem;
    padding: 0.55rem 0.7rem;
    background: linear-gradient(135deg, rgba(8, 14, 22, 0.95), rgba(12, 22, 32, 0.92));
    border: 1px solid rgba(0, 180, 200, 0.15);
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.22);
}

.admin-panel #process-section .process-filter-pills {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.admin-panel #process-section .process-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    height: 34px;
    padding: 0 0.7rem 0 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.28);
    color: #b8c8d0;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s, box-shadow 0.15s;
    white-space: nowrap;
}

.admin-panel #process-section .process-pill strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    height: 1.35rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: #eef6fa;
    font-size: 0.72rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.admin-panel #process-section .process-pill:hover {
    border-color: rgba(0, 180, 200, 0.35);
    color: #e8f4f8;
}

.admin-panel #process-section .process-pill.active {
    border-color: rgba(0, 180, 200, 0.5);
    background: rgba(0, 180, 200, 0.14);
    color: #d4f8ff;
    box-shadow: 0 0 0 1px rgba(0, 180, 200, 0.12);
}

.admin-panel #process-section .process-pill.active strong {
    background: rgba(0, 180, 200, 0.35);
    color: #fff;
}

.admin-panel #process-section .process-pill-warn.active {
    border-color: rgba(255, 140, 0, 0.45);
    background: rgba(255, 140, 0, 0.12);
    color: #ffe0b0;
    box-shadow: 0 0 0 1px rgba(255, 140, 0, 0.1);
}

.admin-panel #process-section .process-pill-warn.active strong {
    background: rgba(255, 140, 0, 0.35);
}

.admin-panel #process-section .process-pill-danger.active {
    border-color: rgba(220, 70, 70, 0.45);
    background: rgba(220, 70, 70, 0.12);
    color: #ffc8c8;
    box-shadow: 0 0 0 1px rgba(220, 70, 70, 0.1);
}

.admin-panel #process-section .process-pill-danger.active strong {
    background: rgba(220, 70, 70, 0.35);
}

.admin-panel #process-section .process-toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    flex: 1;
    min-width: 0;
}

.admin-panel #process-section .process-search-field {
    flex: 1 1 auto;
    max-width: 340px;
    min-width: 200px;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    height: 34px;
    padding: 0 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.32);
    color: #8aa4ad;
}

.admin-panel #process-section .process-search-field:focus-within {
    border-color: rgba(0, 180, 200, 0.4);
    box-shadow: 0 0 0 2px rgba(0, 180, 200, 0.08);
}

.admin-panel #process-section .process-search-field input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    color: #e8f0f4;
    font-size: 0.8rem;
    outline: none;
}

.admin-panel #process-section .process-search-field input::placeholder {
    color: #6b7f88;
}

.admin-panel #process-section .process-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    height: 34px;
    padding: 0 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 200, 120, 0.35);
    background: rgba(0, 200, 120, 0.1);
    color: #a8f5d0;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, border-color 0.15s;
}

.admin-panel #process-section .process-action-btn:hover {
    background: rgba(0, 200, 120, 0.2);
    border-color: rgba(0, 200, 120, 0.5);
    color: #d8ffe8;
}

.admin-panel #process-section .process-cuentas-scroll {
    max-height: calc(100vh - 320px);
}

.admin-panel #process-section .process-row-actions .btn-icon.assign {
    border-color: rgba(0, 200, 120, 0.45);
    color: #92f7c7;
}

.admin-panel #process-section .process-row-actions .btn-icon.assign:hover {
    background: rgba(0, 200, 120, 0.2);
    color: #d8ffe8;
}

.admin-panel #process-section .process-email-compare {
    margin-top: 1rem;
    padding: 0.85rem;
    background: #f8fafc;
    border: 1px solid #dbe3ec;
    border-radius: 10px;
}

.admin-panel #process-section .process-compare-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .55rem .75rem;
    margin: 0 0 .85rem;
    padding: .7rem .75rem;
    background: #fff;
    border: 1px solid #dbe3ec;
    border-radius: 10px;
}
.admin-panel #process-section .process-compare-filter-label {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .78rem;
    font-weight: 700;
    color: #475569;
    margin: 0;
}
.admin-panel #process-section .process-compare-scope-wrap {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    margin-right: .25rem;
}
.admin-panel #process-section .process-compare-scope-toggles {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}
.admin-panel #process-section .process-compare-scope-btn {
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #475569;
    border-radius: 999px;
    padding: .4rem .85rem;
    cursor: pointer;
    font: inherit;
    font-size: .82rem;
    font-weight: 600;
}
.admin-panel #process-section .process-compare-scope-btn:hover {
    border-color: #94a3b8;
    color: #160f28;
}
.admin-panel #process-section .process-compare-scope-btn.active {
    background: #f5f3ff;
    color: #6d28d9;
    border-color: #c4b5fd;
}
.admin-panel #process-section .process-compare-entity-wrap {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-width: 11rem;
    max-width: 16rem;
    flex: 1 1 12rem;
}
.admin-panel #process-section .process-compare-entity-wrap[hidden] {
    display: none !important;
}
.admin-panel #process-section .process-compare-provider-fields,
.admin-panel #process-section .process-compare-vendor-select {
    width: 100%;
}
.admin-panel #process-section .process-compare-provider-fields .admin-provider-select,
.admin-panel #process-section .process-compare-provider-fields .admin-provider-custom,
.admin-panel #process-section .process-compare-service-filter,
.admin-panel #process-section .process-compare-vendor-select {
    width: 100%;
    min-width: 10rem;
    max-width: 16rem;
}
.admin-panel #process-section .process-compare-filter-meta {
    font-size: .8rem;
    color: #64748b;
    margin-left: auto;
}

.admin-panel #process-section .process-email-compare[hidden] {
    display: none !important;
}

.admin-panel #process-section.process-compare-mode .process-controls,
.admin-panel #process-section.process-compare-mode .process-results-header,
.admin-panel #process-section.process-compare-mode .process-toolbar-bar,
.admin-panel #process-section.process-compare-mode .process-cuentas-scroll {
    display: none !important;
}

.admin-panel #process-section.process-compare-mode .process-results {
    display: block !important;
    margin-top: 0;
}

.admin-panel #process-section .process-email-compare-head,
.admin-panel #process-section .process-email-compare-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.admin-panel #process-section .process-email-compare-head {
    margin-bottom: 0.75rem;
}

.admin-panel #process-section .process-email-compare-head h3,
.admin-panel #process-section .process-email-compare-panel-head h4 {
    margin: 0;
    color: #261d40;
}

.admin-panel #process-section .process-email-compare-head h3 {
    font-size: 1rem;
}

.admin-panel #process-section .process-email-compare-panel-head h4 {
    font-size: 0.88rem;
}

.admin-panel #process-section .process-email-compare-head p {
    margin: 0.2rem 0 0;
    color: #6b7280;
    font-size: 0.78rem;
}

.admin-panel #process-section .process-email-compare-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
    gap: 0.75rem;
}

.admin-panel #process-section .process-email-compare-panel {
    min-width: 0;
    padding: 0.7rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

.admin-panel #process-section .process-email-compare-panel-head span {
    color: #047857;
    font-size: 0.76rem;
    font-weight: 700;
}

.admin-panel #process-section .process-compare-missing-tools {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.admin-panel #process-section .process-email-compare-panel-head label {
    margin: 0;
    color: #6b7280;
    font-size: 0.76rem;
}

.admin-panel #process-section .process-compare-list {
    max-height: 360px;
    min-height: 120px;
    margin-top: 0.6rem;
    overflow-y: auto;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #f8fafc;
}

.admin-panel #process-section .process-compare-row {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid #e5e7eb;
    cursor: pointer;
}

.admin-panel #process-section .process-compare-row:last-child {
    border-bottom: 0;
}

.admin-panel #process-section .process-compare-row:hover {
    background: #f5f3ff;
}

.admin-panel #process-section .process-compare-row span {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 0.12rem;
}

.admin-panel #process-section .process-compare-row strong {
    overflow: hidden;
    color: #6d28d9;
    font-size: 0.8rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-panel #process-section .process-compare-row small {
    overflow: hidden;
    color: #6b7280;
    font-size: 0.7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-panel #process-section .process-email-compare-paste textarea {
    display: block;
    width: 100%;
    min-height: 250px;
    margin-top: 0.6rem;
    padding: 0.65rem;
    resize: vertical;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #fff;
    color: #1b1430;
    font-family: inherit;
    font-size: 0.82rem;
}

.admin-panel #process-section .process-compare-run {
    width: 100%;
    margin-top: 0.55rem;
}

.admin-panel #process-section .process-compare-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.6rem;
}

.admin-panel #process-section .process-compare-no-charge {
    background: #374151;
    color: #fff;
}
.admin-panel #process-section .process-compare-delete {
    background: #b91c1c;
    color: #fff;
}

@media (max-width: 820px) {
    .admin-panel #process-section .process-email-compare-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .admin-panel .main-content {
        padding: 0.75rem 0.65rem 1.25rem;
    }
    .admin-panel .header-title h1 {
        font-size: 1.15rem;
    }
    .admin-panel .quick-actions .action-buttons {
        flex-direction: column;
        align-items: stretch;
    }
    .admin-panel .quick-actions .btn {
        width: 100%;
        justify-content: center;
    }
    .admin-panel .search-bar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
    }
    .admin-panel .accounts-bulk-toolbar {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 0.45rem;
    }
    .admin-panel #accounts-section .accounts-controls-top {
        flex-direction: column;
        align-items: stretch;
        gap: 0.45rem;
    }
    /* Evita que el buscar se estire a media pantalla (flex:1 en columna). */
    .admin-panel #accounts-section .accounts-search-field {
        flex: 0 0 auto;
        width: 100%;
        min-height: 44px;
        max-height: 44px;
        height: 44px;
        box-sizing: border-box;
    }
    .admin-panel #accounts-section .accounts-search-input {
        font-size: 16px; /* iOS: evita zoom al enfocar */
        line-height: 1.2;
        padding: 0.55rem 0;
        height: auto;
    }
    .admin-panel #accounts-section .accounts-client-filter,
    .admin-panel #accounts-section .accounts-provider-filter {
        flex: 0 0 auto;
        width: 100%;
    }
    .admin-panel #accounts-section .accounts-filter-select {
        height: 40px;
        font-size: 16px;
    }
    .admin-panel #accounts-section .accounts-controls-toolbar {
        gap: 0.4rem;
    }
    .admin-panel #accounts-section .accounts-toolbar-sep {
        display: none;
    }
    .admin-panel #accounts-section .accounts-toolbar-group {
        width: 100%;
    }
    .admin-panel #accounts-section .accounts-toolbar-label {
        width: 100%;
        margin-bottom: 0.1rem;
    }
    .admin-panel #accounts-section .accounts-tool-btn {
        flex: 1 1 auto;
        min-height: 38px;
        font-size: 0.75rem;
        padding: 0.35rem 0.5rem;
    }
    .admin-panel #accounts-section .accounts-service-chips {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 0.2rem;
    }
    .admin-panel #accounts-section .section-header p {
        display: none;
    }
    .admin-panel #accounts-section .neon-title {
        font-size: 1.15rem;
    }
    .admin-panel #accounts-section .accounts-search-mobile-hint {
        display: block;
    }
    .admin-panel #process-section .process-toolbar-bar {
        flex-wrap: wrap;
        gap: 0.55rem;
    }
    .admin-panel #process-section .process-toolbar-actions {
        width: 100%;
        flex-wrap: wrap;
    }
    .admin-panel #process-section .process-search-field {
        max-width: none;
        flex: 1 1 100%;
    }
    .admin-panel .table-container .table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .admin-panel .data-table:not(.admin-cuentas-table) {
        min-width: 0;
        width: 100%;
    }
    .admin-panel .admin-cuentas-table {
        min-width: 0;
    }
    .admin-panel .action-buttons .btn-icon {
        min-width: 36px;
        min-height: 36px;
    }
}

/* Comparar correos (Sistema) */
.admin-panel .email-compare-intro,
.admin-panel .email-compare-result-hint,
.admin-panel .email-compare-review-hint {
    display: none !important;
}

.admin-panel .email-compare-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.9fr);
    gap: 1rem;
    align-items: start;
}

.admin-panel .email-compare-main {
    min-width: 0;
}

.admin-panel .email-compare-aside {
    min-width: 0;
    position: sticky;
    top: 0.75rem;
    align-self: start;
    height: calc(100vh - 5.5rem);
    max-height: calc(100vh - 5.5rem);
}

.admin-panel .email-compare-panel {
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: 12px;
    padding: 1rem 1.15rem;
    max-width: none;
    width: 100%;
    box-shadow: var(--admin-shadow);
}

@media (max-width: 1100px) {
    .admin-panel .email-compare-layout {
        grid-template-columns: 1fr;
    }
    .admin-panel .email-compare-aside {
        position: static;
        height: min(70vh, 640px);
        max-height: min(70vh, 640px);
    }
}

.admin-panel .email-compare-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;
}

.admin-panel .email-compare-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 200px;
    flex: 1;
}

.admin-panel .email-compare-field label {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--admin-muted);
}

.admin-panel .email-compare-textarea {
    width: 100%;
    min-height: 180px;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    border: 1px solid var(--admin-border);
    background: #fff;
    color: #160f28;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.9rem;
    resize: vertical;
}

.admin-panel .email-compare-textarea:focus {
    outline: none;
    border-color: rgba(34, 197, 94, 0.55);
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.15);
}

.admin-panel .email-compare-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 1rem 0;
}

.admin-panel .email-compare-summary {
    margin-bottom: 1rem;
    padding: 0.65rem 0.9rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid var(--admin-border);
    font-size: 0.92rem;
    color: var(--admin-text);
}

.admin-panel .email-compare-missing-count {
    color: #f87171;
}

.admin-panel .email-compare-elsewhere-count {
    color: #fbbf24;
}

.admin-panel .email-compare-disponibles-count {
    color: #7c3aed;
}

.admin-panel .email-compare-in-disponibles {
    margin-top: 0.35rem;
    font-size: 0.82rem;
    color: #7c3aed;
    font-weight: 600;
}

.admin-panel .email-compare-in-disponibles i {
    margin-right: 0.25rem;
}

.admin-panel .email-compare-assign-bar {
    margin: 0.65rem 0 0.85rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    border: 1px solid rgba(37, 99, 235, 0.22);
    background: #f5f3ff;
}

.admin-panel .email-compare-assign-bar[hidden] {
    display: none !important;
}

.admin-panel .email-compare-bulk-label {
    font-size: 0.86rem;
    font-weight: 700;
    color: #4c1d95;
    margin-right: 0.25rem;
}

.admin-panel .email-compare-bulk-label i {
    margin-right: 0.3rem;
}

.admin-panel .email-compare-bulk-btn-caida {
    background: #fff7ed;
    color: #c2410c;
    border: 1px solid rgba(234, 88, 12, 0.35);
}

.admin-panel .email-compare-bulk-btn-delete {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid rgba(185, 28, 28, 0.35);
}
.admin-panel .email-compare-bulk-btn-delete:hover {
    background: #fee2e2;
    border-color: #dc2626;
}

.admin-panel .email-compare-bulk-btn-problema {
    background: #ecfeff;
    color: #0e7490;
    border: 1px solid rgba(8, 145, 178, 0.35);
}

.admin-panel .email-compare-bulk-btn-problema:hover {
    background: #cffafe;
    border-color: #0891b2;
}

.admin-panel .email-compare-email-row {
    display: block;
}

.admin-panel .email-compare-assign-actions {
    margin-top: 0.45rem;
}

.admin-panel .email-compare-already-assigned {
    margin-top: 0.35rem;
    font-size: 0.82rem;
    color: var(--admin-muted);
}

.admin-panel .email-compare-already-assigned i {
    margin-right: 0.25rem;
    color: #f59e0b;
}

.admin-panel .email-compare-duplicate-conflict {
    margin-top: 0.35rem;
    font-size: 0.82rem;
    color: #fca5a5;
    font-weight: 600;
}

.admin-panel .email-compare-duplicate-conflict i {
    margin-right: 0.25rem;
    color: #ef4444;
}

.admin-panel .duplicate-conflict-banner {
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.35);
    color: #fecaca;
    padding: 0.65rem 0.85rem;
    border-radius: 8px;
}

.admin-panel .duplicate-conflict-banner i {
    margin-right: 0.35rem;
    color: #f87171;
}

.admin-panel .email-compare-elsewhere {
    margin-top: 0.35rem;
    font-size: 0.82rem;
    color: #fcd34d;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.admin-panel .email-compare-elsewhere i {
    margin-right: 0.25rem;
    opacity: 0.9;
}

.admin-panel .email-compare-owner-found {
    margin-top: 0.35rem;
    font-size: 0.82rem;
    color: #047857;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.admin-panel .email-compare-owner-found i {
    color: #059669;
    margin-right: 0.25rem;
}

.admin-panel .email-compare-not-in-db {
    margin-top: 0.35rem;
    font-size: 0.82rem;
    color: #f87171;
}

.admin-panel .email-compare-not-in-db i {
    margin-right: 0.25rem;
}

.admin-panel .email-compare-results-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.admin-panel .email-compare-results-grid--summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-panel .email-compare-renew-card,
.admin-panel .email-compare-review-card {
    grid-column: 1 / -1;
}

@media (max-width: 900px) {
    .admin-panel .email-compare-results-grid,
    .admin-panel .email-compare-results-grid--summary {
        grid-template-columns: 1fr;
    }
}

.admin-panel .email-compare-result-card {
    border-radius: 10px;
    border: 1px solid var(--admin-border);
    background: #fff;
    padding: 1rem;
    min-height: 140px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.admin-panel .email-compare-missing-card {
    border-left: 4px solid #ef4444;
}

.admin-panel .email-compare-review-card {
    border-left: 4px solid #ea580c;
    grid-column: span 2;
}

.admin-panel .email-compare-renew-card {
    border-left: 4px solid #16a34a;
    grid-column: span 2;
}

.admin-panel .email-compare-renew-card[hidden],
.admin-panel .email-compare-review-card[hidden] {
    display: none !important;
}

@media (max-width: 900px) {
    .admin-panel .email-compare-review-card,
    .admin-panel .email-compare-renew-card {
        grid-column: auto;
    }
}

.admin-panel .email-compare-renew-card .email-compare-result-head h3 {
    color: #15803d;
}

.admin-panel .email-compare-renew-count {
    color: #15803d;
}

.admin-panel .email-compare-review-card .email-compare-result-head h3 {
    color: #c2410c;
}

.admin-panel .email-compare-review-hint {
    margin: 0 0 0.55rem;
    font-size: 0.82rem;
}

.admin-panel .email-compare-review-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.55rem;
}

.admin-panel .email-compare-review-selectall {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #334155;
    margin-right: 0.25rem;
}

.admin-panel .email-compare-review-btn-caida {
    border-color: #fdba74;
    color: #c2410c;
}

.admin-panel .email-compare-review-row {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid #ffedd5;
    border-radius: 8px;
    background: #fff7ed;
    margin-bottom: 0.4rem;
}

.admin-panel .email-compare-review-row input[type="checkbox"] {
    margin-top: 0.2rem;
    flex: 0 0 auto;
}

.admin-panel .email-compare-review-meta {
    min-width: 0;
    flex: 1 1 auto;
}

.admin-panel .email-compare-review-meta strong {
    display: block;
    font-size: 0.88rem;
    color: #160f28;
    word-break: break-all;
}

.admin-panel .email-compare-review-meta span {
    display: block;
    font-size: 0.78rem;
    color: #64748b;
    margin-top: 0.15rem;
}

.admin-panel .email-compare-found-card {
    border-left: 4px solid #22c55e;
    grid-column: span 2;
}

@media (max-width: 900px) {
    .admin-panel .email-compare-found-card {
        grid-column: auto;
    }
}

.admin-panel .email-compare-vendor-block {
    margin-bottom: 0.65rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px dashed #e2e8f0;
}

.admin-panel .email-compare-vendor-block:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.admin-panel .email-compare-vendors-wide {
    border-left: 4px solid #16a34a;
}

.admin-panel .email-compare-found-card {
    border-left: 4px solid #22c55e;
}

.admin-panel .email-compare-vendor-emails-card {
    border-left: 4px solid #16a34a;
    height: 100%;
    min-height: 0;
    max-height: none;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 1rem;
    box-sizing: border-box;
}

.admin-panel .email-compare-vendor-emails-card .email-compare-result-head {
    flex: 0 0 auto;
    margin-bottom: 0.65rem;
}

.admin-panel .email-compare-vendor-emails-list.email-compare-list,
.admin-panel .email-compare-vendor-emails-list {
    flex: 1 1 auto;
    height: auto;
    max-height: none !important;
    min-height: 0;
    overflow: auto;
}

.admin-panel .email-compare-vendors-split {
    display: block;
}

.admin-panel .email-compare-vendors-col-title {
    display: none;
}

.admin-panel .email-compare-vendors-emails-col {
    border-left: 0;
    padding-left: 0;
}

.admin-panel .email-compare-vendor-email-row {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.7fr) minmax(0, 0.9fr);
    gap: 0.45rem;
    align-items: center;
    padding: 0.4rem 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    margin-bottom: 0.35rem;
    font-size: 0.84rem;
}

.admin-panel .email-compare-vendor-email-row:last-child {
    margin-bottom: 0;
}

.admin-panel .email-compare-vendor-email-row .email-compare-ve-email {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    color: #160f28;
    word-break: break-all;
}

.admin-panel .email-compare-vendor-email-row .email-compare-ve-country {
    color: #475569;
    font-size: 0.8rem;
    word-break: break-word;
}

.admin-panel .email-compare-vendor-email-row .email-compare-ve-vendor {
    font-weight: 600;
    color: #15803d;
    text-align: right;
    word-break: break-word;
}

@media (max-width: 900px) {
    .admin-panel .email-compare-vendors-wide {
        grid-column: auto;
    }
    .admin-panel .email-compare-vendors-split {
        grid-template-columns: 1fr;
    }
    .admin-panel .email-compare-vendors-emails-col {
        border-left: 0;
        padding-left: 0;
        border-top: 0;
        padding-top: 0;
    }
    .admin-panel .email-compare-vendor-email-row {
        grid-template-columns: 1fr;
    }
    .admin-panel .email-compare-vendor-email-row .email-compare-ve-vendor {
        text-align: left;
    }
}

.admin-panel .email-compare-vendor-providers {
    margin: 0.15rem 0 0.25rem 0.85rem;
    padding-left: 0.55rem;
    border-left: 2px solid #c4b5fd;
}

.admin-panel .email-compare-summary-row--provider {
    background: #f5f3ff;
    border-color: #ddd6fe;
}

.admin-panel .email-compare-summary-row--provider .email-compare-summary-count {
    color: #6d28d9;
    background: #ede9fe;
    border-color: #c4b5fd;
}

.admin-panel .email-compare-summary-row--vendor {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.admin-panel .email-compare-providers-card {
    border-left: 4px solid #8b5cf6;
}

.admin-panel .email-compare-caidas-card {
    border-left: 4px solid #f59e0b;
}

.admin-panel .email-compare-disponibles-card {
    border-left: 4px solid #8b5cf6;
}

.admin-panel .email-compare-col-total {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    margin-left: 0.35rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 700;
}

.admin-panel .email-compare-summary-list {
    max-height: 360px;
}

.admin-panel .email-compare-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    margin-bottom: 0.45rem;
}

.admin-panel .email-compare-summary-row .accounts-tool-btn {
    flex: 0 0 auto;
}

.admin-panel .email-compare-summary-label {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
    flex: 1 1 auto;
}

.admin-panel .email-compare-summary-label strong {
    font-size: 0.9rem;
    color: #160f28;
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
    word-break: break-word;
    line-height: 1.25;
}

.admin-panel .email-compare-summary-count {
    flex: 0 0 auto;
    min-width: 1.75rem;
    text-align: center;
    font-weight: 800;
    color: #6d28d9;
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    border-radius: 999px;
    padding: 0.1rem 0.45rem;
    font-size: 0.82rem;
}

.admin-panel .email-compare-result-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.admin-panel .email-compare-result-head-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.admin-panel .email-compare-add-notdb-btn {
    border-color: rgba(34, 197, 94, 0.35);
    color: #86efac;
}

.admin-panel .email-compare-add-notdb-btn:hover {
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.5);
    color: #bbf7d0;
}

.admin-panel .email-compare-result-head h3 {
    margin: 0;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.admin-panel .email-compare-missing-card .email-compare-result-head h3 {
    color: #dc2626;
}

.admin-panel .email-compare-found-card .email-compare-result-head h3 {
    color: #16a34a;
}

.admin-panel .email-compare-providers-card .email-compare-result-head h3 {
    color: #7c3aed;
}

.admin-panel .email-compare-caidas-card .email-compare-result-head h3 {
    color: #d97706;
}

.admin-panel .email-compare-disponibles-card .email-compare-result-head h3 {
    color: #7c3aed;
}

.admin-panel .email-compare-result-hint {
    margin: 0 0 0.65rem;
    font-size: 0.82rem;
    color: #64748b !important;
}

.admin-panel .email-compare-list {
    max-height: 320px;
    overflow: auto;
    font-size: 0.88rem;
    color: var(--admin-text);
}

.admin-panel .email-compare-list .text-muted {
    color: #64748b !important;
}

.admin-panel .email-compare-email-ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.admin-panel .email-compare-email-ul li {
    margin-bottom: 0.5rem;
    word-break: break-all;
    padding: 0.45rem 0.55rem;
    border-radius: 6px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.admin-panel .email-compare-missing-card .email-compare-email-ul li {
    background: #fef2f2;
    border-color: #fecaca;
}

.admin-panel .email-compare-found-card .email-compare-email-ul li {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.admin-panel .email-compare-email-ul code {
    color: #3b1470;
    background: transparent;
    padding: 0;
    border-radius: 0;
    font-size: 0.88rem;
    font-weight: 600;
}

/* Duplicadas: quién la tiene */
.admin-panel .duplicates-quick {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.75rem;
    margin-bottom: 0.65rem;
}

.admin-panel .duplicates-quick .btn {
    width: auto;
    flex: 0 0 auto;
    margin: 0;
}

.blocked-dupes-main {
    margin-bottom: 1.5rem;
}
.blocked-dupes-main .table-header h3 {
    color: #7ee8ff;
}
.duplicates-primary-table th:nth-child(3),
.duplicates-primary-table td:nth-child(3) {
    min-width: 140px;
}
.dupe-owner-badge {
    display: inline-block;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    background: rgba(255, 193, 7, 0.18);
    border: 1px solid rgba(255, 193, 7, 0.45);
    color: #ffe082;
    font-weight: 700;
    font-size: 0.92rem;
    text-transform: capitalize;
}
.blocked-dupe-row td:first-child code {
    color: #ff8a80;
}
.duplicates-secondary {
    opacity: 0.92;
}
.stat-card-highlight .stat-icon i {
    color: #ffc107;
}

/* Duplicadas: legibilidad (styles.css deja fondo negro + admin pone texto oscuro) */
.admin-panel #duplicates-section .table-container {
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    box-shadow: var(--admin-shadow);
    padding: 1rem 1.1rem;
}

.admin-panel #duplicates-section .table-container::before {
    display: none;
}

.admin-panel #duplicates-section .table-header h3 {
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    color: var(--admin-text);
    text-shadow: none;
}

.admin-panel #duplicates-section .blocked-dupes-main .table-header h3 {
    color: #5b21b6;
}

.admin-panel #duplicates-section .table-header p {
    color: var(--admin-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.admin-panel #duplicates-section .table-wrapper {
    background: #fff;
    border: 1px solid var(--admin-border);
}

.admin-panel #duplicates-section .data-table {
    background: #fff;
}

.admin-panel #duplicates-section .data-table thead {
    background: #f3f4f6;
}

.admin-panel #duplicates-section .data-table th {
    background: #f3f4f6;
    color: #374151;
    text-shadow: none;
    border-bottom: 1px solid var(--admin-border);
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    padding: 0.65rem 0.75rem;
}

.admin-panel #duplicates-section .data-table td {
    color: #261d40;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    padding: 0.65rem 0.75rem;
    vertical-align: top;
}

.admin-panel #duplicates-section .data-table tbody tr {
    background: #fff;
}

.admin-panel #duplicates-section .data-table tbody tr:hover {
    background: #f5f3ff !important;
    transform: none !important;
}

.admin-panel #duplicates-section .data-table tbody tr:hover td {
    color: #1b1430;
    background: #f5f3ff;
}

.admin-panel #duplicates-section .text-muted {
    color: #6b7280 !important;
}

.admin-panel #duplicates-section .data-table code {
    color: #b91c1c;
    background: #fef2f2;
    padding: 0.12rem 0.4rem;
    border-radius: 4px;
    font-size: 0.82rem;
    word-break: break-all;
}

.admin-panel #duplicates-section .duplicate-meta {
    color: #6b7280;
    margin-top: 0.25rem;
}

.admin-panel #duplicates-section .dupe-owner-badge {
    background: #fef3c7;
    border: 1px solid #f59e0b;
    color: #92400e;
}

.admin-panel #duplicates-section .blocked-dupe-row td:first-child code {
    color: #b91c1c;
}

.admin-panel #duplicates-section .status-badge.inactive {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

.admin-panel #duplicates-section .btn-sm-dupe {
    margin-top: 0.35rem;
}

/* Caídas: legibilidad (fondo oscuro global + texto admin oscuro) */
.admin-panel #failed-section .table-container {
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    box-shadow: var(--admin-shadow);
    padding: 1rem 1.1rem;
}

.admin-panel #failed-section .table-container::before {
    display: none;
}

.admin-panel #failed-section .data-table {
    background: #fff;
}

.admin-panel #failed-section .data-table thead {
    background: #f3f4f6;
}

.admin-panel #failed-section .data-table th {
    background: #f3f4f6;
    color: #374151;
    text-shadow: none;
    border-bottom: 1px solid var(--admin-border);
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    padding: 0.65rem 0.75rem;
}

.admin-panel #failed-section .data-table td {
    color: #261d40;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    padding: 0.65rem 0.75rem;
    vertical-align: top;
}

.admin-panel #failed-section .data-table tbody tr {
    background: #fff;
}

.admin-panel #failed-section .data-table tbody tr:hover {
    background: #f5f3ff !important;
    transform: none !important;
}

.admin-panel #failed-section .data-table tbody tr:hover td {
    color: #1b1430;
    background: #f5f3ff;
}

.admin-panel #failed-section .text-muted {
    color: #6b7280 !important;
}

.admin-panel #failed-section .failed-note-preview {
    color: #6b7280;
}

.admin-panel #failed-section .failed-renewal-snap code {
    color: #5b21b6;
    background: #f5f3ff;
    padding: 0.12rem 0.4rem;
    border-radius: 4px;
    font-size: 0.82rem;
    word-break: break-all;
}

.admin-panel #failed-section .data-table td.price {
    color: #059669;
    font-weight: 600;
}

.admin-panel #failed-section .password-toggle-failed {
    color: #7c3aed;
}

.admin-panel #failed-section .btn-sm-failed-warranty {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.55rem;
    font-size: 0.72rem;
    border-radius: 6px;
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
}

.admin-panel #failed-section .btn-sm-failed-revoke-warranty {
    background: transparent;
    border: 1px solid rgba(234, 88, 12, 0.55);
    color: #ea580c;
}

.admin-panel #failed-section .btn-sm-failed-revoke-warranty:hover {
    background: rgba(234, 88, 12, 0.12);
    border-color: #ea580c;
    color: #c2410c;
}

.admin-panel #failed-section .btn-sm-failed-sin-cobro {
    background: transparent;
    border: 1px solid rgba(107, 114, 128, 0.55);
    color: #4b5563;
}

.admin-panel #failed-section .btn-sm-failed-sin-cobro:hover {
    background: rgba(107, 114, 128, 0.12);
    border-color: #4b5563;
    color: #261d40;
}

.admin-panel #failed-section .btn-sm-failed-to-disp {
    background: rgba(168, 85, 247, 0.28);
    border-color: rgba(192, 132, 252, 0.85);
    color: #f5f3ff;
    font-weight: 600;
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
}

.admin-panel #failed-section .btn-sm-failed-to-disp:hover {
    background: rgba(168, 85, 247, 0.42);
    border-color: #c084fc;
    color: #fff;
}

.admin-panel #failed-section .failed-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.admin-panel #failed-section .failed-date-col {
    font-size: 0.8rem;
    white-space: nowrap;
}

.admin-panel #failed-section .failed-date-sort-th {
    white-space: nowrap;
    vertical-align: middle;
}

.admin-panel #failed-section .failed-date-sort {
    display: inline-flex;
    flex-direction: column;
    margin-left: 0.28rem;
    vertical-align: middle;
    line-height: 0.7;
}

.admin-panel #failed-section .failed-date-sort-btn {
    border: 0;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    padding: 0 0.1rem;
    line-height: 0.72;
    font-size: 0.85rem;
}

.admin-panel #failed-section .failed-date-sort-btn:hover {
    color: #160f28;
}

.admin-panel #failed-section .failed-date-sort-btn.is-active {
    color: #0891b2;
}

.admin-panel #failed-section .failed-days-col {
    min-width: 5.5rem;
    vertical-align: middle;
}

.admin-panel #failed-section .failed-days-pair {
    display: inline-flex;
    flex-direction: column;
    gap: 0.2rem;
    align-items: flex-start;
    line-height: 1.2;
}

.admin-panel #failed-section .failed-days-used,
.admin-panel #failed-section .failed-days-rest {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.admin-panel #failed-section .failed-days-used {
    background: #f3f4f6;
    color: #4b5563;
}

.admin-panel #failed-section .failed-days-rest {
    background: #f5f3ff;
    color: #6d28d9;
}

.admin-panel #failed-section .failed-amount-due {
    color: #b45309;
    font-weight: 600;
    font-size: 0.78rem;
    line-height: 1.3;
}

.admin-panel #failed-section .failed-amount-credit {
    color: #059669;
    font-weight: 600;
    font-size: 0.78rem;
    line-height: 1.3;
}

.admin-panel #failed-section .days-badge {
    background: #f3f4f6;
    color: #374151;
    box-shadow: none;
    white-space: nowrap;
}

.admin-panel #failed-section .failed-warranty-new-email,
.admin-panel #failed-section .failed-warranty-new-country {
    font-size: 0.82rem;
    max-width: 11rem;
    word-break: break-word;
}

.admin-panel #failed-section .warranty-repl-pass {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-items: flex-start;
}

.admin-panel #failed-section .warranty-pass-blur {
    filter: blur(4px);
    font-family: monospace;
    font-size: 0.8rem;
}

.admin-panel #failed-section .btn-xs-warranty-copy {
    font-size: 0.72rem;
    padding: 0.2rem 0.45rem;
    white-space: nowrap;
}

.admin-panel .accounting-vendor-totals-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.admin-panel .accounting-vendor-total-card {
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius);
    padding: 0.9rem 1rem;
    background: #f9fafb;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.admin-panel .accounting-vendor-total-card--vendor {
    border-top: 3px solid #059669;
}

.admin-panel .accounting-vendor-total-card--provider {
    border-top: 3px solid #dc2626;
}

.admin-panel .accounting-vendor-total-card--mine {
    border-top: 3px solid #7c3aed;
}

.admin-panel .accounting-vendor-total-card--abonado {
    border-top: 3px solid #d97706;
}

.admin-panel .accounting-vendor-total-card--pagado {
    border-top: 3px solid #10b981;
}

.admin-panel .accounting-vendor-total-card .label {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--admin-muted);
    text-transform: uppercase;
}

.admin-panel .accounting-vendor-total-card .value {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--admin-text);
}

.admin-panel .accounting-vendor-total-card--vendor .value {
    color: #059669;
}

.admin-panel .accounting-vendor-total-card--provider .value {
    color: #dc2626;
}

.admin-panel .accounting-vendor-total-card--mine .value {
    color: #7c3aed;
}

.admin-panel .accounting-vendor-total-card--abonado .value {
    color: #d97706;
}

.admin-panel .accounting-vendor-total-card--pagado .value {
    color: #10b981;
}

.admin-panel .acct-col-abonado .strong,
.admin-panel .acct-col-abonado strong {
    color: #d97706;
}

.admin-panel .acct-cell-pagado,
.admin-panel .acct-col-pagado strong {
    color: #10b981;
}

.admin-panel #accounting-section .accounting-vendor-billing-table-wrap {
    background: #fff;
    border: 1px solid var(--admin-border);
    border-radius: var(--admin-radius);
}

.admin-panel #accounting-section .accounting-vendor-billing-table td,
.admin-panel #accounting-section .accounting-vendor-billing-table th {
    color: #261d40;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
}

.admin-panel #accounting-section .accounting-vendor-billing-table thead th {
    background: #f3f4f6;
    color: #374151;
    text-shadow: none;
}

.admin-panel #accounting-section .acct-billing-services-cell {
    min-width: 220px;
}

.admin-panel .acct-billing-service-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0.15rem 0.35rem 0.15rem 0;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    font-size: 0.78rem;
    color: #5b21b6;
}

.admin-panel .acct-billing-service-chip strong {
    color: #1b1430;
}

.admin-panel .acct-billing-service-chip--clickable {
    cursor: pointer;
    font: inherit;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-panel .acct-billing-service-chip--clickable:hover {
    background: #ede9fe;
    border-color: #a78bfa;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.15);
}

.admin-panel tr.acct-provider-row-clickable {
    cursor: pointer;
}

.admin-panel tr.acct-provider-row-clickable:hover td {
    background: rgba(59, 130, 246, 0.06);
}

.admin-panel .acct-provider-name-link {
    color: var(--neon-cyan, #22d3ee);
}

.admin-panel .acct-billing-service-chip--clickable i {
    font-size: 0.65rem;
    opacity: 0.75;
}

.acct-plan-accounts-table-wrap {
    max-height: min(60vh, 520px);
    overflow: auto;
}

/* Detalle cobro vendedor: por fecha de asignación + servicio */
.acct-charge-detail-wrap {
    max-height: min(65vh, 560px);
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-right: 0.25rem;
}
.acct-charge-detail-month {
    border: 1px solid rgba(45, 212, 191, 0.2);
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.45);
    padding: 0.75rem 0.9rem 0.9rem;
}
.acct-charge-detail-month-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.acct-charge-detail-month-head h4 {
    margin: 0;
    font-size: 0.95rem;
    color: #5eead4;
    text-transform: capitalize;
}
.acct-charge-detail-month-total {
    font-weight: 700;
    color: #6ee7b7;
    white-space: nowrap;
}
.acct-charge-detail-date {
    margin-bottom: 0.85rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.acct-charge-detail-date:last-child {
    margin-bottom: 0;
}
.acct-charge-detail-date-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.55rem;
    font-size: 0.88rem;
}
.acct-charge-detail-date-head strong {
    color: #e2e8f0;
}
.acct-charge-detail-date-head strong i {
    margin-right: 0.35rem;
    color: #2dd4bf;
}
.acct-charge-detail-date-meta {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.acct-charge-detail-pay-btn {
    padding: 0.28rem 0.65rem;
    font-size: 0.75rem;
    white-space: nowrap;
}
.acct-charge-detail-date-paid {
    color: #6ee7b7;
    font-size: 0.78rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.acct-charge-detail-email--paid code {
    opacity: 0.65;
    text-decoration: line-through;
}
.acct-charge-detail-paid-tag {
    color: #6ee7b7;
    margin-left: 0.25rem;
    font-size: 0.72rem;
}
.acct-charge-detail-service {
    margin: 0.45rem 0 0.35rem 0.15rem;
    padding-left: 0.35rem;
    border-left: 2px solid rgba(45, 212, 191, 0.35);
}
.acct-charge-detail-service-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.25rem;
}
.acct-charge-detail-service-total {
    font-size: 0.82rem;
    color: #a7f3d0;
    font-weight: 600;
}
.acct-charge-detail-emails {
    list-style: none;
    margin: 0.15rem 0 0;
    padding: 0;
}
.acct-charge-detail-emails li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.35rem 0;
    font-size: 0.8rem;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.05);
}
.acct-charge-detail-emails li:last-child {
    border-bottom: none;
}
.acct-charge-detail-emails code {
    color: #cbd5e1;
    font-size: 0.78rem;
    word-break: break-all;
}
.acct-charge-detail-acc-mail {
    min-width: 0;
    flex: 1 1 auto;
}
.acct-charge-detail-acc-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.acct-charge-detail-acc-price {
    color: #a7f3d0;
    font-weight: 600;
    white-space: nowrap;
}
.acct-charge-detail-acc-paid {
    color: #86efac;
    font-size: 0.72rem;
    font-weight: 600;
}
.acct-charge-detail-acc-anular {
    font-size: 0.7rem !important;
    padding: 0.22rem 0.45rem !important;
}
.acct-charge-detail-line-price {
    color: #86efac;
    white-space: nowrap;
    font-weight: 600;
}
.acct-charge-detail-footer {
    margin-top: 0.65rem;
    font-size: 0.85rem;
}
.acct-correction-help {
    margin: 0 0 0.85rem;
    padding: 0.65rem 0.75rem;
    border-radius: 8px;
    background: rgba(234, 88, 12, 0.1);
    border: 1px solid rgba(234, 88, 12, 0.28);
    font-size: 0.82rem;
    line-height: 1.45;
    color: #fdba74;
}
.acct-correction-help strong {
    color: #fed7aa;
}
.acct-correction-help ul {
    margin: 0.35rem 0 0;
    padding-left: 1.15rem;
}
.acct-correction-help li {
    margin: 0.2rem 0;
}
.admin-panel .acct-modal-actions {
    margin-top: 0.65rem;
}
.admin-panel .acct-modal-actions .btn {
    padding: 0.22rem 0.5rem;
    font-size: 0.7rem;
    line-height: 1.2;
}
.acct-pay-choice-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    max-height: min(65vh, 560px);
    overflow: auto;
}
.acct-pay-choice-month {
    border: 1px solid rgba(45, 212, 191, 0.22);
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.45);
    padding: 0.85rem 1rem;
}
.acct-pay-choice-month-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.65rem;
}
.acct-pay-choice-month-head h4 {
    margin: 0 0 0.35rem;
    color: #5eead4;
    font-size: 0.95rem;
}
.acct-pay-choice-amount {
    text-align: right;
}
.acct-pay-choice-amount strong {
    display: block;
    color: #6ee7b7;
    font-size: 1.05rem;
}
.acct-pay-choice-actions {
    margin-top: 0.65rem;
}
.acct-pay-invoices-block {
    margin: 0.75rem 0 1rem;
}
.acct-pay-invoices-title {
    margin: 0 0 0.5rem;
    font-size: 0.88rem;
    color: #67e8f9;
}
.acct-pay-invoices-list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.acct-pay-invoice-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    flex-wrap: wrap;
    padding: 0.55rem 0.7rem;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.acct-pay-invoice-meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.8rem;
}
.acct-pay-invoices-empty {
    margin: 0.25rem 0 0;
    font-size: 0.78rem;
}

.acct-plan-account-pay-td {
    white-space: nowrap;
}

.acct-plan-accounts-table .acct-plan-pay-btn {
    min-width: 5.5rem;
    padding: 0.35rem 0.65rem;
    font-size: 0.82rem;
}

.acct-plan-account-row--paid {
    background: rgba(5, 150, 105, 0.14);
}

.acct-plan-account-row--paid code {
    color: #047857;
    font-weight: 600;
}

.acct-plan-paid-label {
    color: #059669;
    font-size: 0.82rem;
    font-weight: 700;
}

.acct-plan-summary-paid {
    color: #059669;
}

@media (max-width: 900px) {
    .admin-panel .accounting-vendor-totals-row {
        grid-template-columns: 1fr;
    }
}

.admin-panel #failed-section .failed-table-wrap {
    overflow-x: auto;
}

.admin-panel #failed-section .failed-accounts-table {
    min-width: 960px;
}

.admin-panel #failed-section .failed-sticky-actions {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    box-shadow: 4px 0 8px rgba(0, 0, 0, 0.04);
    /* 4 botones × 1.65rem + gaps; margen para no pisar Servicio */
    min-width: 8.25rem;
    max-width: 9rem;
    width: 8.5rem;
    vertical-align: middle;
    overflow: hidden;
    box-sizing: border-box;
    padding-right: 0.35rem;
}

.admin-panel #failed-section .data-table tbody tr:hover .failed-sticky-actions {
    background: #f5f3ff;
}

.admin-panel #failed-section .failed-actions-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1.65rem);
    gap: 0.28rem;
    align-items: center;
    justify-content: start;
    width: max-content;
    max-width: 100%;
    flex-wrap: unset;
}

.admin-panel #failed-section .failed-act {
    width: 1.65rem !important;
    height: 1.65rem !important;
    min-width: 1.65rem !important;
    max-width: 1.65rem;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 0.7rem;
    line-height: 1;
    margin: 0 !important;
    flex: none;
    box-sizing: border-box;
}

.admin-panel #failed-section .failed-act-garantia {
    background: #16a34a;
    border: 1px solid #15803d;
    color: #fff;
}
.admin-panel #failed-section .failed-act-garantia:hover {
    background: #15803d;
}

.admin-panel #failed-section .failed-act-cover {
    background: #ea580c;
    border: 1px solid #c2410c;
    color: #fff;
}
.admin-panel #failed-section .failed-act-cover:hover {
    background: #c2410c;
}

.admin-panel #failed-section .failed-act-disp {
    background: #a855f7;
    border: 1px solid #9333ea;
    color: #fff;
}
.admin-panel #failed-section .failed-act-disp:hover {
    background: #9333ea;
}

.admin-panel #failed-section .failed-act-sincobro {
    background: #fff;
    border: 1px solid #9ca3af;
    color: #4b5563;
}
.admin-panel #failed-section .failed-act-sincobro:hover {
    background: #f3f4f6;
    color: #1b1430;
}

.admin-panel #failed-section .failed-act-devolver {
    background: #7c3aed;
    border: 1px solid #6d28d9;
    color: #fff;
}
.admin-panel #failed-section .failed-act-devolver:hover {
    background: #6d28d9;
}

.admin-panel #failed-section .failed-act-liberar {
    background: #16a34a;
    border: 1px solid #15803d;
    color: #fff;
}

.admin-panel #failed-section .failed-act-revoke {
    background: #fff;
    border: 1px solid #ea580c;
    color: #ea580c;
}

.admin-panel #failed-section .failed-act-edit {
    background: #fff;
    border: 1px solid #ef4444;
    color: #ef4444;
}

.admin-panel #failed-section .failed-act-ver {
    background: #fff;
    border: 1px solid #7c3aed;
    color: #7c3aed;
}

.admin-panel #failed-section .btn-sm-failed-view {
    font-size: 0.72rem;
    padding: 0.28rem 0.5rem;
    white-space: nowrap;
}

.admin-panel #failed-section .failed-warranty-repl-col {
    min-width: 10rem;
    max-width: 14rem;
}

.admin-panel #failed-section .warranty-repl-summary {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    align-items: flex-start;
}

.admin-panel #failed-section .status-badge.warning {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}

.admin-panel .failed-detail-grid {
    display: grid;
    gap: 0.85rem;
}

.admin-panel .failed-detail-block {
    border: 1px solid var(--admin-border);
    border-radius: 8px;
    padding: 0.75rem 0.85rem;
    background: #f9fafb;
}

.admin-panel .failed-detail-block h4 {
    margin: 0 0 0.45rem;
    font-size: 0.9rem;
    color: #1b1430;
}

.admin-panel .failed-detail-block p {
    margin: 0.2rem 0;
    color: #374151;
    font-size: 0.88rem;
}

.admin-panel .billing-currency-tag {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    vertical-align: middle;
}

.admin-panel .billing-currency-cop {
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
    border: 1px solid rgba(34, 197, 94, 0.35);
}

.admin-panel .billing-currency-usd {
    background: rgba(59, 130, 246, 0.12);
    color: #6d28d9;
    border: 1px solid rgba(59, 130, 246, 0.35);
}

.admin-panel .price-usd-primary {
    font-weight: 600;
    color: #6d28d9;
}

.admin-panel .price-cop-equiv {
    line-height: 1.2;
}

.admin-panel .billing-currency-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.35rem;
}

.admin-panel .billing-currency-option {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--admin-border, #d1d5db);
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.9rem;
    background: #fff;
}

.admin-panel .billing-currency-option:has(input:checked) {
    border-color: #7c3aed;
    background: rgba(37, 99, 235, 0.08);
    font-weight: 600;
}

.admin-panel .billing-currency-option input {
    margin: 0;
}

.admin-panel .stat-card-clickable {
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.admin-panel .stat-card-clickable:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.admin-panel .stat-card-expiry.has-unpaid-expired {
    border-color: rgba(220, 38, 38, 0.45);
}

.admin-panel .stat-expiry-split {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.55rem;
    margin-top: 0.45rem;
    font-size: 0.78rem;
    font-weight: 600;
}

.admin-panel .stat-expiry-unpaid {
    color: #b91c1c;
}

.admin-panel .stat-expiry-paid {
    color: #15803d;
}

.admin-panel .accounting-expired-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.85rem;
    padding: 0.7rem 0.9rem;
    border: 1px solid rgba(245, 158, 11, 0.4);
    border-radius: 10px;
    background: rgba(255, 251, 235, 0.95);
}

.admin-panel .accounting-expired-banner-text {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    color: #78350f;
    font-size: 0.9rem;
}

.admin-panel .accounting-expired-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
}

.admin-panel .accounting-expired-chip--unpaid {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
}

.admin-panel .accounting-expired-chip--paid {
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
}

.expired-cutoff-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.75rem 0;
}

.expired-cutoff-tab {
    border: 1px solid #d1d5db;
    background: #fff;
    border-radius: 999px;
    padding: 0.4rem 0.85rem;
    cursor: pointer;
    font-size: 0.88rem;
    color: #374151;
}

.expired-cutoff-tab.active {
    border-color: #7c3aed;
    background: #f5f3ff;
    color: #6d28d9;
    font-weight: 600;
}

.expired-cutoff-tab strong {
    margin-left: 0.25rem;
}

.expired-cutoff-table-wrap {
    max-height: min(55vh, 420px);
    overflow: auto;
}

.expired-cutoff-actions {
    white-space: nowrap;
}

.admin-panel .acct-month-chip {
    display: inline-block;
    margin: 0.15rem 0.2rem 0.15rem 0;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    background: #fff;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    color: #374151;
}

.admin-panel .acct-month-chip--pending {
    border-color: rgba(245, 158, 11, 0.55);
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.admin-panel .acct-month-chip--partial {
    border-color: rgba(59, 130, 246, 0.5);
    background: rgba(59, 130, 246, 0.12);
    color: #6d28d9;
}

.admin-panel .acct-month-chip--paid {
    border-color: rgba(34, 197, 94, 0.5);
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
}

.acct-vendor-month-row--focus {
    background: rgba(59, 130, 246, 0.08);
}

.admin-panel #accounting-failed-view .accounting-failed-table td,
.admin-panel #accounting-failed-view .accounting-failed-table th {
    font-size: 0.84rem;
}

.acct-pay-choice-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    max-height: min(65vh, 560px);
    overflow: auto;
}
.acct-pay-choice-month {
    border: 1px solid rgba(45, 212, 191, 0.22);
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.45);
    padding: 0.85rem 1rem;
}
.acct-pay-choice-month-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.65rem;
}
.acct-pay-choice-month-head h4 {
    margin: 0 0 0.35rem;
    color: #5eead4;
    font-size: 0.95rem;
}
.acct-pay-choice-amount {
    text-align: right;
}
.acct-pay-choice-amount strong {
    display: block;
    color: #6ee7b7;
    font-size: 1.05rem;
}
.acct-pay-choice-actions {
    margin-top: 0.65rem;
}
.acct-pay-invoices-block {
    margin: 0.75rem 0 1rem;
}
.acct-pay-invoices-title {
    margin: 0 0 0.5rem;
    font-size: 0.88rem;
    color: #67e8f9;
}
.acct-pay-invoices-list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.acct-pay-invoice-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    flex-wrap: wrap;
    padding: 0.55rem 0.7rem;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.acct-pay-invoice-meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.8rem;
}
.acct-pay-invoices-empty {
    margin: 0.25rem 0 0;
    font-size: 0.78rem;
}

/* ===== Reporte cuentas vencidas (sección dedicada) ===== */
.admin-panel #expired-section.content-section.active {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 0.65rem 1rem 0.85rem;
}

.admin-panel .expired-report-panel {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    gap: 0.75rem;
}

/* display:flex de .expired-report-panel no debe anular [hidden] */
.admin-panel .expired-report-panel[hidden],
.admin-panel #expired-list-view[hidden],
.admin-panel #expired-vendor-view[hidden],
.admin-panel #expired-list-view.hidden,
.admin-panel #expired-vendor-view.hidden,
.admin-panel #accounting-vendor-list-view[hidden],
.admin-panel #accounting-vendor-detail-view[hidden],
.admin-panel #accounting-vendor-list-view.hidden,
.admin-panel #accounting-vendor-detail-view.hidden {
    display: none !important;
}

.admin-panel .accounting-chrome-hidden {
    display: none !important;
}

.admin-panel .acct-vendor-name-link {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-align: left;
    color: inherit;
    font: inherit;
}

.admin-panel .acct-vendor-name-link:hover strong,
.admin-panel .acct-vendor-name-link:focus-visible strong {
    color: var(--neon-cyan, #22d3ee);
    text-decoration: underline;
}

.admin-panel .acct-admin-operator-subtotal td {
    background: #f8fafc;
    border-top: 1px dashed #cbd5e1;
}

.admin-panel .accounting-admin-operators-panel .accounting-vendor-total-card--provider .value {
    color: #c2410c;
}

.admin-panel .accounting-admin-operators-table .acct-admin-operator-row td:first-child strong {
    color: #6d28d9;
}

.admin-panel .accounting-vendor-detail-toolbar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.35rem;
}

.admin-panel .accounting-vendor-detail-toolbar h3 {
    margin: 0;
    flex: 1 1 auto;
    font-size: 1.05rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.admin-panel .acct-vendor-detail-filter-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    background: rgba(251, 191, 36, 0.18);
    color: #b45309;
    border: 1px solid rgba(251, 191, 36, 0.35);
}

.admin-panel .accounting-vendor-detail-hint {
    margin: 0 0 0.65rem;
    font-size: 0.85rem;
}

.admin-panel .accounting-vendor-detail-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1.25rem;
    margin: 0.35rem 0 0.75rem;
    padding: 0.65rem 0.85rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.92rem;
}

.admin-panel .acct-vendor-detail-due-inline {
    color: #b45309;
}

.admin-panel .acct-vendor-detail-count {
    color: var(--admin-muted);
    font-size: 0.82rem;
}

.admin-panel .acct-vendor-detail-selection-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.85rem;
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.75rem;
    border-radius: 10px;
    border: 1px solid rgba(37, 99, 235, 0.28);
    background: #f5f3ff;
}

.admin-panel .acct-vendor-detail-selection-bar[hidden] {
    display: none !important;
}

.admin-panel .acct-vendor-selection-summary {
    font-size: 0.88rem;
    color: #4c1d95;
}

.admin-panel .acct-vendor-selection-actions {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
}

.admin-panel .acct-vendor-select-th,
.admin-panel .acct-vendor-select-td {
    width: 2.1rem;
    text-align: center;
    vertical-align: middle;
}

.admin-panel .acct-vendor-select-cb {
    width: 1rem;
    height: 1rem;
    cursor: pointer;
    accent-color: #7c3aed;
}

.admin-panel .acct-vendor-account-row.is-selected td {
    background: rgba(37, 99, 235, 0.06);
}

.admin-panel .acct-vendor-detail-actions-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.85rem;
}

.admin-panel .acct-vendor-detail-top-actions {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
}

.admin-panel .acct-vendor-detail-service-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    flex: 1 1 14rem;
    min-width: 0;
}

.admin-panel .acct-vendor-service-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.admin-panel .acct-vendor-service-chip:hover {
    border-color: #94a3b8;
    background: #f1f5f9;
}

.admin-panel .acct-vendor-service-chip.is-active {
    border-color: #7c3aed;
    background: #f5f3ff;
    color: #6d28d9;
}

.admin-panel .acct-vendor-service-chip-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.15rem;
    padding: 0.05rem 0.3rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    font-size: 0.68rem;
    font-weight: 700;
}

.admin-panel .acct-vendor-service-chip.is-active .acct-vendor-service-chip-count {
    background: rgba(37, 99, 235, 0.15);
}

.admin-panel .acct-vendor-service-chip-wrap {
    display: inline-flex;
    align-items: stretch;
    gap: 0;
    vertical-align: middle;
}

.admin-panel .acct-vendor-service-chip-wrap .acct-vendor-service-chip {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.admin-panel .acct-vendor-service-chip-copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.45rem;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-left: none;
    border-radius: 0 999px 999px 0;
    background: rgba(15, 23, 42, 0.55);
    color: rgba(226, 232, 240, 0.85);
    cursor: pointer;
    font-size: 0.78rem;
    line-height: 1;
    transition: background 0.15s, color 0.15s;
}

.admin-panel .acct-vendor-service-chip-copy:hover {
    background: rgba(59, 130, 246, 0.25);
    color: #fff;
}

.admin-panel .acct-vendor-group-copy-btn {
    flex-shrink: 0;
}

.admin-panel .acct-warranty-billing-badge {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    background: rgba(16, 185, 129, 0.18);
    color: #6ee7b7;
    vertical-align: middle;
}

.admin-panel .accounting-vendor-detail-table-wrap {
    margin-top: 0.25rem;
}

.admin-panel .acct-vendor-service-group-row td {
    background: rgba(59, 130, 246, 0.08);
    font-size: 0.86rem;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
    border-top: 1px solid rgba(59, 130, 246, 0.15);
}

.admin-panel .acct-vendor-group-head {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.45rem 0.75rem;
}

.admin-panel .acct-vendor-group-actions {
    margin-left: auto;
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.admin-panel .acct-billing-group-choice-list {
    display: grid;
    gap: 0.55rem;
    margin-top: 0.75rem;
}

.admin-panel .acct-billing-group-choice-btn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    width: 100%;
    text-align: left;
    padding: 0.75rem 0.9rem;
    border-radius: 10px;
    border: 1px solid rgba(37, 99, 235, 0.25);
    background: #fff;
    cursor: pointer;
    color: #160f28;
}

.admin-panel .acct-billing-group-choice-btn:hover {
    border-color: #7c3aed;
    background: #f5f3ff;
}

.admin-panel .acct-billing-group-choice-btn .price {
    font-weight: 800;
    color: #6d28d9;
}

.admin-panel .acct-vendor-account-row td {
    font-size: 0.88rem;
}

.admin-panel .acct-vendor-account-email {
    font-size: 0.82rem;
    word-break: break-all;
}

.admin-panel .expired-report-intro h2 {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--admin-text);
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.admin-panel .expired-report-intro h2 i { color: #dc2626; }

.admin-panel .expired-report-intro p {
    margin: 0;
    color: var(--admin-muted);
    font-size: 0.88rem;
    line-height: 1.45;
    max-width: 52rem;
}

.admin-panel .expired-report-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

@media (max-width: 900px) {
    .admin-panel .expired-report-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.admin-panel .expired-report-stat {
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    padding: 0.65rem 0.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.admin-panel .expired-report-stat-label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--admin-muted);
}

.admin-panel .expired-report-stat-value { font-size: 1.45rem; line-height: 1.1; color: var(--admin-text); }
.admin-panel .expired-report-stat-hint { font-size: 0.78rem; color: var(--admin-muted); }
.admin-panel .expired-report-stat--danger { border-color: rgba(220, 38, 38, 0.35); background: rgba(254, 242, 242, 0.85); }
.admin-panel .expired-report-stat--danger .expired-report-stat-value { color: #b91c1c; }
.admin-panel .expired-report-stat--ok { border-color: rgba(22, 163, 74, 0.35); background: rgba(240, 253, 244, 0.85); }
.admin-panel .expired-report-stat--ok .expired-report-stat-value { color: #15803d; }
.admin-panel .expired-report-stat--warn { border-color: rgba(245, 158, 11, 0.4); background: rgba(255, 251, 235, 0.9); }
.admin-panel .expired-report-stat--warn .expired-report-stat-value { color: #b45309; }

.admin-panel .expired-report-vendor-summary-wrap h3 {
    margin: 0 0 0.45rem;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--admin-text);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.admin-panel .expired-vendor-summary-table-wrap { max-height: 180px; overflow: auto; }

.admin-panel .expired-report-toolbar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.admin-panel .expired-report-search-wrap {
    position: relative;
    flex: 0 1 280px;
    min-width: 180px;
}

.admin-panel .expired-report-search-wrap i {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--admin-muted);
    font-size: 0.78rem;
    pointer-events: none;
}

.admin-panel .expired-report-search {
    width: 100%;
    padding: 0.45rem 0.65rem 0.45rem 2rem;
    border: 1px solid var(--admin-border);
    border-radius: 8px;
    font-size: 0.85rem;
    background: #fff;
}

.admin-panel .expired-report-tabs { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-left: auto; }

.admin-panel .expired-report-tab {
    border: 1px solid var(--admin-border);
    background: #fff;
    border-radius: 999px;
    padding: 0.38rem 0.75rem;
    font-size: 0.82rem;
    color: var(--admin-text);
    cursor: pointer;
}

.admin-panel .expired-report-tab.active {
    border-color: #7c3aed;
    background: #f5f3ff;
    color: #6d28d9;
    font-weight: 600;
}

.admin-panel .expired-report-tab strong { margin-left: 0.2rem; }

.admin-panel .expired-report-table-wrap {
    flex: 1 1 auto;
    min-height: 160px;
    overflow: auto;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    background: #fff;
}

.admin-panel .expired-report-actions { white-space: nowrap; }
.admin-panel .expired-days { font-size: 0.78rem; font-weight: 600; white-space: nowrap; }
.admin-panel .expired-days--over { color: #b91c1c; }
.admin-panel .expired-days--soon { color: #b45309; }

.admin-panel .expired-report-empty { text-align: center; padding: 2rem 1rem; color: var(--admin-muted); }
.admin-panel .expired-report-empty i { font-size: 2rem; color: #22c55e; margin-bottom: 0.5rem; }
.admin-panel .expired-report-empty--filter i { color: #94a3b8; }
.admin-panel .expired-report-empty h3 { margin: 0 0 0.35rem; color: var(--admin-text); font-size: 1rem; }
.admin-panel .expired-report-empty p { margin: 0.25rem 0; font-size: 0.88rem; }
.admin-panel .expired-report-footer { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.admin-panel .nav-badge-expired { background: #dc2626; }

.admin-panel .accounting-expired-link-btn {
    margin-right: auto;
    border: 1px solid rgba(220, 38, 38, 0.35);
    background: rgba(254, 242, 242, 0.9);
    color: #b91c1c;
    border-radius: 8px;
    padding: 0.45rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.admin-panel .accounting-expired-link-btn:hover {
    background: #fee2e2;
    border-color: rgba(220, 38, 38, 0.5);
}

.admin-panel .accounting-top-bar {
    display: flex;
    align-items: stretch;
    gap: 0.65rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.admin-panel .accounting-top-bar .accounting-view-switch {
    flex: 1 1 420px;
    margin-bottom: 0;
}

/* Disponibles + vencidas: tablas claras como el resto del admin */
.admin-panel #available-section .table-wrapper {
    background: #fff;
    border: 1px solid var(--admin-border);
}

.admin-panel #available-section .available-simple-table {
    background: #fff !important;
}

.admin-panel #available-section .available-simple-table thead th {
    background: #f9fafb !important;
    color: var(--admin-muted) !important;
    border-bottom: 1px solid var(--admin-border) !important;
    text-shadow: none !important;
    letter-spacing: 0.04em;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
}

.admin-panel #available-section .available-simple-table tbody td {
    background: #fff !important;
    color: var(--admin-text) !important;
    border-bottom: 1px solid #f3f4f6 !important;
}

.admin-panel #available-section .available-simple-table tbody tr:hover td {
    background: #f5f3ff !important;
}

.admin-panel #available-section .available-service-pill {
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    color: #5b21b6;
    box-shadow: none;
}

.admin-panel #available-section .available-service-pill i {
    color: #7c3aed;
    opacity: 1;
}

.admin-panel .expired-report-table,
.admin-panel .expired-vendor-summary-table {
    background: #fff !important;
}

.admin-panel .expired-report-table th,
.admin-panel .expired-vendor-summary-table th {
    background: #f9fafb !important;
    color: var(--admin-muted) !important;
    text-shadow: none !important;
    box-shadow: none !important;
    border-bottom: 1px solid var(--admin-border) !important;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.admin-panel .expired-report-table td,
.admin-panel .expired-vendor-summary-table td {
    background: #fff !important;
    color: var(--admin-text) !important;
    border-bottom: 1px solid #f3f4f6 !important;
}

.admin-panel .expired-report-table tbody tr:hover td,
.admin-panel .expired-vendor-summary-table tbody tr:hover td {
    background: #f5f3ff !important;
    transform: none !important;
}

.admin-panel .expired-report-table code.expired-report-email {
    color: #334155;
    background: #f1f5f9;
    padding: 0.12rem 0.35rem;
    border-radius: 4px;
    font-size: 0.78rem;
}

.admin-panel .expired-report-row--vencida td {
    background: #fff5f5 !important;
}

.admin-panel .expired-report-row--vencida:hover td {
    background: #fee2e2 !important;
}

.admin-panel .expired-cutoff-cell--vencida,
.admin-panel .expired-label-vencida,
.admin-panel .expired-days--over {
    color: #dc2626 !important;
    font-weight: 700;
}

.admin-panel .expired-label-vencida {
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
}

.admin-panel .expired-report-row--soon td {
    background: #fffbeb !important;
}

.admin-panel .expired-days--soon {
    color: #b45309 !important;
    font-weight: 600;
}

.admin-panel .expired-report-table .price {
    color: #15803d;
    font-weight: 600;
}

.admin-panel #expired-list-view.hidden,
.admin-panel #expired-vendor-view.hidden {
    display: none !important;
}

.admin-panel .provider-detail-accounts-table {
    table-layout: fixed;
    width: 100%;
}
.admin-panel .provider-detail-accounts-table col.pd-col-servicio { width: 11%; }
.admin-panel .provider-detail-accounts-table col.pd-col-correo { width: 14%; }
.admin-panel .provider-detail-accounts-table col.pd-col-clave { width: 9%; }
.admin-panel .provider-detail-accounts-table col.pd-col-link { width: 18%; }
.admin-panel .provider-detail-accounts-table col.pd-col-pais { width: 6%; }
.admin-panel .provider-detail-accounts-table col.pd-col-vendedor { width: 9%; }
.admin-panel .provider-detail-accounts-table col.pd-col-estado { width: 8%; }
.admin-panel .provider-detail-accounts-table col.pd-col-corte { width: 9%; }
.admin-panel .provider-detail-accounts-table col.pd-col-costo { width: 8%; }
.admin-panel .provider-detail-accounts-table col.pd-col-acciones { width: 8%; }
.admin-panel .provider-detail-accounts-table th,
.admin-panel .provider-detail-accounts-table td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}
.admin-panel .provider-detail-accounts-table td[data-label="Link"] {
    white-space: normal;
    overflow: visible;
}
.admin-panel .provider-link-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    white-space: normal;
}
.admin-panel .provider-link-cell .provider-access-link {
    color: #67e8f9 !important;
    font-size: 0.78rem;
    word-break: break-all;
    max-width: 100%;
}
.admin-panel .provider-change-link-btn {
    white-space: nowrap;
}
.admin-panel .provider-email-search-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: 0.65rem 0 0.85rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid rgba(103, 232, 249, 0.22);
    border-radius: 12px;
    background: rgba(7, 20, 29, 0.55);
}
.admin-panel .provider-email-search-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #67e8f9;
    font-size: 0.82rem;
    font-weight: 600;
    margin: 0;
}
.admin-panel .provider-email-search-input {
    flex: 1 1 220px;
    min-width: 180px;
    max-width: 28rem;
}

/* Proveedores: misma legibilidad que la tabla de cuentas del vendedor */
.admin-panel .client-detail-fullpage .provider-detail-accounts-table thead th {
    background: #07141d;
    color: #67e8f9 !important;
    border-bottom-color: rgba(103, 232, 249, 0.3);
}

.admin-panel .client-detail-fullpage .provider-detail-accounts-table tbody td {
    color: #d9f8ff !important;
    background: transparent;
    border-bottom-color: rgba(255, 255, 255, 0.16);
}

.admin-panel .client-detail-fullpage .provider-detail-accounts-table tbody tr:hover td {
    background: rgba(14, 116, 144, 0.22) !important;
    color: #f0fdff !important;
}

.admin-panel .client-detail-fullpage .provider-detail-accounts-table td:nth-child(2),
.admin-panel .client-detail-fullpage .provider-detail-accounts-table td:nth-child(3) {
    color: #c4b5fd !important;
}

.admin-panel .client-detail-fullpage .provider-detail-accounts-table td:nth-child(6) {
    color: #6ee7b7 !important;
    font-weight: 700;
}

.admin-panel .client-detail-fullpage .provider-detail-accounts-table td:nth-child(7),
.admin-panel .client-detail-fullpage .provider-detail-accounts-table td:nth-child(8) {
    color: #a7f3d0 !important;
    font-weight: 600;
}

.admin-panel .client-detail-fullpage .provider-detail-accounts-table .password-field {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(125, 211, 252, 0.25);
}

.admin-panel .client-detail-fullpage .provider-detail-accounts-table .password-text {
    color: #ddd6fe !important;
}

.admin-panel .client-detail-fullpage .provider-detail-accounts-table .status-badge,
.admin-panel .client-detail-fullpage .provider-detail-accounts-table .status-badge-compact {
    color: #a7f3d0 !important;
    background: rgba(16, 185, 129, 0.14) !important;
    border-color: rgba(52, 211, 153, 0.35) !important;
}

.admin-panel .client-detail-fullpage .provider-detail-accounts-table .provider-marlon-badge {
    color: #fde68a !important;
    background: rgba(180, 130, 0, 0.2) !important;
    border-color: rgba(250, 204, 21, 0.45) !important;
}

.admin-panel .client-detail-fullpage .provider-detail-accounts-table .action-buttons-compact {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
}

.admin-panel .client-detail-fullpage .provider-detail-accounts-table .btn-icon {
    min-width: 26px;
    min-height: 26px;
    padding: 0.25rem 0.35rem;
    border-radius: 5px;
}

/* Detalle proveedor: estructura visual equivalente al detalle vendedor */
.admin-panel .client-detail-fullpage .provider-detail-mode .client-detail-sticky-top {
    background: #eef2f7;
    border-bottom: 1px solid #cbd5e1;
}

.admin-panel .client-detail-fullpage .provider-detail-mode .client-detail-info-block {
    background: #dff6fb;
    border: 1px solid #b9e6ef;
    border-radius: 6px;
    padding: 0.55rem 0.7rem;
}

.admin-panel .client-detail-fullpage .provider-detail-mode .client-detail-accounts-panel {
    background: #f8fafc;
    border: 1px solid #dbe3ec;
    border-radius: 6px;
    padding: 0.6rem 0.7rem;
}

.admin-panel .client-detail-fullpage .provider-detail-mode .client-detail-accounts-heading {
    color: #261d40 !important;
    font-weight: 700;
}

.admin-panel .client-detail-fullpage .provider-detail-mode .client-detail-access-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.admin-panel .client-detail-fullpage .provider-detail-mode .client-detail-service-chips {
    margin-top: 0.55rem;
}

.admin-panel .expired-vendor-detail-toolbar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.35rem;
}

.admin-panel .expired-vendor-detail-toolbar h3 {
    margin: 0;
    flex: 1 1 auto;
    font-size: 1rem;
    font-weight: 600;
}

.admin-panel .expired-vendor-detail-hint {
    margin: 0 0 0.5rem;
    font-size: 0.85rem;
}

.admin-panel .expired-vendor-select-all {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
}

.admin-panel .expired-vendor-select-all label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
}

.admin-panel .expired-vendor-accounts-wrap {
    flex: 1 1 auto;
    min-height: 200px;
    overflow: auto;
}

.admin-panel .expired-check-col {
    width: 2.25rem;
    text-align: center;
}

.admin-panel .expired-check-col input {
    width: 1rem;
    height: 1rem;
    accent-color: #7c3aed;
    cursor: pointer;
}

.admin-panel .expired-date-group-row td {
    background: #fef2f2 !important;
    font-size: 0.82rem;
    padding: 0.45rem 0.75rem !important;
    border-bottom: 1px solid #fecaca !important;
}

.admin-panel .expired-vendor-dates-cell {
    font-size: 0.8rem;
    line-height: 1.45;
    color: var(--admin-text);
}

.admin-panel .expired-report-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-panel .expired-date-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.25rem 0;
    border-bottom: 1px dashed #e5e7eb;
}
.admin-panel .expired-date-summary-row:last-child { border-bottom: none; }
.admin-panel .accounting-view-tab[data-accounting-view="expired"].active {
    border-color: rgba(220, 38, 38, 0.45);
    background: #fef2f2;
    color: #b91c1c;
}
.admin-panel #accounting-expired-view.is-active {
    display: block;
}

/* ===== Disponibles: misma UI compacta que Vendedores ===== */
.admin-panel #available-section.content-section.active {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 0.5rem 1rem 0.75rem;
    background: var(--admin-bg) !important;
}

.admin-panel #available-section .table-container.available-table-compact {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0.65rem 0.75rem 0.75rem;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
}

.admin-panel #available-section #available-list-view {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.admin-panel #available-section .available-stock-bar {
    flex: 0 0 auto;
}

.admin-panel #available-section .available-toolbar {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
    margin-bottom: 0.55rem;
    flex: 0 0 auto;
}

.admin-panel #available-section .available-actions-grid {
    display: contents;
}

.admin-panel #available-section .available-tool-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.42rem 0.85rem;
    font-size: 0.82rem;
    white-space: nowrap;
    border: none;
    border-radius: 9px;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.admin-panel #available-section .available-tool-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.admin-panel #available-section .available-tool-label {
    line-height: 1.15;
}

.admin-panel #available-section .available-search-wrap {
    position: relative;
    flex: 0 1 220px;
    max-width: 260px;
    min-width: 140px;
}

.admin-panel #available-section .available-search-input {
    width: 100%;
    padding: 0.42rem 0.65rem 0.42rem 2rem;
    font-size: 0.85rem;
    border-radius: 8px;
    border: 1px solid var(--admin-border);
    background: #fff;
    color: var(--admin-text);
}

.admin-panel #available-section .available-search-icon {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--admin-muted);
    font-size: 0.78rem;
    pointer-events: none;
}

.admin-panel #available-section .available-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-left: auto;
}

.admin-panel #available-section .available-chip {
    border: 1px solid var(--admin-border);
    background: #fff;
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    font-size: 0.78rem;
    color: var(--admin-text);
    cursor: pointer;
}

.admin-panel #available-section .available-chip.active {
    border-color: #7c3aed;
    background: #f5f3ff;
    color: #6d28d9;
    font-weight: 600;
}

.admin-panel #failed-section .failed-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
    margin-bottom: 1.25rem;
}

.admin-panel #failed-section .failed-db-safe-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin: 0 0 1rem;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    border: 1px solid rgba(16, 185, 129, 0.35);
    background: rgba(16, 185, 129, 0.1);
    color: #d1fae5;
    font-size: 0.92rem;
    line-height: 1.35;
}

.admin-panel #failed-section .failed-db-safe-banner i {
    color: #34d399;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.admin-panel #failed-section .failed-stat-sub {
    margin: 0.15rem 0 0;
    font-size: 0.72rem;
    color: var(--text-muted, #94a3b8);
    font-weight: 500;
}

.admin-panel #failed-section .failed-filter-card--historial.is-active {
    border-color: rgba(167, 139, 250, 0.55);
    box-shadow: 0 0 0 1px rgba(167, 139, 250, 0.25);
}

@media (max-width: 1100px) {
    .admin-panel #failed-section .failed-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .admin-panel #failed-section .failed-stats-grid {
        grid-template-columns: 1fr;
    }
}

.admin-panel #failed-section .failed-filter-card {
    cursor: pointer;
    min-height: 5.5rem;
}

.admin-panel #failed-section .failed-filter-card.is-active {
    border-color: rgba(59, 130, 246, 0.55);
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.25);
}

.admin-panel #failed-section .failed-filter-card--problemas.is-active {
    border-color: rgba(168, 85, 247, 0.55);
    box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.25);
}

.admin-panel #failed-section .failed-problemas-panel {
    margin-top: 0.75rem;
}

.admin-panel #failed-section .failed-problemas-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}

.admin-panel #failed-section .failed-problemas-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    min-width: min(100%, 16rem);
    flex: 1 1 14rem;
}

.admin-panel #failed-section .failed-problemas-search-wrap > i {
    position: absolute;
    left: 0.7rem;
    color: rgba(148, 163, 184, 0.9);
    pointer-events: none;
    font-size: 0.85rem;
}

.admin-panel #failed-section .failed-problemas-search {
    width: 100%;
    min-height: 2.35rem;
    padding: 0.45rem 0.7rem 0.45rem 2rem;
    border-radius: 8px;
    border: 1px solid rgba(232, 121, 249, 0.22);
    background: rgba(15, 23, 42, 0.72);
    color: #e2e8f0;
    font-size: 0.9rem;
}

.admin-panel #failed-section .failed-problemas-search::placeholder {
    color: rgba(148, 163, 184, 0.85);
}

.admin-panel #failed-section .failed-problemas-search:focus {
    outline: none;
    border-color: rgba(232, 121, 249, 0.55);
    box-shadow: 0 0 0 2px rgba(232, 121, 249, 0.12);
}

.admin-problema-account-box {
    border: 1px solid rgba(232, 121, 249, 0.22);
    background: rgba(232, 121, 249, 0.06);
    border-radius: 10px;
    padding: 0.75rem 0.85rem;
    display: grid;
    gap: 0.55rem;
}

.admin-problema-account-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
}

.admin-problema-account-row .label {
    min-width: 3.5rem;
    color: #94a3b8;
    font-size: 0.82rem;
    font-weight: 600;
}

.admin-problema-account-row code {
    color: #e2e8f0;
    word-break: break-all;
}

.admin-panel #failed-section .failed-section-hint {
    margin: 0 0 0.75rem;
    font-size: 0.85rem;
}

.failed-mobile-meta {
    display: none;
}

.admin-panel #failed-section .failed-stock-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.65rem;
}

.admin-panel #failed-section .failed-stock-total {
    font-size: 0.78rem;
    color: var(--admin-muted);
    margin-right: 0.2rem;
    border: 1px solid transparent;
    background: transparent;
    border-radius: 999px;
    padding: 0.22rem 0.45rem;
    cursor: pointer;
    font-family: inherit;
}

.admin-panel #failed-section .failed-stock-total:hover,
.admin-panel #failed-section .failed-stock-total.is-active {
    border-color: var(--admin-border);
    background: #f3f4f6;
    color: var(--admin-text);
}

.admin-panel #failed-section .failed-stock-total strong {
    color: var(--admin-text);
    font-size: 0.95rem;
    user-select: all;
    cursor: text;
}

.admin-panel #failed-section .failed-stock-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid var(--admin-border);
    background: #fff7ed;
    border-radius: 999px;
    padding: 0.22rem 0.55rem;
    font-size: 0.75rem;
    cursor: pointer;
    font-family: inherit;
    color: inherit;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-panel #failed-section .failed-stock-pill .failed-stock-n {
    color: #c2410c;
    font-variant-numeric: tabular-nums;
    user-select: all;
    cursor: text;
}

.admin-panel #failed-section .failed-stock-pill:hover {
    background: #ffedd5;
    border-color: #fdba74;
}

.admin-panel #failed-section .failed-stock-pill.is-active {
    background: #ffedd5;
    border-color: #ea580c;
    box-shadow: 0 0 0 2px rgba(234, 88, 12, 0.18);
}

.admin-panel #failed-section .failed-stock-empty {
    font-size: 0.8rem;
    color: var(--admin-muted);
}

.admin-panel #failed-section .failed-view-mode-filters {
    margin-bottom: 0.35rem;
}

.admin-panel #failed-section .failed-warranty-day-filters {
    margin-bottom: 0.35rem;
}

.admin-panel #failed-section .failed-warranty-today-badge {
    display: inline-block;
    min-width: 1.25rem;
    margin-left: 0.35rem;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.15);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.3;
}

.admin-panel #failed-section #failed-warranty-today-btn.active {
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.55);
}

.admin-panel .email-copy,
.admin-panel .vendor-email-copy,
.admin-panel .failed-email-copy {
    cursor: pointer;
    color: var(--admin-accent, #a78bfa);
    text-decoration: underline;
    text-underline-offset: 2px;
    word-break: break-all;
}
.admin-panel .email-copy:hover,
.admin-panel .vendor-email-copy:hover,
.admin-panel .failed-email-copy:hover {
    color: #c4b5fd;
}
.admin-panel .email-copy:focus-visible,
.admin-panel .vendor-email-copy:focus-visible,
.admin-panel .failed-email-copy:focus-visible {
    outline: 2px solid #a78bfa;
    outline-offset: 2px;
    border-radius: 2px;
}

.admin-panel #failed-section .failed-email-copy {
    color: var(--admin-accent, #7c3aed);
}
.admin-panel #failed-section .failed-email-copy:hover {
    color: #6d28d9;
}
.admin-panel #failed-section .failed-email-copy:focus-visible {
    outline: 2px solid #7c3aed;
    outline-offset: 2px;
    border-radius: 2px;
}

.admin-panel #failed-section .failed-vendor-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
}

.admin-panel #failed-section .failed-vendor-filter .accounts-filter-label {
    margin: 0;
    white-space: nowrap;
}

.admin-panel #failed-section .failed-vendor-filter .accounts-filter-select {
    min-width: 11rem;
    max-width: 16rem;
    padding: 0.45rem 0.65rem;
    font-size: 0.85rem;
}

.admin-panel #available-section .available-stock-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.55rem;
    flex: 0 0 auto;
    max-height: 5.5rem;
    overflow: auto;
}

.admin-panel #available-section .available-prices-view {
    margin-top: 0.35rem;
}
.admin-panel #available-section .available-prices-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    margin-bottom: 0.75rem;
}
.admin-panel #available-section .available-prices-back-btn {
    border: 1px solid var(--admin-border);
    background: #fff;
    color: var(--admin-text);
}
.admin-panel #available-section .available-prices-hint {
    margin: 0;
    font-size: 0.86rem;
    color: var(--admin-muted);
    flex: 1 1 14rem;
}
.admin-panel #available-section .available-prices-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.45rem;
}
.admin-panel #available-section .available-price-svc-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    border: 1px solid var(--admin-border);
    background: #fff;
    color: var(--admin-text);
    border-radius: 10px;
    padding: 0.55rem 0.8rem;
    cursor: pointer;
    text-align: left;
    min-width: 9.5rem;
    max-width: 100%;
    box-shadow: none;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.admin-panel #available-section .available-price-svc-btn:hover {
    border-color: #c4b5fd;
    background: #f8fbff;
}
.admin-panel #available-section .available-price-svc-btn.has-price {
    border-color: #86efac;
    background: #f0fdf4;
}
.admin-panel #available-section .available-price-svc-name {
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.2;
}
.admin-panel #available-section .available-price-svc-meta {
    font-size: 0.75rem;
    color: #64748b;
}

.admin-panel #available-section .available-stock-total {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0 0.15rem 0 0;
    padding: 0.22rem 0.55rem;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    font-size: 0.78rem;
    color: var(--admin-muted);
    white-space: nowrap;
    cursor: pointer;
    font-family: inherit;
}

.admin-panel #available-section .available-stock-total:hover {
    background: #f1f5f9;
    color: var(--admin-text);
}

.admin-panel #available-section .available-stock-total strong {
    color: var(--admin-text);
    font-size: 0.95rem;
}

.admin-panel #available-section .available-stock-clear {
    color: #7c3aed;
    font-weight: 600;
    font-size: 0.72rem;
}

.admin-panel #available-section .available-stock-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid var(--admin-border);
    background: #f8fafc;
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
    font-size: 0.75rem;
    color: var(--admin-text);
    max-width: 100%;
    cursor: pointer;
    font-family: inherit;
    transition: border-color 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
    -webkit-tap-highlight-color: transparent;
}

.admin-panel #available-section .available-stock-pill:hover {
    border-color: #c4b5fd;
    background: #f5f3ff;
}

.admin-panel #available-section .available-stock-pill.is-active {
    border-color: #7c3aed;
    background: #ede9fe;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.18);
    font-weight: 600;
}

.admin-panel #available-section .available-stock-pill:active {
    transform: scale(0.98);
}

.admin-panel #available-section .available-stock-svc {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 12rem;
}

.admin-panel #available-section .available-stock-n {
    color: #6d28d9;
    font-variant-numeric: tabular-nums;
    min-width: 1.1rem;
    text-align: right;
}

.admin-panel #available-section .available-stock-empty {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    margin: 0.15rem 0 0.35rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    border: 1px dashed #d1d5db;
    background: linear-gradient(180deg, #fafbfc 0%, #f3f4f6 100%);
    color: #6b7280;
    font-size: 0.86rem;
    font-weight: 500;
}

.admin-panel #available-section .available-stock-empty::before {
    content: '';
    width: 2.1rem;
    height: 2.1rem;
    flex: 0 0 auto;
    border-radius: 10px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E") center/1.05rem no-repeat;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.admin-panel #available-section .available-stock-empty-legacy {
    font-size: 0.8rem;
    color: var(--admin-muted);
}

.admin-panel #available-section .available-table-wrap {
    flex: 1 1 auto;
    min-height: 120px;
    max-height: min(70vh, calc(100vh - 210px));
    overflow-x: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.35rem;
    background: #fff !important;
    border: 1px solid var(--admin-border);
    border-radius: 8px;
}

.admin-panel #available-section .available-admin-table {
    background: #fff !important;
    width: 100%;
}

.admin-panel #available-section .available-admin-table thead th {
    background: #f9fafb !important;
    color: var(--admin-muted) !important;
    text-shadow: none !important;
    box-shadow: none !important;
    border-bottom: 1px solid var(--admin-border) !important;
    font-size: 0.72rem;
    font-weight: 600;
    position: sticky;
    top: 0;
    z-index: 2;
}

.admin-panel #available-section .available-admin-table tbody td {
    background: #fff !important;
    color: var(--admin-text) !important;
    border-bottom: 1px solid #f3f4f6 !important;
    font-size: 0.85rem;
    padding: 0.55rem 0.7rem;
}

.admin-panel #available-section .available-admin-table tbody tr:hover td {
    background: #f5f3ff !important;
}

.admin-panel #available-section .available-row--vencida td {
    background: #fff5f5 !important;
}

.admin-panel #available-section .available-row--review td {
    background: #fffbeb !important;
}

.admin-panel #available-section .available-review-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.28rem;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #92400e;
    background: #fef3c7;
    border: 1px solid #f59e0b;
    max-width: 100%;
}

.admin-panel #available-section .available-cutoff--vencida,
.admin-panel #available-section .available-cutoff--vencida strong {
    color: #dc2626 !important;
    font-weight: 700;
}

.admin-panel #available-section .available-email {
    color: #334155;
    background: #f1f5f9;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
    font-size: 0.78rem;
}

.admin-panel #available-section .available-pass {
    font-family: ui-monospace, monospace;
    font-size: 0.8rem;
    color: #475569;
}

.admin-panel #available-section .available-email-cell {
    white-space: nowrap;
}

.admin-panel #available-section .available-email-cell .available-copy-btn {
    margin-left: 0.35rem;
    vertical-align: middle;
}

.admin-panel #available-section .available-country {
    font-size: 0.82rem;
    color: #475569;
    white-space: nowrap;
}

.admin-panel #available-section .available-actions {
    white-space: nowrap;
}

.admin-panel #available-section .available-actions .btn-icon.warning {
    background: rgba(217, 119, 6, 0.12);
    color: #d97706;
    border: 1px solid rgba(217, 119, 6, 0.35);
}

.admin-panel #available-section .available-actions .btn-icon.warning:hover {
    background: rgba(217, 119, 6, 0.22);
    color: #b45309;
}

.admin-panel #available-section .available-actions .btn-icon.restore {
    background: rgba(59, 130, 246, 0.12);
    color: #7c3aed;
    border: 1px solid rgba(59, 130, 246, 0.35);
}

.admin-panel #available-section .available-actions .btn-icon.restore:hover {
    background: rgba(59, 130, 246, 0.22);
    color: #6d28d9;
}

.admin-panel #available-section .available-actions .btn-icon.restore-client {
    background: rgba(34, 197, 94, 0.12);
    color: #16a34a;
    border: 1px solid rgba(34, 197, 94, 0.35);
}

.admin-panel #available-section .available-actions .btn-icon.restore-client:hover {
    background: rgba(34, 197, 94, 0.22);
    color: #15803d;
}

.admin-panel #available-section .available-check-col {
    width: 2.25rem;
    text-align: center;
}

.admin-panel #available-section .available-check-col input {
    width: 1rem;
    height: 1rem;
    accent-color: #7c3aed;
}


/* Reposo de cuentas */
.admin-panel .reposo-dash-card {
    margin-top: 1.25rem;
    border: 1px solid #f59e0b66;
    border-radius: 12px;
    background: linear-gradient(135deg, #fffbeb 0%, #fff 100%);
    padding: 1rem 1.15rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.admin-panel .reposo-dash-card-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.admin-panel .reposo-dash-card h3 {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    color: var(--admin-text);
}
.admin-panel .nav-badge-reposo {
    background: #f59e0b;
}
.admin-panel .reposo-section-hint {
    margin: 0 0 1rem;
    max-width: 52rem;
}

/* Tabla reposo — fondo claro y texto legible (como Duplicadas / Caídas) */
.admin-panel #reposo-section .table-container {
    background: #fff;
    border: 1px solid var(--admin-border);
}

.admin-panel #reposo-section .table-header h3,
.admin-panel #reposo-section .table-header p {
    color: var(--admin-text);
}

.admin-panel #reposo-section .data-table,
.admin-panel #reposo-section .reposo-table {
    background: #fff;
}

.admin-panel #reposo-section .data-table thead,
.admin-panel #reposo-section .reposo-table thead {
    background: #f3f4f6;
}

.admin-panel #reposo-section .data-table th,
.admin-panel #reposo-section .reposo-table th {
    background: #f3f4f6 !important;
    color: #374151 !important;
    text-shadow: none !important;
    border-bottom: 1px solid var(--admin-border) !important;
    box-shadow: none !important;
}

.admin-panel #reposo-section .data-table td,
.admin-panel #reposo-section .reposo-table td {
    color: #261d40 !important;
    background: #fff !important;
    border-bottom: 1px solid #e5e7eb !important;
    vertical-align: middle;
}

.admin-panel #reposo-section .data-table tbody tr,
.admin-panel #reposo-section .reposo-table tbody tr {
    background: #fff !important;
}

.admin-panel #reposo-section .data-table tbody tr:hover,
.admin-panel #reposo-section .reposo-table tbody tr:hover {
    background: #f5f3ff !important;
    transform: none !important;
}

.admin-panel #reposo-section .data-table tbody tr:hover td,
.admin-panel #reposo-section .reposo-table tbody tr:hover td {
    color: #1b1430 !important;
    background: #f5f3ff !important;
}

.admin-panel #reposo-section .reposo-table td:first-child {
    font-weight: 600;
    color: #160f28 !important;
    font-size: 0.88rem;
    word-break: break-all;
}

.admin-panel #reposo-section .text-muted {
    color: #6b7280 !important;
}

.admin-panel #reposo-section .reposo-note-preview {
    color: #374151;
}

.admin-panel #reposo-section .reposo-note-editable:hover .reposo-note-preview {
    color: #6d28d9;
}

.admin-panel #reposo-section .reposo-add-panel {
    background: #fff;
}

.admin-panel .reposo-add-form {
    padding: 0.75rem 1rem 1rem;
}
.admin-panel .reposo-add-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: flex-end;
}
.admin-panel .reposo-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 10rem;
}
.admin-panel .reposo-field-grow {
    flex: 1 1 16rem;
}
.admin-panel .reposo-field span {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--admin-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.admin-panel .reposo-field select,
.admin-panel .reposo-field input,
.admin-panel .reposo-field textarea {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--admin-border);
    border-radius: 8px;
    padding: 0.45rem 0.65rem;
    font: inherit;
    background: #fff;
}
.admin-panel .reposo-submit-btn {
    min-height: 42px;
    align-self: flex-end;
}
.admin-panel .reposo-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0 0 0.85rem;
}
.admin-panel .reposo-chip {
    border: 1px solid var(--admin-border);
    background: #fff;
    border-radius: 999px;
    padding: 0.35rem 0.85rem;
    font-size: 0.82rem;
    cursor: pointer;
}
.admin-panel .reposo-chip.active {
    border-color: #f59e0b;
    background: #fffbeb;
    color: #92400e;
    font-weight: 600;
}
.admin-panel .reposo-pill {
    display: inline-block;
    border-radius: 999px;
    padding: 0.15rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 600;
}
.admin-panel .reposo-pill-wait {
    background: #f5f3ff;
    color: #6d28d9;
}
.admin-panel .reposo-pill-review {
    background: #fff7ed;
    color: #c2410c;
}
.admin-panel .reposo-pill-done {
    background: #ecfdf5;
    color: #047857;
}
.admin-panel .reposo-actions-cell {
    white-space: nowrap;
}
.admin-panel .reposo-action-btn {
    margin: 0 0.15rem 0.15rem 0;
}
.admin-panel .reposo-note-editable {
    cursor: pointer;
}
.admin-panel .reposo-note-editable:hover .reposo-note-preview {
    color: #7c3aed;
    text-decoration: underline;
}
.admin-panel .reposo-liberar-modal .reposo-liberar-email {
    font-weight: 700;
    margin: 0.25rem 0;
}
.admin-panel .reposo-liberar-modal .reposo-liberar-service {
    color: var(--admin-muted);
    margin: 0 0 0.75rem;
}
.admin-panel .reposo-field-full {
    width: 100%;
    margin-top: 0.65rem;
}
.admin-panel .reposo-note-cell {
    max-width: 14rem;
}
.admin-panel .reposo-note-preview {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}
.admin-panel .reposo-liberar-password-input {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--admin-border);
    border-radius: 8px;
    padding: 0.45rem 0.65rem;
    font: inherit;
}
.admin-panel .reposo-edit-note-input {
    width: 100%;
    min-height: 96px;
    border: 1px solid var(--admin-border);
    border-radius: 8px;
    padding: 0.55rem 0.65rem;
    font: inherit;
    resize: vertical;
}


/* ===== Ventas vendedores ===== */
.admin-panel #ventas-vendedores-section .vendor-sales-hint {
    margin: 0 0 1rem;
    font-size: 0.88rem;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stats-wrap {
    position: relative;
    margin-bottom: 0.35rem;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 0;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stats-wrap.is-collapsed .vendor-sales-stats {
    max-height: 6.6rem;
    overflow: hidden;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stats-wrap.is-collapsed::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1.55rem;
    height: 2.4rem;
    background: linear-gradient(to bottom, rgba(244, 246, 249, 0), var(--admin-bg));
    pointer-events: none;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stats-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 1.35rem;
    margin: -0.15rem auto 0.15rem;
    padding: 0;
    border: 1px solid var(--admin-border);
    border-radius: 999px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    position: relative;
    z-index: 1;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stats-toggle:hover {
    color: #160f28;
    border-color: #94a3b8;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stats-toggle[hidden] {
    display: none;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stat-card {
    min-width: 8.5rem;
    padding: 0.65rem 0.9rem;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    background: #fff;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stat-card .label {
    display: block;
    font-size: 0.72rem;
    color: var(--admin-muted);
    margin-bottom: 0.15rem;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stat-card strong {
    font-size: 1.15rem;
    color: var(--admin-text);
    font-variant-numeric: tabular-nums;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stat-card--amount strong {
    color: #047857;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stat-card--breakdown {
    flex: 1 1 20rem;
    min-width: 18rem;
}
.admin-panel #ventas-vendedores-section .vendor-sales-service-breakdown {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    color: var(--admin-text);
    font-size: 0.82rem;
}
.admin-panel #ventas-vendedores-section .vendor-sales-service-count {
    white-space: nowrap;
}
.admin-panel #ventas-vendedores-section .vendor-sales-stat-card--warn {
    border-color: rgba(255, 152, 0, 0.55);
    background: rgba(255, 152, 0, 0.08);
}
.admin-panel #ventas-vendedores-section .vendor-sales-stat-card--warn strong {
    color: #ff9800;
}


.admin-panel #ventas-vendedores-section .vendor-sales-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}
.admin-panel #ventas-vendedores-section .vendor-sales-view-tabs {
    display: inline-flex;
    gap: 0.35rem;
}
.admin-panel #ventas-vendedores-section .vendor-sales-tab {
    border: 1px solid var(--admin-border);
    background: #fff;
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    font-size: 0.8rem;
    cursor: pointer;
    font-family: inherit;
    color: var(--admin-muted);
}
.admin-panel #ventas-vendedores-section .vendor-sales-tab.active,
.admin-panel #ventas-vendedores-section .vendor-sales-tab:hover {
    border-color: #7c3aed;
    color: var(--admin-text);
    background: #f5f3ff;
}
.admin-panel #ventas-vendedores-section .vendor-sales-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.65rem;
}
.admin-panel #ventas-vendedores-section .vendor-sales-month-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    color: var(--text-muted, #94a3b8);
    margin: 0;
    white-space: nowrap;
}
.admin-panel #ventas-vendedores-section .vendor-sales-month-input {
    min-width: 9.5rem;
}
.admin-panel #ventas-vendedores-section .vendor-sales-filters .search-input {
    max-width: 14rem;
}
.admin-panel #ventas-vendedores-section .vendor-sale-src {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    border-radius: 999px;
    padding: 0.15rem 0.5rem;
    border: 1px solid transparent;
}
.admin-panel #ventas-vendedores-section .vendor-sale-src--take {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}
.admin-panel #ventas-vendedores-section .vendor-sale-src--assign {
    background: #f5f3ff;
    color: #6d28d9;
    border-color: #ddd6fe;
}

.admin-panel #ventas-vendedores-section .vendor-sale-src--renewal {
    background: #fff7ed;
    color: #c2410c;
    border-color: #fed7aa;
}
.admin-panel #ventas-vendedores-section .vendor-sale-move {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 999px;
    padding: 0.15rem 0.5rem;
    border: 1px solid transparent;
}
.admin-panel #ventas-vendedores-section .vendor-sale-move--venta {
    background: #f3f4f6;
    color: #374151;
    border-color: #e5e7eb;
}
.admin-panel #ventas-vendedores-section .vendor-sale-move--garantia,
.admin-panel #ventas-vendedores-section .vendor-sale-move--cambio {
    background: #fff7ed;
    color: #c2410c;
    border-color: #fdba74;
}
.admin-panel #ventas-vendedores-section .vendor-sale-move-email {
    margin-top: 0.28rem;
    font-size: 0.75rem;
    line-height: 1.3;
    color: #9a3412;
    max-width: 16rem;
    word-break: break-all;
}
.admin-panel #ventas-vendedores-section .vendor-sale-move-email span {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    color: #c2410c;
}

/* Tabla Ventas: tema claro legible (nada de texto oscuro sobre negro) */
.admin-panel #ventas-vendedores-section .table-wrapper {
    background: #fff;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    overflow: auto;
}
.admin-panel #ventas-vendedores-section .data-table {
    background: #fff !important;
    color: #1b1430 !important;
}
.admin-panel #ventas-vendedores-section .data-table thead {
    background: #f9fafb !important;
}
.admin-panel #ventas-vendedores-section .data-table th {
    background: #f9fafb !important;
    color: #4b5563 !important;
    text-shadow: none !important;
    border-bottom: 1px solid var(--admin-border) !important;
    box-shadow: none !important;
}
.admin-panel #ventas-vendedores-section .data-table td {
    background: #fff !important;
    color: #1b1430 !important;
    text-shadow: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle;
}
.admin-panel #ventas-vendedores-section .data-table tbody tr:nth-child(even) td {
    background: #f8fafc !important;
}
.admin-panel #ventas-vendedores-section .data-table tbody tr:hover td {
    background: #f5f3ff !important;
    color: #1b1430 !important;
}
.admin-panel #ventas-vendedores-section .data-table .text-muted {
    color: #6b7280 !important;
}
.admin-panel #ventas-vendedores-section .vendor-order-emails {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.35rem;
    max-width: 22rem;
}
.admin-panel #ventas-vendedores-section details summary {
    cursor: pointer;
    color: #5b21b6;
}

/* ===== API Tienda — tema claro legible ===== */
.admin-panel #tienda-inventory-section .text-muted {
    color: #6b7280 !important;
}


/* ===== API Tienda — tema claro legible ===== */
.admin-panel #tienda-web-section .text-muted {
    color: #6b7280 !important;
}


/* ===== API Tienda — tema claro legible ===== */
.admin-panel #tienda-clientes-section .text-muted {
    color: #6b7280 !important;
}
.admin-panel #tienda-inventory-section code {
    background: #f1f5f9;
    color: #160f28;
    padding: 0.12rem 0.45rem;
    border-radius: 4px;
    font-size: 0.82em;
    word-break: break-all;
}

.admin-panel #tienda-web-section code {
    background: #f1f5f9;
    color: #160f28;
    padding: 0.12rem 0.45rem;
    border-radius: 4px;
    font-size: 0.82em;
    word-break: break-all;
}


.admin-panel #tienda-clientes-section code {
    background: #f1f5f9;
    color: #160f28;
    padding: 0.12rem 0.45rem;
    border-radius: 4px;
    font-size: 0.82em;
    word-break: break-all;
}
.admin-panel #tienda-inventory-section .api-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0.9rem 1rem;
    background: #f8fafc;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    margin-bottom: 1rem;
}

.admin-panel #tienda-web-section .api-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0.9rem 1rem;
    background: #f8fafc;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    margin-bottom: 1rem;
}


.admin-panel #tienda-clientes-section .api-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0.9rem 1rem;
    background: #f8fafc;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    margin-bottom: 1rem;
}

.admin-panel #tienda-inventory-section .api-panel-card {
    background: #fff;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    box-shadow: var(--admin-shadow);
    padding: 0.95rem 1.1rem;
    margin-bottom: 0.85rem;
}

.admin-panel #tienda-web-section .api-panel-card {
    background: #fff;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    box-shadow: var(--admin-shadow);
    padding: 0.95rem 1.1rem;
    margin-bottom: 0.85rem;
}


.admin-panel #tienda-clientes-section .api-panel-card {
    background: #fff;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    box-shadow: var(--admin-shadow);
    padding: 0.95rem 1.1rem;
    margin-bottom: 0.85rem;
}
.admin-panel #tienda-inventory-section .api-panel-card--info {
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

.admin-panel #tienda-web-section .api-panel-card--info {
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}


.admin-panel #tienda-clientes-section .api-panel-card--info {
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}
.admin-panel #tienda-inventory-section .api-panel-lead {
    margin: 0 0 0.85rem;
    color: #475569;
    font-size: 0.9rem;
    line-height: 1.45;
}

.admin-panel #tienda-web-section .api-panel-lead {
    margin: 0 0 0.85rem;
    color: #475569;
    font-size: 0.9rem;
    line-height: 1.45;
}


.admin-panel #tienda-clientes-section .api-panel-lead {
    margin: 0 0 0.85rem;
    color: #475569;
    font-size: 0.9rem;
    line-height: 1.45;
}
.admin-panel #tienda-inventory-section .api-panel-lead a {
    color: #5b21b6;
    font-weight: 600;
}

.admin-panel #tienda-web-section .api-panel-lead a {
    color: #5b21b6;
    font-weight: 600;
}


.admin-panel #tienda-clientes-section .api-panel-lead a {
    color: #5b21b6;
    font-weight: 600;
}
.admin-panel #tienda-inventory-section .api-panel-endpoints {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.65rem;
}

.admin-panel #tienda-web-section .api-panel-endpoints {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.65rem;
}


.admin-panel #tienda-clientes-section .api-panel-endpoints {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.65rem;
}
.admin-panel #tienda-inventory-section .api-panel-ep {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    padding: 0.55rem 0.7rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    min-width: 0;
}

.admin-panel #tienda-web-section .api-panel-ep {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    padding: 0.55rem 0.7rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    min-width: 0;
}


.admin-panel #tienda-clientes-section .api-panel-ep {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    padding: 0.55rem 0.7rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    min-width: 0;
}
.admin-panel #tienda-inventory-section .api-panel-ep-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.admin-panel #tienda-web-section .api-panel-ep-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}


.admin-panel #tienda-clientes-section .api-panel-ep-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}
.admin-panel #tienda-inventory-section .api-panel-card--controls {
    margin-bottom: 1rem;
}

.admin-panel #tienda-web-section .api-panel-card--controls {
    margin-bottom: 1rem;
}


.admin-panel #tienda-clientes-section .api-panel-card--controls {
    margin-bottom: 1rem;
}
.admin-panel #tienda-inventory-section .api-panel-control-main {
    flex: 1 1 240px;
    min-width: 200px;
    max-width: 360px;
}

.admin-panel #tienda-web-section .api-panel-control-main {
    flex: 1 1 240px;
    min-width: 200px;
    max-width: 360px;
}


.admin-panel #tienda-clientes-section .api-panel-control-main {
    flex: 1 1 240px;
    min-width: 200px;
    max-width: 360px;
}
.admin-panel #tienda-inventory-section .api-panel-control-main label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.3rem;
}

.admin-panel #tienda-web-section .api-panel-control-main label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.3rem;
}


.admin-panel #tienda-clientes-section .api-panel-control-main label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.3rem;
}
.admin-panel #tienda-inventory-section .api-panel-control-main .setting-select {
    width: 100%;
    background: #fff;
    color: #1b1430;
    border: 1px solid #d1d5db;
}

.admin-panel #tienda-web-section .api-panel-control-main .setting-select {
    width: 100%;
    background: #fff;
    color: #1b1430;
    border: 1px solid #d1d5db;
}


.admin-panel #tienda-clientes-section .api-panel-control-main .setting-select {
    width: 100%;
    background: #fff;
    color: #1b1430;
    border: 1px solid #d1d5db;
}
.admin-panel #tienda-inventory-section .api-panel-control-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.admin-panel #tienda-web-section .api-panel-control-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}


.admin-panel #tienda-clientes-section .api-panel-control-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}
.admin-panel #tienda-inventory-section .api-table-wrap {
    background: #fff;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    box-shadow: var(--admin-shadow);
    max-height: min(68vh, 640px);
    overflow: auto;
}

.admin-panel #tienda-web-section .api-table-wrap {
    background: #fff;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    box-shadow: var(--admin-shadow);
    max-height: min(68vh, 640px);
    overflow: auto;
}


.admin-panel #tienda-clientes-section .api-table-wrap {
    background: #fff;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    box-shadow: var(--admin-shadow);
    max-height: min(68vh, 640px);
    overflow: auto;
}
.admin-panel #tienda-inventory-section .api-data-table.data-table {
    background: #fff !important;
    color: #1b1430 !important;
}

.admin-panel #tienda-web-section .api-data-table.data-table {
    background: #fff !important;
    color: #1b1430 !important;
}


.admin-panel #tienda-clientes-section .api-data-table.data-table {
    background: #fff !important;
    color: #1b1430 !important;
}
.admin-panel #tienda-inventory-section .api-data-table thead {
    background: #f9fafb !important;
}

.admin-panel #tienda-web-section .api-data-table thead {
    background: #f9fafb !important;
}


.admin-panel #tienda-clientes-section .api-data-table thead {
    background: #f9fafb !important;
}
.admin-panel #tienda-inventory-section .api-data-table th {
    background: #f9fafb !important;
    color: #4b5563 !important;
    text-shadow: none !important;
    border-bottom: 1px solid var(--admin-border) !important;
    box-shadow: none !important;
    font-weight: 600;
    position: sticky;
    top: 0;
    z-index: 1;
}

.admin-panel #tienda-web-section .api-data-table th {
    background: #f9fafb !important;
    color: #4b5563 !important;
    text-shadow: none !important;
    border-bottom: 1px solid var(--admin-border) !important;
    box-shadow: none !important;
    font-weight: 600;
    position: sticky;
    top: 0;
    z-index: 1;
}


.admin-panel #tienda-clientes-section .api-data-table th {
    background: #f9fafb !important;
    color: #4b5563 !important;
    text-shadow: none !important;
    border-bottom: 1px solid var(--admin-border) !important;
    box-shadow: none !important;
    font-weight: 600;
    position: sticky;
    top: 0;
    z-index: 1;
}
.admin-panel #tienda-inventory-section .api-data-table td {
    background: #fff !important;
    color: #1b1430 !important;
    text-shadow: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle;
}

.admin-panel #tienda-web-section .api-data-table td {
    background: #fff !important;
    color: #1b1430 !important;
    text-shadow: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle;
}


.admin-panel #tienda-clientes-section .api-data-table td {
    background: #fff !important;
    color: #1b1430 !important;
    text-shadow: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle;
}
.admin-panel #tienda-inventory-section .api-data-table tbody tr:nth-child(even) td {
    background: #f8fafc !important;
}

.admin-panel #tienda-web-section .api-data-table tbody tr:nth-child(even) td {
    background: #f8fafc !important;
}


.admin-panel #tienda-clientes-section .api-data-table tbody tr:nth-child(even) td {
    background: #f8fafc !important;
}
.admin-panel #tienda-inventory-section .api-data-table tbody tr:hover td {
    background: #f5f3ff !important;
    color: #1b1430 !important;
}

.admin-panel #tienda-web-section .api-data-table tbody tr:hover td {
    background: #f5f3ff !important;
    color: #1b1430 !important;
}


.admin-panel #tienda-clientes-section .api-data-table tbody tr:hover td {
    background: #f5f3ff !important;
    color: #1b1430 !important;
}
.admin-panel #tienda-inventory-section .api-data-table td strong {
    color: #160f28;
    font-weight: 600;
}

.admin-panel #tienda-web-section .api-data-table td strong {
    color: #160f28;
    font-weight: 600;
}


.admin-panel #tienda-clientes-section .api-data-table td strong {
    color: #160f28;
    font-weight: 600;
}
.admin-panel #tienda-inventory-section .api-stock-badge {
    display: inline-block;
    min-width: 2.25rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
    background: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.admin-panel #tienda-web-section .api-stock-badge {
    display: inline-block;
    min-width: 2.25rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
    background: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
}


.admin-panel #tienda-clientes-section .api-stock-badge {
    display: inline-block;
    min-width: 2.25rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
    background: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
}
.admin-panel #tienda-inventory-section .api-stock-badge.is-zero {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}

.admin-panel #tienda-web-section .api-stock-badge.is-zero {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}


.admin-panel #tienda-clientes-section .api-stock-badge.is-zero {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}
.admin-panel #tienda-inventory-section .api-price {
    width: 7.5rem !important;
    max-width: 100%;
    background: #fff !important;
    color: #1b1430 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px;
    padding: 0.35rem 0.5rem;
    font-weight: 600;
}

.admin-panel #tienda-web-section .api-price {
    width: 7.5rem !important;
    max-width: 100%;
    background: #fff !important;
    color: #1b1430 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px;
    padding: 0.35rem 0.5rem;
    font-weight: 600;
}


.admin-panel #tienda-clientes-section .api-price {
    width: 7.5rem !important;
    max-width: 100%;
    background: #fff !important;
    color: #1b1430 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px;
    padding: 0.35rem 0.5rem;
    font-weight: 600;
}
.admin-panel #tienda-inventory-section .api-data-table .status-badge.active {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
    text-shadow: none;
    font-weight: 600;
}

.admin-panel #tienda-web-section .api-data-table .status-badge.active {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
    text-shadow: none;
    font-weight: 600;
}


.admin-panel #tienda-clientes-section .api-data-table .status-badge.active {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
    text-shadow: none;
    font-weight: 600;
}
.admin-panel #tienda-inventory-section .api-data-table .status-badge.inactive {
    background: #f3f4f6;
    color: #6b7280;
    border: 1px solid #e5e7eb;
    text-shadow: none;
    font-weight: 600;
}

.admin-panel #tienda-web-section .api-data-table .status-badge.inactive {
    background: #f3f4f6;
    color: #6b7280;
    border: 1px solid #e5e7eb;
    text-shadow: none;
    font-weight: 600;
}


.admin-panel #tienda-clientes-section .api-data-table .status-badge.inactive {
    background: #f3f4f6;
    color: #6b7280;
    border: 1px solid #e5e7eb;
    text-shadow: none;
    font-weight: 600;
}
.admin-panel #tienda-inventory-section .api-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.admin-panel #tienda-web-section .api-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}


.admin-panel #tienda-clientes-section .api-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

/* Códigos Netflix — mismo claro que Reposo */
.admin-panel #netflix-access-section .table-container {
    background: #fff;
    border: 1px solid var(--admin-border);
    box-shadow: var(--admin-shadow);
    padding: 1rem 1.1rem;
    margin-bottom: 1rem;
}
.admin-panel #netflix-access-section .table-container::before {
    display: none;
}
.admin-panel #netflix-access-section .table-header {
    margin-bottom: 0.75rem;
}
.admin-panel #netflix-access-section .table-header h3 {
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--admin-text);
    text-shadow: none;
    letter-spacing: 0.02em;
}
.admin-panel #netflix-access-section .table-header p {
    color: var(--admin-muted);
}
.admin-panel #netflix-access-section .reposo-section-hint {
    color: #4b5563;
}
.admin-panel #netflix-access-section .reposo-section-hint a {
    color: #7c3aed;
}
.admin-panel #netflix-access-section .table-wrapper {
    background: #fff;
}
.admin-panel #netflix-access-section .data-table {
    background: #fff;
}
.admin-panel #netflix-access-section .data-table thead {
    background: #f3f4f6;
}
.admin-panel #netflix-access-section .data-table th {
    background: #f3f4f6 !important;
    color: #374151 !important;
    text-shadow: none !important;
    border-bottom: 1px solid var(--admin-border) !important;
    box-shadow: none !important;
}
.admin-panel #netflix-access-section .data-table td {
    color: #261d40 !important;
    background: #fff !important;
    border-bottom: 1px solid #e5e7eb !important;
    vertical-align: middle;
}
.admin-panel #netflix-access-section .data-table tbody tr {
    background: #fff !important;
}
.admin-panel #netflix-access-section .data-table tbody tr:hover,
.admin-panel #netflix-access-section .data-table tbody tr:hover td {
    background: #f5f3ff !important;
    color: #1b1430 !important;
    transform: none !important;
}
.admin-panel #netflix-access-section .nf-admin-code {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.95rem;
    letter-spacing: 0.06em;
    color: #160f28;
    font-weight: 700;
}
.admin-panel #netflix-access-section .text-muted {
    color: #6b7280 !important;
}
.admin-panel #netflix-access-section .status-badge {
    background: #f3f4f6;
    color: #4b5563;
    border: 1px solid #e5e7eb;
    text-shadow: none;
    font-weight: 600;
}
.admin-panel #netflix-access-section .status-badge.active {
    background: #dcfce7;
    color: #166534;
    border-color: #bbf7d0;
}
.admin-panel #netflix-access-section .nf-admin-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.admin-panel #netflix-access-section .nf-admin-vendors-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.85rem 1.25rem;
}
.admin-panel #netflix-access-section .nf-admin-vendors-head > div {
    min-width: min(100%, 18rem);
}
.admin-panel #netflix-access-section .nf-admin-vendors-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.65rem;
}
.admin-panel #netflix-access-section .nf-admin-vendor-search {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: min(100%, 16rem);
    margin: 0;
}
.admin-panel #netflix-access-section .nf-admin-vendor-search span {
    font-size: 0.78rem;
    color: #6b7280;
    font-weight: 600;
}
.admin-panel #netflix-access-section .nf-admin-vendor-search input {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 0.55rem 0.75rem;
    font: inherit;
    background: #fff;
    color: #160f28;
}
.admin-panel #netflix-access-section .nf-admin-vendor-search input:focus {
    outline: 2px solid rgba(37, 99, 235, 0.25);
    border-color: #c4b5fd;
}
.admin-panel #netflix-access-section .nf-admin-emails,
.admin-panel #netflix-access-section .nf-admin-who {
    margin-top: 0.35rem;
    font-size: 0.78rem;
    color: #4b5563;
    line-height: 1.35;
    word-break: break-all;
}

/* ===== Configuración: precios stock (legible) ===== */
.admin-panel #settings-section .settings-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}
.admin-panel #settings-section .settings-card {
    background: #fff;
    border: 1px solid var(--admin-border);
    box-shadow: var(--admin-shadow);
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.admin-panel #settings-section .settings-content {
    flex: 1;
}
@media (max-width: 1100px) {
    .admin-panel #settings-section .settings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    .admin-panel #settings-section .settings-grid {
        grid-template-columns: 1fr;
    }
}
.admin-panel #settings-section .settings-card::before,
.admin-panel #settings-section .settings-glow {
    display: none;
}
.admin-panel #settings-section .settings-header {
    background: #f8fafc;
    border-bottom: 1px solid var(--admin-border);
}
.admin-panel #settings-section .settings-header h3 {
    color: var(--admin-text);
    text-shadow: none;
    font-family: inherit;
}
.admin-panel #settings-section .setting-item label {
    color: var(--admin-text);
}
.admin-panel #settings-section .setting-item .text-muted,
.admin-panel #settings-section .settings-stock-hint {
    color: #4b5563 !important;
    margin: 0 0 0.55rem;
    font-size: 0.82rem;
    line-height: 1.4;
}
.admin-panel #settings-section .setting-input,
.admin-panel #settings-section .setting-select {
    background: #fff;
    border: 1px solid var(--admin-border);
    color: var(--admin-text);
}
.admin-panel #settings-section .settings-stock-prices-list,
.admin-panel #settings-section .settings-stock-prices-grid {
    background: #f8fafc;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    padding: 0.35rem 0.75rem;
    margin-bottom: 0.55rem;
}
.admin-panel #settings-section .settings-stock-prices-grid {
    max-height: 22rem;
    overflow: auto;
    padding: 0.5rem 0.65rem;
}
.admin-panel #settings-section .settings-stock-grid-head,
.admin-panel #settings-section .settings-stock-grid-row {
    display: grid;
    grid-template-columns: minmax(8rem, 1.6fr) 4.5rem 8.5rem;
    gap: 0.5rem 0.65rem;
    align-items: center;
}
.admin-panel #settings-section .settings-stock-grid-head--4,
.admin-panel #settings-section .settings-stock-grid-row--4 {
    grid-template-columns: minmax(7rem, 1.4fr) 4rem 7.5rem 7.5rem;
}
.admin-panel #settings-section .settings-stock-grid-head {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6b7280;
    padding: 0.25rem 0 0.45rem;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 0.25rem;
    position: sticky;
    top: 0;
    background: #f8fafc;
    z-index: 1;
}
.admin-panel #settings-section .settings-stock-grid-row {
    padding: 0.35rem 0;
    border-bottom: 1px solid #eef2f7;
}
.admin-panel #settings-section .settings-stock-grid-row:last-child {
    border-bottom: none;
}
.admin-panel #settings-section .settings-stock-grid-svc {
    color: var(--admin-text);
    font-size: 0.9rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.admin-panel #settings-section .settings-stock-grid-stock {
    text-align: center;
    font-weight: 700;
    font-size: 0.85rem;
    border-radius: 999px;
    padding: 0.15rem 0.45rem;
}
.admin-panel #settings-section .settings-stock-grid-stock.has-stock {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}
.admin-panel #settings-section .settings-stock-grid-stock.no-stock {
    background: #f3f4f6;
    color: #6b7280;
    border: 1px solid #e5e7eb;
}
.admin-panel #settings-section .settings-stock-grid-price {
    width: 100%;
    max-width: 8.5rem;
    padding: 0.35rem 0.5rem;
}
.admin-panel #settings-section .settings-stock-prices-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    margin: 0.35rem 0 0.65rem;
}
.admin-panel #settings-section .settings-stock-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid #e5e7eb;
    color: var(--admin-text);
}
.admin-panel #settings-section .settings-stock-price-row:last-child {
    border-bottom: none;
}
.admin-panel #settings-section .settings-stock-price-label {
    color: var(--admin-text);
    font-size: 0.92rem;
}
.admin-panel #settings-section .settings-stock-prices-add {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.35rem;
    align-items: center;
}
.admin-panel #settings-section .settings-vendor-prices-panel {
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--admin-border);
}
.admin-panel #settings-section .settings-vendor-prices-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.35rem;
}
.admin-panel #settings-section .settings-vendor-prices-head strong {
    color: var(--admin-text);
    font-size: 0.9rem;
}
.admin-panel #settings-section .settings-vendor-prices-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    color: #374151;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
}
.admin-panel #settings-section .settings-vendor-prices-table-wrap {
    max-height: 280px;
    overflow: auto;
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    background: #fff;
}
.admin-panel #settings-section .settings-vendor-prices-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}
.admin-panel #settings-section .settings-vendor-prices-table th,
.admin-panel #settings-section .settings-vendor-prices-table td {
    padding: 0.45rem 0.6rem;
    border-bottom: 1px solid #eef2f7;
    text-align: left;
    color: var(--admin-text);
}
.admin-panel #settings-section .settings-vendor-prices-table th {
    background: #f8fafc;
    position: sticky;
    top: 0;
    z-index: 1;
    font-size: 0.72rem;
    color: #4b5563;
}
.admin-panel #settings-section .settings-vendor-prices-table tr.is-above {
    background: #fff7ed;
}
.admin-panel #settings-section .settings-price-badge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 999px;
    padding: 0.12rem 0.45rem;
    background: #f3f4f6;
    color: #4b5563;
}
.admin-panel #settings-section .settings-price-badge--up {
    background: #ffedd5;
    color: #c2410c;
}
.admin-panel #settings-section .settings-price-badge--down {
    background: #ecfdf5;
    color: #047857;
}

.admin-panel #clients-section .clients-kind-tabs {
    margin: 0 0 0.85rem;
}
.admin-panel #clients-section .clients-kind-tabs--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-panel #accounts-section .admin-cuentas-scroll-wrap.accounts-table-loading {
    opacity: 0.88;
    transition: opacity 0.15s ease;
}

.admin-panel #accounts-section .admin-cuentas-scroll-wrap.accounts-table-loading tbody {
    pointer-events: auto;
}
.admin-panel #accounts-search-input.is-searching {
    background-image: linear-gradient(90deg, transparent 0%, rgba(37, 99, 235, 0.08) 50%, transparent 100%);
    background-size: 200% 100%;
    animation: accounts-search-pulse 1s linear infinite;
}
@keyframes accounts-search-pulse {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}
.admin-panel #clients-section #providers-list-view.hidden,
.admin-panel #clients-section #clients-list-view.hidden {
    display: none !important;
}
.admin-panel #failed-section #failed-provider-badge {
    margin-left: 0.25rem;
    vertical-align: middle;
}
.admin-panel #failed-provider-panel .failed-prov-th-btn {
    appearance: none;
    background: transparent;
    border: none;
    color: inherit;
    font: inherit;
    font-weight: 700;
    letter-spacing: inherit;
    text-transform: inherit;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-align: left;
    border-bottom: 1px dashed transparent;
    transition: color .15s ease, border-color .15s ease;
}
.admin-panel #failed-provider-panel .failed-prov-th-btn:hover {
    color: var(--neon-blue, #a78bfa);
    border-bottom-color: currentColor;
}
.admin-panel #failed-provider-panel .failed-prov-th-btn.active {
    color: var(--neon-orange, #f59e0b);
    border-bottom-color: currentColor;
}

/* ===== Detalle cuenta en celular (modal sheet) ===== */
.admin-panel .cuenta-mobile-open-btn {
    display: none;
}

.admin-panel .acct-sheet-overlay .modal.acct-sheet-modal {
    width: min(100%, 28rem);
    max-width: 100%;
}

.admin-panel .acct-sheet {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.admin-panel .acct-sheet-hero {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.12);
    border: 1px solid rgba(59, 130, 246, 0.28);
}

.admin-panel .acct-sheet-hero-text {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.admin-panel .acct-sheet-hero-text strong {
    font-size: 1.05rem;
    line-height: 1.25;
    word-break: break-word;
}

.admin-panel .acct-sheet-status {
    display: inline-flex;
    width: fit-content;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
}

.admin-panel .acct-sheet-status--ok {
    background: rgba(16, 185, 129, 0.18);
    color: #6ee7b7;
}

.admin-panel .acct-sheet-status--soon {
    background: rgba(245, 158, 11, 0.18);
    color: #fcd34d;
}

.admin-panel .acct-sheet-status--vencida {
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
}

.admin-panel .acct-sheet-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
}

.admin-panel .acct-sheet-field {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.65rem 0.7rem;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.55);
    border: 1px solid rgba(148, 163, 184, 0.22);
    min-width: 0;
}

.admin-panel .acct-sheet-field--wide {
    grid-column: 1 / -1;
}

.admin-panel .acct-sheet-label {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
    font-weight: 700;
}

.admin-panel .acct-sheet-value {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.92rem;
    color: #f8fafc;
    word-break: break-word;
}

.admin-panel .acct-sheet-code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.88rem;
    color: #e2e8f0;
}

.admin-panel .acct-sheet-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding-top: 0.25rem;
}

.admin-panel .acct-sheet-actions .btn {
    flex: 1 1 auto;
    min-height: 2.5rem;
}

@media (max-width: 768px) {
    .admin-panel .cuenta-mobile-open-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.3rem;
        min-height: 2.4rem;
        min-width: 3.4rem;
        padding: 0.4rem 0.7rem;
        font-size: 0.82rem;
        font-weight: 700;
    }

    .admin-panel .acct-sheet-overlay {
        align-items: flex-end;
        padding: 0;
    }

    .admin-panel .acct-sheet-overlay .modal.acct-sheet-modal {
        width: 100%;
        max-width: 100%;
        max-height: 92vh;
        margin: 0;
        border-radius: 18px 18px 0 0;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .admin-panel .acct-sheet-overlay .modal-header {
        position: sticky;
        top: 0;
        z-index: 2;
        background: inherit;
    }

    /* Lista tipo tarjeta: solo servicio + correo + Ver */
    .admin-panel #accounts-section .admin-cuentas-scroll-wrap {
        max-height: none;
        overflow: visible;
        padding: 0.15rem 0 0.5rem;
        background: transparent;
        border: none;
        box-shadow: none;
    }

    .admin-panel #accounts-section .admin-cuentas-table thead,
    .admin-panel #accounts-section .admin-cuentas-table colgroup {
        display: none;
    }

    .admin-panel #accounts-section .admin-cuentas-table,
    .admin-panel #accounts-section .admin-cuentas-table tbody {
        display: block;
        width: 100%;
        min-width: 0 !important;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody tr.cuenta-row {
        display: grid;
        grid-template-columns: 1.6rem minmax(0, 1fr) auto;
        grid-template-areas:
            "check servicio acciones"
            "check correo acciones";
        column-gap: 0.55rem;
        row-gap: 0.2rem;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
        margin: 0 0 0.55rem;
        padding: 0.75rem 0.8rem;
        border-radius: 12px;
        border: 1px solid rgba(148, 163, 184, 0.22);
        background: rgba(8, 16, 28, 0.92);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody tr.cuenta-row:active {
        border-color: rgba(56, 189, 248, 0.45);
        background: rgba(14, 28, 48, 0.98);
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td {
        display: none !important;
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
        width: auto !important;
        max-width: none !important;
        white-space: normal;
        word-break: break-word;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td.account-select-td {
        display: flex !important;
        grid-area: check;
        align-items: center;
        justify-content: center;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td.cuenta-servicio-cell {
        display: block !important;
        grid-area: servicio;
        font-size: 0.9rem;
        font-weight: 700;
        color: #e2e8f0;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td.cuenta-correo-cell {
        display: block !important;
        grid-area: correo;
        font-size: 0.84rem;
        color: #c4b5fd;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td.admin-acciones-cell {
        display: flex !important;
        grid-area: acciones;
        align-items: center;
        justify-content: flex-end;
    }

    .admin-panel #accounts-section .admin-cuentas-table .servicio-with-icon {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        max-width: 100%;
    }

    .admin-panel #accounts-section .admin-cuentas-table .col-correo-email,
    .admin-panel #accounts-section .admin-cuentas-table .copyable-email {
        display: inline;
        color: inherit;
        text-decoration: none;
        word-break: break-all;
    }

    .admin-panel #accounts-section .admin-acciones-cell .btn-icon {
        display: none !important;
    }

    .admin-panel #accounts-section .admin-acciones-cell .action-buttons-compact {
        gap: 0;
    }

    .admin-panel .client-detail-accounts-table thead th:nth-child(n+4):not(:last-child),
    .admin-panel .client-detail-accounts-table tbody td:nth-child(n+4):not(:last-child):not(.account-select-td) {
        display: none;
    }

    .admin-panel .client-detail-accounts-table {
        min-width: 0 !important;
        width: 100%;
    }

    .admin-panel .client-detail-accounts-table .cuenta-servicio-cell,
    .admin-panel .client-detail-accounts-table .cuenta-correo-cell {
        white-space: normal;
        word-break: break-word;
        font-size: 0.82rem;
    }

    .admin-panel tr.cuenta-row {
        cursor: pointer;
    }

    /* Disponibles móvil: tarjetas tocables + scroll vertical (no tabla ancha bloqueada) */
    .admin-panel #available-section.content-section.active {
        overflow: visible;
        min-height: auto;
        display: block;
    }

    .admin-panel #available-section .table-container.available-table-compact,
    .admin-panel #available-section #available-list-view {
        overflow: visible;
        min-height: 0;
    }

    .admin-panel #available-section .available-table-wrap {
        max-height: none;
        overflow: visible;
        padding: 0.15rem 0 0.5rem;
        background: transparent !important;
        border: none;
        box-shadow: none;
    }

    .admin-panel #available-section .available-admin-table thead,
    .admin-panel #available-section .available-admin-table colgroup {
        display: none;
    }

    .admin-panel #available-section .available-admin-table,
    .admin-panel #available-section .available-admin-table tbody {
        display: block;
        width: 100%;
        min-width: 0 !important;
    }

    .admin-panel #available-section .available-admin-table tbody tr.available-row {
        display: grid;
        grid-template-columns: 1.6rem minmax(0, 1fr) auto;
        grid-template-areas:
            "check servicio acciones"
            "check correo acciones";
        column-gap: 0.55rem;
        row-gap: 0.2rem;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
        margin: 0 0 0.55rem;
        padding: 0.75rem 0.8rem;
        border-radius: 12px;
        border: 1px solid rgba(148, 163, 184, 0.22);
        background: #fff;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    .admin-panel #available-section .available-admin-table tbody tr.available-row:active {
        border-color: rgba(37, 99, 235, 0.45);
        background: #f5f3ff;
    }

    .admin-panel #available-section .available-admin-table tbody td {
        display: none !important;
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
        width: auto !important;
        max-width: none !important;
        white-space: normal;
        word-break: break-word;
    }

    .admin-panel #available-section .available-admin-table tbody td.available-check-col,
    .admin-panel #available-section .available-admin-table tbody td.account-select-td {
        display: flex !important;
        grid-area: check;
        align-items: center;
        justify-content: center;
    }

    .admin-panel #available-section .available-admin-table tbody td.cuenta-servicio-cell {
        display: block !important;
        grid-area: servicio;
        font-size: 0.88rem;
        font-weight: 700;
        color: #160f28;
    }

    .admin-panel #available-section .available-admin-table tbody td.cuenta-correo-cell {
        display: block !important;
        grid-area: correo;
        font-size: 0.82rem;
        color: #7c3aed;
    }

    .admin-panel #available-section .available-admin-table tbody td.admin-acciones-cell {
        display: flex !important;
        grid-area: acciones;
        align-items: center;
        justify-content: flex-end;
    }

    .admin-panel #available-section .available-admin-table .available-email,
    .admin-panel #available-section .available-admin-table .copyable-email {
        display: inline;
        color: inherit;
        word-break: break-all;
    }

    .admin-panel #available-section .available-actions .btn-icon {
        display: none !important;
    }

    .admin-panel #available-section .available-tool-btn {
        touch-action: manipulation;
    }

    .admin-panel .admin-acciones-cell .btn-icon {
        display: none;
    }

    .admin-panel .acct-sheet-grid {
        grid-template-columns: 1fr;
    }

    .admin-panel .acct-sheet-actions .btn {
        flex: 1 1 calc(50% - 0.45rem);
        min-height: 2.7rem;
    }
}

/* ===== MÓVIL GLOBAL: todo el menú admin (buscar, tablas, modales) ===== */
@media (max-width: 768px) {
    .admin-panel .content-section {
        padding: 0.65rem 0.7rem 1.4rem;
    }

    .admin-panel .section-header {
        margin-bottom: 0.65rem;
    }

    .admin-panel .section-header h2,
    .admin-panel .neon-title {
        font-size: 1.12rem !important;
        line-height: 1.25;
    }

    .admin-panel .section-header p,
    .admin-panel .table-container > .section-header + p,
    .admin-panel .content-section > .section-header + p.text-muted {
        display: none;
    }

    /* Buscadores compactos (no se estiran en columna) */
    .admin-panel .search-bar,
    .admin-panel .clients-toolbar,
    .admin-panel .failed-toolbar,
    .admin-panel .process-toolbar-bar,
    .admin-panel .accounting-shared-filters,
    .admin-panel .accounting-filter-main,
    .admin-panel .vendor-sales-filters {
        flex-direction: column;
        align-items: stretch;
        gap: 0.45rem;
    }

    .admin-panel .available-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
        flex-wrap: nowrap;
    }

    .admin-panel .clients-search-wrap,
    .admin-panel .available-search-wrap,
    .admin-panel .process-search-field,
    .admin-panel .search-bar .search-input,
    .admin-panel input.search-input,
    .admin-panel input[type="search"].search-input,
    .admin-panel #failed-search,
    .admin-panel #vendor-sales-search,
    .admin-panel #available-search,
    .admin-panel #client-search,
    .admin-panel #admin-client-search,
    .admin-panel #provider-search,
    .admin-panel #process-search {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 44px;
        height: 44px;
        box-sizing: border-box;
        font-size: 16px !important;
    }

    .admin-panel .clients-search-wrap,
    .admin-panel .available-search-wrap,
    .admin-panel .process-search-field {
        display: flex;
        align-items: center;
        max-height: 44px;
    }

    .admin-panel .accounts-filter-select,
    .admin-panel select.search-input,
    .admin-panel select.accounts-filter-select,
    .admin-panel input[type="month"].accounts-filter-select {
        width: 100%;
        min-height: 40px;
        height: 40px;
        font-size: 16px;
    }

    /* Chips / filtros en scroll horizontal */
    .admin-panel .available-filter-chips,
    .admin-panel .accounts-service-chips,
    .admin-panel .process-filter-pills,
    .admin-panel .accounting-view-switch,
    .admin-panel .accounting-payment-filter-btns,
    .admin-panel .client-detail-service-chips,
    .admin-panel .filter-buttons {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 0.4rem;
        padding-bottom: 0.25rem;
        max-width: 100%;
    }

    .admin-panel .accounting-view-tab,
    .admin-panel .acct-payment-filter-btn,
    .admin-panel .available-chip,
    .admin-panel .accounts-chip {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    /* Toolbars de botones: wrap limpio */
    .admin-panel .quick-actions .action-buttons,
    .admin-panel .failed-toolbar,
    .admin-panel .duplicates-quick .action-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
    }

    .admin-panel .quick-actions .btn {
        flex: 1 1 calc(50% - 0.4rem);
        min-height: 40px;
        justify-content: center;
        font-size: 0.78rem;
        padding: 0.4rem 0.55rem;
    }

    /* Disponibles móvil: grilla profesional de acciones */
    .admin-panel #available-section .available-toolbar {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
        margin-bottom: 0.55rem;
        padding: 0;
        background: transparent;
        border: none;
        box-shadow: none;
        border-radius: 0;
    }

    .admin-panel #available-section .available-actions-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.45rem;
    }

    .admin-panel #available-section .available-tool-btn,
    .admin-panel #available-section .available-tool-btn.btn,
    .admin-panel #available-section .available-tool-btn.btn-neon-green,
    .admin-panel #available-section .available-tool-btn.btn-neon-blue,
    .admin-panel #available-section .available-tool-btn.btn-neon-purple,
    .admin-panel #available-section .available-tool-btn.btn-neon-orange,
    .admin-panel #available-section .available-tool-btn.btn-neon-teal {
        flex: none;
        width: 100%;
        min-height: 0;
        height: auto;
        margin: 0;
        padding: 0.7rem 0.35rem 0.6rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        border-radius: 12px;
        border: 1px solid transparent;
        box-shadow: none;
        text-shadow: none;
        font-family: inherit;
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.01em;
        line-height: 1.15;
        white-space: normal;
        transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
        -webkit-tap-highlight-color: transparent;
    }

    .admin-panel #available-section .available-tool-btn:active {
        transform: scale(0.97);
    }

    .admin-panel #available-section .available-tool-icon {
        width: 2.15rem;
        height: 2.15rem;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.72);
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
        font-size: 0.92rem;
        color: inherit;
    }

    .admin-panel #available-section .available-tool-label {
        white-space: nowrap;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        padding: 0 0.15rem;
    }

    .admin-panel #available-section .available-tool-btn--add {
        background: #ecfdf5;
        color: #047857;
        border-color: #a7f3d0;
    }
    .admin-panel #available-section .available-tool-btn--assign {
        background: #f5f3ff;
        color: #6d28d9;
        border-color: #ddd6fe;
    }
    .admin-panel #available-section .available-tool-btn--prices {
        background: #f5f3ff;
        color: #6d28d9;
        border-color: #ddd6fe;
    }
    .admin-panel #available-section .available-tool-btn--provider {
        background: #fff7ed;
        color: #c2410c;
        border-color: #fed7aa;
    }
    .admin-panel #available-section .available-tool-btn--copy {
        background: #f8fafc;
        color: #334155;
        border-color: #e2e8f0;
    }
    .admin-panel #available-section .available-tool-btn--restore {
        background: #f0fdfa;
        color: #0f766e;
        border-color: #99f6e4;
    }
    .admin-panel #available-section .available-tool-btn--delete {
        background: #fef2f2;
        color: #b91c1c;
        border-color: #fecaca;
    }
    .admin-panel #available-section .available-tool-btn--delete:disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }

    .admin-panel #available-section .available-search-wrap {
        flex: none;
        max-width: none;
        width: 100%;
        order: 2;
    }

    .admin-panel #available-section .available-filter-chips {
        margin-left: 0;
        order: 3;
        padding-bottom: 0.1rem;
    }

    .admin-panel #available-section .available-actions-grid {
        order: 1;
    }

    .admin-panel #available-section .available-chip {
        border-radius: 999px;
        padding: 0.42rem 0.75rem;
        font-size: 0.76rem;
        background: #f8fafc;
    }

    .admin-panel #available-section .available-stock-bar {
        max-height: none;
        margin-bottom: 0.65rem;
    }

    .admin-panel #available-section .available-stock-empty {
        padding: 1rem 0.95rem;
        font-size: 0.84rem;
    }

    .admin-panel #available-section .available-table-wrap {
        border-radius: 12px;
    }

    /* Stats más compactas */
    .admin-panel .stats-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 0.5rem !important;
    }

    .admin-panel .stat-card {
        padding: 0.7rem 0.75rem !important;
        min-height: 0;
    }

    .admin-panel .stat-card h3 {
        font-size: 0.72rem !important;
    }

    .admin-panel .stat-card .stat-number,
    .admin-panel .stat-card .stat-value {
        font-size: 1.05rem !important;
    }

    /* Modales tipo sheet inferior */
    .admin-panel .modal-overlay {
        align-items: flex-end !important;
        padding: 0 !important;
    }

    .admin-panel .modal-overlay .modal,
    .admin-panel .modal-overlay .modal-content {
        width: 100% !important;
        max-width: 100% !important;
        max-height: 92vh;
        margin: 0 !important;
        border-radius: 18px 18px 0 0 !important;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .admin-panel .modal-overlay .modal-header {
        position: sticky;
        top: 0;
        z-index: 2;
    }

    .admin-panel .form-actions,
    .admin-panel .acct-modal-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    .admin-panel .form-actions .btn,
    .admin-panel .acct-modal-actions .btn {
        flex: 1 1 calc(50% - 0.45rem);
        min-height: 2.55rem;
    }

    .admin-panel .remove-account-dest-options {
        grid-template-columns: 1fr;
    }

    /* ===== Disponibles: tarjetas ===== */
    .admin-panel #available-section .available-table-wrap {
        overflow: visible;
        max-height: none;
        border: none;
        background: transparent;
        box-shadow: none;
    }

    .admin-panel #available-section .available-admin-table thead {
        display: none;
    }

    .admin-panel #available-section .available-admin-table,
    .admin-panel #available-section .available-admin-table tbody {
        display: block;
        width: 100%;
    }

    .admin-panel #available-section .available-admin-table tbody tr.available-row {
        display: grid;
        grid-template-columns: 1.5rem minmax(0, 1fr) auto;
        grid-template-areas:
            "check servicio acciones"
            "check correo acciones";
        gap: 0.2rem 0.5rem;
        align-items: center;
        margin: 0 0 0.55rem;
        padding: 0.75rem 0.8rem;
        border-radius: 12px;
        border: 1px solid rgba(148, 163, 184, 0.22);
        background: rgba(8, 16, 28, 0.92);
        width: 100%;
        box-sizing: border-box;
    }

    .admin-panel #available-section .available-admin-table tbody td {
        display: none !important;
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .admin-panel #available-section .available-admin-table tbody td.available-check-col {
        display: flex !important;
        grid-area: check;
        align-items: center;
    }

    .admin-panel #available-section .available-admin-table tbody td:nth-child(2) {
        display: block !important;
        grid-area: servicio;
        font-weight: 700;
        font-size: 0.88rem;
    }

    .admin-panel #available-section .available-admin-table tbody td.available-email-cell {
        display: block !important;
        grid-area: correo;
        font-size: 0.84rem;
        color: #c4b5fd;
        word-break: break-all;
    }

    .admin-panel #available-section .available-admin-table tbody td.available-actions {
        display: flex !important;
        grid-area: acciones;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 0.25rem;
    }

    /* ===== Procesar / admin-cuentas (mismo patrón cuentas) ===== */
    .admin-panel #process-section .process-cuentas-table thead,
    .admin-panel #process-section .process-cuentas-table colgroup {
        display: none;
    }

    .admin-panel #process-section .process-cuentas-scroll {
        max-height: none;
        overflow: visible;
    }

    .admin-panel #process-section .process-cuentas-table,
    .admin-panel #process-section .process-cuentas-table tbody {
        display: block;
        width: 100%;
    }

    .admin-panel #process-section .process-cuentas-table tbody tr.cuenta-row {
        display: grid;
        grid-template-columns: 1.5rem minmax(0, 1fr) auto;
        grid-template-areas:
            "check servicio acciones"
            "check correo acciones";
        gap: 0.2rem 0.5rem;
        margin: 0 0 0.55rem;
        padding: 0.75rem 0.8rem;
        border-radius: 12px;
        border: 1px solid rgba(148, 163, 184, 0.22);
        background: rgba(8, 16, 28, 0.92);
        width: 100%;
        box-sizing: border-box;
    }

    .admin-panel #process-section .process-cuentas-table tbody td {
        display: none !important;
        border: none !important;
        padding: 0 !important;
    }

    .admin-panel #process-section .process-cuentas-table tbody td.account-select-td {
        display: flex !important;
        grid-area: check;
    }

    .admin-panel #process-section .process-cuentas-table tbody td.cuenta-servicio-cell {
        display: block !important;
        grid-area: servicio;
        font-weight: 700;
    }

    .admin-panel #process-section .process-cuentas-table tbody td.cuenta-correo-cell {
        display: block !important;
        grid-area: correo;
        color: #c4b5fd;
        word-break: break-all;
        font-size: 0.84rem;
    }

    .admin-panel #process-section .process-cuentas-table tbody td.admin-acciones-cell {
        display: flex !important;
        grid-area: acciones;
        justify-content: flex-end;
    }

    /* ===== Caídas: mismas tarjetas que Todas las cuentas ===== */
    .admin-panel #failed-section .failed-section-hint {
        display: none;
    }

    .admin-panel #failed-section .table-container {
        padding: 0;
        background: transparent;
        border: none;
        box-shadow: none;
    }

    .admin-panel #failed-section .failed-table-wrap {
        overflow: visible;
    }

    .admin-panel #failed-section .search-bar-failed {
        margin-bottom: 0.65rem;
        gap: 0.45rem;
    }

    .admin-panel #failed-section .failed-vendor-filter {
        width: 100%;
    }

    .admin-panel #failed-section .failed-vendor-filter .accounts-filter-select {
        width: 100%;
    }

    .admin-panel #failed-section .failed-accounts-table thead {
        display: none;
    }

    .admin-panel #failed-section .failed-accounts-table,
    .admin-panel #failed-section .failed-accounts-table tbody {
        display: block;
        width: 100%;
        min-width: 0 !important;
    }

    .admin-panel #failed-section .failed-accounts-table tbody tr.failed-cuenta-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "servicio acciones"
            "correo acciones";
        column-gap: 0.55rem;
        row-gap: 0.2rem;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
        margin: 0 0 0.55rem;
        padding: 0.75rem 0.8rem;
        border-radius: 12px;
        border: 1px solid rgba(148, 163, 184, 0.22);
        background: rgba(8, 16, 28, 0.92);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .admin-panel #failed-section .failed-accounts-table tbody tr.failed-cuenta-row:active {
        border-color: rgba(56, 189, 248, 0.45);
        background: rgba(14, 28, 48, 0.98);
    }

    .admin-panel #failed-section .failed-accounts-table tbody td {
        display: none !important;
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
        width: auto !important;
        max-width: none !important;
        white-space: normal;
        word-break: break-word;
        color: #e2e8f0 !important;
    }

    .admin-panel #failed-section .failed-accounts-table tbody td.failed-sticky-actions {
        display: flex !important;
        grid-area: acciones;
        align-items: center;
        justify-content: flex-end;
        position: static;
        left: auto;
        min-width: 0;
        max-width: none;
        width: auto;
        box-shadow: none;
    }

    .admin-panel #failed-section .failed-actions-grid {
        grid-template-columns: repeat(4, 1.75rem);
        gap: 0.28rem;
        max-width: 100%;
    }

    .admin-panel #failed-section .failed-act {
        width: 1.75rem !important;
        height: 1.75rem !important;
        min-width: 1.75rem !important;
        font-size: 0.75rem;
    }

    .admin-panel #failed-section .failed-accounts-table tbody td.cuenta-servicio-cell {
        display: block !important;
        grid-area: servicio;
        font-size: 0.9rem;
        font-weight: 700;
        color: #e2e8f0 !important;
    }

    .admin-panel #failed-section .failed-accounts-table tbody td.cuenta-correo-cell {
        display: block !important;
        grid-area: correo;
        font-size: 0.84rem;
        color: #c4b5fd !important;
    }

    .admin-panel #failed-section .failed-accounts-table .failed-mobile-meta {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.35rem 0.5rem;
        margin-top: 0.15rem;
    }

    .admin-panel #failed-section .failed-mobile-vendor {
        font-size: 0.72rem;
        color: #94a3b8;
        font-weight: 600;
    }

    .admin-panel #failed-section .failed-mobile-warranty {
        font-size: 0.72rem;
    }

    .admin-panel #failed-section .failed-mobile-warranty .badge,
    .admin-panel #failed-section .failed-mobile-warranty .status-badge {
        font-size: 0.68rem;
        padding: 0.12rem 0.4rem;
    }

    .admin-panel #failed-section .failed-mobile-dates {
        display: block;
        width: 100%;
        font-size: 0.68rem;
        color: #64748b;
        line-height: 1.35;
    }

    .admin-panel #failed-section .failed-actions .btn:not(.cuenta-mobile-open-btn),
    .admin-panel #failed-section .failed-actions .btn-icon {
        display: none !important;
    }

    .admin-panel #failed-section .failed-actions .cuenta-mobile-open-btn {
        display: inline-flex !important;
    }

    .admin-panel #failed-section .failed-email-copy,
    .admin-panel #failed-section .cuenta-correo-cell .email-copy {
        color: inherit;
        word-break: break-all;
    }

    .admin-panel #failed-section .failed-stats-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 0.5rem !important;
        margin-bottom: 0.65rem;
    }

    .admin-panel #failed-section .failed-filter-card {
        padding: 0.65rem 0.7rem !important;
    }

    .admin-panel #failed-section .failed-filter-card h3 {
        font-size: 0.68rem !important;
    }

    .admin-panel #failed-section .failed-filter-card .stat-number {
        font-size: 1rem !important;
    }

    /* ===== Vendedores / clientes ===== */
    .admin-panel #clients-section .table-wrapper {
        overflow: visible;
    }

    .admin-panel #clients-section .data-table thead {
        display: none;
    }

    .admin-panel #clients-section .data-table,
    .admin-panel #clients-section .data-table tbody {
        display: block;
        width: 100%;
    }

    .admin-panel #clients-section .data-table tbody tr.client-row {
        display: block;
        margin: 0 0 0.55rem;
        padding: 0.8rem 0.85rem;
        border-radius: 12px;
        border: 1px solid var(--admin-border, #e5e7eb);
        background: #fff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    }

    .admin-panel #clients-section .data-table tbody td {
        display: none;
        border: none !important;
        padding: 0.15rem 0 !important;
    }

    .admin-panel #clients-section .data-table tbody td:first-child,
    .admin-panel #clients-section .data-table tbody td:nth-child(2),
    .admin-panel #clients-section .data-table tbody td:last-child {
        display: block;
    }

    .admin-panel #clients-section .data-table tbody td:last-child .action-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
        margin-top: 0.45rem;
    }

    /* ===== Contabilidad ===== */
    .admin-panel #accounting-section .accounting-filter-main {
        width: 100%;
    }

    .admin-panel #accounting-section .accounting-shared-filters {
        gap: 0.55rem;
    }

    .admin-panel #accounting-section .table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .admin-panel #accounting-section .data-table {
        min-width: 0;
        width: 100%;
    }

    .admin-panel .acct-vendor-detail-summary,
    .admin-panel #accounting-vendor-detail-summary {
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem 0.75rem;
        font-size: 0.82rem;
    }

    .admin-panel .acct-pay-choice-wrap {
        display: flex;
        flex-direction: column;
        gap: 0.65rem;
    }

    .admin-panel .acct-pay-choice-month {
        border-radius: 12px;
    }

    /* ===== Caídas ===== */
    .admin-panel #failed-section .failed-table-wrap,
    .admin-panel #failed-section .table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .admin-panel #failed-section .data-table {
        min-width: 0;
        width: 100%;
    }

    .admin-panel #failed-section .failed-filter-card {
        min-height: 0;
    }

    
    .admin-panel #ventas-vendedores-section .table-wrapper,
.admin-panel #duplicates-section .table-wrapper,
.admin-panel #email-compare-section .table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .admin-panel #settings-section .settings-grid,
    .admin-panel #settings-section .form-grid {
        grid-template-columns: 1fr !important;
    }

    .admin-panel #dashboard-section .dashboard-charts,
    .admin-panel #dashboard-section .charts-grid {
        grid-template-columns: 1fr !important;
    }

    /* Paginación */
    .admin-panel .accounts-pagination-bar,
    .admin-panel .pagination-bar {
        flex-wrap: wrap;
        gap: 0.4rem;
        font-size: 0.8rem;
    }

    .admin-panel .accounts-page-btn,
    .admin-panel .accounts-page-input {
        min-height: 38px;
    }

    /* Detalle vendedor */
    .admin-panel .client-detail-sticky-top {
        padding: 0.55rem 0.65rem;
    }

    .admin-panel .client-detail-pago-value {
        font-size: 0.9rem !important;
    }
}

/* ===== Renovadas (menú Finanzas) ===== */
.admin-panel .renovadas-intro {
    margin: 0 0 1rem;
    font-size: 0.92rem;
    max-width: 52rem;
}

.admin-panel .renovadas-panel {
    background: rgba(15, 23, 42, 0.55);
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
    padding: 1rem 1.1rem 1.15rem;
}

.admin-panel .renovadas-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: flex-end;
    margin-bottom: 0.85rem;
}

.admin-panel .renovadas-field {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 10rem;
}

.admin-panel .renovadas-field label {
    font-size: 0.78rem;
    color: rgba(148, 163, 184, 0.95);
}

.admin-panel .renovadas-search-field {
    flex: 1 1 14rem;
    min-width: 12rem;
}

.admin-panel .renovadas-mode-toggle {
    display: inline-flex;
    gap: 0.35rem;
}

.admin-panel .renovadas-mode-btn {
    opacity: 0.75;
}

.admin-panel .renovadas-mode-btn.active {
    opacity: 1;
    box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.45);
}

.admin-panel .renovadas-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1.1rem;
    margin-bottom: 0.75rem;
    font-size: 0.88rem;
}

.admin-panel .renovadas-stat--ok { color: #4ade80; }
.admin-panel .renovadas-stat--exp { color: #f87171; }
.admin-panel .renovadas-stat--soon { color: #fbbf24; }

.admin-panel .renovadas-status-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.65rem;
}

.admin-panel .renovadas-status-tab {
    border: 1px solid rgba(148, 163, 184, 0.25);
    background: rgba(30, 41, 59, 0.65);
    color: inherit;
    border-radius: 999px;
    padding: 0.28rem 0.75rem;
    font-size: 0.8rem;
    cursor: pointer;
}

.admin-panel .renovadas-status-tab.active {
    border-color: rgba(56, 189, 248, 0.55);
    background: rgba(14, 116, 144, 0.35);
}

.admin-panel .renovadas-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    margin-bottom: 0.55rem;
}

.admin-panel .renovadas-select-all {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    margin-right: 0.25rem;
}

.admin-panel .renovadas-table-wrap {
    max-height: min(68vh, 720px);
    overflow: auto;
}

.admin-panel .renovadas-table .renovadas-check-col {
    width: 2.2rem;
    text-align: center;
}

.admin-panel .renovadas-row--ok {
    background: rgba(22, 163, 74, 0.08);
}

.admin-panel .renovadas-row--exp {
    background: rgba(239, 68, 68, 0.07);
}

.admin-panel .renovadas-row--soon {
    background: rgba(245, 158, 11, 0.07);
}

.admin-panel .renovadas-badge {
    display: inline-block;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 600;
    white-space: nowrap;
}

.admin-panel .renovadas-badge--ok {
    background: rgba(22, 163, 74, 0.2);
    color: #86efac;
}

.admin-panel .renovadas-badge--exp {
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
}

.admin-panel .renovadas-badge--soon {
    background: rgba(245, 158, 11, 0.2);
    color: #fcd34d;
}

.admin-panel .renovadas-badge--pending {
    background: rgba(148, 163, 184, 0.18);
    color: #cbd5e1;
}

.admin-panel .renovadas-badge--muted {
    background: rgba(100, 116, 139, 0.15);
    color: #94a3b8;
}

.admin-panel .admin-problema-warranty-block {
    padding: 0.35rem 0.45rem;
    border-radius: 8px;
    background: rgba(22, 163, 74, 0.08);
    border: 1px solid rgba(22, 163, 74, 0.22);
}

.admin-panel .admin-problema-old-email {
    line-height: 1.35;
}

/* ===== Móvil panel de ventas: tarjetas completas, scroll y toques ===== */
@media (max-width: 900px) {
    .admin-panel .sidebar {
        pointer-events: none;
    }

    body.admin-panel.admin-nav-open .sidebar {
        pointer-events: auto;
    }

    .admin-panel .main-content {
        overflow-x: clip;
        overflow-y: auto;
        height: auto;
        min-height: 100dvh;
        max-width: 100%;
    }

    .admin-panel .content-section,
    .admin-panel .content-section.active {
        overflow: visible;
        height: auto;
        min-height: 0;
    }

    .admin-panel .table-wrapper,
    .admin-panel .table-container .table-wrapper {
        max-width: 100%;
    }

    .admin-panel #available-section.content-section.active,
    .admin-panel #available-section .table-container.available-table-compact,
    .admin-panel #available-section #available-list-view,
    .admin-panel #clients-section.content-section.active:not(.client-detail-mode),
    .admin-panel #clients-section #clients-list-view,
    .admin-panel #clients-section #clients-list-view .table-container.clients-table-compact {
        overflow: visible !important;
        display: block !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        flex: none !important;
    }

    .admin-panel #available-section .available-table-wrap,
    .admin-panel .admin-cuentas-scroll-wrap,
    .admin-panel #process-section .process-cuentas-scroll,
    .admin-panel #failed-section .failed-table-wrap {
        max-height: none !important;
        overflow: visible !important;
    }

    .admin-panel .acct-sheet-overlay {
        z-index: 1400;
    }
}

@media (max-width: 768px) {
    .admin-panel .data-table {
        min-width: 0 !important;
        width: 100% !important;
    }

    .admin-panel #accounts-section .admin-cuentas-table thead,
    .admin-panel #accounts-section .admin-cuentas-table colgroup,
    .admin-panel #available-section .available-admin-table thead,
    .admin-panel #available-section .available-admin-table colgroup,
    .admin-panel #process-section .process-cuentas-table thead,
    .admin-panel #process-section .process-cuentas-table colgroup,
    .admin-panel #failed-section .failed-accounts-table thead {
        display: none !important;
    }

    .admin-panel #accounts-section .admin-cuentas-table,
    .admin-panel #accounts-section .admin-cuentas-table tbody,
    .admin-panel #available-section .available-admin-table,
    .admin-panel #available-section .available-admin-table tbody,
    .admin-panel #process-section .process-cuentas-table,
    .admin-panel #process-section .process-cuentas-table tbody,
    .admin-panel #failed-section .failed-accounts-table,
    .admin-panel #failed-section .failed-accounts-table tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .admin-panel #available-section .available-admin-table tbody tr.available-row.is-filtered-out {
        display: none !important;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody tr.cuenta-row,
    .admin-panel #available-section .available-admin-table tbody tr.available-row,
    .admin-panel #process-section .process-cuentas-table tbody tr.cuenta-row,
    .admin-panel #failed-section .failed-accounts-table tbody tr.failed-cuenta-row {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: 0.28rem;
        width: 100% !important;
        box-sizing: border-box;
        margin: 0 0 0.7rem !important;
        padding: 0.8rem 0.85rem 0.75rem !important;
        border-radius: 14px !important;
        border: 1px solid #e5e7eb !important;
        background: #fff !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
        color: #160f28 !important;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody tr.cuenta-row:active,
    .admin-panel #available-section .available-admin-table tbody tr.available-row:active,
    .admin-panel #process-section .process-cuentas-table tbody tr.cuenta-row:active,
    .admin-panel #failed-section .failed-accounts-table tbody tr.failed-cuenta-row:active {
        background: #f8fafc !important;
        border-color: #c4b5fd !important;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td,
    .admin-panel #available-section .available-admin-table tbody td,
    .admin-panel #process-section .process-cuentas-table tbody td,
    .admin-panel #failed-section .failed-accounts-table tbody td {
        display: flex !important;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.65rem;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        padding: 0.28rem 0 !important;
        border: none !important;
        background: transparent !important;
        color: #160f28 !important;
        white-space: normal !important;
        word-break: break-word;
        font-size: 0.86rem;
        line-height: 1.35;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td::before,
    .admin-panel #available-section .available-admin-table tbody td::before,
    .admin-panel #process-section .process-cuentas-table tbody td::before,
    .admin-panel #failed-section .failed-accounts-table tbody td::before {
        content: attr(data-label);
        flex: 0 0 6.2rem;
        max-width: 42%;
        color: #64748b;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        padding-top: 0.12rem;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td[data-label=""]::before,
    .admin-panel #accounts-section .admin-cuentas-table tbody td:not([data-label])::before,
    .admin-panel #available-section .available-admin-table tbody td[data-label=""]::before,
    .admin-panel #available-section .available-admin-table tbody td:not([data-label])::before,
    .admin-panel #process-section .process-cuentas-table tbody td[data-label=""]::before,
    .admin-panel #process-section .process-cuentas-table tbody td:not([data-label])::before,
    .admin-panel #failed-section .failed-accounts-table tbody td[data-label=""]::before,
    .admin-panel #failed-section .failed-accounts-table tbody td:not([data-label])::before {
        content: none;
        flex: 0;
        max-width: none;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td.account-select-td,
    .admin-panel #available-section .available-admin-table tbody td.available-check-col,
    .admin-panel #available-section .available-admin-table tbody td.account-select-td,
    .admin-panel #process-section .process-cuentas-table tbody td.account-select-td {
        justify-content: flex-start;
        padding-bottom: 0.1rem !important;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td.cuenta-servicio-cell,
    .admin-panel #available-section .available-admin-table tbody td.cuenta-servicio-cell,
    .admin-panel #process-section .process-cuentas-table tbody td.cuenta-servicio-cell,
    .admin-panel #failed-section .failed-accounts-table tbody td.cuenta-servicio-cell {
        font-size: 0.95rem !important;
        font-weight: 700;
        color: #160f28 !important;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td.cuenta-correo-cell,
    .admin-panel #available-section .available-admin-table tbody td.cuenta-correo-cell,
    .admin-panel #available-section .available-admin-table tbody td.available-email-cell,
    .admin-panel #process-section .process-cuentas-table tbody td.cuenta-correo-cell,
    .admin-panel #failed-section .failed-accounts-table tbody td.cuenta-correo-cell {
        color: #6d28d9 !important;
        font-weight: 600;
    }

    .admin-panel #accounts-section .admin-cuentas-table .col-correo-email,
    .admin-panel #accounts-section .admin-cuentas-table .copyable-email,
    .admin-panel #available-section .available-admin-table .available-email,
    .admin-panel #available-section .available-admin-table .copyable-email,
    .admin-panel #failed-section .failed-email-copy {
        color: inherit !important;
        word-break: break-all;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td,
    .admin-panel #available-section .available-admin-table tbody td,
    .admin-panel #accounts-section .admin-cuentas-table td.cuenta-correo-cell,
    .admin-panel #accounts-section .admin-cuentas-table td.cuenta-servicio-cell,
    .admin-panel #accounts-section .password-field,
    .admin-panel #accounts-section .password-field-compact,
    .admin-panel #accounts-section .password-text,
    .admin-panel #accounts-section .assigned-user-compact,
    .admin-panel #accounts-section .assigned-user-compact span,
    .admin-panel #accounts-section .accounts-vendor-link {
        overflow: visible !important;
        white-space: normal !important;
        text-overflow: unset !important;
        word-break: break-word;
        max-width: 100%;
        color: #6d28d9 !important;
    }

    .admin-panel #accounts-section .password-text {
        color: #160f28 !important;
    }

    .admin-panel #clients-section .clients-search-input {
        font-size: 16px;
    }

    .admin-panel #accounts-section .admin-cuentas-table tbody td.admin-acciones-cell,
    .admin-panel #available-section .available-admin-table tbody td.admin-acciones-cell,
    .admin-panel #available-section .available-admin-table tbody td.available-actions,
    .admin-panel #process-section .process-cuentas-table tbody td.admin-acciones-cell,
    .admin-panel #failed-section .failed-accounts-table tbody td.admin-acciones-cell,
    .admin-panel #failed-section .failed-accounts-table tbody td.failed-sticky-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
        position: static !important;
        left: auto !important;
        box-shadow: none !important;
        padding-top: 0.45rem !important;
        border-top: 1px dashed #e5e7eb !important;
        margin-top: 0.2rem;
        order: 20;
    }

    .admin-panel #accounts-section .admin-acciones-cell .action-buttons-compact,
    .admin-panel #available-section .available-actions .action-buttons-compact,
    .admin-panel #process-section .admin-acciones-cell .action-buttons-compact,
    .admin-panel #failed-section .failed-actions {
        display: flex !important;
        flex-wrap: wrap;
        gap: 0.35rem;
        width: 100%;
    }

    .admin-panel .admin-acciones-cell .btn-icon,
    .admin-panel #accounts-section .admin-acciones-cell .btn-icon,
    .admin-panel #available-section .available-actions .btn-icon,
    .admin-panel #failed-section .failed-actions .btn-icon,
    .admin-panel #failed-section .failed-actions .btn:not(.cuenta-mobile-open-btn),
    .admin-panel #failed-section .failed-actions .cuenta-mobile-open-btn {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-width: 40px;
        min-height: 40px;
        width: 40px;
        height: 40px;
        padding: 0;
        border-radius: 10px;
        font-size: 0.9rem;
        pointer-events: auto;
    }

    .admin-panel #failed-section .failed-actions .btn.btn-sm-failed-view,
    .admin-panel #failed-section .failed-actions .btn.btn-sm-failed-warranty,
    .admin-panel #failed-section .failed-actions .btn.btn-sm-failed-to-disp {
        width: auto !important;
        min-width: 0;
        height: auto;
        min-height: 40px;
        padding: 0.4rem 0.7rem;
        font-size: 0.78rem;
    }

    .admin-panel #failed-section .failed-actions-grid {
        grid-template-columns: repeat(auto-fill, 40px) !important;
        gap: 0.35rem !important;
        width: 100%;
    }

    .admin-panel #failed-section .failed-act {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        font-size: 0.9rem !important;
    }

    .admin-panel .cuenta-mobile-open-btn {
        display: inline-flex !important;
        min-width: 4.1rem;
        width: auto;
        height: 40px;
        padding: 0 0.75rem;
    }

    .admin-panel #failed-section .failed-mobile-meta {
        display: none !important;
    }

    .admin-panel #accounts-section .accounts-controls {
        background: #fff;
        border: 1px solid #e5e7eb;
        color: #160f28;
    }

    .admin-panel #clients-section .data-table tbody tr.client-row {
        background: #fff;
        border: 1px solid #e5e7eb;
        color: #160f28;
    }

    .admin-panel #clients-section .data-table tbody td {
        display: flex !important;
        color: #160f28;
    }

    .admin-panel #ventas-vendedores-section .table-wrapper,
.admin-panel #duplicates-section .table-wrapper,
.admin-panel #email-compare-section .table-wrapper {
        overflow: visible;
        max-width: 100%;
    }

    .admin-panel #ventas-vendedores-section .data-table,
.admin-panel #duplicates-section .data-table {
        min-width: 0 !important;
        width: 100% !important;
    }

    .admin-panel .client-detail-accounts-table thead,
    .admin-panel .provider-detail-accounts-table thead {
        display: none !important;
    }

    .admin-panel .client-detail-accounts-table,
    .admin-panel .client-detail-accounts-table tbody,
    .admin-panel .provider-detail-accounts-table,
    .admin-panel .provider-detail-accounts-table tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .admin-panel .client-detail-accounts-table thead th:nth-child(n+4):not(:last-child),
    .admin-panel .client-detail-accounts-table tbody td:nth-child(n+4):not(:last-child):not(.account-select-td) {
        display: flex !important;
    }

    .admin-panel .client-detail-accounts-table tbody tr.cuenta-row,
    .admin-panel .provider-detail-accounts-table tbody tr {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: 0.28rem;
        width: 100%;
        margin: 0 0 0.7rem;
        padding: 0.8rem 0.85rem;
        border-radius: 14px;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #160f28 !important;
        box-sizing: border-box;
    }

    .admin-panel .client-detail-accounts-table tbody td,
    .admin-panel .provider-detail-accounts-table tbody td {
        display: flex !important;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.65rem;
        width: 100% !important;
        max-width: none !important;
        padding: 0.28rem 0 !important;
        border: none !important;
        background: transparent !important;
        color: #160f28 !important;
        white-space: normal !important;
        word-break: break-word;
        font-size: 0.86rem;
    }

    .admin-panel .client-detail-accounts-table tbody td::before,
    .admin-panel .provider-detail-accounts-table tbody td::before {
        content: attr(data-label);
        flex: 0 0 6.2rem;
        color: #64748b;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }

    .admin-panel .client-detail-accounts-table tbody td[data-label=""]::before,
    .admin-panel .client-detail-accounts-table tbody td:not([data-label])::before {
        content: none;
        flex: 0;
    }

    .admin-panel .client-detail-accounts-table tbody td.admin-acciones-cell .btn-icon {
        display: inline-flex !important;
        min-width: 40px;
        min-height: 40px;
        width: 40px;
        height: 40px;
        align-items: center;
        justify-content: center;
    }

    .admin-panel .client-detail-fullpage .client-detail-scroll-table {
        overflow: visible !important;
        max-height: none !important;
    }
}

/* ===== Móvil: el resto del menú como tarjetas (igual que Cuentas / Disponibles) ===== */
@media (max-width: 900px) {
    .admin-panel .content-section,
    .admin-panel .content-section.active {
        overflow-x: hidden;
        max-width: 100%;
    }

    .admin-panel .content-section .table-wrapper,
.admin-panel .content-section .table-container,
.admin-panel .content-section .table-container .table-wrapper,
.admin-panel .renovadas-table-wrap,
.admin-panel .api-table-wrap,
.admin-panel .accounting-vendor-billing-table-wrap {
        overflow-x: hidden !important;
        overflow-y: visible;
        max-width: 100%;
        min-width: 0;
        -webkit-overflow-scrolling: touch;
    }

    .admin-panel .renovadas-table-wrap {
        max-height: none !important;
        height: auto !important;
    }

    .admin-panel .content-section table.data-table,
    .admin-panel .content-section table.admin-table {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100%;
        table-layout: auto;
    }

    .admin-panel .content-section table.data-table thead,
    .admin-panel .content-section table.admin-table thead,
    .admin-panel .content-section table.data-table colgroup,
    .admin-panel .content-section table.admin-table colgroup {
        display: none !important;
    }

    .admin-panel .content-section table.data-table,
    .admin-panel .content-section table.data-table tbody,
    .admin-panel .content-section table.admin-table,
    .admin-panel .content-section table.admin-table tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .admin-panel .content-section table.data-table tbody tr.is-search-hidden,
    .admin-panel .content-section table.admin-table tbody tr.is-search-hidden,
    .admin-panel #clients-section .data-table tbody tr.client-row.is-search-hidden {
        display: none !important;
    }

    .admin-panel .content-section table.data-table tbody tr,
    .admin-panel .content-section table.admin-table tbody tr {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: 0.28rem;
        width: 100% !important;
        box-sizing: border-box;
        margin: 0 0 0.7rem !important;
        padding: 0.85rem 0.9rem 0.8rem !important;
        border-radius: 14px !important;
        border: 1px solid #e5e7eb !important;
        background: #fff !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
        color: #160f28 !important;
    }

    .admin-panel .content-section table.data-table tbody tr:last-child,
    .admin-panel .content-section table.admin-table tbody tr:last-child {
        margin-bottom: 0.2rem !important;
    }

    .admin-panel .content-section table.data-table tbody td,
    .admin-panel .content-section table.admin-table tbody td {
        display: flex !important;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.65rem;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        padding: 0.28rem 0 !important;
        border: none !important;
        border-bottom: none !important;
        background: transparent !important;
        color: #160f28 !important;
        white-space: normal !important;
        word-break: break-word;
        font-size: 0.86rem;
        line-height: 1.35;
        text-align: right;
        vertical-align: top;
    }

    .admin-panel .content-section table.data-table tbody td::before,
    .admin-panel .content-section table.admin-table tbody td::before {
        content: attr(data-label);
        flex: 0 0 6.4rem;
        max-width: 42%;
        color: #64748b;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        text-align: left;
        padding-top: 0.12rem;
        line-height: 1.3;
    }

    .admin-panel .content-section table.data-table tbody td[data-label=""]::before,
    .admin-panel .content-section table.data-table tbody td:not([data-label])::before,
    .admin-panel .content-section table.admin-table tbody td[data-label=""]::before,
    .admin-panel .content-section table.admin-table tbody td:not([data-label])::before {
        content: none;
        flex: 0;
        max-width: none;
    }

    .admin-panel .content-section table.data-table tbody td[colspan],
    .admin-panel .content-section table.admin-table tbody td[colspan] {
        display: block !important;
        text-align: center;
        justify-content: center;
        color: #64748b !important;
        padding: 0.85rem 0.4rem !important;
    }

    .admin-panel .content-section table.data-table tbody td[colspan]::before,
    .admin-panel .content-section table.admin-table tbody td[colspan]::before {
        content: none !important;
    }

    .admin-panel .content-section table.data-table tbody td.admin-acciones-cell,
    .admin-panel .content-section table.data-table tbody td.available-actions,
    .admin-panel .content-section table.data-table tbody td.failed-sticky-actions,
    .admin-panel .content-section table.data-table tbody td[data-label="Acciones"],
    .admin-panel .content-section table.data-table tbody td[data-label="ACCIONES"],
    .admin-panel .content-section table.admin-table tbody td[data-label="Acciones"] {
        justify-content: flex-start;
        flex-wrap: wrap;
        text-align: left;
        padding-top: 0.5rem !important;
        border-top: 1px dashed #e5e7eb !important;
        margin-top: 0.15rem;
        order: 20;
    }

    .admin-panel .content-section .action-buttons,
    .admin-panel .content-section .api-row-actions,
    .admin-panel .content-section .failed-actions {
        display: flex !important;
        flex-wrap: wrap;
        gap: 0.4rem;
        width: 100%;
        justify-content: flex-start;
    }

    .admin-panel .content-section .action-buttons .btn-icon,
.admin-panel .content-section .btn-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-width: 40px;
        min-height: 40px;
        border-radius: 10px;
    }

    /* Vendedores: mostrar todos los campos con etiqueta */
    .admin-panel #clients-section .data-table tbody td,
    .admin-panel #clients-section .data-table tbody td:first-child,
    .admin-panel #clients-section .data-table tbody td:nth-child(2),
    .admin-panel #clients-section .data-table tbody td:nth-child(n),
    .admin-panel #clients-section .data-table tbody td:last-child {
        display: flex !important;
    }

    .admin-panel #clients-section .client-info {
        justify-content: flex-end;
        text-align: right;
        min-width: 0;
        flex: 1;
    }

    .admin-panel #clients-section .client-details {
        min-width: 0;
    }

    .admin-panel #clients-section .clients-toolbar,
    .admin-panel #clients-section .clients-search-wrap {
        width: 100%;
        max-width: none;
        flex: 1 1 100%;
    }

    .admin-panel #clients-section .clients-kind-tabs--three {
        grid-template-columns: 1fr;
        gap: 0.4rem;
    }

    .admin-panel #clients-section .clients-kind-tabs .accounting-view-tab {
        min-height: 44px;
        font-size: 0.88rem;
    }

    
    .admin-panel #tienda-inventory-section .api-toolbar {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.65rem;
    }

    .admin-panel #tienda-inventory-section .form-group,
.admin-panel #tienda-inventory-section .setting-select {
        max-width: none !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    

    

    

    

    

    

    

    /* Ventas */
    .admin-panel #ventas-vendedores-section .vendor-sales-stats {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
    }

    .admin-panel #ventas-vendedores-section .vendor-sales-stat-card,
    .admin-panel #ventas-vendedores-section .vendor-sales-stat-card--breakdown {
        min-width: 0;
        width: 100%;
        flex: none;
    }

    .admin-panel #ventas-vendedores-section .vendor-sales-stat-card--breakdown {
        grid-column: 1 / -1;
    }

    .admin-panel #ventas-vendedores-section .vendor-sales-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .admin-panel #ventas-vendedores-section .vendor-sales-view-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .admin-panel #ventas-vendedores-section .vendor-sales-tab {
        text-align: center;
        min-height: 42px;
    }

    .admin-panel #ventas-vendedores-section .vendor-sales-filters,
    .admin-panel #ventas-vendedores-section .vendor-sales-filters .search-input,
    .admin-panel #ventas-vendedores-section .vendor-sales-month-input,
    .admin-panel #ventas-vendedores-section .accounts-filter-select {
        width: 100%;
        max-width: none !important;
        min-width: 0;
    }

    /* Caídas: filtros en chips táctiles */
    .admin-panel #failed-section .search-bar-failed {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.55rem;
    }

    .admin-panel #failed-section .failed-view-mode-filters,
    .admin-panel #failed-section .filter-buttons {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.4rem;
        width: 100%;
    }

    .admin-panel #failed-section .failed-view-mode-filters .btn,
    .admin-panel #failed-section .filter-buttons .btn {
        width: 100%;
        min-height: 44px;
        font-size: 0.68rem;
        line-height: 1.2;
        white-space: normal;
        padding: 0.45rem 0.4rem;
    }

    .admin-panel #failed-section .failed-warranty-day-filters {
        grid-template-columns: 1fr;
    }

    .admin-panel #failed-section .failed-stats-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .admin-panel #failed-section .failed-sticky-actions {
        position: static !important;
        left: auto !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .admin-panel #failed-section .failed-problemas-toolbar {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.55rem;
    }

    /* Proceso */
    .admin-panel #process-section .process-controls {
        flex-direction: column;
        align-items: stretch;
        padding: 0.85rem;
        gap: 0.75rem;
    }

    .admin-panel #process-section .control-group {
        min-width: 0;
        width: 100%;
    }

    .admin-panel #process-section .process-scope-toggles {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.4rem;
    }

    .admin-panel #process-section .process-toolbar-bar {
        flex-wrap: wrap;
    }

    /* Reposo / códigos Netflix */
    .admin-panel .reposo-add-row {
        flex-direction: column;
        align-items: stretch;
    }

    .admin-panel .reposo-field,
    .admin-panel .reposo-field-grow,
    .admin-panel .reposo-submit-btn {
        width: 100%;
        min-width: 0;
        align-self: stretch;
    }

    .admin-panel .reposo-filter-chips,
    .admin-panel .renovadas-status-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
    }

    .admin-panel .reposo-chip,
    .admin-panel .renovadas-status-tab {
        min-height: 38px;
        flex: 1 1 auto;
    }

    /* Contabilidad / vencidas: menú izquierdo pasa a fila en móvil */

    .admin-panel .accounting-view-tab {
        min-height: 44px;
        font-size: 0.82rem;
        padding: 0.55rem 0.45rem;
    }

    .admin-panel .accounting-shared-filters,
    .admin-panel .accounting-filter-main,
    .admin-panel .accounting-vendor-totals-row,
    .admin-panel .renovadas-filters,
    .admin-panel .renovadas-toolbar {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.55rem;
        min-width: 0;
    }

    .admin-panel .accounting-filter-main .accounts-filter-select,
    .admin-panel .accounting-payment-filter-btns,
    .admin-panel .renovadas-field,
    .admin-panel .renovadas-search-field,
    .admin-panel .renovadas-mode-toggle {
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .admin-panel .accounting-payment-filter-btns {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .admin-panel .acct-payment-filter-btn {
        min-height: 40px;
        width: 100%;
    }

    .admin-panel .accounting-vendor-total-card {
        width: 100%;
    }

    /* Comparar correos / soporte / config */
    .admin-panel .email-compare-layout,
    .admin-panel .email-compare-filters,
    .admin-panel .email-compare-results-grid {
        grid-template-columns: 1fr !important;
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    .admin-panel .email-compare-aside {
        position: static !important;
        height: auto !important;
        max-height: none !important;
    }

    .admin-panel #soporte-section .email-compare-filters {
        grid-template-columns: 1fr !important;
        display: grid !important;
    }

    .admin-panel #settings-section .settings-stock-grid-head,
    .admin-panel #settings-section .settings-stock-grid-row,
    .admin-panel #settings-section .settings-stock-grid-head--4,
    .admin-panel #settings-section .settings-stock-grid-row--4 {
        grid-template-columns: 1fr !important;
        gap: 0.35rem;
    }

    .admin-panel #settings-section .settings-stock-prices-add,
    .admin-panel #dashboard-section .stats-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .admin-panel .quick-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .admin-panel .copyable-email,
    .admin-panel code {
        word-break: break-all;
    }

    .admin-panel .accounting-workspace {
        flex-direction: column;
    }

    .admin-panel .accounting-workspace .accounting-view-switch {
        position: static;
        width: 100%;
        flex: none;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        grid-template-columns: none !important;
        gap: 0.4rem;
        padding-bottom: 0.2rem;
    }

    .admin-panel .accounting-workspace .accounting-view-tab {
        flex: 0 0 auto;
        width: auto;
        min-height: 40px;
        justify-content: center;
        white-space: nowrap;
        font-size: 0.82rem;
        padding: 0.5rem 0.8rem;
    }
}

/* Tienda web: inputs de la tabla de fichas */
.admin-panel #tienda-web-section .api-data-table td input.setting-input { width: 100%; min-width: 110px; box-sizing: border-box; }


/* Tienda web: inputs de la tabla de fichas */
.admin-panel #tienda-clientes-section .api-data-table td input.setting-input { width: 100%; min-width: 110px; box-sizing: border-box; }
.admin-panel #tienda-web-section .api-data-table td input.tw-name { min-width: 150px; }

.admin-panel #tienda-clientes-section .api-data-table td input.tw-name { min-width: 150px; }
.admin-panel #tienda-web-section .api-data-table td input[type="checkbox"] { width: 18px; height: 18px; accent-color: #16a34a; cursor: pointer; }

.admin-panel #tienda-clientes-section .api-data-table td input[type="checkbox"] { width: 18px; height: 18px; accent-color: #16a34a; cursor: pointer; }

/* API Tienda: crear producto / categorias */
.admin-panel #tienda-inventory-section .api-panel-card input.setting-input,
.admin-panel #tienda-inventory-section .api-panel-card select.setting-select,
.admin-panel #tienda-inventory-section .api-data-table select.setting-select { width: 100%; box-sizing: border-box; background: #fff; border: 1px solid #d1d5db; border-radius: 8px; padding: 6px 8px; min-width: 120px; }


/* Disponibles sin encabezado (titulo / En linea / Salir ocultos en esta vista) */
body.admin-on-available .header { display: none; }

/* Disponibles: filtros completos, sin cortes */
.admin-panel #available-section .available-chip { white-space: nowrap; }
.admin-panel #available-section .available-stock-bar { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; max-height: none; overflow: visible; }

/* Disponibles: total → familia → tipos (sin repetir) + look renovado */
.admin-panel #available-section .available-stock-bar {
    gap: 0.45rem;
    background: linear-gradient(180deg, #f8fbff 0%, #edf3fe 100%);
    border: 1px solid #d8e5fa;
    border-radius: 14px;
    padding: 0.55rem 0.65rem;
    margin: 0 0 0.65rem;
    box-shadow: 0 1px 3px rgba(30, 64, 175, 0.06);
}
.admin-panel #available-section .available-stock-bar:has(.available-stock-empty) {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}
.admin-panel #available-section .available-stock-hero {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.15rem 0.25rem;
}
.admin-panel #available-section .available-stock-hero-n {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    color: #6d28d9;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
}
.admin-panel #available-section .available-stock-hero-text {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}
.admin-panel #available-section .available-stock-hero-text strong {
    font-size: 0.95rem;
    color: var(--admin-text);
}
.admin-panel #available-section .available-stock-hero-text small {
    font-size: 0.79rem;
    color: var(--admin-muted);
}
.admin-panel #available-section .available-stock-total {
    background: #fff;
    border: 1px solid #ddd6fe;
    color: var(--admin-text);
    border-radius: 999px;
    padding: 0.42rem 0.8rem;
    font-size: 0.8rem;
    gap: 0.45rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    transition: all 0.15s ease;
}
.admin-panel #available-section .available-stock-total strong {
    color: #6d28d9;
    font-size: 1.02rem;
}
.admin-panel #available-section .available-stock-total.is-active {
    background: linear-gradient(135deg, #7c3aed, #5b21b6);
    border-color: #6d28d9;
    color: #fff;
    box-shadow: 0 3px 10px rgba(37, 99, 235, 0.38);
}
.admin-panel #available-section .available-stock-total.is-active strong { color: #fff; }
.admin-panel #available-section .available-stock-total:hover {
    background: #f5f3ff;
    color: var(--admin-text);
    transform: translateY(-1px);
}
.admin-panel #available-section .available-stock-total.is-active:hover {
    background: linear-gradient(135deg, #6d28d9, #4c1d95);
    color: #fff;
}
.admin-panel #available-section .available-stock-pill {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 999px;
    padding: 0.36rem 0.45rem 0.36rem 0.75rem;
    font-size: 0.8rem;
    gap: 0.5rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    transition: all 0.15s ease;
}
.admin-panel #available-section .available-stock-pill:hover {
    border-color: #c4b5fd;
    background: #f5f3ff;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(37, 99, 235, 0.16);
}
.admin-panel #available-section .available-stock-pill .available-stock-n {
    background: #e2ecfd;
    color: #6d28d9;
    border-radius: 999px;
    padding: 0.1rem 0.52rem;
    font-weight: 700;
    font-size: 0.78rem;
    min-width: 1.7rem;
    text-align: center;
}
.admin-panel #available-section .available-stock-pill.is-active {
    background: linear-gradient(135deg, #7c3aed, #6d28d9);
    border-color: #6d28d9;
    color: #fff;
    box-shadow: 0 3px 10px rgba(37, 99, 235, 0.4);
}
.admin-panel #available-section .available-stock-pill.is-active .available-stock-n {
    background: rgba(255, 255, 255, 0.28);
    color: #fff;
}
.admin-panel #available-section .available-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    padding: 0.42rem 0.8rem;
    font-size: 0.8rem;
    font-weight: 500;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: all 0.15s ease;
}
.admin-panel #available-section .available-chip:hover {
    border-color: #c4b5fd;
    background: #f5f3ff;
    transform: translateY(-1px);
}
.admin-panel #available-section .available-chip.active {
    background: linear-gradient(135deg, #7c3aed, #6d28d9);
    border-color: #6d28d9;
    color: #fff;
    font-weight: 700;
    box-shadow: 0 3px 10px rgba(37, 99, 235, 0.35);
}
.admin-panel #available-section .available-chip.active .accounts-chip-logo {
    background: #fff;
    border-radius: 5px;
    padding: 1px;
}
/* La tabla baja hasta casi el borde inferior: aprovecha la pantalla */
@media (min-width: 769px) {
    .admin-panel #available-section .available-table-wrap {
        max-height: calc(100vh - 176px);
        max-height: calc(100dvh - 176px);
        min-height: 340px;
    }
    .admin-panel #available-section .available-admin-table tbody tr {
        transition: background 0.12s ease;
    }
    .admin-panel #available-section .available-admin-table tbody tr:hover td {
        background: #f5f9ff !important;
    }
}


/* ===== Botón «Enviar stock» del menú ===== */
button.nav-stock-btn {
    width: 100%;
    background: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
}
.stock-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(2, 8, 14, 0.78);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.stock-modal[hidden] { display: none; }
.stock-box {
    width: 100%;
    max-width: 470px;
    max-height: 90vh;
    overflow: auto;
    background: #0c1622;
    border: 1px solid rgba(62, 224, 239, 0.35);
    border-radius: 14px;
    padding: 1.1rem 1.2rem;
    color: #e6f4f8;
}
.stock-box h3 { margin: 0 0 0.5rem; font-size: 1.05rem; }
.stock-meta, .stock-hint, .stock-progress { color: #9fb8c4; font-size: 0.86rem; line-height: 1.45; margin: 0.3rem 0; }
.stock-label { display: block; margin: 0.8rem 0 0.35rem; font-size: 0.82rem; font-weight: 700; color: #cfe7ef; }
.stock-input {
    width: 100%;
    border: 1px solid rgba(62, 224, 239, 0.3);
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    border-radius: 10px;
    padding: 0.65rem 0.75rem;
    font: inherit;
    font-size: 0.9rem;
}
textarea.stock-input { resize: vertical; line-height: 1.5; }
.stock-inv-wrap { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.stock-inv-chip {
    padding: 0.32rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
    font: inherit;
    font-size: 0.8rem;
    cursor: pointer;
}
.stock-inv-chip.on { background: rgba(62, 224, 239, 0.18); border-color: rgba(62, 224, 239, 0.8); color: #a5f3fc; }
.stock-row { display: flex; gap: 0.5rem; margin-top: 0.8rem; }
.stock-btn {
    flex: 1;
    padding: 0.7rem 0.9rem;
    border-radius: 10px;
    border: 1px solid rgba(62, 224, 239, 0.45);
    background: rgba(62, 224, 239, 0.12);
    color: #d9fbff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.stock-btn.primary { background: rgba(229, 57, 53, 0.85); border-color: rgba(229, 57, 53, 0.9); color: #fff; }
.stock-btn:disabled { opacity: 0.55; cursor: wait; }
.stock-msg { border-radius: 10px; padding: 0.6rem 0.8rem; font-size: 0.88rem; margin: 0.7rem 0 0; }
.stock-msg.ok { background: rgba(61, 220, 151, 0.12); border: 1px solid rgba(61, 220, 151, 0.4); color: #7ce8b5; }
.stock-msg.bad { background: rgba(229, 57, 53, 0.12); border: 1px solid rgba(229, 57, 53, 0.4); color: #ff9d9d; }

/* ============================================================
   MARLON — REDISEÑO VISUAL 2026 (violeta + menta, formas nuevas)
   ============================================================ */
.admin-panel {
    background:
        radial-gradient(900px 480px at 85% -10%, rgba(124, 58, 237, 0.14), transparent 60%),
        radial-gradient(700px 420px at -10% 110%, rgba(20, 184, 166, 0.10), transparent 55%),
        #f4f1fa;
}
.admin-panel .sidebar {
    background: linear-gradient(180deg, #241243 0%, #170b2e 55%, #12081f 100%) !important;
    border-right: 1px solid rgba(167, 139, 250, 0.22) !important;
    box-shadow: 18px 0 45px rgba(46, 16, 101, 0.25);
}
.admin-panel .sidebar-header {
    border-bottom: 1px solid rgba(167, 139, 250, 0.18) !important;
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
}
.admin-panel .logo-icon {
    background: linear-gradient(135deg, #7c3aed, #14b8a6) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 24px rgba(124, 58, 237, 0.45);
}
.admin-panel .nav-group-label {
    letter-spacing: 0.14em;
    color: #a78bfa !important;
}
.admin-panel .nav-item {
    border-radius: 999px !important;
    margin: 0.14rem 0.55rem;
    padding-left: 0.95rem !important;
    transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}
.admin-panel .nav-item:hover {
    transform: translateX(4px);
    background: rgba(167, 139, 250, 0.14) !important;
}
.admin-panel .nav-item.active {
    background: linear-gradient(90deg, #7c3aed, #5b21b6) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(124, 58, 237, 0.40);
}
.admin-panel .header {
    background: rgba(255, 255, 255, 0.82) !important;
    backdrop-filter: blur(14px);
    border-bottom: 1px solid #e7e0f5 !important;
}
.admin-panel .stat-card,
.admin-panel .expired-report-stat,
.admin-panel .remove-dest-card {
    border-radius: 22px !important;
    border: 1px solid #e9e2f7 !important;
    box-shadow: 0 16px 38px rgba(76, 29, 149, 0.10) !important;
    position: relative;
    overflow: hidden;
}
.admin-panel .stat-card::before,
.admin-panel .expired-report-stat::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, #7c3aed, #14b8a6);
}
.admin-panel .stat-icon {
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.16), rgba(20, 184, 166, 0.16)) !important;
}
.admin-panel .section-header h2 {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    letter-spacing: 0.01em;
}
.admin-panel .btn-neon-blue,
.admin-panel .btn-neon-green,
.admin-panel .btn-neon-purple,
.admin-panel .btn-neon-teal,
.admin-panel .btn-neon-orange,
.admin-panel .btn-neon-red {
    border-radius: 999px !important;
    box-shadow: 0 8px 20px rgba(76, 29, 149, 0.18);
}
.admin-panel .data-table {
    border-radius: 18px;
    overflow: hidden;
}
.admin-panel .data-table thead th {
    background: #f1ebfd !important;
    color: #4c1d95 !important;
}
.admin-panel .data-table tbody tr:hover {
    background: #faf8ff !important;
}
.admin-panel input[type='text'],
.admin-panel input[type='search'],
.admin-panel input[type='number'],
.admin-panel input[type='password'],
.admin-panel input[type='email'],
.admin-panel select,
.admin-panel textarea {
    border-radius: 12px !important;
}
.admin-panel input:focus,
.admin-panel select:focus,
.admin-panel textarea:focus {
    border-color: #8b5cf6 !important;
    box-shadow: 0 0 0 4px rgba(139, 92, 246, 0.16) !important;
    outline: none;
}
.admin-login-screen {
    background:
        radial-gradient(800px 500px at 15% 10%, rgba(124, 58, 237, 0.35), transparent 60%),
        radial-gradient(700px 460px at 90% 90%, rgba(20, 184, 166, 0.25), transparent 55%),
        #12081f !important;
}
.admin-login-card {
    border-radius: 30px !important;
    border: 1px solid rgba(167, 139, 250, 0.35) !important;
    box-shadow: 0 35px 90px rgba(0, 0, 0, 0.5), 0 0 0 6px rgba(124, 58, 237, 0.08) !important;
    padding: 2.4rem 2.2rem !important;
}
.admin-login-logo {
    background: linear-gradient(135deg, #7c3aed, #14b8a6) !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 30px rgba(124, 58, 237, 0.45);
}
.admin-login-input { border-radius: 14px !important; }
.admin-login-submit {
    border-radius: 999px !important;
    background: linear-gradient(90deg, #7c3aed, #6d28d9) !important;
    box-shadow: 0 14px 30px rgba(124, 58, 237, 0.40);
}
