:root {
    --primary: #0969e8;
    --primary-dark: #0755bd;
    --navy: #12233f;
    --text: #172033;
    --muted: #6d7788;
    --border: #e3e8ef;
    --background: #f6f8fb;
    --white: #ffffff;
    --sidebar-width: 250px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--background);
    color: var(--text);
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

a {
    text-decoration: none;
}

.app-wrapper {
    display: flex;
    min-height: 100vh;
}

.sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    width: var(--sidebar-width);
    flex-direction: column;
    border-right: 1px solid var(--border);
    background: var(--white);
}

.sidebar-brand {
    display: flex;
    align-items: center;
    min-height: 96px;
    padding: 22px 26px;
    gap: 14px;
    border-bottom: 1px solid var(--border);
}

.brand-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg,
            var(--primary),
            #49a4ff);
    color: white;
    font-size: 21px;
}

.sidebar-brand h1,
.login-brand h1 {
    margin: 0;
    color: var(--navy);
    font-size: 23px;
    font-weight: 800;
    line-height: 1;
}

.sidebar-brand span,
.login-brand span {
    color: var(--muted);
    font-size: 13px;
}

.sidebar-nav {
    flex: 1;
    padding: 22px 14px;
}

.nav-item {
    display: flex;
    align-items: center;
    margin-bottom: 7px;
    padding: 13px 15px;
    gap: 13px;
    border-radius: 10px;
    color: #435069;
    font-size: 14px;
    font-weight: 600;
    transition: 0.2s ease;
}

.nav-item i {
    width: 20px;
    font-size: 18px;
}

.nav-item:hover,
.nav-item.active {
    background: #edf5ff;
    color: var(--primary);
}

.sidebar-footer {
    padding: 16px;
}

.support-card {
    display: flex;
    align-items: center;
    padding: 14px;
    gap: 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
}

.support-card i {
    color: var(--primary);
    font-size: 24px;
}

.support-card strong,
.support-card span {
    display: block;
}

.support-card strong {
    font-size: 13px;
}

.support-card span {
    color: var(--primary);
    font-size: 12px;
}

.main-content {
    display: flex;
    width: calc(100% - var(--sidebar-width));
    min-height: 100vh;
    margin-left: var(--sidebar-width);
    flex-direction: column;
}

.topbar {
    display: flex;
    min-height: 96px;
    align-items: center;
    justify-content: space-between;
    padding: 18px 30px;
    border-bottom: 1px solid var(--border);
    background: var(--white);
}

.topbar h2 {
    margin: 0 0 4px;
    color: var(--navy);
    font-size: 24px;
    font-weight: 750;
}

.topbar p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
}

.user-area {
    display: flex;
    align-items: center;
    gap: 12px;
}

.user-avatar {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: #e9f3ff;
    color: var(--primary);
    font-weight: 800;
}

.user-info strong,
.user-info span {
    display: block;
}

.user-info strong {
    font-size: 14px;
}

.user-info span {
    color: var(--muted);
    font-size: 12px;
}

.content-area {
    flex: 1;
    padding: 28px 30px;
}

.welcome-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 28px 30px;
    border: 1px solid #dce9f8;
    border-radius: 16px;
    background:
        linear-gradient(120deg,
            #ffffff 0%,
            #f0f7ff 100%);
}

.welcome-label {
    color: var(--primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}

.welcome-card h3 {
    margin: 8px 0 6px;
    color: var(--navy);
    font-size: 27px;
    font-weight: 750;
}

.welcome-card p {
    max-width: 650px;
    margin: 0;
    color: var(--muted);
}

.welcome-icon {
    display: grid;
    width: 78px;
    height: 78px;
    place-items: center;
    border-radius: 22px;
    background: var(--white);
    color: var(--primary);
    box-shadow: 0 10px 30px rgba(9, 105, 232, 0.12);
    font-size: 35px;
}

.metric-card,
.dashboard-card {
    height: 100%;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--white);
    box-shadow: 0 4px 18px rgba(26, 43, 70, 0.04);
}

.metric-card {
    display: flex;
    align-items: center;
    padding: 21px;
    gap: 16px;
}

.metric-icon {
    display: grid;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    place-items: center;
    border-radius: 50%;
    font-size: 21px;
}

.metric-blue {
    background: #e5f0ff;
    color: #1467df;
}

.metric-green {
    background: #e2f8e9;
    color: #21a454;
}

.metric-yellow {
    background: #fff2d4;
    color: #ed9c00;
}

.metric-red {
    background: #ffe4e7;
    color: #d8324b;
}

.metric-card span,
.metric-card strong,
.metric-card small {
    display: block;
}

.metric-card span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.metric-card strong {
    margin: 2px 0;
    color: var(--navy);
    font-size: 29px;
}

.metric-card small {
    color: #8a94a5;
}

.dashboard-card {
    padding: 24px;
}

.card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.card-heading h4 {
    margin: 0;
    color: var(--navy);
    font-size: 17px;
    font-weight: 750;
}

.card-heading p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.chart-placeholder {
    display: flex;
    min-height: 260px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    border: 1px dashed #ccd5e2;
    border-radius: 12px;
    background: #fafcff;
    color: var(--muted);
}

.chart-placeholder i {
    color: var(--primary);
    font-size: 40px;
}

