/* ===================== FODA ===================== */
.sgc-foda {
    margin-top: 18px;
    overflow-x: hidden;
}

.sgc-foda h3 {
    margin-bottom: 10px;
    font-size: 18px;
}

.sgc-foda .foda-grid {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(2, minmax(320px, 1fr));
    gap: 24px;
    width: 100%;
}

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

.sgc-foda .foda-panel {
    min-width: 0;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid #dfe7ef;
    background: #f7fafc;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
}

.sgc-foda .foda-head {
    margin-bottom: 12px;
    padding: 8px 10px;
    font-size: 15px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

.sgc-foda .chip-pos {
    background: #c6f6d5;
    color: #22543d;
    border: 1px solid #9ae6b4;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 6px;
}

.sgc-foda .chip-neg {
    background: #feb2b2;
    color: #63171b;
    border: 1px solid #fc8181;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 6px;
}

.foda-grid-matriz {
    display: grid;
    grid-template-columns: repeat(2, minmax(320px, 1fr));
    gap: 28px 36px;
    max-width: 980px;
    box-sizing: border-box;
}

@media (max-width: 900px) {
    .foda-grid-matriz {
        grid-template-columns: 1fr;
    }
}

.foda-title {
    font-weight: 700;
    margin: 4px 0 8px;
    font-size: 18px;
}

.foda-title-pos {
    color: #2f855a;
}

.foda-title-neg {
    color: #c53030;
}

.foda-card {
    background: transparent;
}

.foda-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 2px solid #4a5568;
}

.foda-table th,
.foda-table td {
    border: 1px solid #a0aec0;
    padding: 8px 10px;
    font-size: 14px;
    vertical-align: middle;
    color: #1a202c;
}

.foda-table thead th {
    background: #e2e8f0;
    font-weight: 700;
    text-align: center;
}

.foda-table .col-n {
    width: 56px;
    text-align: center;
}

.foda-table tbody td.muted {
    color: #718096;
}

.foda-total-row td {
    background: #f7fafc;
    border-top: 2px solid #4a5568;
    font-weight: 700;
}

.foda-table .right {
    text-align: right;
}

.foda-total-row td,
.foda-total-center {
    text-align: center !important;
}

.foda-total-num {
    color: #e60d0d;
}

/* ===================== FODA Toggle ===================== */
.foda-toggle {
    background: #f1f5f9;
    border-bottom: 2px solid #cbd5e0;
    border-radius: 8px 8px 0 0;
    padding: var(--foda-toggle-padding-v) 14px;
    min-height: var(--foda-toggle-height);
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    max-width: 990px;
    user-select: none;
    box-sizing: border-box;
}

.foda-toggle:hover {
    background: #e2e8f0;
    color: #1a202c;
}

.foda-toggle:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.4);
}

.foda-toggle .iconcolor {
    color: #2b6cb0;
}

.foda-toggle .caret {
    margin-left: auto;
    font-size: 16px;
    color: #4a5568;
    transition: transform 0.25s ease, color 0.25s ease;
    transform: rotate(0deg);
}

.foda-toggle.is-open .caret {
    transform: rotate(180deg);
}

.foda-toggle:not(.is-open) .caret {
    transform: rotate(0deg);
}

.foda-toggle:hover .caret {
    color: #2b6cb0;
}

.foda-toggle.is-open {
    background: #edf2f7;
}

.foda-toggle.is-open .caret {
    transform: rotate(0deg);
}

.foda-toggle:not(.is-open) .caret {
    transform: rotate(180deg);
}

:root {
    --foda-toggle-height: 64px;
    --foda-toggle-padding-v: 0px;
    --foda-icon-height: 64px; /* o calc(var(--foda-toggle-height) - (var(--foda-toggle-padding-v) * 2)) */
    --foda-icon-max-width: 76px;
}

.foda-toggle .foda-icon {
    height: var(--foda-icon-height);
    max-width: var(--foda-icon-max-width);
    width: auto;
    display: block;
    object-fit: contain;
    flex-shrink: 0;
}

.foda-toggle:hover .foda-icon {
    opacity: 0.9;
}

/* =========================================================== */
/* ===== DIAGNOSTICO ORGANIZACIONAL ===== */
/* =========================================================== */

.diag-org-card {
    border: 2px solid #4a5568;
    background: #ffffff;
}

