body {
    margin: 0;
    padding: 0;
    background: #efefef;
    font-family: Arial, Helvetica, sans-serif;
    color: #222;
}

.contenedor-principal {
    width: 950px;
    margin: 40px auto;
    background: #ffffff;
    border: 1px solid #cfcfcf;
    padding: 25px 35px;
    box-sizing: border-box;
}

h1 {
    text-align: center;
    color: #b4322d;
    font-size: 32px;
    margin-bottom: 25px;
}

.menu-botones {
    text-align: center;
    margin-bottom: 25px;
}

.menu-botones a {
    display: inline-block;
    width: 150px;
    padding: 10px;
    margin: 0 8px;
    text-decoration: none;
    color: white;
    border-radius: 3px;
    border: 1px solid #24548a;
    background: linear-gradient(#5aa9ff, #1d5ea7);
}

.menu-botones a:hover {
    background: linear-gradient(#6cb4ff, #1a518e);
}

.panel-formulario {
    width: 650px;
    margin: 0 auto;
    border: 3px solid #f1b42a;
    background: #fafafa;
    padding: 25px;
    box-sizing: border-box;
}

.formulario-dos-columnas {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.lado-izquierdo {
    width: 60%;
}

.lado-derecho {
    width: 35%;
}

.fila-formulario {
    margin-bottom: 18px;
}

.fila-formulario label {
    display: inline-block;
    width: 120px;
    font-weight: bold;
}

.fila-formulario input,
.fila-formulario select {
    width: 200px;
    padding: 5px;
    border: 2px solid #5376a8;
    box-sizing: border-box;
}

.lado-derecho p {
    margin-bottom: 20px;
    font-size: 16px;
}

.boton-azul {
    padding: 10px 20px;
    color: white;
    border: 1px solid #24548a;
    border-radius: 3px;
    cursor: pointer;
    background: linear-gradient(#5aa9ff, #1d5ea7);
    font-size: 16px;
}

.boton-azul:hover {
    background: linear-gradient(#6cb4ff, #1a518e);
}

.mensaje-exito {
    width: 650px;
    margin: 0 auto 15px auto;
    background: #e8f7e8;
    color: #197019;
    border: 1px solid #8ccc8c;
    padding: 10px;
    text-align: center;
    box-sizing: border-box;
}

.mensaje-error {
    width: 650px;
    margin: 0 auto 15px auto;
    background: #fdeaea;
    color: #b51f1f;
    border: 1px solid #e39d9d;
    padding: 10px;
    text-align: center;
    box-sizing: border-box;
}

.link-xml {
    text-align: center;
    margin-top: 25px;
}

.link-xml a {
    color: purple;
    text-decoration: underline;
}

.tabla-contenedor {
    width: 850px;
    margin: 0 auto;
}

.tabla-estilo {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    background: #ffffff;
}

.tabla-estilo th {
    background: #dbe4f3;
    border: 2px solid #4e74a8;
    padding: 10px;
    font-weight: bold;
    text-align: center;
}

.tabla-estilo td {
    border: 2px solid #4e74a8;
    padding: 10px;
    text-align: center;
}

/* SALIDA */
.panel-resultado-salida {
    width: 880px;
    margin: 0 auto;
    min-height: 320px;
    border: 3px solid #f1b42a;
    background: #fafafa;
    padding: 25px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.bloque-izquierdo-salida {
    width: 360px;
    padding-top: 5px;
}

.fila-formulario-salida label {
    display: block;
    font-size: 17px;
    margin-bottom: 6px;
}

.fila-formulario-salida input {
    width: 275px;
    padding: 7px 8px;
    border: 2px solid #5376a8;
    font-size: 16px;
    box-sizing: border-box;
    background: #fff;
}

.bloque-derecho-salida {
    width: 310px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.caja-salida {
    width: 100%;
    border: 3px solid #f1b42a;
    background: #fffdf7;
    text-align: center;
    padding: 14px 10px;
    margin-bottom: 22px;
    box-sizing: border-box;
}

.titulo-caja {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 6px;
}

.texto-caja {
    font-size: 22px;
}

.caja-costo {
    padding-top: 18px;
    padding-bottom: 18px;
}

.titulo-costo {
    font-size: 46px;
    line-height: 1;
    margin-bottom: 8px;
}

.texto-costo {
    font-size: 48px;
    font-weight: bold;
    line-height: 1;
}