.profile-summary div {
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.profile-summary div:last-child {
    border-bottom: 0;
}

.profile-summary span,
.profile-summary strong {
    display: block;
}

.profile-summary span {
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 12px;
}

.profile-summary strong {
    font-size: 14px;
}

.app-footer {
    padding: 17px 30px;
    border-top: 1px solid var(--border);
    background: var(--white);
    color: var(--muted);
    font-size: 12px;
    text-align: center;
}

/* LOGIN */

.login-body {
    min-height: 100vh;
    background:
        radial-gradient(circle at top right,
            #ddecff,
            transparent 38%),
        #f7f9fc;
}

.login-container {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 25px;
}

.login-panel {
    width: 100%;
    max-width: 440px;
    padding: 36px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--white);
    box-shadow: 0 18px 55px rgba(21, 39, 68, 0.1);
}

.login-brand {
    display: flex;
    align-items: center;
    margin-bottom: 32px;
    gap: 13px;
}

.login-heading h2 {
    margin-bottom: 7px;
    color: var(--navy);
    font-size: 27px;
    font-weight: 750;
}

.login-heading p {
    margin-bottom: 25px;
    color: var(--muted);
}

.form-control,
.input-group-text {
    min-height: 48px;
    border-color: var(--border);
}

.form-control:focus {
    border-color: #7eb4f7;
    box-shadow: 0 0 0 0.2rem rgba(9, 105, 232, 0.12);
}

.input-group-text {
    background: #f8fafc;
    color: var(--muted);
}

.login-button {
    min-height: 49px;
    border: 0;
    background: var(--primary);
    font-weight: 700;
}

.login-button:hover {
    background: var(--primary-dark);
}

.login-footer {
    margin-top: 26px;
    color: var(--muted);
    font-size: 12px;
    text-align: center;
}

@media (max-width: 992px) {
    .sidebar {
        display: none;
    }

    .main-content {
        width: 100%;
        margin-left: 0;
    }

    .topbar {
        padding: 18px;
    }

    .content-area {
        padding: 20px 16px;
    }
}

@media (max-width: 576px) {
    .user-info {
        display: none;
    }

    .welcome-icon {
        display: none;
    }

    .welcome-card {
        padding: 22px;
    }

    .login-panel {
        padding: 27px 22px;
    }
}

/* ENCUESTA */

.survey-status-container {
    max-width: 1100px;
    margin: 0 auto;
}

.survey-available-card,
.survey-empty-card,
.survey-header-card,
.question-card {
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--white);
    box-shadow: 0 5px 20px rgba(27, 45, 75, 0.05);
}

.survey-available-card {
    display: flex;
    min-height: 460px;
    align-items: center;
    justify-content: space-between;
    padding: 48px;
    gap: 40px;
}

.survey-available-content {
    max-width: 650px;
}

.survey-eyebrow {
    color: var(--primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}

.survey-available-card h3,
.survey-empty-card h3,
.survey-header-card h3 {
    margin: 10px 0;
    color: var(--navy);
    font-size: 30px;
    font-weight: 750;
}

.survey-available-card p,
.survey-empty-card p,
.survey-header-card p {
    color: var(--muted);
}

.survey-details {
    display: grid;
    margin: 30px 0;
    gap: 18px;
}

.survey-details>div {
    display: flex;
    align-items: center;
    gap: 14px;
}

.survey-details i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    background: #edf5ff;
    color: var(--primary);
    font-size: 19px;
}

.survey-details span,
.survey-details strong {
    display: block;
}

.survey-details span {
    color: var(--muted);
    font-size: 13px;
}

.survey-details strong {
    margin-bottom: 2px;
    color: var(--text);
    font-size: 14px;
}

.survey-start-button {
    padding: 13px 21px;
    border-radius: 10px;
    font-weight: 700;
}

.survey-illustration {
    display: grid;
    width: 210px;
    height: 210px;
    flex: 0 0 210px;
    place-items: center;
    border-radius: 50%;
    background: #edf5ff;
    color: var(--primary);
    font-size: 90px;
}

.survey-empty-card {
    padding: 60px 30px;
    text-align: center;
}

.survey-state-icon {
    display: grid;
    width: 76px;
    height: 76px;
    margin: 0 auto 20px;
    place-items: center;
    border-radius: 50%;
    font-size: 34px;
}

.state-muted {
    background: #eef1f5;
    color: #778195;
}

.state-success {
    background: #e1f7e8;
    color: #20a354;
}

.state-clock {
    background: #e8f2ff;
    color: var(--primary);
}

.next-survey-box {
    display: inline-flex;
    margin-top: 18px;
    padding: 15px 25px;
    flex-direction: column;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #f8fafc;
}

.next-survey-box span {
    color: var(--muted);
    font-size: 12px;
}

.next-survey-box strong {
    color: var(--navy);
    font-size: 17px;
}

.survey-form {
    max-width: 1050px;
    margin: 0 auto;
}

.survey-header-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 28px;
    gap: 24px;
}

.survey-scale-help {
    display: grid;
    min-width: 175px;
    gap: 8px;
    color: var(--muted);
    font-size: 12px;
}

.scale-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 6px;
    border-radius: 50%;
}

.scale-red {
    background: #dc3545;
}

.scale-yellow {
    background: #f5a400;
}

.scale-green {
    background: #24ad5b;
}

.question-card {
    display: flex;
    margin-bottom: 22px;
    padding: 28px;
    gap: 20px;
}

.question-number {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border-radius: 12px;
    background: #eaf3ff;
    color: var(--primary);
    font-size: 17px;
    font-weight: 800;
}

.question-content {
    width: 100%;
}