.diag-org-head {
    background: #e2e8f0;
    border-bottom: 1px solid #a0aec0;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.diag-org-title {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    color: #111827;
    text-transform: uppercase;
}

.diag-org-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    border-radius: 6px;
    border: 1px solid #1d4ed8;
    background: #1d4ed8;
    color: #ffffff;
    padding: 7px 11px;
    transition: background .2s ease;
}

.diag-org-btn:hover,
.diag-org-btn:focus {
    background: #1e40af;
    color: #ffffff;
}

.diag-org-table-wrap {
    overflow-x: auto;
}

.diag-org-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.diag-org-table th,
.diag-org-table td {
    border: 1px solid #4a5568;
    padding: 6px 8px;
    font-size: 13px;
    color: #111827;
}

.diag-org-table thead th {
    background: #f1f5f9;
    text-align: center;
    font-weight: 700;
}

.diag-org-center {
    text-align: center;
}

.diag-org-action-pill {
    display: inline-block;
    min-width: 92px;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
    color: #ffffff;
}

.diag-org-total-row td {
    background: #f6c89f;
    border-top: 2px solid #4a5568;
}

.diag-org-global {
    display: grid;
    grid-template-columns: 1fr 46%;
}

.diag-org-global-label,
.diag-org-global-value {
    border-top: 1px solid #4a5568;
    border-right: 1px solid #4a5568;
    border-left: 1px solid #4a5568;
    border-bottom: 1px solid #4a5568;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 6px 8px;
    font-size: 16px;
}

.diag-org-global-label {
    background: #e2e8f0;
    font-size: 15px;
}

.diag-org-state--explotar {
    background: #2f9b45;
    color: #ffffff;
}

.diag-org-state--mantener {
    background: #d9851c;
    color: #ffffff;
}

.diag-org-state--corregir {
    background: #2b68ad;
    color: #ffffff;
}

.diag-org-state--afrontar {
    background: #c9302c;
    color: #ffffff;
}

@media (max-width: 768px) {
    .diag-org-title {
        font-size: 15px;
    }

    .diag-org-global {
        grid-template-columns: 1fr;
    }

    .diag-org-global-label,
    .diag-org-global-value {
        min-height: 46px;
        font-size: 14px;
    }

    .diag-org-action-pill {
        min-width: 80px;
        font-size: 10px;
        padding: 4px 8px;
    }
}

/* =========================================================== */
/* ===== EFI ============ */
/* =========================================================== */

.efi-total-low {
    color: #cc0000 !important;
}

.efi-total-high {
    color: #16a34a !important;
}


.efi-wrapper {
    max-width: 990px;
    margin-top: 8px;
}

.efi-table {
    width: 100%;
    border-collapse: collapse !important;
    background: #fff;
    border: 2px solid #4a5568;
}

.efi-table th,
.efi-table td {
    border: 1px solid #a0aec0;
    padding: 6px 8px;
    font-size: 13px;
    line-height: 1.2;
    vertical-align: middle;
    color: #1a202c;
}

.efi-table thead th {
    background: #e2e8f0;
    font-weight: 700;
    text-align: center;
    padding: 6px 8px;
}

.efi-table th:nth-child(1),
.efi-table td:nth-child(1) {
    width: 54px;
}

.efi-table th:nth-child(3),
.efi-table td:nth-child(3) {
    width: 90px;
    text-align: center;
}

.efi-table th:nth-child(4),
.efi-table td:nth-child(4) {
    width: 86px;
    text-align: center;
}

.efi-table th:nth-child(5),
.efi-table td:nth-child(5) {
    width: 96px;
    text-align: center;
}

.efi-table th:nth-child(2),
.efi-table td:nth-child(2) {
    width: auto;
    white-space: normal;
}

.efi-total-row td {
    background: #f8fafc;
    border-top: 2px solid #4a5568;
    font-weight: 700;
}

.efi-table .right {
    text-align: right;
}

.efi-table .muted {
    color: #000000;
}

.efi-peso,
.efe-peso,
.efi-tot,
.efe-tot {
    background: #f3f6f9;
    color: #2d3748;
    text-align: center;
    font-weight: 700;
}

.efi-cal,
.efe-cal {
    width: 100%;
    height: 26px;
    border: none;
    text-align: center;
    font-weight: 700;
    background: #fff !important;
    outline: none;
    padding: 0;
    line-height: 26px;
}

