:root {
    --premium-primary: #2563eb;
    --premium-primary-dark: #1d4ed8;
    --premium-success: #0f766e;
    --premium-warning: #d97706;
    --premium-danger: #dc2626;
    --premium-bg: #eef2ff;
    --premium-card-radius: 26px;
    --premium-shadow: 0 24px 60px rgba(15, 23, 42, 0.14);
    --premium-shadow-soft: 0 12px 32px rgba(15, 23, 42, 0.08);
    --premium-border: rgba(148, 163, 184, 0.18);
    --premium-surface: rgba(255, 255, 255, 0.82);
}

html, body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body {
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.14), transparent 28%),
        radial-gradient(circle at bottom right, rgba(14, 165, 233, 0.12), transparent 26%),
        linear-gradient(180deg, #eef2ff 0%, #f8fafc 100%);
}

.content-wrapper {
    background: transparent !important;
}

.content-header h1 {
    font-weight: 800;
    letter-spacing: -0.02em;
}

.card,
.premium-card,
.premium-surface {
    border-radius: var(--premium-card-radius);
    box-shadow: var(--premium-shadow-soft);
    border: 1px solid var(--premium-border);
}

.premium-surface {
    background: var(--premium-surface);
    backdrop-filter: blur(10px);
}

.premium-app-shell .main-header,
.premium-app-shell .main-sidebar,
.premium-app-shell .main-footer {
    border: 0;
}

.premium-topbar {
    background: rgba(255, 255, 255, 0.82) !important;
    backdrop-filter: blur(12px);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
}

.premium-topbar-logo {
    width: 32px;
    height: 32px;
    object-fit: contain;
    border-radius: 10px;
    background: rgba(255,255,255,0.92);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.10);
    padding: 0.18rem;
}

.premium-topbar-title {
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.premium-icon-btn {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(37, 99, 235, 0.08);
    color: var(--premium-primary-dark) !important;
}

.premium-topbar-chip,
.premium-user-pill {
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(37, 99, 235, 0.08);
    border-radius: 999px;
    padding: 0.55rem 0.9rem;
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.08);
}

.premium-sidebar {
    background: linear-gradient(180deg, #0f172a 0%, #111827 45%, #172554 100%) !important;
}

.premium-brand-link {
    display: flex;
    align-items: center;
    gap: 0.95rem;
    min-height: 78px;
    padding: 0.95rem 1rem;
    border-bottom: 0 !important;
}

.premium-brand-logo-wrap {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.22);
    padding: 0.28rem;
    flex-shrink: 0;
}

.premium-brand-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 14px;
}

.premium-brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.premium-brand-copy .brand-text {
    color: #fff;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.premium-brand-copy small {
    color: rgba(255, 255, 255, 0.72);
}

.nav-sidebar .nav-link {
    border-radius: 16px;
    margin: 0.18rem 0.55rem;
    color: rgba(255, 255, 255, 0.84);
    font-weight: 600;
}

.nav-sidebar .nav-link.active,
.nav-sidebar .nav-link:hover {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.92), rgba(59, 130, 246, 0.86)) !important;
    box-shadow: 0 16px 36px rgba(37, 99, 235, 0.35);
    color: #fff !important;
}

.nav-sidebar .nav-link .nav-icon {
    font-size: 1rem;
}

.premium-content-header {
    padding-top: 1.25rem;
}

.premium-page-actions .btn {
    margin-left: 0.35rem;
    margin-bottom: 0.35rem;
}

.premium-btn {
    border-radius: 16px !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.16);
    font-weight: 700;
}

.premium-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 1.65rem;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(255,255,255,0.88), rgba(255,255,255,0.68));
    border: 1px solid rgba(37,99,235,0.1);
    box-shadow: var(--premium-shadow);
}

.premium-hero-dashboard {
    background:
      radial-gradient(circle at top right, rgba(56,189,248,0.18), transparent 30%),
      linear-gradient(135deg, rgba(255,255,255,0.94), rgba(239,246,255,0.88));
}

.premium-overline {
    display: inline-block;
    margin-bottom: 0.35rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    color: #2563eb;
}

.premium-role-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.7rem 1rem;
    background: rgba(37,99,235,0.08);
    color: var(--premium-primary-dark);
    font-weight: 700;
    box-shadow: 0 8px 24px rgba(37,99,235,0.10);
}

.premium-shortcut-card,
.simple-menu-card,
.municipio-card,
.person-card {
    border-radius: 24px;
    border: 1px solid var(--premium-border);
    box-shadow: var(--premium-shadow-soft);
    transition: transform .2s ease, box-shadow .2s ease;
}

.premium-shortcut-card:hover,
.simple-menu-card:hover,
.municipio-card:hover,
.person-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--premium-shadow);
}

.premium-shortcut-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}

.bg-primary-soft { background: rgba(37,99,235,0.10); }
.bg-success-soft { background: rgba(16,185,129,0.12); }
.bg-danger-soft { background: rgba(239,68,68,0.12); }

.premium-metric-card {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    padding: 1.35rem 1.3rem;
    background: rgba(255,255,255,0.9);
    border: 1px solid rgba(148,163,184,0.18);
    box-shadow: var(--premium-shadow-soft);
    min-height: 148px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.premium-metric-card::after {
    content: '';
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 4px;
    background: currentColor;
    opacity: .6;
}

.premium-metric-card.accent-primary { color: var(--premium-primary); }
.premium-metric-card.accent-success { color: #0f766e; }
.premium-metric-card.accent-warning { color: #d97706; }
.premium-metric-card.accent-danger { color: #dc2626; }

.premium-metric-label {
    color: #475569;
    font-size: .92rem;
    font-weight: 600;
}

.premium-metric-value {
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #0f172a;
    margin-top: .35rem;
}

.premium-metric-icon {
    width: 62px;
    height: 62px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.7);
    box-shadow: inset 0 0 0 1px rgba(148,163,184,0.14);
    font-size: 1.45rem;
}

.premium-table-wrap {
    border-radius: 20px;
    overflow: hidden;
}

.table-premium {
    margin-bottom: 0;
    background: transparent;
}

.table-premium thead th {
    border-top: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: rgba(248, 250, 252, 0.85);
}

.table-premium tbody td {
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    vertical-align: middle;
}

.table-premium tbody tr:hover {
    background: rgba(239, 246, 255, 0.45);
}

.table-link-strong {
    color: #0f172a;
    font-weight: 700;
}

.premium-count-pill {
    display: inline-flex;
    min-width: 40px;
    align-items: center;
    justify-content: center;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    background: rgba(37,99,235,0.08);
    color: var(--premium-primary-dark);
    font-weight: 700;
}

.address-status-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border-radius: 20px;
    background: rgba(248,250,252,0.88);
    border: 1px solid rgba(148,163,184,0.20);
}

.form-control,
.custom-select,
.input-group-text,
.btn,
.swal2-popup {
    border-radius: 16px !important;
}

.form-control,
.custom-select {
    border-color: rgba(148, 163, 184, 0.32);
    box-shadow: none !important;
}

.form-control:focus,
.custom-select:focus {
    border-color: rgba(37, 99, 235, 0.56);
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12) !important;
}

.form-control-lg,
.input-group-lg > .form-control,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .input-group-text {
    min-height: 56px;
}

.required::after {
    content: ' *';
    color: #dc2626;
}

.info-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.48rem 0.72rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #1e40af;
    font-size: 0.82rem;
    margin-right: 0.45rem;
    margin-bottom: 0.45rem;
}

.document-preview {
    width: 100%;
    max-height: 280px;
    object-fit: cover;
    border-radius: 18px;
    border: 1px solid #e5e7eb;
}

.card-tools-inline .btn {
    margin-right: 0.35rem;
    margin-bottom: 0.35rem;
}

.premium-footer {
    background: rgba(255,255,255,0.82);
    backdrop-filter: blur(10px);
}

.premium-login-body {
    min-height: 100vh;
    background:
      radial-gradient(circle at top left, rgba(37,99,235,0.18), transparent 35%),
      radial-gradient(circle at bottom right, rgba(14,165,233,0.16), transparent 30%),
      linear-gradient(180deg, #eef4ff 0%, #f7f9fc 100%);
}

.premium-login-shell {
    width: min(540px, 94vw);
}

.premium-login-brand {
    text-align: center;
}

.premium-login-logo-wrap {
    width: 112px;
    height: 112px;
    margin: 0 auto 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    background: rgba(255,255,255,0.96);
    box-shadow: 0 18px 45px rgba(37, 99, 235, 0.18);
    padding: 0.55rem;
}

.premium-login-logo-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.login-preloader-overlay {
    position: fixed;
    inset: 0;
    background: rgba(248, 250, 252, 0.92);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
    z-index: 2000;
}

.login-preloader-overlay.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.login-preloader-card {
    width: min(460px, 94vw);
    text-align: center;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 32px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.18);
    padding: 2rem 1.5rem 1.65rem;
}

.login-preloader-logo-wrap {
    width: 124px;
    height: 124px;
    margin: 0 auto 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 34px;
    background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(239,246,255,0.96));
    box-shadow: 0 20px 50px rgba(37, 99, 235, 0.16);
    padding: 0.7rem;
}

.login-preloader-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    animation: logoFloat 1.8s ease-in-out infinite;
}

.login-preloader-card h2 {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 0.4rem;
    color: #0f172a;
}

.login-preloader-card p {
    margin-bottom: 1rem;
    color: #475569;
}

.login-preloader-progress {
    width: 100%;
    height: 12px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    box-shadow: inset 0 2px 8px rgba(15, 23, 42, 0.08);
}

.login-preloader-progress-bar {
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #16a34a 0%, #38bdf8 52%, #2563eb 100%);
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.22);
    transition: width .25s ease;
}

.login-preloader-status {
    margin-top: 0.85rem;
    color: #334155;
    font-weight: 700;
    font-size: 0.95rem;
}

@keyframes logoFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

.premium-login-card {
    border-radius: 28px;
}

.swal2-popup {
    box-shadow: var(--premium-shadow) !important;
}

@media (max-width: 991.98px) {
    .premium-page-actions {
        text-align: left !important;
        margin-top: 0.85rem;
    }
}

@media (max-width: 767.98px) {
    .premium-hero,
    .address-status-card {
        flex-direction: column;
        align-items: stretch;
    }
    .premium-login-shell {
        width: min(94vw, 500px);
    }
    .premium-topbar-chip,
    .premium-user-pill {
        display: none !important;
    }
}


