html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}


@media (min-width: 768px) {
    .navbar-nav > li > a {
        padding-top: 15px;
        padding-bottom: 15px;
        color: white !important;
    }
}


/*----------------------------------------------------------------
*/


.btn-link {
    font-weight: 400;
    color: white;
    text-decoration: underline;
}

.accordion-button:not(.collapsed) {
    color: var(--bs-accordion-active-color);
    background-color: var(--bs-accordion-active-bg);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
    background-color: #0943B5 !important;
    color: white;
}



/* Botón del acordeón cuando está CONTRAÍDO (tiene .collapsed) */
.accordion-button.collapsed {
    background-color: #387bff3b; /* gris claro */
    color: #111827; /* texto oscuro */
    border-color: #e5e7eb;
}

/* Botón del acordeón cuando está EXPANDIDO (NO tiene .collapsed) */
.accordion-button:not(.collapsed) {
    background-color: #2563eb; /* azul */
    color: #fff; /* texto blanco */
}

/* Opcional: color del borde del cuerpo al estar abierto */
.accordion-collapse.show {
    border-left: 3px solid #2563eb;
}

/* Color del caret/flecha (Bootstrap lo dibuja con background-image) */
.accordion-button::after {
    filter: grayscale(1) brightness(0.4);
}

.accordion-button:not(.collapsed)::after {
    filter: none; /* flecha en color normal cuando está abierto */
}



html {
    font-size: 100%;
    /* 100% = 16px */
}

:root {
    --govcolor-black: #000000;
    --govcolor-matterhorn: #4C4C4C;
    --govcolor-white: #FFFFFF;
    --govcolor-havelock-lue: #4672C8;
    --govcolor-silver-dis: #C8C8C8;
    --govcolor-red: #A80521;
    --govcolor-green: #158361;
    --govcolor-svg-green: invert(35%) sepia(93%) saturate(345%) hue-rotate(110deg) brightness(98%) contrast(98%);
    --govcolor-svg-red: invert(27%) sepia(63%) saturate(4192%) hue-rotate(335deg) brightness(63%) contrast(120%);
}

/* Verdana-Regular */
font-face {
    font-family: 'Verdana-Regular';
    src: url('../assets/fonts/Verdana/static/Verdana-Regular.ttf');
}