.efi-cal:focus,
.efe-cal:focus {
    outline: 2px solid #63b3ed;
    outline-offset: -2px;
}

.efi-cal.pos,
.efe-cal.pos {
    color: #22543d;
}

.efi-cal.neg,
.efe-cal.neg {
    color: #000000;
    background: #fff !important;
}

.efi-section-row td {
    font-weight: 700;
    text-align: left;
    padding: 4px 8px;
}

.efi-section-f td {
    background: #e6fffa;
    border-color: #b2f5ea;
    color: #22543d;
}

.efi-section-d td {
    background: #fff5f5;
    border-color: #fed7d7;
    color: #000000;
}

.is-editable-factor {
    background: #fff;
    outline: 1px dashed #cbd5e0;
}

.is-editable-factor:focus {
    outline: 2px solid #63b3ed;
}

.efi-suma-pond-global b,
.efe-suma-pond-global b {
    color: #cc0000;
    font-weight: 700;
}

.efi-total-row .efi-suma-pond-global,
.efi-total-row .efe-suma-pond-global {
    color: #cc0000;
    font-weight: 700;
}

.efe-total-low {
    color: #cc0000 !important;
}

.efe-total-high {
    color: #16a34a !important;
}


/* =========================================================== */
/* ===== FODA CRUZADA ============ */
/* =========================================================== */

.foda-collapsible {
    max-width: 990px;
}

.foda-cruzada-wrap {
    width: 100%;
}

.foda-cruzada-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 12px;
    color: #1d1d1d;
    border: 2px solid #6b6b6b;
}

.foda-cruzada-table th,
.foda-cruzada-table td {
    padding: 6px 8px;
    text-align: center;
    border: 1px solid #a3a3a3;
    line-height: 1.1;
    font-weight: 600;
}

.foda-cruzada-table .th-corner,
.foda-cruzada-table .th-d,
.foda-cruzada-table .th-f,
.foda-cruzada-table .th-fo,
.foda-cruzada-table .th-o,
.foda-cruzada-table .th-a,
.foda-cruzada-table .th-da {
    background: #d9d9d9;
    font-weight: 700;
    color: #222;
}

.foda-cruzada-table .th-corner,
.foda-cruzada-table .th-o,
.foda-cruzada-table .th-a,
.foda-cruzada-table .th-da {
    width: 48px;
}

.foda-cruzada-table .th-d,
.foda-cruzada-table .th-f,
.foda-cruzada-table .th-fo {
    width: 62px;
}

.foda-cruzada-table .th-mid {
    width: 58px;
    background: #d9d9d9;
    border-color: #9e9e9e;
}

.foda-cruzada-table .td-mid {
    font-weight: 800;
    color: #000;
}

.td-do {
    background: #dae9f7;
}

.td-do-sum {
    background: #a5c9eb;
    font-weight: 700;
}

.td-mid-do {
    background: #a5c9eb;
}

.td-mid-do-grand {
    background: #6fa8dc;
    color: #fff;
    font-weight: 900;
}

.td-fo {
    background: #eaf5d7;
}

.td-fo-sum {
    background: #b0dd7f;
    font-weight: 700;
}

.td-fo-grand {
    background: #93c47d;
    color: #0f2b11;
    font-weight: 900;
}

.td-da {
    background: #ffccff;
}

.td-da-sum {
    background: #ea9999;
    font-weight: 700;
}

.td-mid-da {
    background: #cc0000;
    color: #fff;
}

.td-mid-da-grand {
    background: #cc0000;
    color: #fff;
    font-weight: 900;
}

.td-fa {
    background: #fae2d5;
}

.td-fa-sum {
    background: #f1a983;
    font-weight: 700;
}

.td-fa-grand {
    background: #f6b26b;
    color: #4a2a00;
    font-weight: 900;
}

.tr-band th,
.tr-band td,
.tr-band-bottom th,
.tr-band-bottom td {
    background: #d9d9d9;
    font-weight: 800;
}

.td-do.heat-1 {
    background: #bdd7ee;
}

.td-do.heat-2 {
    background: #9cc2e5;
}

.td-do.heat-3 {
    background: #6fa8dc;
}

.td-do .num.neg {
    color: #0b5394;
    font-weight: 800;
}