.excel-premium-card{border:1px solid rgba(99,102,241,.16);box-shadow:0 20px 45px rgba(15,23,42,.08);}
.excel-premium-badge{display:inline-flex;align-items:center;padding:.65rem 1rem;border-radius:999px;background:linear-gradient(135deg,#0f172a,#312e81);color:#fff;font-weight:700;box-shadow:0 16px 32px rgba(49,46,129,.2);}
.premium-kicker{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.75rem;}
.premium-info-box{padding:1rem 1.1rem;border-radius:1rem;background:#f8fafc;border:1px solid #dbeafe;color:#334155;}
.premium-card .table thead th{background:#0f172a;color:#fff;border:none;}
.premium-card .table tbody tr:nth-child(even){background:#f8fafc;}
.premium-card .table tbody tr:hover{background:#eef2ff;}

/* v20 premium deluxe */
.premium-chart-card .card-body { min-height: 320px; }
.premium-chart-head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:1rem; }
.premium-chart-head h3 { font-size:1.05rem; font-weight:800; margin:0 0 .15rem; }
.premium-chart-badge { display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .9rem; border-radius:999px; background:rgba(79,70,229,.08); color:#4338ca; font-weight:700; }
.premium-chart-canvas-wrap { position:relative; height:250px; }
.premium-chart-canvas-wrap canvas { width:100% !important; height:250px !important; }

.table-premium-deluxe thead th,
.table-premium thead th {
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
    color:#0f172a;
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.04em;
    border-bottom:1px solid #dbe4ff;
}
.table-premium-deluxe tbody tr:hover,
.table-premium tbody tr:hover { background:#f8fbff; }
.table-premium-deluxe td, .table-premium-deluxe th,
.table-premium td, .table-premium th { vertical-align:middle; }
.premium-datatable-wrapper .dataTables_length,
.premium-datatable-wrapper .dataTables_filter { margin-bottom: .75rem; }
.premium-datatable-wrapper .premium-dt-search {
    min-width: 240px;
    border-radius: 999px;
    border:1px solid #dbe4ff;
    box-shadow:none;
    padding-left: 1rem;
}
.premium-datatable-wrapper .dataTables_paginate .paginate_button {
    border-radius: 999px !important;
    margin: 0 .15rem;
    border: 0 !important;
}
.premium-datatable-wrapper .dataTables_paginate .paginate_button.current,
.premium-datatable-wrapper .dataTables_paginate .paginate_button.current:hover {
    background: linear-gradient(135deg, #4f46e5 0%, #2563eb 100%) !important;
    color:#fff !important;
}
.premium-datatable-wrapper .dataTables_paginate .paginate_button:hover {
    background:#eef2ff !important;
    color:#1e293b !important;
}
.premium-datatable-wrapper .dataTables_info { color:#64748b; font-size:.88rem; }
.premium-table-shell {
    border:1px solid #e5e7eb;
    border-radius:1rem;
    overflow:hidden;
    background:#fff;
    box-shadow:0 14px 40px rgba(15,23,42,.04);
}
.premium-export-note {
    display:flex;
    align-items:center;
    gap:.75rem;
    padding:1rem 1.1rem;
    border-radius:1rem;
    background:linear-gradient(135deg,#eff6ff 0%,#eef2ff 100%);
    color:#1e3a8a;
    font-weight:600;
}
.premium-stat-mini {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.45rem .8rem;
    border-radius:999px;
    background:#f8fafc;
    color:#334155;
    font-size:.82rem;
    font-weight:700;
}
.premium-kpi-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:1rem;
}
.premium-kpi-card {
    border-radius:1.25rem;
    padding:1.1rem 1rem;
    background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
    color:#fff;
    box-shadow:0 18px 45px rgba(15,23,42,.18);
}
.premium-kpi-card .value { font-size:2rem; font-weight:800; line-height:1; }
.premium-kpi-card .label { opacity:.8; text-transform:uppercase; letter-spacing:.06em; font-size:.75rem; }
.premium-modal-table .btn { border-radius:999px; }

/* =========================
   SOC Premium Security Center
   ========================= */
.soc-shell {
    padding-bottom: 1rem;
}

.soc-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .7fr);
    gap: 1.5rem;
    padding: 1.6rem 1.7rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(34, 211, 238, 0.18), transparent 28%),
        radial-gradient(circle at bottom left, rgba(59, 130, 246, 0.16), transparent 30%),
        linear-gradient(135deg, rgba(15, 23, 42, 0.94), rgba(30, 41, 59, 0.88));
    color: #fff;
    box-shadow: 0 30px 70px rgba(2, 6, 23, 0.28);
}

.soc-kicker {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #bfdbfe;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.soc-hero h2 {
    font-size: 2.15rem;
    font-weight: 800;
    margin: 0.9rem 0 0.65rem;
    letter-spacing: -0.03em;
}

.soc-hero p {
    max-width: 760px;
    color: rgba(255, 255, 255, 0.78);
    margin-bottom: 1rem;
}

.soc-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.soc-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.7rem 0.95rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.1);
    color: #e2e8f0;
    font-weight: 600;
}

.soc-score-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1rem;
    border-radius: 26px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
}

.soc-score-ring {
    --score: 0;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background:
        radial-gradient(circle at center, rgba(15, 23, 42, 0.92) 0 58%, transparent 58%),
        conic-gradient(#22c55e calc(var(--score) * 1%), rgba(255,255,255,0.12) 0);
    display: grid;
    place-items: center;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08), 0 24px 40px rgba(2, 6, 23, 0.24);
}

.soc-score-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 108px;
    height: 108px;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.96);
}

.soc-score-value {
    font-size: 2.3rem;
    font-weight: 800;
    line-height: 1;
}

.soc-score-inner small {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.68rem;
    color: #93c5fd;
}

.soc-score-title {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: #93c5fd;
    font-weight: 800;
}

.soc-score-subtitle {
    font-size: 1.1rem;
    font-weight: 700;
    max-width: 180px;
}

.soc-filterbar,
.soc-panel,
.soc-metric-card {
    background: rgba(255,255,255,0.86);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(148,163,184,0.18);
    border-radius: 26px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.soc-filterbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.2rem;
}

.soc-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.soc-filter-actions .btn {
    border-radius: 999px;
    padding-inline: 0.9rem;
    font-weight: 700;
}

.soc-filter-actions .btn.active {
    box-shadow: 0 14px 24px rgba(15, 23, 42, 0.12);
}

.soc-metric-card {
    position: relative;
    overflow: hidden;
    min-height: 164px;
    padding: 1.15rem;
}

.soc-metric-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 4px;
    background: currentColor;
    opacity: 0.7;
}

