/* ============================================================
   DedicaQR — Sprint 24 — Scheduled Exports
   CSS namespace: .sex-*
   Paleta brand: #C9184A (rojo) · #FFB3C1 (rosa) · #D4A24C (oro)
                 #FFF8F5 (bg) · #1a1a1a (text) · verde/ámbar/rojo para status
   ============================================================ */

/* === LAYOUT === */
.sex-page { padding: 24px; max-width: 1400px; margin: 0 auto; color: #1a1a1a; }
.sex-page-head {
    display: flex; justify-content: space-between; align-items: flex-start;
    gap: 24px; margin-bottom: 24px; flex-wrap: wrap;
}
.sex-title {
    margin: 0 0 4px; font-family: 'Playfair Display', Georgia, serif;
    color: #C9184A; font-size: 28px; font-weight: 700;
}
.sex-subtitle { margin: 0; color: #6b6b6b; font-size: 14px; max-width: 720px; }
.sex-breadcrumb { font-size: 12px; color: #999; margin-bottom: 8px; }
.sex-breadcrumb a { color: #6b6b6b; text-decoration: none; }
.sex-breadcrumb a:hover { color: #C9184A; }
.sex-meta-line {
    display: flex; gap: 12px; align-items: center; margin-top: 8px;
    flex-wrap: wrap; font-size: 13px;
}
.sex-slug-code, .sex-mono {
    background: #FFF1EE; color: #C9184A; padding: 3px 8px; border-radius: 4px;
    font-family: 'Courier New', monospace; font-size: 12px;
}
.sex-tz-badge { background: #E8F4FD; color: #1E5C9E; padding: 2px 8px;
                border-radius: 8px; font-size: 11px; }

/* === DEPENDENCY WARNING === */
.sex-deps-warning {
    background: #FEF3C7; border-left: 4px solid #D4A24C; padding: 14px 18px;
    border-radius: 6px; margin-bottom: 18px; font-size: 13px;
}
.sex-deps-warning ul { margin: 6px 0 0 18px; padding: 0; }

/* === STATS === */
.sex-stats-grid {
    display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px;
    margin-bottom: 22px;
}
.sex-stat-card {
    background: #fff; border: 1px solid #FFD6DD; border-radius: 10px;
    padding: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.sex-stat-card.sex-st-total    { border-top: 3px solid #6b6b6b; }
.sex-stat-card.sex-st-active   { border-top: 3px solid #22A052; }
.sex-stat-card.sex-st-paused   { border-top: 3px solid #D4A24C; }
.sex-stat-card.sex-st-archived { border-top: 3px solid #999; }
.sex-stat-card.sex-st-failed   { border-top: 3px solid #C9184A; }
.sex-stat-label { font-size: 11px; color: #6b6b6b; text-transform: uppercase;
                  letter-spacing: 0.5px; }
.sex-stat-value { font-size: 28px; font-weight: 700; margin-top: 4px; }

/* === FILTERS === */
.sex-filters {
    display: flex; gap: 10px; align-items: center; margin-bottom: 20px;
    background: #fff; padding: 14px; border-radius: 8px; flex-wrap: wrap;
}
.sex-filter-q { min-width: 280px; }

/* === TABLA INDEX === */
.sex-table-wrap { background: #fff; border-radius: 10px; overflow: hidden;
                  box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
.sex-table, .sex-runs-table { width: 100%; border-collapse: collapse; }
.sex-table th, .sex-runs-table th {
    background: #FFF1EE; padding: 12px 14px; text-align: left;
    font-size: 12px; font-weight: 600; color: #6b6b6b; text-transform: uppercase;
    letter-spacing: 0.4px; border-bottom: 2px solid #FFD6DD;
}
.sex-table td, .sex-runs-table td {
    padding: 12px 14px; border-bottom: 1px solid #FFF1EE; vertical-align: middle;
    font-size: 13px;
}
.sex-table tbody tr:hover { background: #FFFAFA; }
.sex-id { font-family: monospace; font-size: 11px; color: #999; }
.sex-name { color: #C9184A; font-weight: 600; text-decoration: none; }
.sex-name:hover { text-decoration: underline; }
.sex-slug { font-family: monospace; font-size: 11px; color: #999; margin-top: 2px; }
.sex-schedule-human { color: #1a1a1a; font-size: 13px; }
.sex-next-run { color: #22A052; font-weight: 600; font-family: monospace; }
.sex-dash { color: #ccc; }
.sex-empty { text-align: center; padding: 40px; color: #999; font-style: italic; }
.sex-empty-box {
    padding: 24px; text-align: center; color: #999; font-style: italic;
    background: #FFFAFA; border-radius: 8px; border: 1px dashed #FFD6DD;
}

/* === BADGES === */
.sex-badge {
    display: inline-block; padding: 3px 10px; border-radius: 12px;
    font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px;
}
.sex-badge.sex-st-active   { background: #DCFCE7; color: #166534; }
.sex-badge.sex-st-paused   { background: #FEF3C7; color: #92400E; }
.sex-badge.sex-st-archived { background: #E5E7EB; color: #4B5563; }

.sex-dest-tag {
    display: inline-block; padding: 2px 7px; border-radius: 8px;
    font-size: 10px; margin-left: 4px; font-weight: 600;
}
.sex-dest-email { background: #DBEAFE; color: #1E40AF; }
.sex-dest-ftp   { background: #FCE7F3; color: #9D174D; }
.sex-dest-sftp  { background: #D1FAE5; color: #065F46; }
.sex-dest-local { background: #F3E8FF; color: #6B21A8; }
.sex-dest-count { font-weight: 700; margin-right: 4px; }

.sex-runstatus {
    display: inline-block; padding: 2px 8px; border-radius: 6px;
    font-size: 11px; font-weight: 600;
}
.sex-rs-success { background: #DCFCE7; color: #166534; }
.sex-rs-partial { background: #FEF3C7; color: #92400E; }
.sex-rs-failed  { background: #FEE2E2; color: #991B1B; }
.sex-rs-running { background: #DBEAFE; color: #1E40AF; }
.sex-rs-skipped { background: #E5E7EB; color: #4B5563; }
.sex-runstatus-lg { font-size: 13px; padding: 4px 12px; }
.sex-last-run-date { font-size: 10px; color: #999; margin-top: 2px; font-family: monospace; }

.sex-retry-badge {
    background: #FEF3C7; color: #92400E; padding: 1px 5px; border-radius: 4px;
    font-size: 10px; font-weight: 600; margin-left: 4px;
}
.sex-trigger-manual { color: #C9184A; }
.sex-trigger-cron   { color: #6b6b6b; }

/* === FORM === */
.sex-form { display: flex; flex-direction: column; gap: 20px; }
.sex-form-row { margin-bottom: 14px; }
.sex-form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sex-form-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sex-inline-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sex-inline-3 { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; }
.sex-label { display: block; font-weight: 600; font-size: 13px; color: #1a1a1a; margin-bottom: 6px; }
.sex-help  { color: #6b6b6b; font-size: 12px; display: block; margin-top: 4px; }
.sex-num { max-width: 100px; }
.sex-checkbox { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.sex-form-actions {
    display: flex; gap: 10px; justify-content: flex-end;
    padding-top: 16px; border-top: 1px solid #FFE4EC;
}

/* === SECTIONS === */
.sex-section {
    background: #fff; padding: 22px; border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.sex-section-half { /* en grid 2-col del show */ }
.sex-section-title {
    margin: 0 0 12px; font-size: 17px; font-weight: 600;
    display: flex; align-items: center; gap: 8px;
}
.sex-section-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.sex-counter { font-size: 14px; color: #999; font-weight: 400; }
.sex-section-error { background: #FEF2F2; border-left: 4px solid #C9184A; }

/* === SHOW GRID === */
.sex-show-grid {
    display: grid; gap: 16px;
    grid-template-columns: 1fr 1fr;
}
.sex-show-grid > .sex-section:nth-child(n+3) { grid-column: span 2; }

.sex-description {
    background: #FFF8F5; padding: 12px 16px; border-radius: 8px;
    border-left: 3px solid #FFB3C1; color: #4b4b4b; font-size: 14px;
    margin-bottom: 18px;
}

.sex-schedule-card {
    background: linear-gradient(135deg, #FFF8F5 0%, #FFF1EE 100%);
    padding: 18px; border-radius: 10px; margin-bottom: 16px;
    border: 1px solid #FFD6DD;
}
.sex-schedule-human-big {
    font-size: 17px; font-weight: 600; color: #1a1a1a; margin-bottom: 6px;
}
.sex-schedule-type-tag {
    display: inline-block; background: #C9184A; color: #fff;
    padding: 3px 10px; border-radius: 12px; font-size: 11px;
    font-weight: 600; text-transform: uppercase;
}
.sex-h3 { font-size: 14px; color: #6b6b6b; margin: 14px 0 8px; }
.sex-next-runs-list { margin: 0; padding: 0 0 0 18px; font-size: 13px; }
.sex-next-runs-list li { margin-bottom: 4px; }
.sex-tz-small { color: #999; font-size: 11px; }

/* === DL definition lists === */
.sex-dl { margin: 0; }
.sex-dl dt { font-weight: 600; color: #6b6b6b; font-size: 12px; margin-top: 8px; }
.sex-dl dd { margin: 2px 0 0; font-size: 13px; }
.sex-dl-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 6px 16px; }
.sex-dl-grid dt { margin-top: 0; align-self: center; }
.sex-dl-grid dd { margin: 0; align-self: center; }
.sex-dl-inline dt { display: inline-block; margin-right: 4px; }
.sex-dl-inline dd { display: inline-block; margin-right: 18px; }
.sex-dim { color: #999; font-size: 12px; }

.sex-fmt-pill {
    background: #1a1a1a; color: #fff; padding: 2px 8px;
    border-radius: 4px; font-size: 10px; text-transform: uppercase;
    font-weight: 700;
}
.sex-filters-pre {
    background: #FFFAFA; padding: 8px; border-radius: 6px;
    font-size: 11px; max-height: 200px; overflow: auto;
    border: 1px solid #FFE4EC;
}

/* === DESTINATIONS BUILDER (new/edit) === */
#sex-destinations-list { display: flex; flex-direction: column; gap: 14px; }
.sex-dest-row {
    background: #FFF8F5; border: 1px solid #FFD6DD; border-radius: 10px;
    padding: 14px;
}
.sex-dest-head {
    display: flex; gap: 10px; align-items: center; margin-bottom: 10px;
}
.sex-dest-type { max-width: 200px; }
.sex-dest-remove {
    background: transparent; border: none; color: #C9184A;
    font-size: 22px; cursor: pointer; line-height: 1; padding: 0 8px;
}
.sex-dest-remove:hover { color: #A20E3A; }
.sex-dest-body { background: #fff; padding: 12px; border-radius: 6px; }
.sex-dest-config { display: flex; flex-direction: column; gap: 4px; }

/* === DESTINATIONS DISPLAY (show) === */
.sex-dest-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px;
}
.sex-dest-display {
    background: #FFF8F5; border-radius: 10px; padding: 14px;
    display: flex; gap: 12px; align-items: flex-start;
    border-left: 4px solid #C9184A;
}
.sex-dest-display.sex-dest-email { border-left-color: #1E40AF; }
.sex-dest-display.sex-dest-ftp   { border-left-color: #9D174D; }
.sex-dest-display.sex-dest-sftp  { border-left-color: #065F46; }
.sex-dest-display.sex-dest-local { border-left-color: #6B21A8; }
.sex-dest-icon { font-size: 24px; line-height: 1; }
.sex-dest-display .sex-dest-body { background: transparent; padding: 0; flex: 1; }
.sex-dest-type-label { font-size: 10px; color: #6b6b6b; font-weight: 700;
                       letter-spacing: 0.5px; margin-bottom: 4px; }
.sex-dest-detail { color: #6b6b6b; font-size: 12px; font-family: monospace; margin-top: 2px; }
.sex-dest-auth { color: #999; font-size: 11px; margin-top: 2px; }

/* === SUBFORMS === */
.sex-subform { background: #FFFAFA; padding: 14px; border-radius: 8px;
               border: 1px dashed #FFD6DD; margin-top: 8px; }
.sex-cron-describe {
    background: #FFF8F5; padding: 6px 10px; border-radius: 4px;
    margin-top: 6px; font-size: 12px; color: #166534; min-height: 20px;
}
.sex-next-runs-preview {
    background: #FFFBEB; padding: 12px 16px; border-radius: 8px;
    margin-top: 12px; border-left: 3px solid #D4A24C;
}
.sex-next-runs-preview ul { margin: 4px 0 0 20px; padding: 0; font-size: 13px;
                            font-family: monospace; }

.sex-advanced { margin-top: 12px; }
.sex-advanced summary { cursor: pointer; font-size: 13px; color: #C9184A; }

/* === RUNS TABLE === */
.sex-runs-table tbody tr.sex-rs-failed  { background: #FEF2F2; }
.sex-runs-table tbody tr.sex-rs-partial { background: #FFFBEB; }
.sex-runs-table tbody tr.sex-rs-success { background: #F7FCF7; }
.sex-period-cell { font-family: monospace; font-size: 11px; }

/* === RUN VIEW: log destinos === */
.sex-dest-log-list { display: flex; flex-direction: column; gap: 12px; }
.sex-dest-log-row {
    background: #fff; border-radius: 8px; padding: 12px;
    display: flex; gap: 12px; border-left: 4px solid #6b6b6b;
}
.sex-dest-log-sent    { border-left-color: #22A052; background: #F7FCF7; }
.sex-dest-log-failed  { border-left-color: #C9184A; background: #FEF2F2; }
.sex-dest-log-skipped { border-left-color: #D4A24C; background: #FFFBEB; }
.sex-dest-log-icon { font-size: 22px; line-height: 1; }
.sex-dest-log-body { flex: 1; }
.sex-dest-log-head {
    display: flex; gap: 10px; align-items: center; margin-bottom: 6px;
    flex-wrap: wrap;
}
.sex-dest-log-detail {
    background: #FFFAFA; padding: 8px; border-radius: 4px;
    font-size: 11px; color: #4b4b4b; margin: 0;
    white-space: pre-wrap; word-break: break-word; max-height: 200px; overflow: auto;
}
.sex-error-pre {
    background: #FEF2F2; padding: 12px; border-radius: 8px;
    color: #991B1B; font-size: 12px; white-space: pre-wrap; word-break: break-word;
    border: 1px solid #FECACA;
}

/* === LIFECYCLE ACTIONS === */
.sex-lifecycle-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.d-inline { display: inline-block; }
.sex-btn-danger { color: #C9184A; }

/* === PAGINATION === */
.sex-pagination { display: flex; gap: 6px; justify-content: center; margin-top: 20px; }
.sex-page-link {
    background: #fff; border: 1px solid #FFD6DD; padding: 6px 12px;
    border-radius: 6px; color: #C9184A; text-decoration: none; font-size: 13px;
}
.sex-page-link:hover { background: #FFF1EE; }
.sex-page-link.sex-page-active { background: #C9184A; color: #fff; border-color: #C9184A; }

/* === SIDEBAR === */
.sidebar-tag-new { background: #22A052 !important; color: #fff !important; }

/* === RESPONSIVE === */
@media (max-width: 1100px) {
    .sex-stats-grid { grid-template-columns: repeat(3, 1fr); }
    .sex-show-grid  { grid-template-columns: 1fr; }
    .sex-show-grid > .sex-section:nth-child(n+3) { grid-column: span 1; }
}
@media (max-width: 800px) {
    .sex-stats-grid  { grid-template-columns: repeat(2, 1fr); }
    .sex-form-grid-2 { grid-template-columns: 1fr; }
    .sex-form-grid-3 { grid-template-columns: 1fr; }
    .sex-inline-2, .sex-inline-3 { grid-template-columns: 1fr; }
    .sex-page-head { flex-direction: column; }
    .sex-lifecycle-actions { width: 100%; }
}
@media (max-width: 600px) {
    .sex-stats-grid { grid-template-columns: 1fr; }
    .sex-dest-grid  { grid-template-columns: 1fr; }
}