.question-dimension {
    color: var(--primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.question-content h4 {
    margin: 8px 0 24px;
    color: var(--navy);
    font-size: 18px;
    line-height: 1.5;
}

.rating-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 11px;
}

.rating-scale {
    display: grid;
    grid-template-columns: repeat(11, minmax(40px, 1fr));
    gap: 8px;
}

.rating-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.rating-option span {
    display: grid;
    height: 46px;
    place-items: center;
    border: 1px solid #dce2ea;
    border-radius: 10px;
    background: #fff;
    color: #4c5870;
    cursor: pointer;
    font-weight: 700;
    transition: 0.2s ease;
}

.rating-option span:hover {
    border-color: var(--primary);
    background: #f1f7ff;
    color: var(--primary);
}

.rating-option input:checked+span {
    border-color: var(--primary);
    background: var(--primary);
    color: #fff;
    box-shadow: 0 6px 16px rgba(9, 105, 232, 0.2);
}

.survey-textarea,
.survey-select {
    border-color: var(--border);
    border-radius: 10px;
}

.survey-actions {
    display: flex;
    justify-content: flex-end;
    padding: 5px 0 30px;
    gap: 12px;
}

.survey-actions .btn {
    min-width: 150px;
    padding: 12px 20px;
    border-radius: 10px;
    font-weight: 700;
}

@media (max-width: 768px) {
    .survey-illustration {
        display: none;
    }

    .survey-available-card {
        min-height: auto;
        padding: 28px;
    }

    .survey-header-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .question-card {
        padding: 22px 18px;
    }

    .rating-scale {
        grid-template-columns: repeat(6, 1fr);
    }
}

.client-action-icon {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border-radius: 15px;
    font-size: 24px;
}

.client-action-blue {
    background: #e8f2ff;
    color: #0969e8;
}

.client-action-green {
    background: #e3f8ea;
    color: #1fa458;
}

.client-action-purple {
    background: #efe8ff;
    color: #7047d7;
}

.client-process {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 20px;
}

.client-process>div {
    display: flex;
    max-width: 230px;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.client-process>div>span {
    display: grid;
    width: 42px;
    height: 42px;
    margin-bottom: 12px;
    place-items: center;
    border-radius: 50%;
    background: #e8f2ff;
    color: var(--primary);
    font-weight: 800;
}

.client-process strong,
.client-process small {
    display: block;
}

.client-process strong {
    margin-bottom: 5px;
    color: var(--navy);
}

.client-process small {
    color: var(--muted);
}

.client-process>i {
    color: #a7b1c1;
    font-size: 22px;
}

@media (max-width: 768px) {
    .client-process {
        align-items: stretch;
        flex-direction: column;
    }

    .client-process>i {
        transform: rotate(90deg);
    }
}

/* MIS ENCUESTAS E HISTORIAL */

.tnps-table {
    margin-bottom: 0;
}

.tnps-table thead th {
    padding: 14px;
    border-bottom: 1px solid var(--border);
    background: #f8fafc;
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
    text-transform: uppercase;
}

.tnps-table tbody td {
    padding: 16px 14px;
    border-color: var(--border);
    color: var(--text);
    font-size: 13px;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 30px;
    font-size: 11px;
    font-weight: 750;
}

.status-success {
    background: #e3f8ea;
    color: #178d49;
}

.status-warning {
    background: #fff3d6;
    color: #b67400;
}

.status-danger {
    background: #ffe5e8;
    color: #c52d43;
}

.status-info {
    background: #e8f2ff;
    color: #1768d5;
}

.empty-state {
    padding: 55px 25px;
    text-align: center;
}

.empty-state>i {
    display: block;
    margin-bottom: 14px;
    color: var(--primary);
    font-size: 45px;
}

.empty-state h4 {
    color: var(--navy);
}

.empty-state p {
    color: var(--muted);
}

.history-list {
    display: grid;
    gap: 24px;
}

.history-card {
    padding: 28px;
}

.history-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--border);
}

.history-header h4 {
    margin: 12px 0 4px;
    color: var(--navy);
    font-size: 20px;
}

.history-header p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}

.history-score {
    display: flex;
    min-width: 110px;
    align-items: center;
    padding: 13px;
    flex-direction: column;
    border-radius: 12px;
    background: #edf5ff;
}

.history-score span,
.history-score small {
    color: var(--muted);
    font-size: 11px;
}

.history-score strong {
    color: var(--primary);
    font-size: 27px;
}

.history-answers {
    display: grid;
    margin-top: 22px;
    gap: 16px;
}

.history-answer {
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fbfcfe;
}

.history-answer-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.history-answer-title>span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 8px;
    background: #e8f2ff;
    color: var(--primary);
    font-weight: 800;
}

.history-answer-title strong {
    flex: 1;
    color: var(--navy);
}

.answer-score {
    color: var(--primary);
    font-size: 17px;
    font-weight: 800;
}

.history-answer p {
    margin: 14px 0;
    color: var(--muted);
    line-height: 1.6;
}

.history-priority,
.history-comment {
    margin-top: 20px;
    padding: 17px;
    border-radius: 12px;
    background: #f4f8fd;
}

.history-priority {
    display: flex;
    align-items: center;
    gap: 13px;
}

.history-priority i {
    color: var(--primary);
    font-size: 22px;
}

.history-priority span,
.history-priority strong,
.history-comment span {
    display: block;
}

.history-priority span,
.history-comment span {
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
}

.history-comment p {
    margin: 7px 0 0;
    color: var(--text);
}

@media (max-width: 768px) {
    .history-header {
        gap: 18px;
        flex-direction: column;
    }

    .history-score {
        align-items: flex-start;
    }
}