.entradas-de-texto-govco {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

    .entradas-de-texto-govco label {
        line-height: 1.125rem;
    }

    .entradas-de-texto-govco input[type="text"],
    .entradas-de-texto-govco input[type="password"],
    .entradas-de-texto-govco input[type="mail"],
    .entradas-de-texto-govco input[type="tel"] {
        outline: none;
        background-color: var(--govcolor-white);
        border: 0.063rem solid var(--govcolor-silver-dis);
        border-radius: 0.313rem;
        width: 100%;
        padding: 0.625rem 2.25rem 0.625rem 0.625rem;
        display: inline;
        height: auto;
        box-sizing: inherit;
        line-height: 0.938rem;
        margin: 0;
        box-shadow: none;
    }

        .entradas-de-texto-govco input[type="text"],
        .entradas-de-texto-govco input[type="password"],
        .entradas-de-texto-govco input[type="mail"],
        .entradas-de-texto-govco input[type="tel"],
        .entradas-de-texto-govco input[type="text"]::placeholder,
        .entradas-de-texto-govco input[type="password"]::placeholder,
        .entradas-de-texto-govco input[type="mail"]::placeholder,
        .entradas-de-texto-govco input[type="tel"]::placeholder,
        .entradas-de-texto-govco label {
            font-size: 15px;
            font-family: "Verdana-Regular";
            color: var(--govcolor-matterhorn);
        }

            .entradas-de-texto-govco input[type="text"]:not(.browser-default):active:not([readonly]),
            .entradas-de-texto-govco input[type="password"]:not(.browser-default):active:not([readonly]),
            .entradas-de-texto-govco input[type="mail"]:not(.browser-default):active:not([readonly]),
            .entradas-de-texto-govco input[type="tel"]:not(.browser-default):active:not([readonly]),
            .entradas-de-texto-govco input[aria-invalid="false"]:not(.browser-default):active:not([readonly]),
            .entradas-de-texto-govco input[aria-invalid="true"]:not(.browser-default):active:not([readonly]) {
                border-color: var(--govcolor-matterhorn);
            }

            .entradas-de-texto-govco input[type="text"]:not(.browser-default):focus-visible:not([readonly]),
            .entradas-de-texto-govco input[type="password"]:not(.browser-default):focus:not([readonly]),
            .entradas-de-texto-govco input[type="mail"]:not(.browser-default):focus:not([readonly]),
            .entradas-de-texto-govco input[type="tel"]:not(.browser-default):focus:not([readonly]),
            .entradas-de-texto-govco input[aria-invalid="false"]:not(.browser-default):focus:not([readonly]),
            .entradas-de-texto-govco input[aria-invalid="true"]:not(.browser-default):focus:not([readonly]) {
                box-shadow: none;
            }

                .entradas-de-texto-govco input[type="text"]:not(.browser-default):focus-visible:not([readonly]):not(:active),
                .entradas-de-texto-govco input[type="password"]:not(.browser-default):focus-visible:not([readonly]):not(:active),
                .entradas-de-texto-govco input[type="mail"]:not(.browser-default):focus-visible:not([readonly]):not(:active),
                .entradas-de-texto-govco input[type="tel"]:not(.browser-default):focus-visible:not([readonly]):not(:active),
                .entradas-de-texto-govco input[aria-invalid="false"]:not(.browser-default):focus-visible:not([readonly]):not(:active),
                .entradas-de-texto-govco input[aria-invalid="true"]:not(.browser-default):focus-visible:not([readonly]):not(:active) {
                    border-width: 0.125rem;
                    border-color: var(--govcolor-havelock-lue);
                    outline: max(0.125rem, 0.125rem) solid var(--govcolor-black);
                    outline-offset: max(0.125rem, 0.125rem);
                    color: var(--govcolor-matterhorn);
                }

            .entradas-de-texto-govco input[type="text"]:disabled,
            .entradas-de-texto-govco input[type="password"]:disabled,
            .entradas-de-texto-govco input[type="mail"]:disabled,
            .entradas-de-texto-govco input[type="tel"]:disabled {
                background-color: var(--govcolor-silver-dis);
                border-style: solid;
                border-color: var(--govcolor-matterhorn);
            }

    .entradas-de-texto-govco span {
        font-size: 15px;
        font-family: "Verdana-Regular";
        color: var(--govcolor-matterhorn);
        display: block;
        width: 100%;
        line-height: 1.25rem;
    }




:root {
    --b: #2e5b46; /* borde exterior (similar al de la imagen) */
    --bg: #eef3ef; /* fondo filas */
    --line: #cfd7cf; /* líneas internas */
}

body {
    font-family: system-ui,Segoe UI,Roboto,Arial,sans-serif;
    margin: 24px;
    color: #1b1b1b
}

.wrap {
    max-width: 920px
}

table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    background: linear-gradient(#f7faf7,#f7faf7) padding-box, transparent;
}

thead th {
    background: #e3ebe3;
    text-align: center;
    font-weight: 700;
    font-size: 1.15rem;
    padding: .7rem .5rem;
    border-bottom: 2px solid var(--line);
}

tbody td, tfoot td {
    padding: .55rem .6rem;
    border-bottom: 1px solid var(--line);
}

tbody tr:nth-child(odd) td {
    background: var(--bg)
}

th:first-child, td:first-child {
    width: 55%
}

th:nth-child(2), td:nth-child(2),
th:nth-child(3), td:nth-child(3) {
    width: 22.5%;
    text-align: right
}

.money {
    text-align: right
}

[contenteditable="true"] {
    outline: none;
    min-height: 1.2em;
    cursor: text;
}

.controls {
    display: flex;
    gap: .5rem;
    margin: 14px 0
}


button.secondary {
    background: #6c7a6f
}

tfoot td {
    font-weight: 700;
    background: #eef3ef
}

.hint {
    color: #5c6a60;
    font-size: .9rem;
    margin-top: .5rem
}