.td-fo.heat-1 {
    background: #cfe7c8;
}

.td-fo.heat-2 {
    background: #b2d5a6;
}

.td-fo.heat-3 {
    background: #93c47d;
}

.td-fo .num.pos {
    color: #1d5e2f;
}

.td-da.heat-1 {
    background: #f0b8b8;
}

.td-da.heat-2 {
    background: #e88f8f;
}

.td-da.heat-3 {
    background: #e06666;
}

.td-da .num.neg {
    color: #a40000;
    font-weight: 800;
}

.td-fa.heat-1 {
    background: #f8d9bd;
}

.td-fa.heat-2 {
    background: #f3c095;
}

.td-fa.heat-3 {
    background: #f6b26b;
}

.td-fa .num.pos {
    color: #7a3f00;
}

@media (max-width: 1024px) {
    .foda-cruzada-table {
        font-size: 11px;
    }

    .foda-cruzada-table th,
    .foda-cruzada-table td {
        padding: 5px 6px;
    }
}

.foda-cruzada-table td {
    color: #000 !important;
}

.foda-cruzada-table .td-mid-da-grand,
.foda-cruzada-table .td-mid-do-grand,
.foda-cruzada-table .td-fo-grand,
.foda-cruzada-table .td-fa-grand {
    color: #000 !important;
}

.foda-cruzada-table .td-mid-da {
    color: #ffffff !important;
}

.foda-cruzada-table .num {
    color: #000 !important;
}

.foda-cruzada-table tr.tr-band-bottom td.td-da-sum {
    background: #cc0000;
    color: #ffffff !important;
    font-weight: 900;
    border-color: #a73b3b;
}

.foda-cruzada-table tr.tr-band td.td-do-sum {
    background: #a5c9eb !important;
    color: #000 !important;
    font-weight: 800;
    border-color: #8fb6d9;
}

.foda-cruzada-table tr.tr-band td.td-fo-sum {
    background: #b0dd7f !important;
    color: #000 !important;
    font-weight: 800;
    border-color: #99c36a;
}

.foda-cruzada-table tr.tr-band td.td-fo-grand {
    background: #b0dd7f !important;
    color: #000 !important;
    font-weight: 900;
    border-color: #99c36a;
}

.foda-cruzada-table tr.tr-band-bottom td.td-fa-sum {
    background: #f1a983 !important;
    color: #000 !important;
    font-weight: 800;
    border-color: #d48f6d;
}

.foda-cruzada-table tr.tr-band-bottom td.td-fa-grand {
    background: #f1a983 !important;
    color: #000 !important;
    font-weight: 900;
    border-color: #d48f6d;
}

.foda-cruzada-table tr.tr-band td.td-fo-grand {
    background: #ebf1de !important;
    color: #ff000d !important;
    font-weight: 900;
}

.foda-cruzada-table tr.tr-band-bottom td.td-fa-grand {
    background: #ebf1de !important;
    color: #ff000d !important;
    font-weight: 900;
}

.foda-cruzada-table tr.tr-band td.td-mid-do-grand {
    background: #dae9f7 !important;
    color: #eb0909 !important;
    border-color: #bcd0e6;
}

.foda-cruzada-table tr.tr-band-bottom td.td-mid-da-grand {
    background: #f2dcdb !important;
    color: #ee0c0c !important;
    border-color: #d8b8b7;
}

.foda-cruzada-table thead .th-corner,
.foda-cruzada-table thead .th-fo,
.foda-cruzada-table tr.tr-band-bottom .th-da {
    background: #ffffff !important;
    color: #000 !important;
    border-color: #a3a3a3;
}

.foda-cruzada-table .tr-footer .td-foot-title {
    background: #d9d9d9;
    color: #4a4a4a;
    text-align: center;
    font-weight: 900;
    letter-spacing: 0.6px;
    border: 1px solid #a3a3a3;
}

.foda-cruzada-table .tr-footer .th-fa-foot {
    background: #ffffff;
    color: #000;
    border: 1px solid #a3a3a3;
    width: 48px;
}

.foda-cruzada-table col.col-corner {
    width: 48px;
}

.foda-cruzada-table col.col-mid {
    width: 58px;
}

.foda-cruzada-table col.col-d,
.foda-cruzada-table col.col-f,
.foda-cruzada-table col.col-fo,
.foda-cruzada-table col.col-fx {
    width: 62px;
}