/* DASHBOARD GERENCIAL */

.executive-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 30px;
    border: 1px solid #dbe7f5;
    border-radius: 18px;
    background:
        linear-gradient(135deg,
            #ffffff 0%,
            #edf6ff 100%);
}

.executive-label {
    display: block;
    margin-bottom: 8px;
    color: var(--primary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.executive-banner h2 {
    margin: 0 0 8px;
    color: var(--navy);
    font-size: 28px;
    font-weight: 800;
}

.executive-banner p {
    max-width: 650px;
    margin: 0;
    color: var(--muted);
}

.executive-main-score,
.detail-main-score {
    display: flex;
    min-width: 150px;
    align-items: center;
    padding: 18px 25px;
    flex-direction: column;
    border-radius: 15px;
    background: var(--navy);
    color: #ffffff;
}

.executive-main-score span,
.executive-main-score small,
.detail-main-score span,
.detail-main-score small {
    font-size: 11px;
    opacity: 0.75;
}

.executive-main-score strong,
.detail-main-score strong {
    font-size: 38px;
}

.metric-red {
    background: #ffe7eb;
    color: #ce334b;
}

.client-result-grid {
    display: grid;
    grid-template-columns:
        repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.client-result-card {
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #ffffff;
}

.client-result-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.client-avatar,
.detail-client-avatar {
    display: grid;
    width: 46px;
    height: 46px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 13px;
    background: #e8f2ff;
    color: var(--primary);
    font-size: 18px;
    font-weight: 800;
}

.client-result-header h5 {
    margin: 0;
    color: var(--navy);
    font-weight: 750;
}

.client-result-header span {
    color: var(--muted);
    font-size: 12px;
}

.client-tnps {
    display: grid;
    width: 52px;
    height: 52px;
    margin-left: auto;
    place-items: center;
    border-radius: 13px;
    font-size: 19px;
    font-weight: 850;
}

.score-good {
    background: #e3f8ea;
    color: #178d49;
}

.score-medium {
    background: #fff3d6;
    color: #ad7205;
}

.score-bad {
    background: #ffe5e8;
    color: #c52d43;
}

.client-result-stats {
    display: grid;
    margin: 19px 0;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.client-result-stats div {
    padding: 10px;
    border-radius: 10px;
    background: #f7f9fc;
    text-align: center;
}

.client-result-stats span,
.client-result-stats strong {
    display: block;
}

.client-result-stats span {
    color: var(--muted);
    font-size: 10px;
}

.client-result-stats strong {
    margin-top: 3px;
    font-size: 18px;
}

.client-alert {
    min-height: 145px;
    margin-bottom: 18px;
    padding: 14px;
    border: 1px solid #ffd9df;
    border-radius: 12px;
    background: #fff7f8;
}

.client-alert-title {
    margin-bottom: 9px;
    color: #c52d43;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.client-alert strong {
    color: var(--navy);
    font-size: 13px;
}

.client-alert p {
    display: -webkit-box;
    margin: 8px 0 0;
    overflow: hidden;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.client-no-alert {
    display: flex;
    min-height: 145px;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    gap: 8px;
    border-radius: 12px;
    background: #effaf3;
    color: #178d49;
    font-size: 12px;
    font-weight: 700;
}

.detractor-score {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 9px;
    background: #ffe5e8;
    color: #c52d43;
    font-weight: 800;
}

.reason-cell {
    min-width: 260px;
    max-width: 430px;
    white-space: normal;
}

.detail-client-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 25px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #ffffff;
}

.detail-client-profile {
    display: flex;
    align-items: center;
    gap: 16px;
}

.detail-client-avatar {
    width: 65px;
    height: 65px;
    font-size: 25px;
}

.detail-client-profile h2 {
    margin: 5px 0 3px;
    color: var(--navy);
}

.detail-client-profile p {
    margin: 0;
    color: var(--muted);
}

.detail-back-link {
    color: var(--primary);
    font-size: 12px;
    text-decoration: none;
}

.detractor-list {
    display: grid;
    gap: 16px;
}

.detractor-detail-card {
    padding: 20px;
    border: 1px solid #ffd9df;
    border-radius: 14px;
    background: #fffafb;
}

.detractor-detail-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.detractor-detail-top h5 {
    margin: 10px 0 0;
    color: var(--navy);
}

.detractor-big-score {
    color: #c52d43;
    font-size: 30px;
    font-weight: 850;
}

.detractor-big-score small {
    font-size: 13px;
}

.detractor-reason {
    margin-top: 16px;
    padding: 15px;
    border-radius: 11px;
    background: #ffffff;
}

.detractor-reason span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 750;
    text-transform: uppercase;
}

.detractor-reason p {
    margin: 7px 0 0;
    color: var(--text);
    line-height: 1.6;
}

.detractor-date {
    margin-top: 13px;
    color: var(--muted);
    font-size: 12px;
}

.management-survey {
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 13px;
}

.management-survey-header {
    display: flex;
    justify-content: space-between;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--border);
}

.management-answer {
    display: flex;
    justify-content: space-between;
    padding: 14px 0;
    gap: 20px;
    border-bottom: 1px solid #edf0f5;
}

.management-answer:last-child {
    border-bottom: 0;
}

.management-answer p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.management-answer-score {
    height: fit-content;
    padding: 7px 10px;
    border-radius: 9px;
    font-weight: 800;
    white-space: nowrap;
}

.answer-good {
    background: #e3f8ea;
    color: #178d49;
}

.answer-medium {
    background: #fff3d6;
    color: #ad7205;
}

.answer-bad {
    background: #ffe5e8;
    color: #c52d43;
}

@media (max-width: 768px) {

    .executive-banner,
    .detail-client-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .executive-main-score,
    .detail-main-score {
        align-items: flex-start;
    }
}

/* =====================================================
   FEED EJECUTIVO
===================================================== */

.feed-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #ffffff;
    gap: 25px;
}

.feed-toolbar h2 {
    margin: 0 0 6px;
    color: var(--navy);
    font-size: 25px;
    font-weight: 800;
}

.feed-toolbar p {
    max-width: 600px;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}

.feed-filter-form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.feed-filter-form select,
.feed-search {
    height: 42px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #ffffff;
}

.feed-filter-form select {
    min-width: 165px;
    padding: 0 12px;
    color: var(--text);
    font-size: 12px;
}

.feed-search {
    display: flex;
    min-width: 235px;
    align-items: center;
    padding: 0 12px;
    gap: 8px;
}

.feed-search i {
    color: var(--muted);
}

.feed-search input {
    width: 100%;
    border: 0;
    outline: 0;
    color: var(--text);
    font-size: 12px;
}

.feed-kpi-card {
    display: flex;
    min-height: 112px;
    align-items: center;
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: #ffffff;
    gap: 15px;
}

.feed-kpi-icon {
    display: grid;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 50%;
    font-size: 21px;
}

.feed-kpi-blue {
    background: #e5f0ff;
    color: #2476e8;
}

.feed-kpi-gray {
    background: #edf0f5;
    color: #64748b;
}

.feed-kpi-green {
    background: #e1f8ea;
    color: #19a75a;
}

.feed-kpi-red {
    background: #ffe5e8;
    color: #d2344c;
}

.feed-kpi-purple {
    background: #eee9ff;
    color: #7557da;
}

.feed-kpi-card span,
.feed-kpi-card small {
    display: block;
}

.feed-kpi-card span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 750;
    text-transform: uppercase;
}

