/* ── Sindicato CRM – frontend.css ─────────────────────────────────────────── */
/* Verde IS (accesible): colores con contraste WCAG AA ≥ 4.5:1              */

/* Ocultar barra de admin de WP en el frontend del CRM */
body.scrm-page #wpadminbar { display: none !important; }
body.scrm-page.admin-bar { margin-top: 0 !important; }
html.admin-bar body.scrm-page { margin-top: 0 !important; }

/* Layout principal */
.scrm-frontend {
    max-width: 1280px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 14px; /* mínimo 14px — WCAG */
}

/* ── Header con logo ─────────────────────────────────────────────────────── */
.scrm-frontend-header {
    display: flex;
    align-items: center;
    gap: 1em;
    padding: .8em 0 .4em;
    border-bottom: 3px solid #2a7a6e;
    margin-bottom: .5em;
}
.scrm-frontend-logo {
    height: 48px;
    width: auto;
    display: block;
    flex-shrink: 0;
}

/* Nav – justo debajo del logo */
.scrm-frontend-nav {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid #2a7a6e;
    margin-bottom: 1.5em;
    flex-wrap: wrap;
    padding-top: .3em;
}
.scrm-frontend-nav a,
.scrm-frontend .scrm-frontend-nav a,
body .scrm-frontend-nav a {
    padding: .5em 1.2em;
    text-decoration: none !important;
    color: #1d2327 !important;          /* contraste 16:1 sobre blanco */
    background: transparent !important;
    border-radius: 4px 4px 0 0;
    font-size: 14px;
    font-weight: 500 !important;
    transition: background .15s, color .15s;
}
.scrm-frontend-nav a:hover,
.scrm-frontend .scrm-frontend-nav a:hover,
body .scrm-frontend-nav a:hover {
    background: #e6f7f5 !important;
    color: #1a4f47 !important;          /* contraste 8.1:1 sobre #e6f7f5 — WCAG AA ✓ */
    text-decoration: none !important;
}
.scrm-frontend-nav a.active,
.scrm-frontend .scrm-frontend-nav a.active,
body .scrm-frontend-nav a.active {
    background: #2a7a6e !important;     /* contraste 5.8:1 con blanco — WCAG AA ✓ */
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Login / denied */
.scrm-login-notice, .scrm-access-denied {
    padding: 2.5em; text-align: center;
    background: #f9f9f9; border: 1px solid #dde; border-radius: 6px;
}
.scrm-login-notice p, .scrm-access-denied p { font-size: 1.1em; }

/* Botones frontend */
.scrm-frontend .scrm-btn, .scrm-btn {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    font-size: 14px;
    border-radius: 4px;
    text-decoration: none !important;
    cursor: pointer;
    border: 1px solid #6b7280;
    background: #f6f7f7;
    color: #1d2327 !important;          /* contraste 16:1 */
    line-height: 1.5;
    font-weight: 500 !important;
    transition: background .15s;
    white-space: nowrap;
}
.scrm-btn:hover { background: #e8eaeb; color: #1d2327 !important; }
.scrm-btn-primary {
    background: #2a7a6e !important;     /* contraste 5.8:1 sobre blanco */
    border-color: #1f5c52 !important;
    color: #fff !important;
}
.scrm-btn-primary:hover { background: #1f5c52 !important; }
.scrm-btn-sm { padding: 3px 8px; font-size: .875em; }
.scrm-btn-lg { padding: 10px 24px; font-size: 1em; }
.scrm-btn-delete { background: #c0392b !important; border-color: #a93226 !important; color: #fff !important; }
.scrm-btn-delete:hover { background: #a93226 !important; }

/* Links globales frontend */
.scrm-frontend a:not(.scrm-btn):not(.button) {
    color: #1f5c52;                     /* contraste 7.1:1 sobre blanco */
    text-decoration: none;
    font-weight: normal !important;
}
.scrm-frontend a:not(.scrm-btn):not(.button):hover {
    color: #153d37;
    text-decoration: underline;
}

/* Notices */
.scrm-notice { padding: .8em 1.2em; border-radius: 4px; margin-bottom: 1em; font-size: 14px; }
.scrm-notice-success { background: #d1f0d1; border: 1px solid #166534; color: #14532d; }
.scrm-notice-error   { background: #fde8e8; border: 1px solid #c0392b; color: #7f1d1d; }

/* Wrap */
.scrm-wrap h2 { font-size: 1.4em; font-weight: 700; color: #1d2327; margin-bottom: .8em; display: flex; align-items: center; gap: .5em; flex-wrap: wrap; }

/* Filters */
.scrm-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 0; }
.scrm-filters input[type="search"],
.scrm-filters input[type="text"],
.scrm-filters select { padding: 6px 10px; border: 1px solid #6b7280; border-radius: 4px; font-size: 14px; color: #1d2327; }
.scrm-filters a.scrm-btn,
.scrm-filters .scrm-btn { min-height: 34px; }

/* Etiquetas de filtro — WCAG: asociar label con control */
.scrm-filters label {
    font-size: 14px;
    font-weight: 600;
    color: #1d2327;
    display: flex;
    flex-direction: column;
    gap: .2em;
}

/* Form grid */
.scrm-form-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: .8em 1.2em; }
.scrm-form-grid label { display: flex; flex-direction: column; gap: .3em; font-size: 14px; font-weight: 600; color: #1d2327; }
.scrm-form-grid input, .scrm-form-grid select, .scrm-form-grid textarea {
    padding: 7px 10px; border: 1px solid #6b7280; border-radius: 4px; font-size: 14px; width: 100%; box-sizing: border-box; color: #1d2327;
}
.scrm-form-full { grid-column: 1 / -1; }
.scrm-form textarea { resize: vertical; }

/* Inline doc form */
.scrm-inline-doc-form { padding: .5em 0; font-size: 14px; }

/* Details */
details.scrm-details-toggle > summary {
    cursor: pointer; color: #1f5c52; font-weight: 600; padding: .4em 0; font-size: 14px;
}

/* Count */
.scrm-count { font-size: .875em; color: #374151; margin: .3em 0; } /* contraste 9.7:1 */

/* Fechas en formato ES */
.scrm-fecha-es { font-variant-numeric: tabular-nums; }

/* Estado badges — contraste WCAG AA ≥ 4.5:1 */
.scrm-estado { display:inline-block; padding:3px 9px; border-radius:10px; font-size:.8em; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.scrm-estado-activo     { background:#d1f0d1; color:#14532d; }
.scrm-estado-inactivo   { background:#fdf0cd; color:#713f12; }
.scrm-estado-baja       { background:#fde8e8; color:#7f1d1d; }
.scrm-estado-abierto    { background:#dbeafe; color:#1e3a8a; }
.scrm-estado-en_tramite { background:#fef3c7; color:#78350f; }
.scrm-estado-cerrado    { background:#f0f0f0; color:#374151; }
.scrm-estado-archivado  { background:#e8e8e8; color:#374151; }
.scrm-estado-pendiente  { background:#fef3c7; color:#78350f; }
.scrm-estado-cobrada    { background:#d1f0d1; color:#14532d; }
.scrm-estado-devuelta   { background:#fde8e8; color:#7f1d1d; }
.scrm-estado-generada   { background:#dbeafe; color:#1e3a8a; }
.scrm-estado-borrador   { background:#f0f0f0; color:#374151; }

/* Tablas */
.scrm-table { width:100%; border-collapse:collapse; font-size: 14px; }
.scrm-table th, .scrm-table td { padding:9px 10px; border-bottom:1px solid #dde1e6; text-align:left; font-size: 14px; color: #1d2327; }
.scrm-table thead th { background:#f0f0f1; font-weight:700; color:#1d2327; }
.scrm-table-wrap { overflow-x:auto; }

/* Cards */
.scrm-card {
    background: #fff;
    border: 1px solid #dde1e6;
    border-radius: 6px;
    padding: 1.2em 1.5em;
    margin: 1em 0;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
    font-size: 14px;
}
.scrm-card h3 {
    margin-top: 0; font-size: 1.05em;
    border-bottom: 2px solid #2a7a6e;
    padding-bottom: .4em; color: #1d2327;
}

/* View table */
.scrm-view-table { width:100%; border-collapse:collapse; font-size: 14px; }
.scrm-view-table th { width:40%; color:#374151; font-weight:700; font-size: 14px; text-align: left; padding:6px 8px; vertical-align:top; border-bottom:1px solid #f0f0f0; }
.scrm-view-table td { padding:6px 8px; border-bottom:1px solid #f0f0f0; font-size: 14px; text-align: left; vertical-align: top; color: #1d2327; }

/* Detail grid */
.scrm-detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap: 1em; }

/* KPI */
.scrm-kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); gap: 1em; margin: 1em 0; }
.scrm-kpi { background:#fff; border:1px solid #dde1e6; border-radius:8px; padding:1.2em; text-align:center; box-shadow:0 1px 3px rgba(0,0,0,.06); }
.scrm-kpi-num { display:block; font-size:2.2em; font-weight:700; color:#2a7a6e; line-height:1.1; }
.scrm-kpi-label { display:block; font-size:.875em; color:#374151; margin-top:.3em; }
.scrm-kpi-warning { border-color: #b45309; }
.scrm-kpi-warning .scrm-kpi-num { color: #b45309; }

/* Danger zone */
.scrm-danger-zone { border-color: #c0392b !important; background:#fef8f8; }
.scrm-danger-zone h3 { color: #c0392b; border-color: #c0392b; }

/* Link peligro */
.scrm-btn-link-danger {
    color: #c0392b !important; background: none; border: none; cursor: pointer;
    text-decoration: underline; padding: 0; font-size: 14px !important; font-weight: normal !important;
}

/* Responsive */
@media (max-width:640px) {
    .scrm-kpi-grid { grid-template-columns: 1fr 1fr; }
    .scrm-detail-grid { grid-template-columns: 1fr; }
    .scrm-form-grid { grid-template-columns: 1fr; }
    .scrm-table th:nth-child(n+4), .scrm-table td:nth-child(n+4) { display: none; }
    .scrm-filters { flex-direction: column; align-items: flex-start; }
}