.foda-cruzada-table .th-corner,
.foda-cruzada-table .th-d,
.foda-cruzada-table .th-f,
.foda-cruzada-table .th-fo,
.foda-cruzada-table .th-o,
.foda-cruzada-table .th-a,
.foda-cruzada-table .th-da,
.foda-cruzada-table .th-mid {
    width: auto !important;
    white-space: nowrap;
}

.foda-cruzada-table tr.tr-col-total td {
    background: transparent !important;
    color: inherit;
}

.foda-cruzada-table tr.tr-col-total td.td-col-total-d {
    background: #8d4c9a !important;
    color: #ffffff !important;
}

.foda-cruzada-table tr.tr-col-total td.td-mid.td-mid-grand-total,
.foda-cruzada-table tr.tr-col-total td.td-col-total.td-col-total-fofa {
    background: #286f80 !important;
    color: #ffffff !important;
    font-weight: 800;
}

.foda-cruzada-table tr.tr-col-total td.td-col-total-f {
    background: #8d4c9a !important;
    color: #ffffff !important;
}

.foda-cruzada-table tr.tr-col-total td.td-mid.td-col-total-fofa {
    background: #286f80 !important;
    color: #ffffff !important;
    font-weight: 800;
}

.foda-cruzada-table td.td-row-total.td-row-total-o,
.foda-cruzada-table td.td-row-total.td-row-total-a {
    background: #92cddc !important;
    color: #000 !important;
    font-weight: 800;
}

.foda-cruzada-table td.td-fx-band-sum,
.foda-cruzada-table td.d-fx-band-sum {
    background: #000000 !important;
    color: #ffffff !important;
    font-weight: 800;
}


/*PEYEA*/
:root {
    --grid-color: #e5e7eb;
    --axis-color: #111827;
    --arrow: #22c55e;
    --label-size: 0.32px;
    --arrow-width: 0.08;
}

.label {
    fill: var(--axis-color);
    font-size: var(--label-size, 0.32px);
    user-select: none;
}

* {
    box-sizing: border-box;
}

.board {
    width: min(92vmin, 820px);
    aspect-ratio: 1/1;
    padding: 12px;
    background: #ffffff;
    border-radius: 16px;
    display: grid;
    place-items: center;
}

svg {
    width: 90%;
    height: 90%;
    display: block;
}

.board svg {
    overflow: visible;
}

.grid {
    stroke: var(--grid-color);
    stroke-width: 0.02;
}

.axis {
    stroke: var(--axis-color);
    stroke-width: 0.06;
}

.tick {
    stroke: var(--axis-color);
    stroke-width: 0.06;
}

.label {
    fill: var(--axis-color);
    font-size: var(--label-size);
    user-select: none;
}

.arrow {
    stroke: var(--arrow);
    stroke-width: var(--arrow-width);
    fill: none;
    stroke-linecap: round;
}

.marker-arrow {
    fill: var(--arrow);
}

.label-anno {
    fill: var(--arrow);
    font-weight: 600;
    font-size: calc(var(--label-size) * 1.1);
    paint-order: stroke;
    stroke: #ffffff;
    stroke-width: 0.06;
    user-select: none;
}


#fodaContent {
    display: grid;
    justify-items: center;
    padding: 12px 0;
}

#fodaContent .board {
    margin: 0 auto;
}

.quad-label {
    font-size: calc(var(--label-size) * 0.9);
    font-weight: 600;
    text-transform: none;
    user-select: none;
}



/* ===== CAME ===== */
.came-wrap {
    max-width: 990px;
    margin: 8px auto;
}

.came-legend {
    margin: 6px 0 10px;
    font-size: 14px;
}

.came-legend2 {
    margin-top: 6px;
    color: #475569;
    font-size: 12px;
}

.came-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.came-table th,
.came-table td {
    border: 1px solid #cbd5e1;
    text-align: center;
    padding: 6px;
    font-size: 13px;
}

.came-table .th-corner,
.came-table .th-quad {
    background: #f3f4f6;
    font-weight: 700;
}

.came-table .th-d,
.came-table .th-f,
.came-table .th-o,
.came-table .th-a {
    background: #d9d9d9;
}