.feed-kpi-card strong {
    display: block;
    margin: 2px 0;
    color: var(--navy);
    font-size: 25px;
}

.feed-kpi-card small {
    color: var(--muted);
    font-size: 11px;
}

.feed-container {
    padding: 25px;
}

.feed-live-badge {
    display: inline-flex;
    align-items: center;
    padding: 7px 11px;
    border-radius: 30px;
    background: #ecf8f0;
    color: #168749;
    gap: 7px;
    font-size: 11px;
    font-weight: 750;
}

.feed-live-badge>span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #20b967;
}

.executive-feed {
    position: relative;
    display: grid;
    margin-top: 25px;
    gap: 18px;
}

.executive-feed::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 25px;
    width: 1px;
    background: #dce5ef;
    content: "";
}

.feed-event {
    position: relative;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
}

.feed-event-icon {
    z-index: 1;
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border: 5px solid #ffffff;
    border-radius: 50%;
    color: #ffffff;
    font-size: 16px;
}

.feed-event-created {
    background: #2476e8;
}

.feed-event-progress {
    background: #20ad62;
}

.feed-event-completed {
    background: #7557da;
}

.feed-event-comment {
    background: #ef920c;
}

.feed-event-file {
    background: #536b89;
}

.feed-event-status {
    background: #dd3d51;
}

.feed-event-card {
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: #ffffff;
}

.feed-event-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.feed-author {
    display: flex;
    align-items: center;
    gap: 11px;
}

.feed-author-avatar {
    display: grid;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 50%;
    background: #e8f2ff;
    color: var(--primary);
    font-weight: 850;
}

.feed-author h5 {
    margin: 0 0 3px;
    color: var(--navy);
    font-size: 14px;
    font-weight: 750;
}

.feed-author span {
    color: var(--muted);
    font-size: 11px;
}

.feed-status {
    display: inline-flex;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.status-pending {
    background: #e8f2ff;
    color: #2476e8;
}

.status-analysis {
    background: #f0eaff;
    color: #7654cc;
}

.status-progress {
    background: #fff0d4;
    color: #b87000;
}

.status-completed {
    background: #e1f8ea;
    color: #168749;
}

.status-overdue {
    background: #ffe5e8;
    color: #c93449;
}

.status-cancelled {
    background: #edf0f5;
    color: #64748b;
}

.feed-context {
    display: grid;
    margin-top: 18px;
    padding: 14px;
    grid-template-columns:
        repeat(auto-fit, minmax(150px, 1fr));
    border-radius: 11px;
    background: #f7f9fc;
    gap: 14px;
}

.feed-context span,
.feed-context strong {
    display: block;
}

.feed-context span {
    margin-bottom: 3px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
}

.feed-context strong {
    color: var(--navy);
    font-size: 12px;
}

.feed-description {
    margin-top: 14px;
    padding: 13px 15px;
    border-left: 3px solid var(--primary);
    border-radius: 0 9px 9px 0;
    background: #f7faff;
    color: var(--text);
    font-size: 12px;
    line-height: 1.6;
}

.feed-change {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #eef9f3;
}

.feed-change span {
    color: var(--muted);
    font-size: 11px;
}

.feed-change strong {
    color: #168749;
    font-size: 14px;
}

.feed-progress-block {
    margin-top: 16px;
}

.feed-progress-label {
    display: flex;
    justify-content: space-between;
    margin-bottom: 7px;
}

.feed-progress-label span,
.feed-progress-label strong {
    font-size: 11px;
}

.feed-progress-label span {
    color: var(--muted);
}

.feed-progress-label strong {
    color: var(--navy);
}

.feed-progress-track {
    height: 8px;
    overflow: hidden;
    border-radius: 20px;
    background: #e8edf3;
}

.feed-progress-bar {
    height: 100%;
    border-radius: inherit;
    background:
        linear-gradient(90deg,
            #2879e8,
            #20ad62);
}

.feed-action-summary {
    margin-top: 16px;
}

.feed-action-summary span {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
}

.feed-action-summary p {
    margin: 0;
    color: var(--text);
    font-size: 12px;
    line-height: 1.6;
}

.feed-event-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid var(--border);
    color: var(--muted);
    gap: 15px;
    font-size: 11px;
}

.feed-event-footer strong {
    color: var(--navy);
}

.feed-event-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
}