.soc-metric-card.critical { color: #dc2626; }
.soc-metric-card.high { color: #ea580c; }
.soc-metric-card.medium { color: #2563eb; }
.soc-metric-card.healthy { color: #16a34a; }

.soc-metric-icon {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.06);
    margin-bottom: 0.9rem;
    font-size: 1.2rem;
}

.soc-metric-label {
    font-size: 0.84rem;
    color: #64748b;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.soc-metric-value {
    font-size: 2rem;
    line-height: 1;
    font-weight: 800;
    margin-bottom: 0.45rem;
    color: #0f172a;
}

.soc-metric-trend {
    font-size: 0.82rem;
    color: #64748b;
}

.soc-metric-trend.up::before,
.soc-metric-trend.flat::before {
    margin-right: 0.4rem;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.soc-metric-trend.up::before { content: "\f062"; color: #16a34a; }
.soc-metric-trend.flat::before { content: "\f068"; color: #64748b; }

.soc-panel {
    padding: 1.15rem 1.2rem;
}

.soc-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.soc-panel-head h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.soc-panel-head p {
    margin: 0.25rem 0 0;
    color: #64748b;
}

.soc-mini-badge {
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
    font-weight: 700;
    white-space: nowrap;
}

.soc-priority-grid,
.soc-recommendation-list,
.soc-coverage-list,
.soc-risk-stack {
    display: grid;
    gap: 0.9rem;
}

.soc-priority-card,
.soc-rec-card,
.soc-coverage-item,
.soc-session-card,
.soc-guidelines {
    border-radius: 22px;
    border: 1px solid rgba(148,163,184,0.18);
    background: rgba(255,255,255,0.86);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.soc-priority-card {
    padding: 1rem 1rem 1rem 1.05rem;
    border-left: 5px solid transparent;
}

.soc-priority-card[data-soc-severity="critical"] { border-left-color: #dc2626; }
.soc-priority-card[data-soc-severity="high"] { border-left-color: #ea580c; }
.soc-priority-card[data-soc-severity="medium"] { border-left-color: #2563eb; }
.soc-priority-card[data-soc-severity="healthy"] { border-left-color: #16a34a; }

.soc-priority-card h4,
.soc-rec-card h4 {
    font-size: 1.02rem;
    font-weight: 800;
    margin: 0.8rem 0 0.45rem;
}

.soc-priority-card p,
.soc-rec-card p {
    margin: 0;
    color: #475569;
}

.soc-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.soc-action-btn {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(15,23,42,0.94), rgba(37,99,235,0.94));
    color: #fff !important;
    box-shadow: 0 18px 28px rgba(37, 99, 235, 0.18);
    font-weight: 700;
}

.soc-action-btn:hover {
    transform: translateY(-1px);
    text-decoration: none;
}

.soc-session-card {
    padding: 0.75rem 0.9rem;
}

.soc-session-title,
.soc-stack-title {
    font-weight: 800;
    margin-bottom: 0.65rem;
    color: #0f172a;
}

.soc-session-card th,
.soc-session-card td {
    border-top: 0 !important;
    padding: 0.4rem 0;
}

.soc-bars {
    min-height: 220px;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.8rem;
    align-items: end;
    padding: 0.6rem 0.25rem 0;
}

.soc-bar-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
}

.soc-bars-stack {
    width: 100%;
    height: 180px;
    display: flex;
    align-items: end;
    justify-content: center;
    gap: 0.35rem;
    padding: 0 0.3rem;
}

.soc-bar {
    display: inline-block;
    width: 18px;
    min-height: 8px;
    border-radius: 999px 999px 8px 8px;
    transition: transform .2s ease;
}

.soc-bar:hover { transform: translateY(-2px); }
.soc-bar.login { background: linear-gradient(180deg, #60a5fa, #2563eb); }
.soc-bar.risk { background: linear-gradient(180deg, #fb7185, #dc2626); }

.soc-bar-label {
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 700;
}

.soc-legend {
    display: flex;
    gap: 1rem;
    margin-top: 0.8rem;
    color: #475569;
    font-size: 0.84rem;
}

.soc-coverage-meter {
    margin-bottom: 1rem;
}

.soc-coverage-bar {
    width: 100%;
    height: 13px;
    border-radius: 999px;
    background: rgba(148,163,184,0.16);
    overflow: hidden;
}

.soc-coverage-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #22c55e);
}

.soc-coverage-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.65rem;
    font-size: 0.86rem;
    color: #475569;
}

.soc-coverage-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1rem;
}

.soc-missing-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.55rem;
}

.soc-missing-tags span {
    border-radius: 999px;
    background: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
    padding: 0.28rem 0.55rem;
    font-size: 0.75rem;
    font-weight: 700;
}

.soc-table thead th {
    border-top: 0;
    color: #475569;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.soc-table tbody td,
.soc-table tbody th {
    vertical-align: middle;
}

.soc-badge-status,
.soc-severity-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border-radius: 999px;
    padding: 0.45rem 0.72rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.soc-badge-status.is-ok {
    background: rgba(34,197,94,0.12);
    color: #166534;
}

.soc-badge-status.is-risk {
    background: rgba(239,68,68,0.10);
    color: #b91c1c;
}

.soc-severity-pill.critical { background: rgba(239,68,68,0.12); color: #b91c1c; }
.soc-severity-pill.high { background: rgba(249,115,22,0.14); color: #c2410c; }
.soc-severity-pill.medium { background: rgba(37,99,235,0.12); color: #1d4ed8; }
.soc-severity-pill.healthy { background: rgba(34,197,94,0.12); color: #166534; }

.soc-rec-card {
    padding: 1rem 1rem 1.05rem;
}

.soc-rec-card.is-enabled {
    border-color: rgba(34,197,94,0.28);
    box-shadow: 0 16px 32px rgba(34,197,94,0.10);
}

.soc-rec-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
}

.soc-rec-icon.critical { background: rgba(239,68,68,0.1); color: #b91c1c; }
.soc-rec-icon.high { background: rgba(249,115,22,0.14); color: #c2410c; }
.soc-rec-icon.medium { background: rgba(37,99,235,0.1); color: #1d4ed8; }
.soc-rec-icon.healthy { background: rgba(34,197,94,0.1); color: #166534; }

.soc-rec-next {
    margin-top: 0.8rem;
    padding-top: 0.75rem;
    border-top: 1px dashed rgba(148,163,184,0.24);
    color: #334155;
    font-size: 0.9rem;
}

.soc-rec-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.85rem;
}

.soc-risk-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 0.85rem;
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.95);
    border: 1px solid rgba(148,163,184,0.14);
    margin-bottom: 0.55rem;
}

.soc-guidelines {
    padding: 1rem;
}

.soc-guidelines ul {
    margin: 0;
    padding-left: 1.1rem;
    color: #334155;
}

.soc-guidelines li + li {
    margin-top: 0.55rem;
}

@media (max-width: 991.98px) {
    .soc-hero {
        grid-template-columns: 1fr;
    }

    .soc-filterbar,
    .soc-panel-head,
    .soc-coverage-meta {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 767.98px) {
    .soc-action-grid {
        grid-template-columns: 1fr;
    }

    .soc-bars {
        gap: 0.35rem;
    }

    .soc-bar {
        width: 12px;
    }

    .soc-coverage-item {
        flex-direction: column;
        align-items: flex-start;
    }
}


.excel-center-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.7rem 1.8rem;
    border-radius: 28px;
    border: 1px solid rgba(99,102,241,.14);
    box-shadow: 0 22px 44px rgba(15,23,42,.08);
    background:
        radial-gradient(circle at top right, rgba(59,130,246,.16), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
}

.excel-hero-copy {
    max-width: 760px;
}

.excel-hero-kicker {
    display: inline-flex;
    align-items: center;
    padding: .5rem .82rem;
    border-radius: 999px;
    background: rgba(37,99,235,.08);
    color: #1d4ed8;
    font-weight: 800;
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .8rem;
}

.excel-hero-title {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -.03em;
    color: #0f172a;
}

.excel-hero-text {
    color: #475569;
    font-size: 1rem;
    max-width: 760px;
}

.excel-hero-badges {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    min-width: 220px;
}

.excel-badge-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .82rem 1rem;
    border-radius: 18px;
    background: rgba(15,23,42,.94);
    color: #fff;
    font-weight: 700;
    box-shadow: 0 16px 30px rgba(15,23,42,.18);
}

.excel-panel-card {
    border: 1px solid rgba(148,163,184,.16);
    box-shadow: 0 24px 50px rgba(15,23,42,.08);
    border-radius: 28px;
    overflow: hidden;
}

.excel-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.excel-section-head h3 {
    font-weight: 800;
    letter-spacing: -.02em;
    color: #0f172a;
}

.excel-section-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55), 0 14px 28px rgba(37,99,235,.12);
}

.excel-form-grid .form-group label {
    font-weight: 700;
    color: #334155;
    margin-bottom: .55rem;
}

.excel-input,
.excel-upload-label {
    background: rgba(248,250,252,.94) !important;
    border-color: rgba(148,163,184,.28) !important;
}

.excel-input:hover,
.excel-upload-label:hover {
    border-color: rgba(99,102,241,.34) !important;
}

.excel-upload-shell {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(148,163,184,.14);
}

.excel-upload-shell .custom-file-label {
    min-height: 56px;
    display: flex;
    align-items: center;
    padding-left: 1rem;
}

.excel-upload-shell .custom-file-label::after {
    height: calc(100% - 10px);
    top: 5px;
    right: 5px;
    border-radius: 12px;
    background: linear-gradient(135deg, #2563eb, #4f46e5);
    color: #fff;
    border-left: 0;
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    box-shadow: 0 10px 20px rgba(79,70,229,.18);
}

.excel-action-row,
.excel-secondary-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9rem;
    flex-wrap: wrap;
}

.excel-inline-note {
    display: inline-flex;
    align-items: center;
    padding: .78rem 1rem;
    border-radius: 16px;
    background: rgba(15,23,42,.05);
    color: #334155;
    font-weight: 600;
}

.excel-primary-btn,
.excel-secondary-btn,
.excel-action-btn {
    min-height: 48px;
    border-radius: 16px !important;
    font-weight: 800;
    letter-spacing: -.01em;
}

.excel-primary-btn {
    min-width: 180px;
    box-shadow: 0 18px 30px rgba(37,99,235,.18);
}

.excel-secondary-btn,
.excel-action-btn.btn-outline-primary,
.excel-action-btn.btn-outline-secondary {
    background: rgba(255,255,255,.9);
    border-width: 1px;
    box-shadow: 0 10px 24px rgba(15,23,42,.06);
}

.excel-primary-btn:hover,
.excel-secondary-btn:hover,
.excel-action-btn:hover {
    transform: translateY(-1px);
}

@media (max-width: 991.98px) {
    .excel-center-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .excel-hero-badges {
        width: 100%;
        min-width: 0;
        flex-direction: row;
        flex-wrap: wrap;
    }
}

@media (max-width: 575.98px) {
    .excel-center-hero,
    .excel-panel-card .card-body {
        padding: 1.2rem !important;
    }

    .excel-hero-title {
        font-size: 1.55rem;
    }

    .excel-primary-btn,
    .excel-secondary-btn {
        width: 100%;
        justify-content: center;
    }

    .excel-inline-note {
        width: 100%;
    }
}


/* Excel center premium refresh */
.excel-center-shell {
    position: relative;
}
.excel-center-hero {
    gap: 1.5rem;
    padding: 2rem 2.1rem;
    border-radius: 30px;
    border: 1px solid rgba(99, 102, 241, .12);
    box-shadow: 0 26px 50px rgba(15, 23, 42, .08);
    background:
        radial-gradient(circle at 100% 0, rgba(59,130,246,.18), transparent 26%),
        radial-gradient(circle at 0 100%, rgba(79,70,229,.12), transparent 24%),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
}
.excel-hero-title {
    font-size: 2.2rem;
    line-height: 1.04;
}
.excel-hero-badges {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 0;
}
.excel-badge-pill {
    border-radius: 999px;
    padding: .82rem 1rem;
    background: rgba(15, 23, 42, .92);
}
.excel-panel-card {
    border-radius: 30px;
    border: 1px solid rgba(148,163,184,.18);
    box-shadow: 0 24px 48px rgba(15,23,42,.07);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.97));
}
.excel-panel-card .card-body {
    padding: 2rem !important;
}
.excel-section-head {
    margin-bottom: 1.35rem;
}
.excel-section-head h3 {
    font-size: 1.8rem;
    letter-spacing: -.03em;
}
.excel-section-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    box-shadow: 0 18px 36px rgba(15,23,42,.10);
}
.excel-section-icon-success {
    background: linear-gradient(135deg, rgba(34,197,94,.16), rgba(16,185,129,.11));
    color: #16a34a;
}
.excel-section-icon-primary {
    background: linear-gradient(135deg, rgba(37,99,235,.16), rgba(99,102,241,.11));
    color: #2563eb;
}
.excel-form-grid .form-group {
    margin-bottom: 1rem;
}
.excel-input {
    min-height: 56px;
    border-radius: 18px;
    padding-left: 1rem;
    font-weight: 600;
    color: #334155;
    background: #f8fafc !important;
    border: 1px solid rgba(148,163,184,.24) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
.excel-upload-shell,
.excel-upload-shell .custom-file-label {
    border-radius: 18px;
}
.excel-upload-shell .custom-file-label {
    min-height: 58px;
    background: #f8fafc !important;
    border: 1px solid rgba(148,163,184,.24) !important;
    color: #475569;
    font-weight: 600;
}
.excel-upload-shell .custom-file-label::after {
    border-radius: 14px;
    padding: 0 1rem;
    background: linear-gradient(135deg, #1d4ed8, #4f46e5);
    color: #fff;
    font-weight: 800;
    line-height: 44px;
}
.excel-action-row,
.excel-secondary-actions {
    gap: 1rem;
}
.excel-inline-note {
    min-height: 52px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(15,23,42,.05), rgba(99,102,241,.05));
    border: 1px solid rgba(148,163,184,.14);
    color: #334155;
}
.excel-primary-btn,
.excel-secondary-btn {
    min-height: 52px;
    padding: .9rem 1.35rem;
    border-radius: 16px !important;
    font-size: 1rem;
    font-weight: 800;
}
.excel-primary-btn.btn-success {
    background: linear-gradient(135deg, #16a34a, #22c55e);
    border: 0;
    box-shadow: 0 18px 36px rgba(34,197,94,.22);
}
.excel-primary-btn.btn-primary {
    background: linear-gradient(135deg, #1d4ed8, #4f46e5);
    border: 0;
    box-shadow: 0 18px 36px rgba(37,99,235,.22);
}
.excel-secondary-btn {
    border-width: 1px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 24px rgba(15,23,42,.06);
}
@media (max-width: 991.98px) {
    .excel-hero-title {
        font-size: 1.8rem;
    }
    .excel-hero-badges {
        justify-content: flex-start;
    }
}
@media (max-width: 575.98px) {
    .excel-panel-card .card-body,
    .excel-center-hero {
        padding: 1.2rem !important;
    }
    .excel-section-head h3 {
        font-size: 1.45rem;
    }
}



/* Excel center luxe refresh */
.excel-luxe-shell {
    position: relative;
}
.excel-luxe-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
    gap: 1.35rem;
    padding: 2.1rem 2.15rem;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(148,163,184,.16);
    background:
        radial-gradient(circle at 12% 18%, rgba(34,197,94,.14), transparent 22%),
        radial-gradient(circle at 88% 12%, rgba(59,130,246,.18), transparent 25%),
        radial-gradient(circle at 100% 100%, rgba(99,102,241,.16), transparent 30%),
        linear-gradient(145deg, rgba(15,23,42,.98), rgba(30,41,59,.96) 45%, rgba(248,250,252,.98) 130%);
    box-shadow: 0 28px 58px rgba(15,23,42,.16);
    color: #fff;
    margin-bottom: 1.35rem;
}
.excel-luxe-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 32%);
    pointer-events: none;
}
.excel-luxe-hero__copy,
.excel-luxe-hero__panel {
    position: relative;
    z-index: 1;
}
.excel-luxe-chip,
.excel-luxe-section-chip {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .46rem .82rem;
    border-radius: 999px;
    font-weight: 800;
    font-size: .82rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.excel-luxe-chip {
    background: rgba(255,255,255,.12);
    color: #eff6ff;
    margin-bottom: 1rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.excel-luxe-title {
    margin: 0 0 .7rem;
    font-size: 2.45rem;
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: -.04em;
    max-width: 820px;
}
.excel-luxe-text {
    margin: 0;
    color: rgba(226,232,240,.92);
    font-size: 1.03rem;
    max-width: 760px;
}
.excel-luxe-pillbar {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.3rem;
}
.excel-luxe-pill {
    display: inline-flex;
    align-items: center;
    padding: .72rem .98rem;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
    backdrop-filter: blur(8px);
}
.excel-luxe-hero__panel {
    display: grid;
    gap: .9rem;
    align-content: start;
}
.excel-luxe-stat {
    padding: 1rem 1rem 1.05rem;
    border-radius: 22px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
}
.excel-luxe-stat span {
    display: block;
    color: rgba(226,232,240,.82);
    font-size: .82rem;
    margin-bottom: .3rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.excel-luxe-stat strong {
    display: block;
    color: #fff;
    font-size: 1.08rem;
    line-height: 1.2;
}
.excel-luxe-ghost {
    min-height: 52px;
    border-radius: 18px !important;
    border: 0 !important;
    color: #0f172a !important;
    font-weight: 800 !important;
    box-shadow: 0 18px 32px rgba(15,23,42,.16);
}
.excel-luxe-card {
    border: 1px solid rgba(148,163,184,.16);
    border-radius: 30px;
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0, rgba(59,130,246,.08), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
    box-shadow: 0 22px 50px rgba(15,23,42,.08);
}
.excel-luxe-card .card-body {
    padding: 2rem 2rem 2.05rem !important;
}
.excel-luxe-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.4rem;
}
.excel-luxe-card__head h3 {
    margin: .6rem 0 .4rem;
    font-size: 1.95rem;
    font-weight: 900;
    letter-spacing: -.04em;
    color: #0f172a;
}
.excel-luxe-card__head p {
    margin: 0;
    color: #64748b;
    font-size: 1rem;
}
.excel-luxe-section-chip {
    background: rgba(79,70,229,.1);
    color: #4f46e5;
}
.excel-luxe-icon {
    width: 70px;
    height: 70px;
    border-radius: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(34,197,94,.18), rgba(16,185,129,.12));
    color: #16a34a;
    font-size: 1.4rem;
    box-shadow: 0 20px 36px rgba(15,23,42,.08);
    flex-shrink: 0;
}
.excel-luxe-icon--blue {
    background: linear-gradient(135deg, rgba(37,99,235,.18), rgba(99,102,241,.14));
    color: #2563eb;
}
.excel-luxe-form .form-group label,
.excel-luxe-card label {
    font-weight: 800;
    color: #1e293b;
    margin-bottom: .6rem;
}
.excel-luxe-input,
.excel-luxe-upload .custom-file-label {
    min-height: 58px;
    border-radius: 18px !important;
    border: 1px solid rgba(148,163,184,.22) !important;
    background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
    padding-left: 1rem;
    font-weight: 700;
    color: #334155;
}
.excel-luxe-input:focus,
.excel-luxe-upload .custom-file-input:focus ~ .custom-file-label {
    border-color: rgba(59,130,246,.46) !important;
    box-shadow: 0 0 0 .2rem rgba(59,130,246,.12), inset 0 1px 0 rgba(255,255,255,.75) !important;
}
.excel-luxe-upload .custom-file-label::after {
    border-radius: 14px;
    border: 0;
    right: 6px;
    top: 6px;
    bottom: 6px;
    height: auto;
    padding: 0 1rem;
    background: linear-gradient(135deg, #1d4ed8, #4f46e5);
    color: #fff;
    font-weight: 800;
    line-height: 46px;
}
.excel-luxe-toolbar,
.excel-luxe-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.excel-luxe-note {
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    padding: .95rem 1rem;
    border-radius: 18px;
    color: #334155;
    font-weight: 700;
    background: linear-gradient(135deg, rgba(15,23,42,.04), rgba(59,130,246,.05));
    border: 1px solid rgba(148,163,184,.14);
}
.excel-luxe-btn {
    min-height: 54px;
    padding: .9rem 1.4rem;
    border-radius: 18px !important;
    font-size: 1rem;
    font-weight: 900 !important;
    border: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 18px 36px rgba(15,23,42,.10);
}
.excel-luxe-btn--success {
    color: #fff !important;
    background: linear-gradient(135deg, #16a34a, #22c55e);
}
.excel-luxe-btn--primary {
    color: #fff !important;
    background: linear-gradient(135deg, #1d4ed8, #4f46e5);
}
.excel-luxe-btn--light {
    color: #1d4ed8 !important;
    background: #fff;
    border: 1px solid rgba(59,130,246,.22) !important;
}
.excel-luxe-btn:hover,
.excel-luxe-ghost:hover {
    transform: translateY(-1px);
    text-decoration: none;
}
@media (max-width: 1199.98px) {
    .excel-luxe-title {
        font-size: 2.1rem;
    }
}
@media (max-width: 991.98px) {
    .excel-luxe-hero {
        grid-template-columns: 1fr;
        padding: 1.5rem;
    }
}
@media (max-width: 575.98px) {
    .excel-luxe-title {
        font-size: 1.74rem;
    }
    .excel-luxe-card .card-body {
        padding: 1.2rem !important;
    }
    .excel-luxe-toolbar,
    .excel-luxe-actions {
        align-items: stretch;
    }
    .excel-luxe-btn,
    .excel-luxe-ghost {
        width: 100%;
    }
}


/* --- Excel center deluxe refresh --- */
.excel-center-shell.excel-luxe-shell{position:relative;padding:0;background:transparent}
.excel-luxe-hero{display:grid;grid-template-columns:1.5fr .9fr;gap:24px;padding:30px 32px;border-radius:30px;background:
linear-gradient(135deg,rgba(15,23,42,.95),rgba(29,78,216,.90)),
radial-gradient(circle at top right,rgba(255,255,255,.22),transparent 40%);
box-shadow:0 32px 90px rgba(15,23,42,.24);color:#fff;margin-bottom:26px;overflow:hidden}
.excel-luxe-hero::after{content:"";position:absolute;inset:auto -90px -110px auto;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.08);filter:blur(4px)}
.excel-luxe-title{font-size:3rem;line-height:1.03;font-weight:800;margin:.35rem 0 1rem;max-width:780px}
.excel-luxe-text{font-size:1.08rem;line-height:1.75;max-width:720px;color:rgba(255,255,255,.82)}
.excel-luxe-chip{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.excel-luxe-pillbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.excel-luxe-pill{display:inline-flex;align-items:center;padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:600}
.excel-luxe-hero__panel{padding:22px;border-radius:24px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);display:grid;gap:14px;align-content:start}
.excel-luxe-stat{padding:15px 16px;border-radius:18px;background:rgba(255,255,255,.12)}
.excel-luxe-stat span{display:block;color:rgba(255,255,255,.70);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.excel-luxe-stat strong{display:block;color:#fff;font-size:1.2rem;margin-top:6px}
.excel-luxe-ghost{border-radius:16px;font-weight:700}
.excel-luxe-card{border:none;border-radius:28px;box-shadow:0 24px 60px rgba(15,23,42,.12);overflow:hidden;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.excel-luxe-card .card-body{padding:30px}
.excel-luxe-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}
.excel-luxe-card__head h3{font-size:2rem;font-weight:800;margin:10px 0 8px;color:#0f172a}
.excel-luxe-card__head p{color:#64748b;font-size:1rem;line-height:1.8;margin:0}
.excel-luxe-section-chip{display:inline-flex;padding:8px 14px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.77rem}
.excel-luxe-icon{width:64px;height:64px;border-radius:22px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#15803d;box-shadow:inset 0 0 0 1px rgba(21,128,61,.10)}
.excel-luxe-icon--blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}
.excel-luxe-input{height:58px;border-radius:18px;border:1px solid #d8e0ef;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.excel-luxe-input:focus{border-color:#4f46e5;box-shadow:0 0 0 .2rem rgba(79,70,229,.16)}
.excel-luxe-toolbar,.excel-luxe-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:8px}
.excel-luxe-note{display:flex;align-items:center;color:#0f172a;font-weight:600;background:#eff6ff;border-radius:16px;padding:12px 15px}
.excel-luxe-btn{border-radius:18px;padding:14px 22px;font-weight:800;box-shadow:0 18px 36px rgba(37,99,235,.18)}
.excel-luxe-btn--success{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;border:none}
.excel-luxe-btn--primary{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;border:none}
.excel-luxe-btn--light{background:#fff;color:#2563eb;border:1px solid #cbd5e1}
.excel-luxe-upload .custom-file-label{height:58px;padding:16px 18px;border-radius:18px;border:1px solid #d8e0ef}
.excel-luxe-upload .custom-file-label::after{height:56px;border-radius:0 18px 18px 0;padding-top:16px}
@media (max-width: 991.98px){.excel-luxe-hero{grid-template-columns:1fr}.excel-luxe-title{font-size:2.3rem}}
@media (max-width: 575.98px){.excel-luxe-card .card-body,.excel-luxe-hero{padding:22px}.excel-luxe-title{font-size:1.9rem}}

/* --- Encuestadores + correo --- */
.deluxe-soft-box{padding:14px 16px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;line-height:1.7}
.deluxe-mail-card{border:none;border-radius:24px;box-shadow:0 24px 54px rgba(15,23,42,.10)}
.deluxe-mail-card .card-body{padding:28px}
.deluxe-mail-card--side{background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%)}
.mail-health-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed #dbe3f0;color:#334155}
.mail-health-line:last-child{border-bottom:none}
.force-password-body{min-height:100vh;background:radial-gradient(circle at top,#dbeafe,transparent 38%),linear-gradient(135deg,#0f172a,#1d4ed8);display:flex;align-items:center;justify-content:center;padding:20px}
.force-password-shell{width:min(100%,560px)}
.force-password-card{background:#fff;border-radius:28px;padding:30px;box-shadow:0 30px 90px rgba(15,23,42,.28)}
.force-password-brand{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.force-password-brand img{width:88px;height:auto}
.force-password-eyebrow{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#4338ca}
.force-password-brand h1{font-size:2rem;margin:5px 0 6px;color:#0f172a;font-weight:800}
.force-password-brand p{margin:0;color:#64748b;line-height:1.7}


/* --- Excel center ultra deluxe --- */
.excel-deluxe-shell{position:relative}
.excel-deluxe-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.8fr);gap:24px;padding:34px;border-radius:34px;overflow:hidden;background:linear-gradient(135deg,#081226 0%,#0f172a 28%,#1d4ed8 100%);box-shadow:0 34px 88px rgba(15,23,42,.22);margin-bottom:26px}
.excel-deluxe-hero__glow{position:absolute;inset:auto auto -100px -70px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.22) 0%,rgba(34,197,94,0) 68%);pointer-events:none}
.excel-deluxe-hero__copy,.excel-deluxe-hero__panel{position:relative;z-index:1}
.excel-deluxe-chip{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px)}
.excel-deluxe-title{margin:16px 0 12px;font-size:3rem;line-height:1.02;font-weight:900;letter-spacing:-.05em;color:#fff;max-width:780px}
.excel-deluxe-text{margin:0;color:rgba(226,232,240,.88);font-size:1.06rem;line-height:1.85;max-width:760px}
.excel-deluxe-pillbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.excel-deluxe-pill{display:inline-flex;align-items:center;padding:11px 15px;border-radius:999px;background:rgba(255,255,255,.10);color:#fff;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.excel-deluxe-hero__panel{display:grid;gap:14px;align-content:start;padding:24px;border-radius:28px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px)}
.excel-deluxe-mini-card{padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.12)}
.excel-deluxe-mini-card span{display:block;color:rgba(255,255,255,.65);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.excel-deluxe-mini-card strong{display:block;color:#fff;font-size:1.15rem;margin-top:7px;line-height:1.35}
.excel-deluxe-ghost{display:inline-flex;align-items:center;justify-content:center;border-radius:18px;padding:13px 18px;background:#fff;color:#0f172a;font-weight:800;box-shadow:0 14px 34px rgba(15,23,42,.18)}
.excel-deluxe-grid .card{border:none}
.excel-deluxe-card{border-radius:30px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 26px 64px rgba(15,23,42,.12);border:1px solid rgba(148,163,184,.10);overflow:hidden}
.excel-deluxe-card .card-body{padding:32px}
.excel-deluxe-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:26px}
.excel-deluxe-head h3{margin:12px 0 9px;font-size:2rem;font-weight:900;color:#0f172a;letter-spacing:-.04em}
.excel-deluxe-head p{margin:0;color:#64748b;line-height:1.8;font-size:1rem}
.excel-deluxe-section-chip{display:inline-flex;padding:8px 14px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}
.excel-deluxe-icon{width:68px;height:68px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;font-size:1.45rem;box-shadow:0 20px 45px rgba(34,197,94,.16)}
.excel-deluxe-icon--blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;box-shadow:0 20px 45px rgba(37,99,235,.16)}
.excel-deluxe-input{height:60px;border-radius:18px;border:1px solid #d7dfef;background:#f8fbff;color:#0f172a;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.excel-deluxe-input:focus{border-color:#4f46e5;box-shadow:0 0 0 .2rem rgba(79,70,229,.14)}
.excel-deluxe-note{display:inline-flex;align-items:center;padding:13px 16px;border-radius:16px;background:#eff6ff;color:#0f172a;font-weight:700}
.excel-deluxe-toolbar,.excel-deluxe-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.excel-deluxe-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:18px;padding:14px 22px;font-weight:900;letter-spacing:-.01em}
.excel-deluxe-btn--success{background:linear-gradient(135deg,#16a34a,#22c55e);border:none;color:#fff;box-shadow:0 18px 40px rgba(34,197,94,.24)}
.excel-deluxe-btn--primary{background:linear-gradient(135deg,#1d4ed8,#2563eb);border:none;color:#fff;box-shadow:0 18px 40px rgba(37,99,235,.24)}
.excel-deluxe-btn--light{background:#fff;border:1px solid #d7dfef;color:#1d4ed8;box-shadow:0 16px 30px rgba(15,23,42,.06)}
.excel-deluxe-upload .custom-file-label{height:60px;border-radius:18px;border:1px solid #d7dfef;padding:16px 18px;background:#f8fbff;color:#475569;font-weight:700}
.excel-deluxe-upload .custom-file-label::after{height:58px;border-radius:0 18px 18px 0;background:linear-gradient(135deg,#1d4ed8,#4f46e5);color:#fff;font-weight:800;padding-top:16px}
.excel-deluxe-card--export{position:relative}
.excel-deluxe-card--export::after{content:"";position:absolute;inset:auto -40px -60px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.10) 0%,rgba(37,99,235,0) 72%)}
.excel-deluxe-card--import::after{content:"";position:absolute;inset:-50px auto auto -40px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.10) 0%,rgba(79,70,229,0) 70%)}
@media (max-width: 991.98px){.excel-deluxe-hero{grid-template-columns:1fr}.excel-deluxe-title{font-size:2.3rem}.excel-deluxe-card .card-body{padding:24px}}
@media (max-width: 575.98px){.excel-deluxe-hero,.excel-deluxe-card .card-body{padding:22px}.excel-deluxe-title{font-size:1.9rem}.excel-deluxe-toolbar,.excel-deluxe-actions{align-items:stretch}.excel-deluxe-btn,.excel-deluxe-ghost{width:100%}}


/* Excel center opulent premium */
.excel-opulent-shell{position:relative}
.excel-opulent-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.8fr);gap:22px;padding:34px;border-radius:34px;overflow:hidden;background:radial-gradient(circle at 0 0,rgba(34,197,94,.14),transparent 24%),radial-gradient(circle at 100% 0,rgba(59,130,246,.20),transparent 26%),linear-gradient(135deg,#081226 0%,#0f172a 36%,#1d4ed8 100%);box-shadow:0 34px 88px rgba(15,23,42,.20);margin-bottom:24px}
.excel-opulent-copy,.excel-opulent-panel{position:relative;z-index:1}
.excel-opulent-chip{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px)}
.excel-opulent-title{margin:16px 0 12px;font-size:3rem;line-height:1.02;font-weight:900;letter-spacing:-.05em;color:#fff;max-width:780px}
.excel-opulent-text{margin:0;color:rgba(226,232,240,.88);font-size:1.05rem;line-height:1.8;max-width:760px}
.excel-opulent-pillbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.excel-opulent-pill{display:inline-flex;align-items:center;padding:11px 15px;border-radius:999px;background:rgba(255,255,255,.10);color:#fff;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.excel-opulent-panel{display:grid;gap:14px;align-content:start;padding:24px;border-radius:28px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px)}
.excel-opulent-kpi small,.excel-opulent-kpi-card span{display:block;color:rgba(255,255,255,.65);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.excel-opulent-kpi strong,.excel-opulent-kpi-card strong{display:block;color:#fff;font-size:1.16rem;margin-top:7px;line-height:1.35}
.excel-opulent-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.excel-opulent-kpi,.excel-opulent-kpi-card{padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.12)}
.excel-opulent-ghost{display:inline-flex;align-items:center;justify-content:center;border-radius:18px;padding:13px 18px;background:#fff;color:#0f172a;font-weight:800;box-shadow:0 14px 34px rgba(15,23,42,.18)}
.excel-opulent-grid{margin-bottom:8px}
.excel-opulent-stat{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid rgba(148,163,184,.12);box-shadow:0 22px 50px rgba(15,23,42,.08)}
.excel-opulent-stat small{display:block;color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}
.excel-opulent-stat strong{display:block;color:#0f172a;font-size:1.08rem;margin-top:4px}
.excel-opulent-stat__icon{width:58px;height:58px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;font-size:1.25rem;box-shadow:0 20px 42px rgba(34,197,94,.16)}
.excel-opulent-stat__icon--blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;box-shadow:0 20px 42px rgba(37,99,235,.16)}
.excel-opulent-stat__icon--dark{background:linear-gradient(135deg,#0f172a,#334155);color:#fff;box-shadow:0 20px 42px rgba(15,23,42,.22)}
.excel-opulent-main .card{border:none}
.excel-opulent-card{position:relative;border-radius:30px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 26px 64px rgba(15,23,42,.12);border:1px solid rgba(148,163,184,.10);overflow:hidden}
.excel-opulent-card .card-body{padding:32px}
.excel-opulent-card--export::after{content:"";position:absolute;inset:auto -40px -60px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.10) 0%,rgba(37,99,235,0) 72%)}
.excel-opulent-card--import::after{content:"";position:absolute;inset:-50px auto auto -40px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.10) 0%,rgba(79,70,229,0) 70%)}
.excel-opulent-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:26px}
.excel-opulent-head h3{margin:12px 0 9px;font-size:2rem;font-weight:900;color:#0f172a;letter-spacing:-.04em}
.excel-opulent-head p{margin:0;color:#64748b;line-height:1.8;font-size:1rem}
.excel-opulent-section-chip{display:inline-flex;padding:8px 14px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}
.excel-opulent-section-chip--blue{background:#dbeafe;color:#1d4ed8}
.excel-opulent-icon{width:68px;height:68px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;font-size:1.45rem;box-shadow:0 20px 45px rgba(34,197,94,.16)}
.excel-opulent-icon--blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;box-shadow:0 20px 45px rgba(37,99,235,.16)}
.excel-opulent-input{height:60px;border-radius:18px;border:1px solid #d7dfef;background:#f8fbff;color:#0f172a;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.excel-opulent-input:focus{border-color:#4f46e5;box-shadow:0 0 0 .2rem rgba(79,70,229,.14)}
.excel-opulent-note{display:inline-flex;align-items:center;padding:13px 16px;border-radius:16px;background:#eff6ff;color:#0f172a;font-weight:700}
.excel-opulent-toolbar,.excel-opulent-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.excel-opulent-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:18px;padding:14px 22px;font-weight:900;letter-spacing:-.01em}
.excel-opulent-btn--success{background:linear-gradient(135deg,#16a34a,#22c55e);border:none;color:#fff;box-shadow:0 18px 40px rgba(34,197,94,.24)}
.excel-opulent-btn--primary{background:linear-gradient(135deg,#1d4ed8,#2563eb);border:none;color:#fff;box-shadow:0 18px 40px rgba(37,99,235,.24)}
.excel-opulent-btn--light{background:#fff;border:1px solid #d7dfef;color:#1d4ed8;box-shadow:0 16px 30px rgba(15,23,42,.06)}
.excel-opulent-upload .custom-file-label{height:60px;border-radius:18px;border:1px solid #d7dfef;padding:16px 18px;background:#f8fbff;color:#475569;font-weight:700}
.excel-opulent-upload .custom-file-label::after{height:58px;border-radius:0 18px 18px 0;background:linear-gradient(135deg,#1d4ed8,#4f46e5);color:#fff;font-weight:800;padding-top:16px}
@media (max-width: 991.98px){.excel-opulent-hero{grid-template-columns:1fr}.excel-opulent-title{font-size:2.2rem}.excel-opulent-card .card-body{padding:24px}}
@media (max-width: 575.98px){.excel-opulent-hero,.excel-opulent-card .card-body{padding:22px}.excel-opulent-title{font-size:1.8rem}.excel-opulent-kpi-grid{grid-template-columns:1fr}.excel-opulent-toolbar,.excel-opulent-actions{align-items:stretch}.excel-opulent-btn,.excel-opulent-ghost{width:100%}}


.excel-imperial-shell{position:relative}
.excel-imperial-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.82fr);gap:24px;padding:38px;border-radius:34px;overflow:hidden;background:radial-gradient(circle at 0 0,rgba(16,185,129,.18),transparent 25%),radial-gradient(circle at 100% 0,rgba(59,130,246,.22),transparent 28%),linear-gradient(135deg,#050c19 0%,#0f172a 36%,#1d4ed8 100%);box-shadow:0 36px 92px rgba(15,23,42,.22);margin-bottom:28px}
.excel-imperial-hero__glow{position:absolute;right:-90px;bottom:-110px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 68%);pointer-events:none}
.excel-imperial-hero__copy,.excel-imperial-hero__panel{position:relative;z-index:1}
.excel-imperial-chip{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px)}
.excel-imperial-title{margin:16px 0 12px;font-size:3.15rem;line-height:1.02;font-weight:900;letter-spacing:-.05em;color:#fff;max-width:820px}
.excel-imperial-text{margin:0;color:rgba(226,232,240,.90);font-size:1.06rem;line-height:1.9;max-width:780px}
.excel-imperial-pillbar{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.excel-imperial-pill{display:inline-flex;align-items:center;padding:11px 16px;border-radius:999px;background:rgba(255,255,255,.10);color:#fff;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.excel-imperial-hero__panel{padding:24px;border-radius:28px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);display:grid;gap:14px;align-content:start}
.excel-imperial-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.excel-imperial-mini-card{padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.12)}
.excel-imperial-mini-card span{display:block;color:rgba(255,255,255,.66);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.excel-imperial-mini-card strong{display:block;color:#fff;font-size:1.16rem;line-height:1.4;margin-top:7px}
.excel-imperial-ghost{display:inline-flex;align-items:center;justify-content:center;border-radius:18px;padding:13px 18px;background:#fff;color:#0f172a;font-weight:800;box-shadow:0 14px 34px rgba(15,23,42,.18)}
.excel-imperial-stats .card{border:none}
.excel-imperial-stat{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 24px 58px rgba(15,23,42,.10);border:1px solid rgba(148,163,184,.12)}
.excel-imperial-stat__icon{width:54px;height:54px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;font-size:1.2rem;box-shadow:0 15px 30px rgba(34,197,94,.16)}
.excel-imperial-stat__icon--blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;box-shadow:0 15px 30px rgba(37,99,235,.16)}
.excel-imperial-stat__icon--gold{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309;box-shadow:0 15px 30px rgba(245,158,11,.15)}
.excel-imperial-stat small{display:block;color:#64748b;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.excel-imperial-stat strong{display:block;color:#0f172a;font-size:1.08rem;margin-top:6px;line-height:1.45}
.excel-imperial-card{position:relative;border:none;border-radius:30px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 28px 70px rgba(15,23,42,.12);border:1px solid rgba(148,163,184,.10);overflow:hidden}
.excel-imperial-card .card-body{padding:34px}
.excel-imperial-card--export::after{content:"";position:absolute;inset:auto -50px -70px auto;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.10) 0%,rgba(34,197,94,0) 72%)}
.excel-imperial-card--import::after{content:"";position:absolute;inset:-60px auto auto -40px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.11) 0%,rgba(59,130,246,0) 70%)}
.excel-imperial-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:26px}
.excel-imperial-head h3{margin:12px 0 10px;font-size:2rem;font-weight:900;color:#0f172a;letter-spacing:-.04em}
.excel-imperial-head p{margin:0;color:#64748b;line-height:1.85;font-size:1rem}
.excel-imperial-section-chip{display:inline-flex;padding:8px 14px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}
.excel-imperial-section-chip--blue{background:#dbeafe;color:#1d4ed8}
.excel-imperial-icon{width:70px;height:70px;border-radius:24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;font-size:1.55rem;box-shadow:0 22px 48px rgba(34,197,94,.18)}
.excel-imperial-icon--blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;box-shadow:0 22px 48px rgba(37,99,235,.18)}
.excel-imperial-input{height:60px;border-radius:18px;border:1px solid #d7dfef;background:#f8fbff;color:#0f172a;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.excel-imperial-input:focus{border-color:#4f46e5;box-shadow:0 0 0 .2rem rgba(79,70,229,.14)}
.excel-imperial-upload .custom-file-label{height:60px;border-radius:18px;border:1px solid #d7dfef;padding:16px 18px;background:#f8fbff;color:#475569;font-weight:700}
.excel-imperial-upload .custom-file-label::after{height:58px;border-radius:0 18px 18px 0;background:linear-gradient(135deg,#1d4ed8,#4f46e5);color:#fff;font-weight:800;padding-top:16px}
.excel-imperial-toolbar,.excel-imperial-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.excel-imperial-note{display:inline-flex;align-items:center;padding:13px 16px;border-radius:16px;background:#eff6ff;color:#0f172a;font-weight:700}
.excel-imperial-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:18px;padding:14px 22px;font-weight:900;letter-spacing:-.01em}
.excel-imperial-btn--success{background:linear-gradient(135deg,#16a34a,#22c55e);border:none;color:#fff;box-shadow:0 18px 40px rgba(34,197,94,.24)}
.excel-imperial-btn--primary{background:linear-gradient(135deg,#1d4ed8,#2563eb);border:none;color:#fff;box-shadow:0 18px 40px rgba(37,99,235,.24)}
.excel-imperial-btn--light{background:#fff;border:1px solid #d7dfef;color:#1d4ed8;box-shadow:0 16px 30px rgba(15,23,42,.06)}
@media (max-width: 991.98px){.excel-imperial-hero{grid-template-columns:1fr}.excel-imperial-title{font-size:2.4rem}.excel-imperial-card .card-body{padding:24px}}
@media (max-width: 575.98px){.excel-imperial-hero,.excel-imperial-card .card-body{padding:22px}.excel-imperial-title{font-size:1.95rem}.excel-imperial-mini-grid{grid-template-columns:1fr}.excel-imperial-toolbar,.excel-imperial-actions{align-items:stretch}.excel-imperial-btn,.excel-imperial-ghost{width:100%}}

.badge-purple{background:#7c3aed;color:#fff}
.badge-indigo{background:#4338ca;color:#fff}
.org-hub-hero{position:relative;overflow:hidden;padding:2rem;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 42%,#22c55e 100%);color:#fff;border-radius:28px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.95fr);gap:1.5rem;box-shadow:0 30px 80px rgba(15,23,42,.22)}
.org-hub-hero:before{content:"";position:absolute;inset:auto -80px -120px auto;width:280px;height:280px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%);pointer-events:none}
.org-hub-hero__copy h2{font-size:2rem;font-weight:800;margin:1rem 0 .8rem}
.org-hub-hero__copy p{max-width:760px;font-size:1.02rem;opacity:.92}
.org-hub-hero__badges{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.15rem}
.org-hub-hero__panel{display:grid;gap:1rem;align-self:stretch}
.org-hub-kpi{padding:1.15rem 1.25rem;border-radius:22px;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18)}
.org-hub-kpi small{display:block;text-transform:uppercase;letter-spacing:.14em;opacity:.85;margin-bottom:.45rem;font-weight:700}
.org-hub-kpi strong{font-size:1.05rem;line-height:1.5}
.org-premium-headline{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(59,130,246,.1)}
.org-card-strip{display:grid;gap:1rem}
.org-card-strip--countries{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.org-card-strip--states,.org-card-strip--municipalities{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.org-scope-card{position:relative;border:0;border-radius:24px;padding:1.15rem 1.2rem;text-align:left;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:.4rem;transition:all .22s ease;color:#0f172a}
.org-scope-card:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(15,23,42,.12)}
.org-scope-card.active{background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff}
.org-scope-card.active small,.org-scope-card.active .org-scope-card__eyebrow{color:rgba(255,255,255,.88)}
.org-scope-card__eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:800;color:#64748b}
.org-scope-card strong{font-size:1.02rem}
.org-scope-card small{color:#64748b;line-height:1.5}
.org-account-card .table thead th{border-top:0}
.org-account-card .premium-table-shell{border-radius:24px;background:linear-gradient(180deg,#fff,#f8fafc)}
.org-premium-scope{min-width:220px}
@media (max-width: 991px){.org-hub-hero{grid-template-columns:1fr}.org-premium-headline{flex-direction:column;align-items:flex-start}}


.excel-imperial-shell{min-height:420px}
.excel-imperial-hero{align-items:stretch}
.excel-imperial-card .card-body{position:relative;z-index:1}
.org-premium-headline p,.org-account-card p.text-muted{display:none!important}
.org-hub-hero__copy p{display:none!important}
.org-card-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.org-scope-card{border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,#ffffff,#f8fbff);border-radius:22px;padding:18px;text-align:left;box-shadow:0 18px 38px rgba(15,23,42,.08)}
.org-scope-card.active{border-color:#2563eb;box-shadow:0 18px 42px rgba(37,99,235,.18)}
.org-premium-headline{display:flex;justify-content:space-between;align-items:center;gap:18px}
.org-premium-scope .h5{font-size:1.6rem;font-weight:900;color:#0f172a}
@media (max-width: 767.98px){.org-premium-headline{display:block}.org-premium-scope{text-align:left!important;margin-top:12px}}


/* v7 final visual + responsive polish */
.premium-content-wrapper .container-fluid {
    padding-bottom: 1rem;
}
.premium-content-header {
    padding-top: .85rem;
    padding-bottom: .15rem;
}
.content-header h1 {
    font-size: 1.7rem;
    line-height: 1.1;
    margin-bottom: 0;
}
.premium-page-actions .btn,
.excel-action-btn,
.premium-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    min-height: 44px;
}
.premium-shortcut-card .card-body,
.premium-card .card-body,
.premium-surface .card-body {
    padding: 1.15rem;
}
.premium-shortcut-card h4 {
    font-size: 1.08rem;
    font-weight: 800;
}
.premium-shortcut-card p,
.excel-deluxe-head p,
.org-hub-hero__copy p {
    font-size: .94rem;
    line-height: 1.55;
}
.premium-metric-card {
    min-height: 132px;
    padding: 1.1rem;
}
.premium-metric-value {
    font-size: 1.95rem;
}
.premium-chart-card .card-body {
    min-height: 280px;
}
.premium-chart-canvas-wrap,
.premium-chart-canvas-wrap canvas {
    height: 220px !important;
}
.excel-deluxe-hero {
    padding: 24px;
    gap: 18px;
    border-radius: 28px;
}
.excel-deluxe-chip,
.premium-overline,
.excel-deluxe-section,
.excel-deluxe-section-chip,
.excel-imperial-chip {
    font-size: .72rem;
    letter-spacing: .1em;
}
.excel-deluxe-hero h2,
.org-hub-hero__copy h2,
.premium-hero h2 {
    font-size: 1.85rem;
    line-height: 1.06;
    margin-bottom: .5rem;
}
.excel-deluxe-card,
.org-hub-hero,
.premium-hero,
.premium-card-shell {
    border-radius: 24px;
}
.excel-deluxe-card .card-body {
    padding: 24px;
}
.excel-deluxe-head {
    margin-bottom: 18px;
}
.excel-deluxe-head h3 {
    font-size: 1.45rem;
    margin: .55rem 0 .35rem;
}
.excel-deluxe-input,
.excel-deluxe-upload .custom-file-label,
.form-control-lg,
.input-group-lg > .form-control,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .input-group-text {
    min-height: 52px;
    height: 52px;
}
.excel-deluxe-upload .custom-file-label::after {
    height: 50px;
    padding-top: 12px;
}
.excel-deluxe-btn,
.excel-imperial-btn,
.premium-btn {
    min-height: 48px;
    padding: 12px 18px;
}
.excel-deluxe-actions,
.excel-deluxe-toolbar {
    gap: 12px;
}
.org-hub-hero {
    padding: 1.45rem;
    gap: 1rem;
    grid-template-columns: minmax(0,1.6fr) minmax(240px,.8fr);
}
.org-hub-kpi {
    padding: 1rem 1.05rem;
    border-radius: 18px;
}
.org-hub-kpi strong {
    font-size: 1rem;
}
.table-responsive,
.premium-table-wrap,
.premium-table-shell {
    border-radius: 18px;
}
.modal-content {
    border-radius: 24px;
    overflow: hidden;
}
.card-header {
    padding: 1rem 1.15rem;
}
.card-title {
    font-weight: 800;
}
.alert {
    border-radius: 18px;
}
.municipio-card,
.person-card,
.premium-shortcut-card {
    border-radius: 20px;
}
.premium-footer {
    padding: .85rem 1rem;
}
.simple-card-link,
.simple-card-link:hover {
    color: inherit;
    text-decoration: none;
}
@media (max-width: 1199.98px) {
    .premium-hero,
    .org-hub-hero,
    .excel-deluxe-hero {
        box-shadow: 0 20px 50px rgba(15,23,42,.14);
    }
    .premium-chart-card .card-body {
        min-height: 250px;
    }
}
@media (max-width: 991.98px) {
    .content-header h1 {
        font-size: 1.5rem;
    }
    .premium-page-actions {
        display: flex;
        flex-wrap: wrap;
        gap: .55rem;
        text-align: left !important;
        margin-top: .85rem;
    }
    .premium-page-actions .btn,
    .excel-action-btn,
    .premium-action-btn {
        margin: 0 !important;
    }
    .premium-brand-link {
        min-height: 70px;
    }
    .premium-brand-logo-wrap {
        width: 46px;
        height: 46px;
        border-radius: 16px;
    }
    .premium-brand-copy .brand-text {
        font-size: .98rem;
    }
    .premium-shortcuts-row > [class*="col-"] {
        margin-bottom: 1rem;
    }
    .excel-deluxe-hero,
    .org-hub-hero {
        grid-template-columns: 1fr;
    }
    .excel-deluxe-side,
    .org-hub-hero__panel {
        width: 100%;
    }
}
@media (max-width: 767.98px) {
    body.sidebar-open .content-wrapper::before {
        content: '';
        position: fixed;
        inset: 0;
        background: rgba(15,23,42,.18);
        z-index: 1029;
    }
    .content-header h1 {
        font-size: 1.35rem;
    }
    .premium-content-header {
        padding-top: .65rem;
    }
    .premium-hero,
    .excel-deluxe-hero,
    .org-hub-hero,
    .premium-card-shell,
    .excel-deluxe-card,
    .premium-card,
    .premium-surface {
        border-radius: 20px;
    }
    .premium-hero,
    .excel-deluxe-hero,
    .org-hub-hero {
        padding: 1rem;
        gap: .85rem;
    }
    .premium-hero h2,
    .excel-deluxe-hero h2,
    .org-hub-hero__copy h2 {
        font-size: 1.45rem;
    }
    .premium-role-pill,
    .excel-deluxe-side-card,
    .org-hub-kpi {
        width: 100%;
        justify-content: flex-start;
    }
    .premium-page-actions .btn,
    .excel-action-btn,
    .premium-action-btn,
    .excel-deluxe-btn,
    .excel-imperial-btn {
        width: 100%;
    }
    .premium-shortcut-icon {
        width: 50px;
        height: 50px;
        border-radius: 16px;
        font-size: 1.2rem;
    }
    .premium-shortcut-card .card-body,
    .premium-card .card-body,
    .premium-surface .card-body,
    .excel-deluxe-card .card-body {
        padding: 1rem;
    }
    .premium-chart-head {
        flex-direction: column;
        align-items: flex-start;
    }
    .premium-chart-canvas-wrap,
    .premium-chart-canvas-wrap canvas {
        height: 200px !important;
    }
    .table-premium thead th,
    .table-premium-deluxe thead th {
        font-size: .72rem;
    }
    .premium-datatable-wrapper .dataTables_length,
    .premium-datatable-wrapper .dataTables_filter,
    .premium-datatable-wrapper .dataTables_info,
    .premium-datatable-wrapper .dataTables_paginate {
        text-align: left !important;
    }
    .premium-datatable-wrapper .premium-dt-search {
        min-width: 100%;
    }
    .modal-dialog {
        margin: .75rem;
    }
}
@media (max-width: 575.98px) {
    .premium-topbar {
        padding-inline: .45rem;
    }
    .premium-icon-btn {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }
    .content-header h1 {
        font-size: 1.22rem;
    }
    .excel-deluxe-head h3,
    .card-title,
    .premium-shortcut-card h4 {
        font-size: 1rem;
    }
    .premium-metric-value {
        font-size: 1.7rem;
    }
    .premium-metric-card {
        min-height: 116px;
    }
    .premium-footer {
        font-size: .82rem;
    }
}


.territorio-hero p,.detalle-hero p{max-width:780px}
.territorio-filter-card .territorio-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.territorio-status-pills{display:flex;gap:.5rem;flex-wrap:wrap}
.municipio-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));margin-bottom:1rem}
.premium-kpi-card .hint{margin-top:.2rem;font-size:.76rem;color:#64748b}
.timeline-lite{display:flex;flex-direction:column;gap:1rem;padding:1.25rem}
.timeline-lite-item{display:flex;gap:1rem;align-items:flex-start}
.timeline-lite-dot{width:38px;height:38px;border-radius:999px;background:rgba(37,99,235,.1);color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px}
.timeline-lite-content{flex:1;padding:1rem 1.1rem;border-radius:18px;background:#f8fafc;border:1px solid rgba(15,23,42,.06)}
.quick-status{box-shadow:none}
@media (max-width: 767.98px){
  .territorio-filter-head{align-items:stretch}
  .territorio-status-pills{width:100%}
  .territorio-status-pills .btn,.territorio-status-pills .badge{flex:1 1 auto;text-align:center}
  .timeline-lite{padding:1rem}
}


.excel-preview-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.excel-preview-item{padding:14px 16px;border:1px solid rgba(15,23,42,.08);background:#f8fafc;border-radius:16px}
.excel-preview-item span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:4px}
.excel-preview-item strong{font-size:1.35rem;color:#0f172a}
.territorio-mine-toggle .btn{border-radius:999px!important}
.territorio-mine-toggle .btn.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.timeline-lite-item{border-bottom:1px solid rgba(15,23,42,.06)}
.timeline-lite-item:last-child{border-bottom:0}


/* V43 UX premium */
.form-legend-strip{display:flex;flex-wrap:wrap;gap:.75rem 1rem;font-size:.82rem;color:#64748b}
.form-legend-strip span{display:inline-flex;align-items:center;padding:.38rem .72rem;border-radius:999px;background:#f8fafc;border:1px solid rgba(15,23,42,.06)}
.survey-submit-bar{position:sticky;bottom:18px;z-index:15;padding:1rem 1.1rem;border-radius:20px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid rgba(79,70,229,.08);box-shadow:0 22px 48px rgba(15,23,42,.12)}
.field-error-wrap{padding:.9rem;border-radius:18px;background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.14);box-shadow:0 10px 22px rgba(239,68,68,.06)}
#personForm .is-invalid{border-color:#ef4444 !important;box-shadow:0 0 0 .18rem rgba(239,68,68,.12)}
.field-error-note{margin-top:.55rem;font-size:.82rem;font-weight:600;color:#b91c1c}
.territorio-view-helper{padding:1rem 1.1rem;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.06);color:#334155;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.detail-kpi-row .premium-kpi-card{border:1px solid rgba(79,70,229,.07);box-shadow:0 18px 38px rgba(15,23,42,.08)}
.detail-profile-card .box-profile{padding:2rem 1.5rem}
.detail-data-card .card-header,.detail-doc-card .card-header{background:linear-gradient(180deg,#fff,#fafbff)}
.detail-doc-grid .col-md-4{display:flex}
.detail-doc-grid .col-md-4 > *{width:100%}
.document-preview{width:100%;height:220px;object-fit:cover;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:#fff}
.timeline-lite-item{border:1px solid rgba(15,23,42,.06);background:#fff;border-radius:18px;padding:1rem 1rem 1rem 1.1rem;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.dashboard-command-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.15rem;border-radius:22px;background:linear-gradient(135deg,#ffffff,#f8fafc);border:1px solid rgba(15,23,42,.06);box-shadow:0 18px 36px rgba(15,23,42,.06)}
.dashboard-command-pills{display:flex;gap:.55rem;flex-wrap:wrap}
.dashboard-command-pills span{display:inline-flex;align-items:center;padding:.48rem .78rem;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:700;font-size:.78rem;letter-spacing:.01em}
.excel-preview-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.excel-preview-strip{border:1px solid rgba(16,185,129,.12);box-shadow:0 14px 28px rgba(16,185,129,.06)}
@media (max-width: 767.98px){
  .survey-submit-bar{bottom:10px;padding:.85rem .95rem}
  .dashboard-command-bar{padding:.9rem 1rem}
  .document-preview{height:180px}
}


/* V44 premium form polish */
.premium-form-shell{background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(248,250,252,.88));}
.premium-form-progress{border-radius:999px;overflow:hidden;background:rgba(37,99,235,.08);}
.premium-form-progress .progress-bar{background:linear-gradient(90deg,#2563eb,#06b6d4);font-weight:700;}
.premium-form-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.premium-form-step{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid rgba(148,163,184,.18);box-shadow:0 8px 24px rgba(15,23,42,.05);transition:.2s ease;}
.premium-form-step span{width:34px;height:34px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:rgba(37,99,235,.1);color:#1d4ed8;font-weight:800;flex-shrink:0;}
.premium-form-step strong{display:block;font-size:.96rem;color:#0f172a;}
.premium-form-step small{display:block;color:#64748b;font-size:.78rem;margin-top:2px;}
.premium-form-step.is-active{background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(6,182,212,.08));border-color:rgba(37,99,235,.22);transform:translateY(-1px);box-shadow:0 14px 34px rgba(37,99,235,.12);}
.premium-form-step.is-active span{background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;}
.premium-form-legend{display:flex;flex-wrap:wrap;gap:14px;color:#475569;font-size:.84rem;font-weight:600;}
.premium-form-legend span{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(148,163,184,.16);}
.premium-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:1.15rem 1.4rem .95rem;}
.premium-section-kicker{display:inline-block;margin-bottom:.35rem;font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#2563eb;text-transform:uppercase;}
.premium-section-badge{width:48px;height:48px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(6,182,212,.12));color:#1d4ed8;font-size:1.15rem;box-shadow:0 10px 24px rgba(37,99,235,.12);}
.premium-docs-helper{padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(59,130,246,.06));border:1px solid rgba(16,185,129,.14);color:#0f172a;}
.premium-doc-card{padding:14px 14px 12px;border-radius:20px;background:rgba(248,250,252,.8);border:1px solid rgba(148,163,184,.15);box-shadow:0 10px 24px rgba(15,23,42,.05);}
.premium-doc-card label{font-weight:700;color:#0f172a;}
.file-preview img{box-shadow:0 10px 24px rgba(15,23,42,.12);}
.field-error-wrap{position:relative;}
.field-error-wrap .form-control,.field-error-wrap .custom-select,.field-error-wrap .form-control-file{border-color:#ef4444 !important;box-shadow:0 0 0 .2rem rgba(239,68,68,.12) !important;background:rgba(254,242,242,.92);}
.field-error-note{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:12px;background:rgba(254,242,242,.95);border:1px solid rgba(239,68,68,.18);}
.field-error-note:before{content:"\f071";font-family:"Font Awesome 5 Free";font-weight:900;color:#dc2626;}
.survey-submit-bar{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,250,252,.93));}
.premium-submit-btn{min-width:220px;border-radius:16px;font-weight:800;box-shadow:0 18px 34px rgba(37,99,235,.18);}
@media (max-width: 991.98px){.premium-form-steps{grid-template-columns:1fr;}.premium-section-header{padding:1rem 1rem .85rem;}.premium-doc-card{padding:12px;}}


/* V45 deluxe 3-step survey wizard */
.survey-deluxe-shell{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}
.survey-deluxe-intro{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 48%,#0ea5a6 100%);color:#fff;border-radius:30px;padding:1.35rem 1.4rem;box-shadow:0 20px 45px rgba(15,23,42,.18)}
.survey-deluxe-kicker{display:inline-flex;align-items:center;padding:.45rem .75rem;border-radius:999px;background:rgba(255,255,255,.18);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.65rem}
.survey-deluxe-title{font-size:1.55rem;font-weight:900;margin:0 0 .45rem}
.survey-deluxe-copy{max-width:720px;margin:0;color:rgba(255,255,255,.86)}
.survey-deluxe-chips{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}
.survey-deluxe-chips span{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem .9rem;border-radius:999px;background:rgba(255,255,255,.15);font-weight:700;font-size:.92rem;backdrop-filter:blur(10px)}
.premium-form-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.premium-form-step{display:flex;align-items:center;gap:.75rem;padding:.95rem 1rem;border:0;background:#f8fafc;border-radius:22px;width:100%;text-align:left;box-shadow:inset 0 0 0 1px #dbeafe;color:#0f172a;transition:all .2s ease;cursor:pointer}
.premium-form-step span{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-weight:800;flex:0 0 38px}
.premium-form-step strong{display:block;font-size:.98rem}
.premium-form-step small{display:block;color:#64748b}
.premium-form-step.is-active{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);box-shadow:0 14px 25px rgba(37,99,235,.14), inset 0 0 0 1px rgba(37,99,235,.16)}
.premium-form-step.is-active span{background:#2563eb;color:#fff}
.premium-form-step.is-complete{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%)}
.premium-form-step.is-complete span{background:#10b981;color:#fff}
.survey-step-pane{display:none}
.survey-step-pane.is-active{display:block;animation:fadeSlideIn .28s ease}
@keyframes fadeSlideIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.survey-step-layout{display:grid;grid-template-columns:minmax(280px,350px) minmax(0,1fr);gap:1.25rem;align-items:stretch}
.survey-step-visual{position:sticky;top:95px;min-height:420px;border-radius:30px;padding:1.5rem 1.3rem;color:#fff;overflow:hidden;box-shadow:0 22px 46px rgba(15,23,42,.16);display:flex;flex-direction:column;justify-content:flex-end}
.survey-step-visual:before,.survey-step-visual:after{content:"";position:absolute;border-radius:999px;background:rgba(255,255,255,.08)}
.survey-step-visual:before{width:240px;height:240px;right:-60px;top:-60px}
.survey-step-visual:after{width:180px;height:180px;left:-40px;bottom:-40px}
.survey-step-visual--personal{background:linear-gradient(150deg,#111827 0%,#2563eb 55%,#38bdf8 100%)}
.survey-step-visual--address{background:linear-gradient(150deg,#0f172a 0%,#0ea5a6 58%,#22c55e 100%)}
.survey-step-visual--documents{background:linear-gradient(150deg,#3b0764 0%,#7c3aed 55%,#ec4899 100%)}
.survey-step-visual>*{position:relative;z-index:1}
.survey-visual-icon{width:74px;height:74px;border-radius:24px;background:rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:1rem;backdrop-filter:blur(14px)}
.survey-step-visual h4{font-size:1.45rem;font-weight:900;margin-bottom:.55rem}
.survey-step-visual p{color:rgba(255,255,255,.86);margin-bottom:1rem}
.survey-step-visual ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.survey-step-visual li{display:flex;align-items:flex-start;gap:.55rem;font-weight:600;color:rgba(255,255,255,.95)}
.survey-step-card{margin-bottom:0!important;border-radius:30px;overflow:hidden}
.survey-step-footer{display:flex;justify-content:flex-end;gap:.75rem;align-items:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e5e7eb}
.premium-docs-helper{background:linear-gradient(135deg,#f8fafc 0%,#eff6ff 100%);border:1px solid #dbeafe;border-radius:20px;padding:1rem 1rem 1rem 1.1rem}
.premium-doc-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:1rem 1rem .8rem;box-shadow:0 14px 30px rgba(15,23,42,.05)}
.premium-doc-card label{font-weight:800}
.survey-submit-bar{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border:1px solid #e5e7eb;border-radius:28px;padding:1.15rem 1.2rem;box-shadow:0 16px 30px rgba(15,23,42,.06)}
.field-error-wrap{position:relative}
.field-error-note{margin-top:.45rem;color:#dc2626;font-weight:700;font-size:.88rem}
.form-control.is-invalid,.field-error-wrap .form-control,.field-error-wrap .custom-select,.field-error-wrap select{border-color:#ef4444!important;box-shadow:0 0 0 .22rem rgba(239,68,68,.14)!important;background:#fff7f7}
@media (max-width: 1199.98px){.survey-step-layout{grid-template-columns:1fr}.survey-step-visual{position:relative;top:auto;min-height:260px}.survey-deluxe-intro{flex-direction:column}.survey-deluxe-chips{justify-content:flex-start}}
@media (max-width: 767.98px){.premium-form-steps{grid-template-columns:1fr}.survey-deluxe-title{font-size:1.28rem}.survey-step-footer{flex-direction:column;align-items:stretch}.survey-step-footer .btn{width:100%}.survey-submit-bar .d-flex{width:100%}.survey-submit-bar .btn{width:100%}.survey-step-visual{min-height:220px;padding:1.15rem}.survey-deluxe-intro{border-radius:24px;padding:1rem}.survey-step-card{border-radius:24px}}

/* V46 deluxe 4-step wizard */
.survey-step-pane{display:none;opacity:0;transform:translateY(20px) scale(.985);transition:opacity .35s ease,transform .35s ease}
.survey-step-pane.is-active{display:block;opacity:1;transform:translateY(0) scale(1);animation:surveyPaneIn .42s ease}
@keyframes surveyPaneIn{0%{opacity:0;transform:translateY(24px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}
.survey-step-visual--family{background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 45%,#06b6d4 100%)}
.survey-step-visual ul li i{color:#fde68a}
.premium-form-step{position:relative;overflow:hidden}
.premium-form-step::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#38bdf8,#8b5cf6,#22c55e);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.premium-form-step.is-active::after,.premium-form-step.is-complete::after{transform:scaleX(1)}
.family-summary-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.15rem;margin-top:.75rem;gap:1rem;border:1px solid rgba(99,102,241,.15);background:linear-gradient(180deg,#fff,#f8fbff);border-radius:18px;box-shadow:0 18px 40px rgba(15,23,42,.08)}
.survey-final-summary{border:none;border-radius:28px;overflow:hidden;box-shadow:0 22px 60px rgba(15,23,42,.1)}
.survey-final-pill{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#111827,#4f46e5);color:#fff;border-radius:999px;padding:.65rem 1rem;font-weight:700}
.summary-box{padding:1rem 1rem 1.1rem;height:100%;border:1px solid rgba(99,102,241,.12);background:linear-gradient(180deg,#fff,#f8fbff);border-radius:18px;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.summary-box small{display:block;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#64748b;margin-bottom:.35rem}
.summary-box strong{display:block;font-size:1rem;color:#0f172a;margin-bottom:.25rem}
.summary-box span{display:block;color:#475569;font-size:.92rem;line-height:1.35}
@media (max-width: 991.98px){.family-summary-card{flex-direction:column;align-items:flex-start}.survey-final-pill{width:100%;justify-content:center}}


/* V47 formulario deluxe refinements */
.premium-form-shell--desktop{border:1px solid rgba(37,99,235,.08);box-shadow:0 16px 38px rgba(15,23,42,.08)}
.survey-deluxe-intro--hero{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.14)}
.survey-deluxe-intro--hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.18),transparent 35%);pointer-events:none}
.survey-step-pane{display:none;opacity:0;transform:translateX(28px) scale(.985);filter:blur(4px);transition:opacity .42s ease,transform .42s cubic-bezier(.22,1,.36,1),filter .42s ease}
.survey-step-pane.is-active{display:block;opacity:1;transform:translateX(0) scale(1);filter:blur(0)}
.survey-step-card{border:1px solid rgba(37,99,235,.08);box-shadow:0 24px 48px rgba(15,23,42,.08)}
.survey-step-visual{border:1px solid rgba(255,255,255,.12)}
.survey-visual-icon{box-shadow:0 16px 34px rgba(15,23,42,.16)}
.survey-step-footer .btn{box-shadow:0 14px 28px rgba(37,99,235,.12)}
#personForm .is-invalid{border-color:#ef4444!important;box-shadow:0 0 0 .2rem rgba(239,68,68,.12)!important;background:#fff7f7}
.minor-age-note{margin-top:.55rem}
@media (max-width: 767.98px){.premium-form-shell--desktop,.survey-deluxe-intro--hero,.survey-step-visual,.premium-form-legend{display:none!important}.survey-step-layout{display:block!important}.survey-step-content{width:100%}.survey-step-pane{transform:none;filter:none}.survey-step-pane.is-active{animation:none}.survey-step-card{border-radius:22px}.survey-step-footer .btn{width:100%}.survey-final-summary{margin-top:1rem}.survey-submit-bar{padding:1rem;border-radius:20px}}


/* V48 detail premium */
.detalle-hero-premium{align-items:stretch;background:linear-gradient(135deg,#0f172a 0%,#2563eb 52%,#14b8a6 100%);color:#fff;border:0;box-shadow:0 30px 70px rgba(15,23,42,.22)}
.detalle-hero-premium .premium-overline,.detalle-hero-premium .text-muted,.detalle-hero-premium h2{color:#fff !important}
.detalle-hero-copy{flex:1;min-width:0}
.detalle-chip-row{display:flex;flex-wrap:wrap;gap:.75rem}
.detalle-chip{display:inline-flex;align-items:center;padding:.7rem 1rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);font-weight:700}
.detalle-hero-summary{min-width:300px;max-width:360px;padding:1.2rem 1.25rem;border-radius:22px;background:rgba(255,255,255,.14) !important;border:1px solid rgba(255,255,255,.18);color:#fff}
.detalle-summary-label{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.9;margin-bottom:.8rem}
.detalle-summary-line{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-top:1px solid rgba(255,255,255,.14)}
.detalle-summary-line:first-of-type{border-top:0;padding-top:0}
.detalle-summary-line span{opacity:.85}
.detail-kpi-enhanced{padding:1.2rem 1.2rem 1.1rem;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff)}
.detail-kpi-enhanced .value{font-size:1.3rem;line-height:1.15}
.detail-main-grid .card{overflow:hidden}
.detail-profile-card .box-profile{padding:1.8rem 1.4rem}
.detail-profile-card .rounded-circle{background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(20,184,166,.16)) !important;border:1px solid rgba(255,255,255,.55);box-shadow:0 20px 44px rgba(37,99,235,.16)}
.detail-trace-card .card-body p{padding:.55rem .75rem;border-radius:14px;background:#f8fafc;border:1px solid rgba(15,23,42,.05)}
.detail-data-card .row > div{margin-bottom:.4rem}
.detail-data-card p{margin-bottom:1rem;padding:.85rem 1rem;border-radius:16px;background:#f8fafc;border:1px solid rgba(15,23,42,.05)}
.detail-doc-card .card-body{padding-top:.5rem}
.detail-doc-item{height:100%;padding:1rem;border-radius:20px;background:#fff;border:1px solid rgba(15,23,42,.06);box-shadow:0 12px 28px rgba(15,23,42,.06)}
.detail-doc-item h5{font-weight:800;font-size:1rem;margin-bottom:.9rem}
.document-preview{width:100%;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:#f8fafc;box-shadow:0 14px 34px rgba(15,23,42,.08)}
.detail-doc-badge{font-weight:800;border-radius:999px;padding:.55rem .85rem}
.detail-history-card .card-header{padding:1.2rem 1.25rem .5rem}
.timeline-lite-content strong{font-size:1rem}
@media (max-width: 991.98px){
  .detalle-hero-premium{padding:1.25rem 1.2rem}
  .detalle-hero-summary{min-width:100%;max-width:none}
}
@media (max-width: 767.98px){
  .detalle-hero-premium{display:block}
  .detalle-chip-row{margin-top:.8rem}
  .detail-kpi-enhanced .value{font-size:1.15rem}
  .detail-data-card p,.detail-trace-card .card-body p{padding:.75rem .85rem}
}


/* V49 preloaders premium por módulo */
.module-preloader-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(3,7,18,.68);backdrop-filter:blur(12px);z-index:3000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}
.module-preloader-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.module-preloader-card{position:relative;overflow:hidden;width:min(560px,94vw);padding:1.5rem 1.4rem 1.3rem;border-radius:30px;background:linear-gradient(145deg,#081226,#0f172a 52%,#1d4ed8 100%);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 35px 90px rgba(15,23,42,.38);text-align:center}
.module-preloader-card:before{content:"";position:absolute;inset:-30% auto auto -10%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%);animation:preloaderFloat 6s ease-in-out infinite}
.module-preloader-stage{position:relative;width:118px;height:118px;margin:0 auto 1rem;display:grid;place-items:center}
.module-preloader-icon{position:relative;z-index:2;width:84px;height:84px;border-radius:24px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:2.2rem;box-shadow:0 16px 34px rgba(2,6,23,.35);animation:preloaderPulse 2s ease-in-out infinite}
.module-preloader-orbit{position:absolute;border:1px dashed rgba(255,255,255,.28);border-radius:50%;inset:0;animation:preloaderSpin 11s linear infinite}
.module-preloader-orbit.orbit-b{inset:12px;animation-direction:reverse;animation-duration:8s}
.module-preloader-kicker{display:inline-flex;align-items:center;justify-content:center;padding:.48rem .9rem;border-radius:999px;background:rgba(255,255,255,.12);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.module-preloader-title{margin:.95rem 0 .45rem;font-size:1.8rem;font-weight:800}
.module-preloader-copy{margin:0 auto .95rem;max-width:440px;color:rgba(255,255,255,.82);line-height:1.55}
.module-preloader-progress{height:14px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;box-shadow:inset 0 2px 6px rgba(0,0,0,.18)}
.module-preloader-progress-bar{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#f8fafc,#93c5fd,#22d3ee);transition:width .18s linear}
.module-preloader-status{margin-top:.75rem;font-weight:700;color:rgba(255,255,255,.9)}
.module-preloader-overlay.is-survey .module-preloader-card{background:linear-gradient(145deg,#1e293b,#0f766e 55%,#22c55e 100%)}
.module-preloader-overlay.is-territorial .module-preloader-card,.module-preloader-overlay.is-municipios .module-preloader-card{background:linear-gradient(145deg,#0f172a,#1d4ed8 48%,#06b6d4 100%)}
.module-preloader-overlay.is-security .module-preloader-card{background:linear-gradient(145deg,#111827,#7c3aed 50%,#2563eb 100%)}
.module-preloader-overlay.is-mail .module-preloader-card{background:linear-gradient(145deg,#172554,#4338ca 52%,#0ea5e9 100%)}
.module-preloader-overlay.is-dashboard .module-preloader-card{background:linear-gradient(145deg,#111827,#2563eb 46%,#14b8a6 100%)}
@keyframes preloaderSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes preloaderPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes preloaderFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(26px,18px,0)}}

.survey-success-popup{border-radius:30px !important;padding:1rem 1rem 1.3rem !important}
.survey-success-hero{padding:.2rem .6rem 0}
.survey-success-avatar{font-size:4.8rem;line-height:1;color:#2563eb;animation:surveyBounce 1.8s ease-in-out infinite}
.survey-success-thumb{font-size:2.2rem;line-height:1;color:#16a34a;margin-top:-.35rem;animation:surveyThumb 1.3s ease-in-out infinite}
.survey-success-hero p{margin:.9rem 0 0;color:#475569;font-size:1rem;line-height:1.55}
@keyframes surveyBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes surveyThumb{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.14) rotate(-8deg)}}

@media (max-width: 767.98px){
  .module-preloader-card{padding:1.2rem 1rem 1rem;border-radius:24px}
  .module-preloader-title{font-size:1.38rem}
  .module-preloader-copy{font-size:.95rem}
  .module-preloader-stage{width:100px;height:100px}
  .module-preloader-icon{width:74px;height:74px;font-size:1.9rem}
}

/* V51 encuesta: validación por paso y carga robusta de documentos */
.premium-form-step.is-step-error{border-color:rgba(239,68,68,.5)!important;background:linear-gradient(135deg,#fff1f2,#fff)!important;box-shadow:0 12px 30px rgba(239,68,68,.16)!important}
.premium-form-step.is-step-error span{background:#ef4444!important;color:#fff!important}
.premium-form-step.is-step-error small{color:#991b1b!important}
.field-error-wrap{position:relative;padding:.85rem;border-radius:18px;background:rgba(254,242,242,.72);border:1px solid rgba(239,68,68,.22);box-shadow:0 12px 30px rgba(239,68,68,.08)}
.field-error-note{margin-top:.5rem;font-size:.82rem;font-weight:700;color:#b91c1c;display:flex;align-items:center;gap:.35rem}
.field-error-note:before{content:"\f071";font-family:"Font Awesome 5 Free";font-weight:900;font-size:.78rem}
.survey-step-validation-summary{padding:.8rem .9rem;border-radius:18px;background:#fff7ed;border:1px solid rgba(251,146,60,.25);color:#431407}
.survey-step-validation-summary ul{padding-left:1.15rem;line-height:1.55}
.survey-upload-loader{padding:.3rem .15rem .1rem}
.survey-upload-loader .progress{border-radius:999px;background:#e5e7eb;overflow:hidden;box-shadow:inset 0 2px 6px rgba(15,23,42,.08)}
.survey-upload-loader .progress-bar{font-weight:800;border-radius:999px;background:linear-gradient(90deg,#2563eb,#06b6d4,#22c55e)}
.interviewer-stat-pill{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:.42rem .72rem;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:900}
.interviewer-zero-pill{background:#f1f5f9;color:#64748b}
@media (max-width:767.98px){.field-error-wrap{padding:.65rem;border-radius:16px}.survey-step-validation-summary{font-size:.92rem}.interviewer-stat-pill{min-width:38px}}

/* V52 revisión + borradores + visual login/sistema */
.revision-tab-strip{gap:.45rem}.revision-tab-strip .btn,.revision-stat-card{border-radius:999px;font-weight:700}.revision-tab-strip .btn.is-active{background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;border-color:transparent;box-shadow:0 10px 25px rgba(37,99,235,.24)}
.revision-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}.revision-stat-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 14px 30px rgba(15,23,42,.07);text-align:left}.revision-stat-card.is-active{border-color:rgba(37,99,235,.3);box-shadow:0 18px 32px rgba(37,99,235,.18)}.revision-stat-label{display:block;font-size:.84rem;color:#64748b}.revision-stat-value{font-size:1.5rem;line-height:1;color:#0f172a}.review-actions{gap:.35rem}
.rp-connection-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(140%);z-index:1085;display:flex;align-items:center;gap:.75rem;padding:.9rem 1.1rem;border-radius:999px;color:#fff;background:rgba(15,23,42,.94);box-shadow:0 18px 40px rgba(15,23,42,.28);font-weight:700;transition:transform .25s ease,opacity .25s ease;opacity:0;max-width:min(92vw,760px)}.rp-connection-banner.is-visible{transform:translateX(-50%) translateY(0);opacity:1}.rp-connection-banner.is-offline{background:linear-gradient(135deg,#991b1b,#dc2626)}.rp-connection-banner.is-online{background:linear-gradient(135deg,#166534,#16a34a)}.rp-connection-banner i{font-size:1rem}
.premium-login-body{background:radial-gradient(circle at top left,rgba(37,99,235,.18),transparent 28%),radial-gradient(circle at bottom right,rgba(20,184,166,.18),transparent 26%),linear-gradient(180deg,#e0f2fe 0%,#eef2ff 44%,#f8fafc 100%)}.premium-login-shell{position:relative;overflow:hidden}.premium-login-shell:before,.premium-login-shell:after{content:"";position:absolute;border-radius:999px;filter:blur(18px);z-index:0}.premium-login-shell:before{width:220px;height:220px;background:rgba(37,99,235,.14);top:-40px;left:-60px}.premium-login-shell:after{width:180px;height:180px;background:rgba(20,184,166,.16);bottom:-30px;right:-40px}.premium-login-card,.premium-login-brand{position:relative;z-index:1}.premium-login-card{backdrop-filter:blur(12px);background:rgba(255,255,255,.88)!important;border:1px solid rgba(255,255,255,.75)!important}.premium-sidebar .nav-link,.premium-topbar,.premium-card{transition:all .22s ease}.premium-sidebar .nav-link:hover{transform:translateX(3px)}.premium-card:hover{box-shadow:0 18px 38px rgba(15,23,42,.08)}
@media (max-width:767.98px){.revision-summary-grid{grid-template-columns:1fr 1fr}.rp-connection-banner{bottom:12px;padding:.85rem 1rem;border-radius:20px;font-size:.92rem}.premium-login-shell:before,.premium-login-shell:after{display:none}}

/* V54 premium dashboard, revisión robusta, cola de correcciones, login y móvil */
.dashboard-review-command{overflow:hidden;position:relative;border:1px solid rgba(37,99,235,.12)!important;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 52%,#eef9ff 100%)!important}.dashboard-review-command:after{content:"";position:absolute;right:-70px;top:-70px;width:190px;height:190px;border-radius:999px;background:radial-gradient(circle,rgba(37,99,235,.14),transparent 70%)}.dashboard-review-pills{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:.8rem;position:relative;z-index:1}.dashboard-review-pills a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:82px;padding:.8rem;border-radius:22px;background:#fff;border:1px solid rgba(148,163,184,.22);box-shadow:0 14px 30px rgba(15,23,42,.07);text-decoration:none}.dashboard-review-pills strong{font-size:1.6rem;line-height:1;color:#1d4ed8}.dashboard-review-pills span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800;margin-top:.35rem}.revision-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:1rem}.revision-kpi-card{padding:1.05rem 1.1rem;border-radius:24px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(148,163,184,.22);box-shadow:0 16px 34px rgba(15,23,42,.08)}.revision-kpi-card span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:#64748b;font-weight:900}.revision-kpi-card strong{display:block;font-size:1.8rem;line-height:1.05;color:#0f172a;margin:.35rem 0}.revision-kpi-card small{display:block;color:#64748b;line-height:1.35}.revision-kpi-card.accent-warning strong{color:#b45309}.revision-kpi-card.accent-danger strong{color:#b91c1c}.revision-kpi-card.accent-success strong{color:#047857}.revision-kpi-card.accent-info strong{color:#0369a1}.revision-kpi-card.accent-muted strong{color:#475569}.correction-queue-card{border:1px solid rgba(245,158,11,.22)!important}.correction-queue-item{display:flex;align-items:center;justify-content:space-between;gap:1rem}.premium-login-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:1.3rem;align-items:stretch;width:min(1080px,94vw)}.premium-login-side{border-radius:30px;padding:2rem;flex-direction:column;justify-content:center;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(239,246,255,.9));border:1px solid rgba(255,255,255,.8);box-shadow:0 24px 70px rgba(15,23,42,.12)}.premium-login-side h2{font-weight:900;letter-spacing:-.04em;font-size:2.25rem;line-height:1.04;margin:.6rem 0 1rem}.premium-login-side p{color:#475569;line-height:1.65}.premium-login-feature{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 0;border-top:1px solid rgba(148,163,184,.22)}.premium-login-feature i{width:42px;height:42px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#e0f2fe;color:#0369a1}.premium-login-feature strong{display:block}.premium-login-feature small{display:block;color:#64748b}.premium-login-chips{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.premium-login-chips span{display:inline-flex;align-items:center;gap:.35rem;padding:.46rem .8rem;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(148,163,184,.22);font-weight:800;font-size:.8rem;color:#334155}.public-survey-hero--premium{background:radial-gradient(circle at top left,rgba(37,99,235,.18),transparent 34%),linear-gradient(135deg,#fff,#eef7ff 58%,#ecfdf5)!important;border:1px solid rgba(37,99,235,.12);box-shadow:0 22px 60px rgba(15,23,42,.08)}.public-survey-logo-mark{width:74px;height:74px;border-radius:24px;background:linear-gradient(135deg,#2563eb,#14b8a6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 16px 36px rgba(37,99,235,.25);flex:0 0 auto}.public-survey-brand p{margin:.4rem 0 0;color:#475569;max-width:760px;line-height:1.6}.public-survey-hero-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.public-survey-hero-pills span{display:inline-flex;align-items:center;gap:.38rem;padding:.55rem .85rem;border-radius:999px;background:#fff;border:1px solid rgba(148,163,184,.22);font-weight:800;color:#334155;font-size:.84rem}.public-mobile-stepbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.2);border-radius:20px;padding:.9rem;box-shadow:0 14px 30px rgba(15,23,42,.08)}.public-mobile-stepbar .progress{border-radius:999px;background:#e2e8f0}.public-mobile-stepbar .progress-bar{font-weight:900;border-radius:999px;background:linear-gradient(90deg,#2563eb,#06b6d4,#22c55e)}@media (max-width:991.98px){.premium-login-grid{grid-template-columns:1fr;width:min(560px,94vw)}.dashboard-review-pills{grid-template-columns:repeat(2,1fr)}}@media (max-width:767.98px){.dashboard-review-pills{grid-template-columns:1fr 1fr}.dashboard-review-pills a{min-height:72px}.revision-kpi-grid{grid-template-columns:1fr 1fr}.correction-queue-item{align-items:flex-start;flex-direction:column}.premium-login-card .card-body{padding:1.35rem!important}.public-survey-shell{padding:12px!important}.public-survey-hero--premium{border-radius:24px!important;padding:1.25rem!important}.public-survey-brand{align-items:flex-start!important;gap:.9rem!important}.public-survey-logo-mark{width:58px;height:58px;border-radius:20px;font-size:1.35rem}.public-survey-form .survey-step-footer{position:sticky;bottom:0;z-index:15;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-radius:22px 22px 0 0;padding:.85rem;margin:1rem -.4rem -.4rem;box-shadow:0 -12px 30px rgba(15,23,42,.1)}.public-survey-form .survey-step-footer .btn{width:100%;margin:.25rem 0!important}.public-survey-form .survey-step-footer{display:grid;grid-template-columns:1fr;gap:.45rem}.revision-stat-card{padding:.85rem}.revision-stat-value{font-size:1.25rem}}

/* FIX V55: login limpio y módulo admin de registros */
.login-clean-body{min-height:100vh!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;padding:28px 14px!important;background:radial-gradient(circle at top,rgba(37,99,235,.14),transparent 32%),linear-gradient(180deg,#eef5ff 0%,#f8fbff 55%,#ffffff 100%)!important;overflow:auto!important}.login-clean-shell{width:min(560px,94vw)!important;margin:0 auto!important;display:block!important}.login-clean-card{border-radius:34px!important;overflow:hidden!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(226,232,240,.95)!important;box-shadow:0 28px 70px rgba(15,23,42,.14)!important}.login-clean-head{padding:2rem 2rem 1rem!important;background:linear-gradient(135deg,#ffffff,#eff6ff)!important}.login-clean-logo-wrap{width:96px;height:96px;margin:0 auto;border-radius:28px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 40px rgba(15,23,42,.12);overflow:hidden}.login-clean-logo{max-width:76px;max-height:76px;object-fit:contain}.login-clean-head h1{font-weight:900;letter-spacing:-.035em;font-size:2.15rem;line-height:1.08;color:#0f172a}.login-clean-chips{display:flex;align-items:center;justify-content:center;gap:.55rem;flex-wrap:wrap;padding:0 1.2rem 1rem;background:linear-gradient(135deg,#ffffff,#eff6ff)}.login-clean-chips span{display:inline-flex;align-items:center;gap:.38rem;padding:.5rem .8rem;border-radius:999px;background:#fff;border:1px solid rgba(148,163,184,.24);font-size:.82rem;font-weight:800;color:#334155}.login-clean-card .input-group-lg>.form-control,.login-clean-card .input-group-lg>.input-group-append>.input-group-text{border-radius:16px}.login-clean-card .input-group-lg>.form-control{border-top-right-radius:0;border-bottom-right-radius:0}.login-clean-card .input-group-lg>.input-group-append>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.login-clean-card .btn{border-radius:16px;font-weight:800}.admin-records-hero{background:linear-gradient(135deg,#fff,#eff6ff 56%,#ecfdf5)!important;border:1px solid rgba(37,99,235,.12)}.admin-record-search-card .input-group-lg>.form-control,.admin-record-search-card .input-group-lg>.input-group-prepend>.input-group-text{border-radius:18px}.admin-record-search-card .input-group-lg>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.admin-record-search-card .input-group-lg>.form-control{border-top-left-radius:0;border-bottom-left-radius:0}.admin-record-actions{gap:.55rem}.admin-record-actions .btn{border-radius:16px;font-weight:800}.table-premium td,.table-premium th{vertical-align:middle!important}@media(max-width:767.98px){.login-clean-body{padding:16px 10px!important}.login-clean-head{padding:1.25rem 1rem .8rem!important}.login-clean-logo-wrap{width:76px;height:76px;border-radius:22px}.login-clean-logo{max-width:60px;max-height:60px}.login-clean-head h1{font-size:1.7rem}.login-clean-chips{gap:.35rem}.login-clean-chips span{font-size:.76rem;padding:.42rem .62rem}.admin-record-actions{margin-top:.75rem}.admin-record-actions .btn{width:100%}}

/* V59 estadísticas: tabla por capturista y validación única */
.premium-metric-card .premium-metric-value{overflow-wrap:anywhere;word-break:break-word;line-height:1.08}.stats-unique-note{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:800;padding:.35rem .65rem;font-size:.78rem}.stats-table-filter{border-radius:999px!important}.interviewer-stat-pill{font-variant-numeric:tabular-nums}
@media(max-width:767.98px){.premium-metric-card .premium-metric-value{font-size:1.55rem}.table-premium th,.table-premium td{white-space:nowrap}.premium-table-wrap{overflow-x:auto}}