.came-table .th-mid,
.came-table .td-mid,
.came-table .blk {
    background: #111827;
    color: #111827;
    width: 16px;
    min-width: 16px;
    padding: 0;
}

.came-table .sep .blk {
    height: 30px !important;
    padding: 0;
}

.came-table .cell {
    height: 30px;
    background: #ffffff;
}

.came-table .cell.trail {
    background: #c4d79b;
}

.came-table .cell.hit {
    background: #76933c;
    font-weight: 700;
}

@media (max-width: 700px) {

    .came-table th,
    .came-table td {
        padding: 4px;
        font-size: 12px;
    }

    .came-table .cell {
        height: 26px;
    }
}

.came-table .th-side {
    background: #f3f4f6;
    font-weight: 700;
}

.came-table .th-mid,
.came-table .td-mid,
.came-table .blk {
    background: #d9d9d9;
    color: #000000;
    width: 54px;
    min-width: 54px;
    padding: 0;
}

.came-table .th-mid.th-mid-label {
    color: #fff;
}

.came-table .th-mid .vlabel {
    display: block;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-align: center;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .04em;
    padding: 6px 0;
}

.came-table .td-mid-action {
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
}

.came-table .blk-label .hlabel {
    display: block;
    color: #000000;
    font-weight: 700;
    text-align: center;
    padding: 4px 0;
    letter-spacing: .04em;
}

.came-table .blk-label .hlabel.came-word-explotar {
    color: #16a34a;
}

.came-table .blk-label .hlabel.came-word-corregir {
    color: #1d4ed8;
}

.came-table .blk-label .hlabel.came-word-afrontar {
    color: #dc2626;
}

.came-table .blk-label .hlabel.came-word-mantener {
    color: #b8860b;
}

.came-legend-letters {
    margin: 10px 0 0;
    font-size: 14px;
}

.came-legend-letters p {
    margin: 0;
}

.came-table .right-col-tag {
    background: #fff;
    font-weight: 700;
    text-align: center;
}

.came-table .right-col-action {
    background: #f3f4f6;
    font-weight: 700;
    text-align: center;
}

.came-table tr.footer td,
.came-table tr.footer th {
    border-top: 1px solid #000000;
}

.came-table {
    border-collapse: collapse;
    border: 1px solid #000;
}

.came-table tr>th,
.came-table tr>td {
    border: 1px solid #000 !important;
}

.came-table .sep .blk,
.came-table .td-mid,
.came-table .th-mid {
    border-left: 1px solid #000 !important;
    border-right: 1px solid #000 !important;
    border-top: 1px solid #000 !important;
    border-bottom: 1px solid #000 !important;
    color: #000;
}

.came-table .blk-center-label {
    display: flex;
    align-items: center;
    justify-content: center;
}

.came-table .blk-center-label .hlabel {
    display: block;
    color: #000000;
    font-weight: 700;
    text-align: center;
    padding: 2px 2px;
    font-size: 10px;
    line-height: 1.1;
    letter-spacing: .02em;
}

.came-table .right-col-tag {
    background: #fff;
    font-weight: 700;
    text-align: center;
}

.came-table .right-col-action {
    background: #f3f4f6;
    font-weight: 700;
    text-align: center;
}

.came-table thead tr>th:last-child,
.came-table tbody tr>td:last-child,
.came-table tbody tr>th:last-child {
    background: #d9d9d9 !important;
}

.came-table .right-col-tag,
.came-table .right-col-action {
    background: #d9d9d9 !important;
}

.came-table .sep .blk-center-label::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 1px #000;
    pointer-events: none;
}

.came-table tbody tr.sep td.td-mid.blk.blk-center-label {
    border: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

.came-table .sep .blk-center-label {
    border: 0 !important;
}

.came-table .th-mid,
.came-table .td-mid:not(.blk-center-label),
.came-table .sep .blk:not(.blk-center-label) {
    border-left: 1px solid #000 !important;
    border-right: 1px solid #000 !important;
    border-top: 1px solid #000 !important;
    border-bottom: 1px solid #000 !important;
}

.came-table .sep .blk-center-label::after {
    content: none !important;
}

.came-table thead tr>th.th-quad,
.came-table tbody tr.footer>td.th-quad {
    background: #f3f4f6 !important;
}



/* ===== Modal CAME ===== */
.came-modal[hidden] {
    display: none;
}

.came-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, .35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.came-modal .card {
    width: min(1180px, 97vw);
    background: #fff;
    border: 1px solid #0f172a;
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .25);
    overflow: hidden;
    font-size: 14px;
}