@media (max-width: 1100px) {
    .feed-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .feed-filter-form {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {

    .feed-filter-form,
    .feed-filter-form select,
    .feed-search {
        width: 100%;
    }

    .feed-event {
        grid-template-columns: 42px 1fr;
        gap: 10px;
    }

    .feed-event-icon {
        width: 40px;
        height: 40px;
    }

    .executive-feed::before {
        left: 20px;
    }

    .feed-event-header,
    .feed-event-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .feed-event-buttons {
        width: 100%;
    }
}

.management-answer-actions {
    display: flex;
    min-width: 125px;
    align-items: flex-end;
    flex-direction: column;
    gap: 9px;
}

.management-answer-actions .btn {
    white-space: nowrap;
}

@media (max-width: 768px) {
    .management-answer-actions {
        width: 100%;
        align-items: flex-start;
    }

    .management-answer {
        flex-direction: column;
    }
}

/* =====================================================
   ENCUESTAS DE JEFATURA
===================================================== */

.survey-filter-grid {
    display: grid;
    align-items: end;
    grid-template-columns:
        minmax(260px, 1.5fr) minmax(170px, 0.8fr) minmax(170px, 0.8fr) auto;
    gap: 18px;
}

.survey-filter-field label {
    display: block;
    margin-bottom: 8px;
    color: var(--navy);
    font-size: 12px;
    font-weight: 750;
}

.survey-search-input {
    display: flex;
    height: 42px;
    align-items: center;
    padding: 0 13px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #ffffff;
    gap: 9px;
}

.survey-search-input i {
    color: var(--muted);
}

.survey-search-input input {
    width: 100%;
    border: 0;
    outline: 0;
    color: var(--text);
    font-size: 12px;
}

.survey-filter-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.survey-table-card {
    padding: 24px;
}

.survey-count-badge {
    display: inline-flex;
    padding: 7px 11px;
    border-radius: 30px;
    background: #edf5ff;
    color: var(--primary);
    font-size: 11px;
    font-weight: 750;
}

.survey-table tbody td {
    vertical-align: middle;
}

.survey-client {
    display: flex;
    min-width: 180px;
    align-items: center;
    gap: 11px;
}

.survey-client-avatar {
    display: grid;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 11px;
    background: #e8f2ff;
    color: var(--primary);
    font-weight: 850;
}

.survey-client strong,
.survey-client small {
    display: block;
}

.survey-client strong {
    color: var(--navy);
    font-size: 13px;
}

.survey-client small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 11px;
}

.survey-tnps {
    display: inline-flex;
    min-width: 48px;
    justify-content: center;
    padding: 7px 10px;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 850;
}

.survey-tnps-good {
    background: #e3f8ea;
    color: #178d49;
}

.survey-tnps-medium {
    background: #fff3d6;
    color: #ad7205;
}

.survey-tnps-bad {
    background: #ffe5e8;
    color: #c52d43;
}

.survey-empty-value {
    color: #9aa6b5;
}

.survey-status {
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border-radius: 30px;
    gap: 7px;
    font-size: 10px;
    font-weight: 800;
}

.survey-status i {
    font-size: 7px;
}

.survey-status-success {
    background: #e3f8ea;
    color: #178d49;
}

.survey-status-warning {
    background: #fff3d6;
    color: #ad7205;
}

.survey-status-danger {
    background: #ffe5e8;
    color: #c52d43;
}

.survey-update-date {
    color: var(--navy);
    font-size: 11px;
}

.survey-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 18px;
    border-top: 1px solid var(--border);
    color: var(--muted);
    font-size: 11px;
}

.survey-pagination-buttons {
    display: flex;
    align-items: center;
    gap: 6px;
}

.survey-page-link {
    display: grid;
    width: 33px;
    height: 33px;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--text);
    font-size: 11px;
    text-decoration: none;
}

.survey-page-link:hover,
.survey-page-link.active {
    border-color: var(--primary);
    background: var(--primary);
    color: #ffffff;
}

@media (max-width: 1100px) {
    .survey-filter-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .survey-filter-grid {
        grid-template-columns: 1fr;
    }

    .survey-filter-actions {
        width: 100%;
    }

    .survey-filter-actions .btn {
        flex: 1;
    }

    .survey-pagination {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }
}

.survey-filter-card {
    min-height: auto !important;
    height: auto !important;
    padding: 18px 22px !important;
}

.survey-filter-card .survey-filter-grid {
    min-height: auto;
    height: auto;
}

.survey-filter-card .survey-filter-field,
.survey-filter-card .survey-filter-actions {
    margin: 0;
}

.survey-filter-card::before,
.survey-filter-card::after {
    display: none;
}

/* =====================================================
   RESULTADOS DE JEFATURA
===================================================== */

.results-kpi-grid {
    display: grid;
    margin-bottom: 22px;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.result-kpi-card {
    display: flex;
    min-height: 112px;
    align-items: center;
    padding: 19px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: #ffffff;
    gap: 13px;
}

.result-kpi-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 50%;
    font-size: 19px;
}

.result-kpi-blue {
    background: #e7f1ff;
    color: #176ef1;
}

.result-kpi-green {
    background: #e3f8ea;
    color: #178d49;
}

.result-kpi-yellow {
    background: #fff3d6;
    color: #ad7205;
}

.result-kpi-red {
    background: #ffe5e8;
    color: #c52d43;
}

.result-kpi-card span,
.result-kpi-card small {
    display: block;
}

.result-kpi-card span {
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.result-kpi-card strong {
    display: block;
    margin: 4px 0;
    color: var(--navy);
    font-size: 20px;
}

.result-kpi-card small {
    color: var(--muted);
    font-size: 10px;
}

.result-value-success {
    color: #178d49 !important;
}

.result-value-warning {
    color: #ad7205 !important;
}

.result-value-danger {
    color: #c52d43 !important;
}

.results-filter-card {
    min-height: auto !important;
    height: auto !important;
    margin-bottom: 20px;
    padding: 18px 20px !important;
}

.results-filter-grid {
    display: grid;
    align-items: end;
    grid-template-columns:
        minmax(180px, 1fr) minmax(180px, 1fr) minmax(180px, 0.9fr) auto;
    gap: 16px;
}

.results-filter-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--navy);
    font-size: 11px;
    font-weight: 750;
}

.results-filter-actions {
    display: flex;
    gap: 8px;
}

.results-chart-grid {
    display: grid;
    margin-bottom: 20px;
    grid-template-columns: 1.2fr 0.9fr 1.2fr;
    gap: 18px;
}

.result-chart-card {
    min-width: 0;
    padding: 20px;
}

.result-chart-container {
    position: relative;
    height: 290px;
}

.distribution-layout {
    display: grid;
    min-height: 290px;
    align-items: center;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 16px;
}

.distribution-chart {
    position: relative;
    height: 230px;
}

.distribution-legend {
    display: grid;
    gap: 17px;
}

.distribution-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.distribution-dot {
    width: 16px;
    height: 9px;
    border-radius: 20px;
}

.dot-promoter {
    background: #16a05d;
}

.dot-neutral {
    background: #f0ad17;
}

.dot-detractor {
    background: #dc334a;
}

.distribution-item strong,
.distribution-item small {
    display: block;
}

.distribution-item strong {
    color: var(--navy);
    font-size: 11px;
}

.distribution-item small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 10px;
}

.results-bottom-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 18px;
}

.results-bottom-grid>.dashboard-card {
    padding: 20px;
}

.results-table td,
.results-table th {
    white-space: nowrap;
}

.result-tnps-badge {
    display: inline-flex;
    min-width: 48px;
    justify-content: center;
    padding: 6px 9px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 850;
}

.result-tnps-good {
    background: #e3f8ea;
    color: #178d49;
}

.result-tnps-medium {
    background: #fff3d6;
    color: #ad7205;
}

.result-tnps-bad {
    background: #ffe5e8;
    color: #c52d43;
}

.result-client-cell {
    display: flex;
    min-width: 170px;
    align-items: center;
    gap: 10px;
}

.result-client-cell strong,
.result-client-cell small {
    display: block;
}

.result-client-cell strong {
    color: var(--navy);
    font-size: 12px;
}

.result-client-cell small {
    color: var(--muted);
    font-size: 10px;
}

.results-methodology {
    margin-top: 18px;
    color: var(--muted);
    font-size: 10px;
    text-align: center;
}

.results-methodology strong {
    color: var(--navy);
}

@media (max-width: 1350px) {
    .results-kpi-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

    .results-chart-grid {
        grid-template-columns: 1fr 1fr;
    }

    .results-chart-grid> :last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1000px) {
    .results-filter-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .results-bottom-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {

    .results-kpi-grid,
    .results-chart-grid,
    .results-filter-grid {
        grid-template-columns: 1fr;
    }

    .results-chart-grid> :last-child {
        grid-column: auto;
    }

    .distribution-layout {
        grid-template-columns: 1fr;
    }

    .results-filter-actions {
        width: 100%;
    }

    .results-filter-actions .btn {
        flex: 1;
    }
}

/* =====================================================
   GESTIÓN DE PLANES DE ACCIÓN
===================================================== */

.action-kpi-grid {
    display: grid;
    margin-bottom: 20px;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
}

.action-kpi-card {
    display: flex;
    min-height: 105px;
    align-items: center;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: #ffffff;
    gap: 13px;
}

.action-kpi-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 50%;
    font-size: 19px;
}

.action-blue {
    background: #e7f1ff;
    color: #176ef1;
}

.action-green {
    background: #e3f8ea;
    color: #178d49;
}

.action-yellow {
    background: #fff3d6;
    color: #ad7205;
}

.action-red {
    background: #ffe5e8;
    color: #c52d43;
}

.action-purple {
    background: #eee9ff;
    color: #7557da;
}

.action-kpi-card span,
.action-kpi-card small {
    display: block;
}