.came-modal .hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: #0f172a;
    color: #fff;
    font-weight: 700;
}

.came-modal .hd .pill {
    background: #fff;
    color: #0f172a;
    border-radius: 999px;
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 800;
}

.came-modal .hd .close {
    cursor: pointer;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 20px;
    line-height: 1;
}

.came-modal .bd {
    padding: 14px;
    display: grid;
    gap: 10px;
}

.came-modal .came-strategy-label {
    font-size: 18px;
    color: #0f172a;
    font-weight: 700;
}

.came-modal .came-strategy-line {
    font-size: 18px;
    color: #0f172a;
    font-weight: 600;
}

.came-modal .came-strategy-word {
    font-size: 1.06em;
    font-weight: 800;
}

.came-modal .came-strategy-word.came-strategy-fo {
    color: #16a34a;
}

.came-modal .came-strategy-word.came-strategy-do {
    color: #1d4ed8;
}

.came-modal .came-strategy-word.came-strategy-da {
    color: #dc2626;
}

.came-modal .came-strategy-word.came-strategy-fa {
    color: #b8860b;
}

.came-modal .row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 10px;
    align-items: center;
}

.came-modal input[type="text"],
.came-modal textarea,
.came-modal input[type="date"] {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #f8fafc;
}

.came-modal textarea {
    min-height: 110px;
    resize: vertical;
}

.came-modal .came-form-table-wrap {
    overflow-x: auto;
}

.came-modal .came-form-table {
    width: 100%;
    min-width: 1080px;
    border-collapse: collapse;
    table-layout: fixed;
    border: 1px solid #000;
}

.came-modal .came-form-table th,
.came-modal .came-form-table td {
    border: 1px solid #000;
    text-align: center;
    vertical-align: middle;
    padding: 8px 6px;
    font-size: 16px;
}

.came-modal .came-form-table th {
    background: #c7d5e5;
    font-weight: 700;
    line-height: 1.1;
}

.came-modal .came-form-table td {
    height: 56px;
    background: #fff;
}

.came-modal .came-form-table td:nth-child(2),
.came-modal .came-form-table td:nth-child(5) {
    text-align: left;
    padding-left: 10px;
    word-break: break-word;
}

.came-modal .came-form-table th:nth-child(1),
.came-modal .came-form-table td:nth-child(1) {
    width: 11%;
}

.came-modal .came-form-table th:nth-child(2),
.came-modal .came-form-table td:nth-child(2) {
    width: 28%;
}

.came-modal .came-form-table th:nth-child(3),
.came-modal .came-form-table td:nth-child(3) {
    width: 8%;
}

.came-modal .came-form-table th:nth-child(4),
.came-modal .came-form-table td:nth-child(4) {
    width: 8%;
}

.came-modal .came-form-table th:nth-child(5),
.came-modal .came-form-table td:nth-child(5) {
    width: 45%;
}

.came-modal .came-form-table td.came-action-cell {
    vertical-align: top;
    padding: 6px;
}

.came-modal .came-action-input {
    width: 100%;
    min-height: 120px;
    resize: vertical;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 8px 10px;
    font-size: 14px;
    font-family: inherit;
    background: #f8fafc;
}

.came-modal .came-action-input:disabled {
    background: #f8fafc;
    color: #1f2937;
}

.came-modal .ft {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 14px;
    border-top: 1px solid #e2e8f0;
}

.came-btn {
    border: 1px solid #0f172a;
    background: #0f172a;
    color: #fff;
    padding: 8px 14px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 700;
}

.came-btn.came-icon-btn {
    width: 40px;
    min-width: 40px;
    padding: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.came-btn.came-icon-btn i {
    font-size: 16px;
    line-height: 1;
}

.came-modal .came-btn[hidden] {
    display: none !important;
}

.came-btn.ghost {
    background: #fff;
    color: #0f172a;
}

.came-btn:disabled {
    opacity: .6;
    cursor: not-allowed;
}

.came-table .cell {
    cursor: pointer;
}

.came-modal textarea::placeholder {
    color: #64748b;
    opacity: 1;
}

.came-modal textarea:disabled {
    background: #f8fafc;
}