.action-kpi-card span {
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.action-kpi-card strong {
    display: block;
    margin: 3px 0;
    color: var(--navy);
    font-size: 23px;
}

.action-kpi-card small {
    color: var(--muted);
    font-size: 10px;
}

.action-filter-card {
    min-height: auto !important;
    height: auto !important;
    margin-bottom: 20px;
    padding: 17px 19px !important;
}

.action-filter-grid {
    display: grid;
    align-items: end;
    grid-template-columns:
        1.2fr 1fr 1fr 0.8fr 0.8fr auto;
    gap: 12px;
}

.action-filter-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--navy);
    font-size: 10px;
    font-weight: 750;
}

.action-filter-buttons {
    display: flex;
    gap: 7px;
}

.action-management-grid {
    display: grid;
    grid-template-columns: 1.35fr 0.9fr;
    gap: 18px;
}

.action-list-card,
.action-detail-card {
    min-width: 0;
    padding: 20px;
}

.action-list {
    display: grid;
    margin-top: 15px;
    gap: 7px;
}

.action-list-item {
    position: relative;
    display: grid;
    min-height: 71px;
    align-items: center;
    padding: 11px 13px 11px 20px;
    grid-template-columns:
        minmax(210px, 1.5fr) minmax(110px, 0.7fr) minmax(90px, 0.6fr) 90px 18px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: #ffffff;
    color: inherit;
    gap: 12px;
    text-decoration: none;
}

.action-list-item:hover,
.action-list-item.active {
    border-color: #9ac3ff;
    background: #f8fbff;
}

.action-list-indicator {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
}

.indicator-red {
    background: #d2344c;
}

.indicator-purple {
    background: #7557da;
}

.indicator-green {
    background: #19a75a;
}

.indicator-yellow {
    background: #efa512;
}

.action-list-main strong,
.action-list-main small {
    display: block;
}

.action-list-main strong {
    color: var(--navy);
    font-size: 12px;
}

.action-list-main small {
    margin-top: 4px;
    overflow: hidden;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.action-list-client,
.action-list-date {
    color: var(--text);
    font-size: 10px;
}

.action-status {
    display: inline-flex;
    padding: 6px 9px;
    border-radius: 20px;
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}

.action-status-red {
    background: #ffe5e8;
    color: #c52d43;
}

.action-status-purple {
    background: #eee9ff;
    color: #7557da;
}

.action-status-green {
    background: #e3f8ea;
    color: #178d49;
}

.action-status-blue {
    background: #e7f1ff;
    color: #176ef1;
}

.action-status-yellow {
    background: #fff3d6;
    color: #ad7205;
}

.action-status-gray {
    background: #edf0f5;
    color: #64748b;
}

.action-detail-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border);
    gap: 15px;
}

.action-detail-header>div>span {
    color: var(--muted);
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
}

.action-detail-header h3 {
    margin: 6px 0 0;
    color: var(--navy);
    font-size: 17px;
}

.action-detail-summary {
    display: grid;
    margin-top: 18px;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.action-detail-summary span,
.action-detail-summary strong {
    display: block;
}

.action-detail-summary span,
.action-detail-section span {
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
}

.action-detail-summary strong {
    color: var(--navy);
    font-size: 11px;
}

.action-detail-section {
    margin-top: 19px;
}

.action-detail-section p {
    margin: 6px 0 0;
    color: var(--text);
    font-size: 11px;
    line-height: 1.65;
    white-space: pre-line;
}

.action-result-section {
    padding: 13px;
    border-radius: 10px;
    background: #eef9f3;
}

.action-detail-progress {
    margin-top: 20px;
}

.action-detail-progress>div:first-child {
    display: flex;
    justify-content: space-between;
    margin-bottom: 7px;
}

.action-detail-progress span,
.action-detail-progress strong {
    font-size: 11px;
}

.action-detail-buttons {
    display: flex;
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    gap: 9px;
}

@media (max-width: 1350px) {
    .action-kpi-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .action-filter-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

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

@media (max-width: 768px) {

    .action-kpi-grid,
    .action-filter-grid {
        grid-template-columns: 1fr;
    }

    .action-list-item {
        grid-template-columns: 1fr;
    }

    .action-list-client,
    .action-list-date {
        display: block;
    }

    .action-detail-summary {
        grid-template-columns: 1fr;
    }

    .action-detail-buttons {
        flex-direction: column;
    }
}

/* =====================================================
   RESULTADOS GERENCIALES
===================================================== */

.management-insights {
    display: grid;
    margin-bottom: 20px;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.management-insight {
    display: flex;
    min-height: 110px;
    align-items: center;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: #ffffff;
    gap: 14px;
}

.management-insight-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 14px;
    font-size: 19px;
}

.management-insight span,
.management-insight strong {
    display: block;
}

.management-insight span {
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.management-insight strong {
    color: var(--navy);
    font-size: 15px;
}

.management-insight p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.5;
}

.insight-red {
    border-color: #ffd5dc;
    background: #fffafb;
}

.insight-red .management-insight-icon {
    background: #ffe5e8;
    color: #c52d43;
}

.insight-orange {
    border-color: #ffe2b2;
    background: #fffdf8;
}

.insight-orange .management-insight-icon {
    background: #fff3d6;
    color: #ad7205;
}

.insight-blue {
    border-color: #d7e7ff;
    background: #fbfdff;
}

.insight-blue .management-insight-icon {
    background: #e7f1ff;
    color: #176ef1;
}

.management-pda-count {
    display: inline-flex;
    min-width: 32px;
    justify-content: center;
    padding: 5px 8px;
    border-radius: 20px;
    background: #e7f1ff;
    color: #176ef1;
    font-size: 10px;
    font-weight: 800;
}

@media (max-width: 1000px) {
    .management-insights {
        grid-template-columns: 1fr;
    }
}