@font-face {
    font-family:'Google Sans Flex';
    font-style:normal;
    font-weight:400 800;
    font-display:swap;
    src:url('../fuentes/google-sans-flex-latino-ampliado.woff2') format('woff2');
    unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
    font-family:'Google Sans Flex';
    font-style:normal;
    font-weight:400 800;
    font-display:swap;
    src:url('../fuentes/google-sans-flex-latino.woff2') format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
    --ancho-contenido:1800px;
    --margen-contenido:clamp(24px,4vw,96px);
    --naranja:#ff5627;
    --accion-principal:var(--naranja);
    --accion-hover:#ff6b42;
    --naranja-oscuro:#a43817;
    --naranja-suave:#fff1ea;
    --naranja-linea:#f2c7b7;
    --oscuro:#16191d;
    --negro:#000;
    --papel:#f5f7f8;
    --superficie-suave:#f0f3f5;
    --superficie-acento:#fff;
    --tinta:#20262d;
    --gris:#56616d;
    --linea:#dce2e7;
    --linea-control:#87929d;
    --blanco:#fff;
    --vigente-tinta:#376247;
    --vigente-fondo:#edf5ef;
    --vigente-linea:#c7dcca;
    --aviso-tinta:#80510e;
    --aviso-fondo:#fff6e5;
    --aviso-linea:#e9cc95;
    --error-tinta:#9a3027;
    --error-fondo:#fff0ee;
    --error-linea:#edb7af;
    --sombra-suave:0 4px 18px #16212b08;
    --radio:12px;
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:24px;
}

body {
    margin:0;
    min-height:100vh;
    min-height:100dvh;
    display:flex;
    flex-direction:column;
    background:var(--papel);
    color:var(--tinta);
    font-family:'Google Sans Flex',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:16px;
    line-height:1.65;
}

body>main {
    flex:1 0 auto;
    min-width:0;
}

body>.franja,
body>.cabecera-fondo,
body>.pie {
    flex-shrink:0;
}

a {
    color:inherit;
    text-decoration:none;
}

a:hover {
    text-decoration:underline;
    text-underline-offset:4px;
}

button,input,select,textarea {
    font:inherit;
}

button,a,input,select,textarea,summary {
    outline-offset:5px;
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
    outline:3px solid var(--naranja);
}

button {
    cursor:pointer;
}

h1,h2,h3,p {
    margin-top:0;
}

h1 {
    font-size:clamp(30px,4vw,54px);
    line-height:1.15;
    letter-spacing:-.035em;
    font-weight:650;
}

h2 {
    font-size:28px;
    line-height:1.22;
    letter-spacing:-.02em;
    font-weight:650;
}

h3 {
    font-size:19px;
    line-height:1.4;
    font-weight:600;
}

p {
    color:var(--gris);
}

.contenedor {
    width:min(var(--ancho-contenido),calc(100% - var(--margen-contenido) * 2));
    margin-inline:auto;
}

.franja {
    padding:6px max(var(--margen-contenido),calc((100vw - var(--ancho-contenido))/2));
    background:var(--oscuro);
    color:#ededed;
    font-size:10px;
    letter-spacing:1.2px;
    display:flex;
    justify-content:space-between;
    border-bottom:1px solid #ffffff14;
}

.franja span {
    color:#b8b8b8;
}

.cabecera-fondo {
    background:var(--oscuro);
    color:var(--blanco);
    border-bottom:1px solid #ffffff14;
}

.cabecera {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:76px;
    gap:28px;
}

.marca {
    display:block;
    flex-shrink:0;
}

.boton-menu {
    display:none;
}

.panel-menu {
    display:contents;
}

.panel-menu-encabezado,
.fondo-menu {
    display:none;
}

.identidad-marca {
    display:inline-flex;
    align-items:center;
    gap:12px;
    vertical-align:middle;
}

.identidad-marca svg {
    display:block;
    flex-shrink:0;
}

.simbolo-marca {
    width:62px;
    height:36px;
}

.nombre-marca {
    width:142px;
    height:33px;
}

.cabecera nav a:hover {
    color:var(--naranja);
}

.cabecera .boton.borde {
    color:var(--blanco);
    border-color:#737373;
}

.cabecera .boton.borde:hover {
    color:var(--naranja);
    border-color:var(--naranja);
    background:#212121;
}

.cabecera nav {
    display:flex;
    gap:32px;
    align-items:center;
    font-size:13px;
    font-weight:600;
}

.cabecera nav a.crear-cuenta-menu {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:12px 18px;
    border:1px solid var(--naranja);
    border-radius:6px;
    background:var(--naranja);
    color:#16191d;
    font-weight:750;
    white-space:nowrap;
}

.cabecera nav a.crear-cuenta-menu:hover {
    background:#ff784f;
    border-color:#ff784f;
    color:#16191d;
    text-decoration:none;
}

.cabecera nav a.crear-cuenta-menu:focus-visible {
    outline:3px solid var(--blanco);
    outline-offset:3px;
}

.enlace-acceso {
    color:#cecece;
}

.boton {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:25px;
    min-height:49px;
    border:1px solid transparent;
    border-radius:7px;
    padding:12px 21px;
    font-size:14px;
    font-weight:650;
    text-align:center;
    line-height:1.4;
    transition:background .15s,border-color .15s;
}

.boton:hover {
    text-decoration:none;
}

.boton:disabled {
    opacity:.4;
    cursor:not-allowed;
    transform:none;
}

.principal,.destacado {
    background-color:var(--accion-principal);
    background-image:none;
    color:var(--tinta);
    box-shadow:0 3px 8px #9c36181a;
}

.principal:hover,.destacado:hover {
    background-color:var(--accion-hover);
    background-image:none;
}

.borde {
    border-color:var(--linea-control);
    background:transparent;
    color:var(--tinta);
}

.borde:hover {
    background:var(--naranja-suave);
    border-color:var(--naranja);
}

.pequeno {
    font-size:12px;
    min-height:36px;
    padding:8px 12px;
}

.ancho {
    width:100%;
}

.portada {
    background:radial-gradient(ellipse at 0% 0%,#ff562708,transparent 65%),#f0f3f5;
    color:var(--tinta);
    overflow:hidden;
}

.portada-interior {
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
    align-items:center;
    gap:clamp(24px,3vw,64px);
    padding-block:36px;
    position:relative;
}

.portada-texto {
    width:100%;
    padding:0;
    z-index:2;
}

.etiqueta {
    font-size:10px;
    letter-spacing:2px;
    font-weight:700;
    color:var(--naranja-oscuro);
    text-transform:uppercase;
}

.portada .etiqueta {
    color:var(--naranja);
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px;
}

.portada-texto .etiqueta {
    color:var(--naranja-oscuro);
}

.indicador {
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--naranja);
    box-shadow:0 0 0 4px #ff562726;
}

.portada h1 {
    max-width:660px;
    font-size:clamp(34px,3vw,52px);
    margin-bottom:20px;
}

.bajada {
    max-width:580px;
    font-size:16px;
    color:var(--gris);
    line-height:1.65;
    margin-bottom:24px;
}

.datos-portada {
    display:flex;
    gap:24px;
    margin-top:20px;
}

.datos-portada div {
    display:flex;
    flex-direction:column;
}

.datos-portada strong {
    font-size:20px;
    line-height:1.3;
    font-weight:550;
}

.datos-portada span {
    font-size:11px;
    color:var(--gris);
    margin-top:3px;
}

.slider-minero {
    position:relative;
    isolation:isolate;
    min-width:0;
    min-height:480px;
    align-self:stretch;
    border-radius:18px;
    overflow:hidden;
    background:var(--negro);
    color:var(--blanco);
}

.escenas-mineras,.escena-minera,.escena-minera>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.slider-minero [hidden] {
    display:none!important;
}

.slider-preparado .escena-minera {
    opacity:0;
    visibility:hidden;
    transform:translateX(12px);
    pointer-events:none;
    transition:opacity .7s ease,transform .85s cubic-bezier(.22,1,.36,1),visibility 0s .85s;
}

.slider-preparado .escena-minera.escena-saliendo {
    transform:translateX(-12px);
}

.slider-preparado .escena-minera.escena-activa {
    z-index:1;
    opacity:1;
    visibility:visible;
    transform:translateX(0);
    pointer-events:auto;
    transition-delay:0s;
}

.escena-minera>img {
    object-fit:cover;
    object-position:center;
}

.escena-presentacion {
    background:radial-gradient(ellipse at 85% 0%,#ff56271c,transparent 65%),var(--oscuro);
}

.escena-minera.escena-presentacion:after {
    background:none;
}

.marca-slider {
    margin-bottom:28px;
}

.marca-slider .simbolo-marca {
    width:74px;
    height:44px;
}

.marca-slider .nombre-marca {
    width:210px;
    height:48px;
}

.marca-slider .identidad-marca {
    gap:18px;
}

.escena-operacion-minera>img {
    object-position:80% center;
}

.escena-minera:after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,#000 0%,#000e 35%,#000b 57%,#0002 78%,transparent 100%);
}

.escena-texto {
    position:absolute;
    bottom:104px;
    left:36px;
    right:36px;
    z-index:1;
}

.escena-texto .etiqueta {
    font-size:9px;
    margin-bottom:12px;
    display:inline-flex;
    background:var(--oscuro);
    padding:4px 8px;
    border:1px solid #ffffff26;
    border-radius:4px;
}

.escena-texto h2 {
    font-size:clamp(23px,2.3vw,32px);
    margin-bottom:12px;
    max-width:440px;
}

.escena-texto .escena-descripcion {
    color:#e5e5e5;
    font-size:14px;
    line-height:1.6;
    max-width:440px;
    margin-bottom:0;
}

.escena-texto .escena-nota {
    color:#d2d6da;
    font-size:12px;
    line-height:1.5;
    max-width:440px;
    margin:10px 0 0;
}

.enlace-slider {
    min-height:44px;
    padding:8px 14px;
    font-size:13px;
    margin-top:14px;
    color:var(--blanco);
    border-color:#b7bec5;
    background:#ffffff0a;
}

.enlace-slider:hover {
    color:var(--blanco);
    border-color:var(--naranja);
    background:#ffffff12;
}

.escena-presentacion .enlace-slider {
    background:var(--accion-principal);
    border-color:var(--accion-principal);
    color:var(--tinta);
}

.escena-presentacion .enlace-slider:hover {
    background:var(--accion-hover);
    border-color:var(--accion-hover);
    color:var(--tinta);
}

.controles-slider {
    position:absolute;
    bottom:28px;
    left:36px;
    right:36px;
    z-index:2;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    gap:8px;
    align-items:center;
}

.flecha-slider {
    display:grid;
    place-items:center;
    background:#ffffff08;
    color:var(--blanco);
    border:1px solid #ffffff35;
    border-radius:50%;
    width:44px;
    height:44px;
    padding:0;
    transition:background .25s ease,border-color .25s ease;
}

.flecha-slider:hover {
    border-color:#ffffff88;
    background:#ffffff16;
}

.indicadores-slider {
    display:flex;
    align-items:center;
    justify-content:center;
}

.indicadores-slider button {
    border:0;
    padding:0;
    background:transparent;
    flex:0 1 28px;
    width:28px;
    min-width:24px;
    height:44px;
    display:grid;
    place-items:center;
}

.indicadores-slider span {
    width:6px;
    height:6px;
    border-radius:20px;
    background:#ffffff66;
    transition:width .3s ease,background .3s ease;
}

.indicadores-slider button:hover span {
    background:#ffffffbb;
}

.indicadores-slider button[aria-pressed="true"] span {
    width:20px;
    background:var(--naranja);
}

.solo-lectores {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
}

.buscador-contenedor {
    position:relative;
    scroll-margin-top:16px;
}

.buscador {
    padding:18px;
    background:var(--blanco);
    color:var(--tinta);
    border-radius:var(--radio);
    box-shadow:0 8px 28px #16212b0d;
    border:1px solid var(--linea);
}

.campos-principales {
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
    align-items:end;
    gap:10px;
}

.campos-principales .boton {
    grid-column:1/-1;
    gap:10px;
    padding-inline:14px;
}

label {
    display:flex;
    flex-direction:column;
    gap:7px;
    font-size:13px;
    font-weight:600;
}

input,select,textarea {
    width:100%;
    min-width:0;
    border:1px solid var(--linea-control);
    border-radius:6px;
    padding:11px 13px;
    min-height:46px;
    background:var(--superficie-acento);
    color:var(--tinta);
    font-size:16px;
}

input::placeholder,textarea::placeholder {
    color:var(--gris);
}

input:focus,select:focus,textarea:focus {
    background:var(--blanco);
    border-color:var(--naranja-oscuro);
}

input:disabled,select:disabled,textarea:disabled {
    background:var(--superficie-suave);
}

textarea {
    min-height:85px;
    resize:vertical;
}

.buscador details {
    border-top:1px solid var(--linea);
    margin-top:14px;
    padding-top:12px;
}

.buscador summary {
    font-size:13px;
    color:var(--tinta);
}

summary {
    cursor:pointer;
}

.buscador summary span {
    color:var(--gris);
    font-size:12px;
    margin-left:8px;
}

.campos-adicionales {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    padding:20px 0 4px;
}

.seccion-ofertas {
    padding-top:44px;
    padding-bottom:56px;
}

.encabezado-seccion {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
}

.encabezado-seccion h2,.encabezado-seccion h1 {
    margin-bottom:0;
}

.encabezado-seccion .etiqueta {
    margin-bottom:9px;
}

.contador {
    white-space:nowrap;
    color:var(--gris);
    font-size:12px;
    border:1px solid var(--linea);
    padding:8px 13px;
    border-radius:30px;
    background:var(--blanco);
}

.rejilla-ofertas {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:21px;
}

.rejilla-ofertas--pocas {
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.tarjeta-oferta {
    display:flex;
    flex-direction:column;
    background:var(--blanco);
    border:1px solid var(--linea);
    border-radius:var(--radio);
    padding:22px;
    min-width:0;
    box-shadow:var(--sombra-suave);
    transition:box-shadow .15s,border-color .15s;
}

.tarjeta-oferta:hover {
    box-shadow:0 8px 24px #392a1b10;
    border-color:var(--naranja-linea);
}

.empresa-tarjeta {
    display:flex;
    align-items:center;
    gap:10px;
    font-size:12px;
    color:var(--gris);
    margin-bottom:18px;
    min-height:58px;
}

.empresa-tarjeta>span:not(.logotipo-empresa):not(.vigente):not(.monograma) {
    flex:1;
    min-width:0;
    overflow-wrap:anywhere;
}

.logotipo-empresa {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:112px;
    height:58px;
    flex-shrink:0;
    padding:6px;
    background:var(--blanco);
    border:1px solid var(--linea);
    border-radius:8px;
    overflow:hidden;
}

.logotipo-empresa img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}

.logotipo-bhp img {
    object-fit:cover;
}

.identidad-faena-sin-foto {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:260px;
    padding:32px 24px;
    text-align:center;
    background:linear-gradient(135deg,var(--superficie-suave),var(--blanco));
    border-bottom:1px solid var(--linea);
}
.identidad-faena-sin-foto img {
    width:min(240px,100%);
    height:120px;
    object-fit:contain;
    margin-bottom:20px;
}
.identidad-faena-sin-foto .etiqueta {
    margin-bottom:8px;
}
.logotipo-noatum-logistics {
    padding:7px;
}
.logotipo-confidencial {
    background:var(--blanco);
    border-color:var(--linea);
    color:var(--tinta);
}
.marca-confidencial {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    line-height:1;
}
.marca-confidencial-superior {
    font-size:9px;
    font-weight:500;
    letter-spacing:3px;
    padding-left:3px;
    color:var(--gris);
}
.marca-confidencial-inferior {
    font-size:10px;
    font-weight:750;
    letter-spacing:.5px;
}
.marca-confidencial-linea {
    height:2px;
    width:24px;
    background:var(--naranja);
    margin-top:2px;
}
.logotipo-empresa--detalle .marca-confidencial-superior {
    font-size:11px;
}
.logotipo-empresa--detalle .marca-confidencial-inferior {
    font-size:14px;
}

.logotipo-empresa--detalle {
    width:160px;
    height:84px;
    padding:10px;
}

.marca-empresa-detalle {
    margin-bottom:16px;
}

.banda-mineras {
    padding:10px 0;
    background:var(--blanco);
    border-bottom:1px solid var(--linea);
}

.ventana-mineras {
    overflow:hidden;
    mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}

.carril-mineras {
    display:flex;
    width:max-content;
    animation:desplazar-mineras 120s linear infinite;
}

.grupo-mineras {
    display:flex;
    align-items:center;
    gap:20px;
    padding:0 20px 0 0;
    margin:0;
    list-style:none;
    flex-shrink:0;
}

.grupo-mineras li {
    width:192px;
    height:56px;
}

.logotipo-empresa--banda {
    position:relative;
    display:block;
    width:100%;
    height:100%;
    padding:6px 18px;
    border:0;
    border-radius:0;
}

/* Equilibra el tamaño visible y centra la marca, compensando los márgenes del archivo. */
.logotipo-empresa--banda img {
    position:absolute;
    width:var(--ancho-logotipo);
    height:var(--alto-logotipo);
    left:calc(50% - var(--centro-x));
    top:calc(50% - var(--centro-y));
    object-fit:contain;
}

.logotipo-empresa--banda.logotipo-anglo-american {
    --ancho-logotipo:83.31px; --alto-logotipo:43.96px;
    --centro-x:41.66px; --centro-y:21.98px;
}

.logotipo-empresa--banda.logotipo-antofagasta-minerals {
    --ancho-logotipo:52.04px; --alto-logotipo:52.04px;
    --centro-x:26.14px; --centro-y:25.79px;
}

.logotipo-empresa--banda.logotipo-barrick {
    --ancho-logotipo:130.35px; --alto-logotipo:69.52px;
    --centro-x:65.39px; --centro-y:34.98px;
}

.logotipo-empresa--banda.logotipo-bhp {
    --ancho-logotipo:87.73px; --alto-logotipo:87.73px;
    --centro-x:43.86px; --centro-y:43.86px;
}

.logotipo-empresa--banda.logotipo-centinela {
    --ancho-logotipo:85.71px; --alto-logotipo:45.71px;
    --centro-x:43.00px; --centro-y:23.29px;
}

.logotipo-empresa--banda.logotipo-cmp {
    --ancho-logotipo:103.65px; --alto-logotipo:55.28px;
    --centro-x:53.72px; --centro-y:28.50px;
}

.logotipo-empresa--banda.logotipo-codelco {
    --ancho-logotipo:50.71px; --alto-logotipo:32.34px;
    --centro-x:25.11px; --centro-y:15.99px;
}

.logotipo-empresa--banda.logotipo-collahuasi {
    --ancho-logotipo:84.25px; --alto-logotipo:44.93px;
    --centro-x:41.71px; --centro-y:23.31px;
}

.logotipo-empresa--banda.logotipo-escondida {
    --ancho-logotipo:121.74px; --alto-logotipo:64.93px;
    --centro-x:60.87px; --centro-y:32.46px;
}

.logotipo-empresa--banda.logotipo-freeport-mcmoran {
    --ancho-logotipo:126.79px; --alto-logotipo:67.62px;
    --centro-x:63.61px; --centro-y:34.02px;
}

.logotipo-empresa--banda.logotipo-glencore {
    --ancho-logotipo:132.44px; --alto-logotipo:70.64px;
    --centro-x:66.22px; --centro-y:35.54px;
}

.logotipo-empresa--banda.logotipo-gold-fields {
    --ancho-logotipo:67.37px; --alto-logotipo:35.93px;
    --centro-x:33.69px; --centro-y:18.08px;
}

.logotipo-empresa--banda.logotipo-kinross {
    --ancho-logotipo:106.87px; --alto-logotipo:57.00px;
    --centro-x:53.61px; --centro-y:28.50px;
}

.logotipo-empresa--banda.logotipo-los-pelambres {
    --ancho-logotipo:104.68px; --alto-logotipo:55.83px;
    --centro-x:52.34px; --centro-y:27.91px;
}

.logotipo-empresa--banda.logotipo-lundin-mining {
    --ancho-logotipo:115.19px; --alto-logotipo:61.43px;
    --centro-x:56.63px; --centro-y:32.06px;
}

.logotipo-empresa--banda.logotipo-pampa-norte {
    --ancho-logotipo:126.32px; --alto-logotipo:67.37px;
    --centro-x:63.16px; --centro-y:33.26px;
}

.logotipo-empresa--banda.logotipo-rio-tinto {
    --ancho-logotipo:125.60px; --alto-logotipo:66.99px;
    --centro-x:63.01px; --centro-y:33.29px;
}

.logotipo-empresa--banda.logotipo-sierra-gorda {
    --ancho-logotipo:142.63px; --alto-logotipo:53.94px;
    --centro-x:71.71px; --centro-y:29.56px;
}

.logotipo-empresa--banda.logotipo-south32 {
    --ancho-logotipo:72.86px; --alto-logotipo:38.86px;
    --centro-x:36.43px; --centro-y:19.43px;
}

.logotipo-empresa--banda.logotipo-sqm {
    --ancho-logotipo:72.54px; --alto-logotipo:38.69px;
    --centro-x:37.00px; --centro-y:19.35px;
}

.logotipo-empresa--banda.logotipo-teck {
    --ancho-logotipo:80.29px; --alto-logotipo:53.43px;
    --centro-x:40.00px; --centro-y:26.72px;
}

@media(hover:hover) {
    .ventana-mineras:hover .carril-mineras {
        animation-play-state:paused;
    }
}

@keyframes desplazar-mineras {
    from { transform:translateX(0); }
    to { transform:translateX(-50%); }
}

.monograma {
    background:var(--naranja-suave);
    color:var(--naranja-oscuro);
    border:1px solid var(--naranja-linea);
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    flex-shrink:0;
    font-weight:750;
    font-size:13px;
}

.vigente {
    margin-left:auto;
    font-size:11px;
    color:var(--vigente-tinta);
    background:var(--vigente-fondo);
    border:1px solid var(--vigente-linea);
    border-radius:4px;
    padding:3px 7px;
    display:inline-flex;
    align-items:center;
    gap:5px;
}

.vigente:before {
    content:'';
    width:5px;
    height:5px;
    flex-shrink:0;
    border-radius:50%;
    background:currentColor;
}

.tarjeta-oferta h3 {
    margin-bottom:9px;
    letter-spacing:-.3px;
    overflow-wrap:anywhere;
}

.ubicacion {
    font-size:13px;
    margin-bottom:14px;
}

.datos-clave {
    display:grid;
    gap:10px;
    padding:14px;
    margin:0 0 18px;
    border:1px solid var(--linea);
    border-radius:8px;
    background:var(--superficie-suave);
}

.datos-clave>div {
    display:grid;
    grid-template-columns:86px minmax(0,1fr);
    align-items:start;
    gap:10px;
}

.datos-clave dt {
    display:flex;
    align-items:center;
    gap:7px;
    color:var(--gris);
    font-size:13px;
    margin:0;
}

.icono-dato {
    flex-shrink:0;
}

.datos-clave dd {
    margin:0;
    font-size:14px;
    line-height:1.5;
    font-weight:600;
    overflow-wrap:anywhere;
}

.datos-clave .dato-pendiente {
    font-size:13px;
    font-weight:400;
    color:var(--gris);
}

.labor-oferta {
    flex-grow:1;
}

.nombre-labor {
    color:var(--tinta);
    font-size:13px;
    font-weight:600;
    margin-bottom:6px;
}

.extracto {
    font-size:14px;
    line-height:1.6;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.etiquetas {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:5px 0 22px;
}

.etiquetas span {
    font-size:12px;
    background:var(--superficie-suave);
    padding:5px 8px;
    border-radius:4px;
    color:var(--gris);
}

.base-tarjeta {
    border-top:1px solid var(--linea);
    padding-top:15px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
}

.base-tarjeta small {
    font-size:12px;
    color:var(--gris);
}

.base-tarjeta a {
    font-size:14px;
    font-weight:650;
    color:var(--tinta);
    white-space:nowrap;
}

.estado-vacio {
    grid-column:1/-1;
    text-align:center;
    padding:40px 25px 45px;
    background:var(--blanco);
    border:1px dashed var(--linea-control);
    border-radius:var(--radio);
}

.icono-vacio {
    display:block;
    font-size:44px;
    color:#777;
    line-height:1.2;
    margin-bottom:12px;
}

.estado-vacio h3 {
    margin-bottom:8px;
}

.estado-vacio p {
    max-width:490px;
    margin:0 auto 15px;
    font-size:13px;
}

.filtros-activos {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-bottom:24px;
    font-size:13px;
}

.filtro-activo {
    display:inline-flex;
    align-items:center;
    gap:12px;
    min-height:44px;
    max-width:100%;
    padding:8px 12px;
    border:1px solid var(--naranja-linea);
    border-radius:8px;
    color:var(--naranja-oscuro);
    background:var(--naranja-suave);
    overflow-wrap:anywhere;
}

.filtro-activo:hover {
    text-decoration:none;
    border-color:var(--naranja);
}

.limpiar-filtros {
    text-decoration:underline;
    padding:10px 8px;
}

.explorar {
    display:flex;
    flex-wrap:wrap;
    gap:12px 20px;
    margin-top:30px;
    font-size:12px;
}

.explorar a {
    color:var(--naranja-oscuro);
}

.presentacion-portal {
    padding:80px 0;
    background:var(--blanco);
    border-top:1px solid var(--linea);
    scroll-margin-top:24px;
}

.presentacion-interior {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,2fr);
    align-items:start;
    gap:clamp(28px,4vw,72px);
}

.atlas-minero {
    grid-column:1;
    grid-row:1;
    min-width:0;
    padding:26px;
    background:var(--superficie-suave);
    border:1px solid var(--linea);
    border-radius:20px;
    scroll-margin-top:24px;
}

.atlas-minero>summary {
    display:none;
    cursor:pointer;
    font-weight:650;
    list-style:none;
}

.atlas-minero>summary::-webkit-details-marker { display:none; }
.atlas-encabezado .etiqueta { margin-bottom:10px; }
.atlas-encabezado h3 { font-size:23px; margin-bottom:10px; }
.atlas-encabezado>p:last-child { font-size:14px; line-height:1.6; margin-bottom:0; }
.mapa-chile { display:block; width:100%; max-width:340px; margin:18px auto 0; overflow:visible; }
.contorno-region { fill:#cdd5da; stroke:var(--superficie-suave); stroke-width:.8; stroke-linejoin:round; transition:fill .3s ease; }
.region-contexto { fill:#e0e5e8; }
.zona-minera,.zona-minera:hover { outline:none; text-decoration:none; }
.conexion-mapa { fill:none; stroke:#aab4bc; stroke-width:.8; pointer-events:none; }
.punto-mapa { fill:var(--naranja); stroke:var(--blanco); stroke-width:1.5; }
.etiqueta-region { fill:transparent; stroke:transparent; transition:fill .3s ease,stroke .3s ease; }
.nombre-region { font-size:14px; font-weight:650; fill:var(--tinta); }
.cantidad-region { font-size:11px; fill:var(--gris); }
.mapa-oceano { fill:#79858f; font-size:9px; letter-spacing:4px; }
.mapa-sur { fill:#87929d; font-size:16px; letter-spacing:5px; }
.zona-minera:hover .contorno-region,.zona-minera[aria-current] .contorno-region { fill:#e98564; }
.zona-minera:hover .etiqueta-region,.zona-minera[aria-current] .etiqueta-region { fill:var(--blanco); stroke:#d5dce1; }
.zona-minera[aria-current] .nombre-region { fill:var(--naranja-oscuro); }
.zona-minera:focus-visible .etiqueta-region { stroke:var(--naranja); stroke-width:2; fill:var(--blanco); }
.selector-mapa { margin:16px 0 20px; }
.selector-mapa label { display:block; font-size:12px; font-weight:600; margin-bottom:8px; }
.selector-mapa select { width:100%; min-height:46px; padding:10px 12px; background:var(--blanco); border:1px solid var(--linea-control); border-radius:8px; color:var(--tinta); font:inherit; font-size:16px; }
.atlas-minero [hidden] { display:none!important; }
.faenas-region { scroll-margin-top:20px; margin-top:20px; }
.faenas-encabezado { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; }
.faenas-encabezado h4 { margin:0; font-size:16px; }
.faenas-encabezado>span { font-size:11px; color:var(--gris); }
.faenas-region ul { list-style:none; padding:0; margin:0; }
.atlas-preparado .faenas-region ul { max-height:300px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#b7c0c6 transparent; }
.faenas-region li { display:grid; grid-template-columns:76px minmax(0,1fr) 36px; align-items:center; gap:10px; padding:12px 0; border-top:1px solid var(--linea); }
.logo-faena { background:var(--blanco); border-radius:6px; padding:6px; height:44px; display:grid; place-items:center; }
.logo-faena img { display:block; max-width:100%; height:30px; object-fit:contain; }
.faenas-region li strong { display:block; font-size:13px; line-height:1.4; }
.faenas-region li div>span { display:block; font-size:11px; color:var(--gris); margin-top:3px; }
.faenas-region li>a { display:grid; place-items:center; height:44px; color:var(--gris); font-size:20px; border-radius:6px; }
.faenas-region li>a:hover { background:var(--blanco); color:var(--naranja-oscuro); }
.atlas-nota { font-size:12px; margin:18px 0 8px; }
.credito-mapa { font-size:10px; line-height:1.6; margin:0; color:var(--gris); }
.credito-mapa a { text-decoration:underline; text-underline-offset:2px; }
.credito-mapa summary { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; font-size:16px; cursor:pointer; list-style:none; }
.credito-mapa summary::-webkit-details-marker { display:none; }
.contenido-presentacion { min-width:0; grid-column:2; grid-row:1; }
.presentacion-portal [hidden] { display:none!important; }
.cabecera-explorador { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.cabecera-explorador h2 { font-size:clamp(30px,3vw,48px); margin:10px 0 0; outline:none; }
.volver-presentacion { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid var(--linea); background:var(--blanco); border-radius:8px; color:var(--gris); font:inherit; font-size:12px; cursor:pointer; }
.volver-presentacion:hover { border-color:var(--linea-control); color:var(--tinta); }
.explorador-faenas { scroll-margin-top:24px; }
.elegir-faena { margin-bottom:24px; }
.elegir-faena label { display:block; font-size:13px; font-weight:650; margin-bottom:8px; }
.elegir-faena select { width:100%; min-height:48px; padding:12px 16px; border:1px solid var(--linea-control); border-radius:10px; font:inherit; font-size:16px; color:var(--tinta); background:var(--blanco); }
.elegir-faena select:disabled { opacity:1; border-color:var(--linea); background:var(--papel); }
.ficha-mina { border:1px solid var(--linea); border-radius:18px; overflow:hidden; background:var(--blanco); opacity:0; transform:translateY(10px); transition:opacity .4s ease,transform .5s ease; }
.ficha-mina.ficha-visible { opacity:1; transform:none; }
.fotografia-mina { margin:0; }
.encuadre-mina { position:relative; width:100%; aspect-ratio:var(--proporcion-foto,16/9); background:linear-gradient(140deg,#dce2e6,#eef1f3); }
.encuadre-mina>img { display:block; width:100%; height:100%; object-fit:contain; opacity:0; transition:opacity .5s ease; }
.encuadre-mina>img.fotografia-cargada { opacity:1; }
.region-fotografia { position:absolute; bottom:20px; left:24px; padding:8px 12px; border:1px solid #ffffff40; border-radius:6px; font-size:12px; color:var(--blanco); background:#16191dd9; }
.fotografia-mina figcaption { padding:10px 24px; background:var(--papel); color:var(--gris); font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.fotografia-mina figcaption a { text-decoration:underline; text-underline-offset:2px; }
.respaldo-fotografia { height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:20px; padding:24px; }
.respaldo-fotografia img { max-width:150px; height:64px; object-fit:contain; }
.respaldo-fotografia a { color:var(--naranja-oscuro); font-size:13px; text-align:center; }
.encuadre-mina:has(.respaldo-fotografia:not([hidden])) { aspect-ratio:16/9; min-height:200px; }
.descripcion-mina { padding:30px; }
.identidad-mina { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.identidad-mina .etiqueta { font-size:10px; }
.identidad-mina h3 { font-size:clamp(27px,2.6vw,40px); line-height:1.2; margin:10px 0 0; }
.identidad-mina>img { width:100px; max-height:44px; object-fit:contain; flex-shrink:0; }
.resena-mina { margin:24px 0; font-size:16px; line-height:1.8; max-width:720px; }
.metales-mina { padding:22px 0; border-top:1px solid var(--linea); border-bottom:1px solid var(--linea); }
.metales-mina h4 { font-size:13px; margin:0 0 14px; }
.metales-mina ul { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.metales-mina li { padding:8px 14px; border:1px solid #edcebf; background:#fff5ef; border-radius:24px; color:var(--naranja-oscuro); font-size:13px; }
.acciones-mina { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; margin-top:26px; }
.enlace-empleos-mina { color:var(--naranja-oscuro); font-size:13px; min-height:44px; display:flex; align-items:center; gap:12px; }
.historia-portal { min-width:0; }
.historia-introduccion { scroll-margin-top:30px; }
.historia-introduccion h2 { font-size:clamp(32px,3.6vw,58px); line-height:1.12; letter-spacing:-1.8px; margin:16px 0 24px; }
.historia-introduccion h2 span { color:var(--naranja-oscuro); }
.historia-bajada { font-size:clamp(18px,1.6vw,24px); line-height:1.5; color:var(--tinta); max-width:700px; }
.historia-introduccion>p:last-child { font-size:16px; line-height:1.8; max-width:730px; margin-bottom:0; }
.servicios-portal { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:34px 0 40px; }
.servicios-portal article { padding:26px; background:var(--papel); border:1px solid var(--linea); border-radius:14px; display:flex; flex-direction:column; align-items:flex-start; }
.servicios-portal svg { width:26px; height:26px; color:var(--naranja-oscuro); margin-bottom:20px; }
.servicios-portal h3 { font-size:19px; margin:0 0 12px; }
.servicios-portal p { font-size:14px; line-height:1.7; margin:0 0 18px; }
.servicios-portal a { display:flex; align-items:center; gap:14px; min-height:44px; font-size:13px; font-weight:650; margin-top:auto; color:var(--naranja-oscuro); }
.recorrido-candidato h3 { font-size:26px; margin:12px 0 24px; }
.recorrido-candidato ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 32px; }
.recorrido-candidato li { display:flex; align-items:flex-start; gap:14px; }
.recorrido-candidato li>span { flex:0 0 38px; display:grid; place-items:center; height:38px; border:1px solid #efcbbd; border-radius:50%; background:#fff2ec; font-size:12px; color:var(--naranja-oscuro); }
.recorrido-candidato h4 { font-size:15px; margin:0 0 8px; line-height:1.5; }
.recorrido-candidato p { font-size:13px; line-height:1.7; margin:0; }
.empresas-presentacion { display:flex; align-items:flex-start; gap:20px; margin:36px 0 24px; padding:28px; background:var(--oscuro); color:var(--blanco); border-radius:14px; }
.insignia-empresa { display:grid; place-items:center; flex:0 0 42px; height:42px; border:1px solid #ffffff30; border-radius:10px; }
.insignia-empresa svg { width:23px; height:23px; }
.empresas-presentacion .etiqueta { color:#ff936e; font-size:10px; }
.empresas-presentacion h3 { font-size:22px; margin:12px 0; line-height:1.35; }
.empresas-presentacion p:last-child { font-size:14px; line-height:1.7; margin:0; color:#cbd2d8; }
.cierre-presentacion>p { font-size:12px; line-height:1.8; max-width:650px; }
.acciones-presentacion { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.acciones-presentacion .boton { min-height:48px; padding:12px 22px; }
.revelacion-preparada { opacity:0; transform:translateY(16px); transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1); }
.revelacion-preparada.contenido-visible,.revelacion-preparada:focus-within { opacity:1; transform:none; }

@media(min-width:961px) and (max-width:1199px) {
    .atlas-minero { padding:18px; }
    .servicios-portal article { padding:20px; }
    .faenas-region li { grid-template-columns:56px minmax(0,1fr) 28px; gap:7px; }
    .recorrido-candidato ol { grid-template-columns:1fr; gap:20px; }
}

@media(max-width:960px) {
    .presentacion-portal { padding:48px 0; }
    .presentacion-interior { grid-template-columns:1fr; gap:32px; }
    .contenido-presentacion { grid-column:1; grid-row:1; }
    .atlas-minero { grid-column:1; grid-row:2; padding:0; }
    .atlas-minero>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 24px; min-height:64px; }
    .atlas-minero>summary>span { transition:transform .3s ease; font-size:24px; font-weight:400; }
    .atlas-minero[open]>summary>span { transform:rotate(45deg); }
    .atlas-contenido { padding:0 24px 24px; }
    .mapa-chile { max-width:340px; }
    .historia-introduccion h2 { letter-spacing:-1.2px; font-size:clamp(32px,5vw,48px); }
}

@media(max-width:680px) {
    .presentacion-portal { padding:40px 0; }
    .servicios-portal { grid-template-columns:1fr; gap:14px; margin:28px 0; }
    .servicios-portal article { padding:22px; }
    .servicios-portal svg { margin-bottom:14px; }
    .recorrido-candidato ol { grid-template-columns:1fr; gap:22px; }
    .recorrido-candidato h3 { font-size:24px; }
    .empresas-presentacion { padding:22px; gap:14px; flex-direction:column; }
    .empresas-presentacion h3 { font-size:21px; }
    .acciones-presentacion { flex-direction:column; }
    .acciones-presentacion .boton { width:100%; }
    .atlas-contenido { padding:0 16px 20px; }
    .atlas-minero>summary { padding:18px 16px; }
    .faenas-region li { grid-template-columns:64px minmax(0,1fr) 36px; gap:8px; }
    .cabecera-explorador { align-items:flex-start; flex-direction:column; gap:16px; }
    .cabecera-explorador h2 { font-size:30px; }
    .descripcion-mina { padding:22px; }
    .identidad-mina { gap:14px; }
    .identidad-mina>img { width:64px; height:34px; }
    .identidad-mina h3 { font-size:27px; }
    .region-fotografia { bottom:12px; left:16px; font-size:11px; }
    .fotografia-mina figcaption { padding:10px 16px; }
    .resena-mina { font-size:15px; }
    .acciones-mina { flex-direction:column; align-items:stretch; }
}

@media(prefers-reduced-motion:reduce) {
    .revelacion-preparada { opacity:1; transform:none; }
}

.como-funciona {
    background:var(--superficie-suave);
    padding:55px 0 57px;
    border-top:1px solid var(--linea);
}

.como-funciona h2 {
    max-width:460px;
    margin-bottom:36px;
}

.pasos {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:70px;
}

.pasos article>span {
    display:block;
    color:var(--naranja-oscuro);
    font-size:12px;
    margin-bottom:13px;
}

.pasos h3 {
    font-size:17px;
    margin-bottom:10px;
}

.pasos p {
    font-size:13px;
    margin:0;
    line-height:1.8;
}

.pie {
    border-top:1px solid #ffffff14;
    background:var(--oscuro);
    padding:37px 0;
}

.pie-interior {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    font-size:11px;
    color:#b8b8b8;
}

.pie p {
    font-size:11px;
    margin:7px 0 0;
    color:#b8b8b8;
}

.detalle,.administracion {
    padding-top:30px;
    padding-bottom:65px;
}

.volver {
    display:inline-block;
    font-size:12px;
    color:var(--gris);
    margin:0 0 28px;
}

.detalle-rejilla {
    display:grid;
    grid-template-columns:1fr 330px;
    align-items:start;
    gap:28px;
}

.panel {
    background:var(--blanco);
    border:1px solid var(--linea);
    border-radius:var(--radio);
    padding:30px;
    margin-bottom:24px;
    box-shadow:var(--sombra-suave);
}

.panel h1 {
    font-size:36px;
}

.panel h2 {
    font-size:23px;
}

.detalle .panel>h2 {
    margin-top:32px;
}

.texto-oferta {
    white-space:pre-line;
    overflow-wrap:anywhere;
    font-size:14px;
    line-height:1.9;
    color:var(--tinta);
}

.ficha h2 {
    font-size:20px;
}

dt {
    font-size:11px;
    color:var(--gris);
    margin-top:15px;
}

dd {
    margin:3px 0 0;
    font-size:14px;
}

.nota {
    font-size:12px;
    line-height:1.7;
    margin-top:17px;
}

.aviso,.errores {
    background:var(--aviso-fondo);
    border:1px solid var(--aviso-linea);
    border-radius:8px;
    padding:15px 20px;
    color:var(--aviso-tinta);
    margin-block:18px;
    font-size:13px;
}

.errores {
    background:var(--error-fondo);
    color:var(--error-tinta);
    border-color:var(--error-linea);
}

.errores ul {
    margin:6px 0;
}

.acceso {
    max-width:510px;
    width:calc(100% - 32px);
    margin:40px auto 80px;
}

.acceso h1 {
    font-size:33px;
}

.acceso p {
    font-size:13px;
}

.acceso form {
    display:grid;
    gap:20px;
    margin:26px 0;
}

.administracion h1 {
    font-size:34px;
}

.indicadores {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-bottom:28px;
}

.indicadores article {
    border:1px solid var(--linea);
    border-radius:var(--radio);
    background:var(--blanco);
    padding:22px;
    border-top:3px solid var(--naranja);
}

.indicadores span {
    font-size:11px;
    color:var(--gris);
}

.indicadores strong {
    display:block;
    font-size:35px;
    font-weight:550;
    color:var(--tinta);
}

.formulario-importar {
    display:flex;
    gap:24px;
    align-items:end;
    margin-top:23px;
}

.formulario-importar label {
    flex:1;
}

.tabla-contenedor {
    overflow-x:auto;
}

table {
    width:100%;
    border-collapse:collapse;
    font-size:12px;
}

th {
    text-align:left;
    color:var(--gris);
    font-weight:500;
    background:var(--superficie-suave);
}

th,td {
    padding:14px 12px;
    border-bottom:1px solid var(--linea);
}

table a {
    color:var(--tinta);
    font-weight:600;
}

.lista-fuentes details {
    padding:16px 0;
    border-bottom:1px solid var(--linea);
}

.lista-fuentes summary {
    font-size:13px;
}

.lista-fuentes summary>span {
    color:var(--gris);
    margin-left:20px;
    font-size:11px;
}

.lista-fuentes form {
    display:grid;
    gap:13px;
    max-width:680px;
}

.lista-fuentes form .boton {
    justify-self:start;
}

.lista-fuentes p {
    font-size:13px;
    margin:16px 0;
}

.propuesta summary {
    font-size:13px;
    font-weight:600;
    padding:10px 0;
}

.propuesta .texto-oferta {
    max-height:500px;
    overflow:auto;
}

.propuesta h3 {
    font-size:16px;
    margin-top:22px;
}

.datos-propuesta {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
}

.datos-propuesta dd {
    font-size:12px;
    overflow-wrap:anywhere;
}

.acciones {
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.paginacion {
    display:flex;
    gap:25px;
    justify-content:center;
    padding:30px 0 8px;
    font-size:13px;
}

.paginacion a {
    color:var(--tinta);
    font-weight:600;
}

.paginacion span {
    color:var(--gris);
}

.saltar {
    position:fixed;
    top:-100px;
    left:20px;
    z-index:100;
    background:white;
    padding:12px;
}

.saltar:focus {
    top:10px;
}

@media(min-width:1600px) {
    .campos-principales {
        grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;
    }
    .campos-principales .boton {
        grid-column:auto;
        min-height:50px;
    }
    .rejilla-ofertas:not(.rejilla-ofertas--pocas) {
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .seccion-ofertas .encabezado-seccion h2 {
        font-size:34px;
    }
}

@media(min-width:1280px) {
    .rejilla-ofertas--pocas .datos-clave {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px;
    }
    .rejilla-ofertas--pocas .datos-clave>div {
        display:block;
    }
    .rejilla-ofertas--pocas .datos-clave dt {
        margin-bottom:6px;
    }
}

@media(max-width:960px) {
    .portada-interior {
        grid-template-columns:1fr;
        padding-block:28px;
        gap:28px;
    }
    .portada-texto {
        max-width:none;
    }
    .slider-minero {
        height:440px;
        min-height:440px;
    }
    .cabecera nav {
        gap:20px;
    }
    .escena-texto,.controles-slider {
        left:24px;
        right:24px;
    }
    .campos-principales {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .campos-principales .boton {
        grid-column:1/-1;
    }
    .rejilla-ofertas {
        grid-template-columns:repeat(2,1fr);
    }
    .campos-adicionales {
        grid-template-columns:repeat(2,1fr);
    }
    .pasos {
        gap:35px;
    }
    .detalle-rejilla {
        grid-template-columns:1fr 280px;
    }
    .datos-propuesta {
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:680px) {
    .contenedor {
        width:calc(100% - 32px);
    }
    .franja {
        padding:6px 16px;
        font-size:8px;
    }
    .franja span {
        display:none;
    }
    .cabecera {
        display:grid;
        grid-template-columns:48px minmax(0,1fr) 48px;
        align-items:center;
        min-height:64px;
        gap:0;
        padding:4px 0;
    }
    .cabecera .marca {
        grid-column:1/3;
        grid-row:1;
        width:100%;
    }
    .marca .identidad-marca {
        display:grid;
        grid-template-columns:48px minmax(0,1fr);
        width:100%;
        gap:0;
    }
    .marca .simbolo-marca {
        width:48px;
        height:28px;
    }
    .marca .nombre-marca {
        width:116px;
        height:27px;
        justify-self:center;
    }
    .boton-menu:not([hidden]) {
        grid-column:3;
        grid-row:1;
        justify-self:end;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:5px;
        width:44px;
        height:44px;
        padding:10px;
        border:1px solid #424950;
        border-radius:8px;
        background:transparent;
        color:var(--blanco);
    }
    .boton-menu span {
        display:block;
        width:22px;
        height:2px;
        border-radius:2px;
        background:currentColor;
    }
    .boton-menu:hover,
    .boton-menu[aria-expanded="true"] {
        color:var(--naranja);
        border-color:var(--naranja);
        background:#23282e;
    }
    body.menu-movil-abierto {
        overflow:hidden;
    }
    .menu-preparado .fondo-menu:not([hidden]) {
        display:block;
        position:fixed;
        inset:0;
        z-index:1000;
        background:#0008;
        opacity:0;
        visibility:hidden;
    }
    .menu-preparado .panel-menu {
        display:block;
        position:fixed;
        z-index:1001;
        top:0;
        right:0;
        bottom:0;
        width:min(320px,86vw);
        padding:24px;
        padding-top:max(24px,env(safe-area-inset-top));
        padding-bottom:max(24px,env(safe-area-inset-bottom));
        overflow-y:auto;
        overscroll-behavior:contain;
        background:var(--oscuro);
        border-left:1px solid #ff562733;
        box-shadow:-12px 0 36px #0003;
        transform:translateX(100%);
        visibility:hidden;
    }
    .menu-listo .panel-menu {
        transition:transform .36s cubic-bezier(.22,1,.36,1),visibility 0s .36s;
    }
    .menu-listo .fondo-menu {
        transition:opacity .3s ease,visibility 0s .36s;
    }
    .menu-preparado .panel-menu.abierto {
        transform:translateX(0);
        visibility:visible;
        transition-delay:0s;
    }
    .menu-preparado .fondo-menu.abierto {
        opacity:1;
        visibility:visible;
        transition-delay:0s;
    }
    .menu-preparado .panel-menu-encabezado {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:16px;
        padding-bottom:20px;
    }
    .panel-menu-encabezado>span {
        color:#b8b8b8;
        font-size:12px;
        letter-spacing:2px;
        text-transform:uppercase;
    }
    .cerrar-menu {
        width:44px;
        height:44px;
        padding:0;
        border:1px solid #424950;
        border-radius:8px;
        background:transparent;
        color:var(--blanco);
        font-size:28px;
        line-height:1;
    }
    .cerrar-menu:hover {
        border-color:var(--naranja);
        color:var(--naranja);
    }
    .cabecera nav {
        grid-column:1/-1;
        width:100%;
        gap:4px;
        padding:10px 0 12px;
        border-top:1px solid #424950;
        font-size:14px;
        flex-direction:column;
        align-items:stretch;
    }
    .cabecera nav>a {
        display:flex;
        align-items:center;
        min-height:44px;
        padding:10px 12px;
        border-radius:6px;
    }
    .cabecera nav>a:hover {
        background:#23282e;
        text-decoration:none;
    }
    .enlace-acceso {
        font-size:14px;
    }
    .portada-interior {
        display:block;
        min-height:0;
        padding-block:0;
    }
    .portada-texto {
        padding:20px 0;
    }
    .portada .etiqueta {
        font-size:10px;
        letter-spacing:1.4px;
        margin-bottom:14px;
    }
    .portada h1 {
        font-size:clamp(28px,7.5vw,34px);
        max-width:460px;
    }
    .bajada {
        font-size:15px;
        max-width:100%;
    }
    .slider-minero {
        min-height:480px;
        height:480px;
        border-radius:0;
        margin-inline:-16px;
    }
    .escena-texto {
        bottom:96px;
    }
    .escena-texto h2 {
        font-size:22px;
    }
    .escena-texto .escena-descripcion {
        font-size:13px;
        line-height:1.5;
    }
    .escena-texto .etiqueta {
        margin-bottom:12px;
    }
    .controles-slider {
        gap:8px;
    }
    .marca-slider {
        margin-bottom:20px;
    }
    .marca-slider .simbolo-marca {
        width:48px;
        height:28px;
    }
    .marca-slider .nombre-marca {
        width:156px;
        height:36px;
    }
    .marca-slider .identidad-marca {
        gap:12px;
    }
    .escena-minera:not(.escena-presentacion) {
        background:var(--oscuro);
    }
    .escena-minera>img {
        height:clamp(160px,40vw,200px);
        object-position:center 15%;
    }
    .escena-minera:not(.escena-presentacion):after {
        top:calc(clamp(160px,40vw,200px) - 32px);
        bottom:auto;
        height:32px;
        background:linear-gradient(transparent,var(--oscuro));
    }
    .datos-portada {
        gap:16px;
    }
    .datos-portada strong {
        font-size:18px;
    }
    .buscador {
        padding:19px;
    }
    .campos-principales {
        grid-template-columns:1fr;
    }
    .campos-adicionales {
        grid-template-columns:1fr;
    }
    .buscador summary span {
        display:none;
    }
    .seccion-ofertas {
        padding-top:35px;
        padding-bottom:38px;
    }
    .encabezado-seccion {
        align-items:flex-start;
        gap:15px;
        flex-wrap:wrap;
    }
    .encabezado-seccion h2 {
        font-size:25px;
    }
    .rejilla-ofertas {
        grid-template-columns:1fr;
    }
    .tarjeta-oferta {
        padding:22px;
    }
    .empresa-tarjeta .logotipo-empresa {
        width:96px;
        height:52px;
    }
    .grupo-mineras li {
        width:144px;
        height:48px;
    }
    .pasos {
        grid-template-columns:1fr;
        gap:24px;
    }
    .pasos article {
        padding-left:35px;
        position:relative;
    }
    .pasos article>span {
        position:absolute;
        left:0;
        top:3px;
    }
    .como-funciona {
        padding:37px 0;
    }
    .como-funciona h2 {
        font-size:27px;
    }
    .pie-interior {
        flex-direction:column;
        align-items:flex-start;
        gap:18px;
    }
    .detalle-rejilla {
        grid-template-columns:1fr;
    }
    .panel {
        padding:23px;
    }
    .panel h1 {
        font-size:29px;
    }
    .indicadores {
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }
    .indicadores article {
        padding:16px;
    }
    .indicadores span {
        font-size:10px;
    }
    .formulario-importar {
        flex-direction:column;
        align-items:stretch;
        gap:15px;
    }
    .lista-fuentes summary>span {
        display:block;
        margin:7px 0 0;
    }
    .administracion h1 {
        font-size:30px;
    }
    .datos-propuesta {
        grid-template-columns:repeat(2,1fr);
    }
    .paginacion {
        gap:15px;
        font-size:11px;
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    * {
        transition:none!important;
    }
    .carril-mineras {
        animation:none;
    }
    .grupo-mineras[aria-hidden="true"] {
        display:none;
    }
    .ventana-mineras {
        overflow-x:auto;
        mask-image:none;
    }
}

.espacio-cuenta {
    display:grid;
    grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr);
    gap:64px;
    align-items:start;
    padding-block:64px 80px;
}
.presentacion-cuenta { display:flex; flex-direction:column; justify-content:space-between; gap:24px; align-self:stretch; padding:40px 34px; background:linear-gradient(145deg,#242c32,#16191d); color:#fff; border-radius:20px; overflow:hidden; }
.presentacion-cuenta .etiqueta { color:#ff936f; }
.presentacion-cuenta>p { color:#c6ced5; line-height:1.7; font-size:14px; margin:0; }
.presentacion-cuenta li { color:#e0e5e9; font-size:14px; }
.presentacion-cuenta li span { background:#ffffff0d; color:#ff936f; }
.sello-cuenta { display:flex; gap:12px; border-top:1px solid #ffffff20; padding-top:20px; margin-top:0; }
.sello-cuenta>svg { width:26px; height:26px; flex-shrink:0; color:#ff936f; }
.sello-cuenta strong { font-size:13px; }
.sello-cuenta p { color:#b7c1ca; font-size:12px; line-height:1.7; margin:8px 0 0; }
.marca-cuenta { display:flex; justify-content:center; padding:12px 0 0; margin-top:0; }
.marca-cuenta .simbolo-cuenta { width:180px; height:auto; aspect-ratio:2237/1288; }
.presentacion-cuenta h1 { font-size:clamp(32px,3.5vw,48px); line-height:1.12; letter-spacing:-1.2px; margin:0; }
.presentacion-cuenta>p { max-width:460px; }
.presentacion-cuenta ul { list-style:none; padding:0; margin:0; display:grid; gap:22px; }
.presentacion-cuenta li { display:flex; align-items:center; gap:16px; }
.presentacion-cuenta li span { border-radius:50%; padding:9px; font-size:12px; font-weight:700; }
.panel-cuenta { display:flex; flex-direction:column; align-self:stretch; margin:0; padding:32px; border-radius:18px; box-shadow:0 12px 40px #16191d08; min-width:0; }
.formularios-cuenta { display:grid; flex:1; min-width:0; }
.contenido-cuenta { grid-area:1/1; display:flex; flex-direction:column; min-width:0; }
.contenido-cuenta-inactivo { visibility:hidden; pointer-events:none; }
.bloque-ingreso { margin-block:auto; padding-block:20px; }
.bloque-ingreso>.nota { margin:20px 0 0; }
.bloque-ingreso .titulo-formulario-cuenta>p:last-child { margin-bottom:24px; }
.contenido-cuenta>.formulario-candidato { display:flex; flex-direction:column; justify-content:center; flex:1; }
.opciones-cuenta { display:flex; gap:6px; background:#eef1f4; padding:5px; border-radius:10px; margin-bottom:30px; }
.opciones-cuenta a { flex:1; padding:12px 8px; text-align:center; border-radius:7px; font-weight:700; color:#475569; }
.opciones-cuenta a[aria-current="page"] { background:#fff; color:#a52c08; box-shadow:0 2px 8px #16191d12; }
.opciones-cuenta a:hover { color:#a52c08; text-decoration:none; }
.opciones-cuenta a:focus-visible { outline:2px solid var(--naranja); outline-offset:2px; }
.panel-cuenta h1 { font-size:28px; letter-spacing:-.8px; margin:10px 0 16px; }
.titulo-formulario-cuenta h2 { font-size:30px; letter-spacing:-1px; margin:10px 0; }
.titulo-formulario-cuenta>p:last-child { font-size:14px; line-height:1.7; color:#647080; margin-bottom:28px; }
.grupo-cuenta { min-width:0; padding:0; border:0; margin:0 0 28px; }
.grupo-cuenta legend { width:100%; padding:0 0 14px; margin-bottom:18px; border-bottom:1px solid #e8ecf0; font-size:14px; font-weight:700; }
.grupo-cuenta legend span { color:#b63713; margin-right:8px; font-size:11px; }
.panel-cuenta .campos-candidato { align-items:start; gap:20px 18px; }
.panel-cuenta .campos-candidato label { display:block; font-size:12px; line-height:1.6; }
.panel-cuenta .campos-candidato label .nota { display:inline; font-size:10px; font-weight:400; margin-left:5px; }
.panel-cuenta .ayuda-campo { display:block; font-size:11px; font-weight:400; color:#647080; margin-top:5px; }
.panel-cuenta input:not([type="checkbox"]), .panel-cuenta select { display:block; width:100%; margin-top:7px; min-height:48px; border:1px solid #d4dce3; border-radius:8px; background-color:#fafbfc; font-size:13px; transition:border-color .15s,box-shadow .15s; }
.panel-cuenta input:focus, .panel-cuenta select:focus { outline:none; border-color:#d64319; box-shadow:0 0 0 3px #ff562718; background-color:#fff; }
.panel-cuenta .consentimiento { padding:14px; border-radius:9px; background:#f5f7f9; font-size:12px; }
.panel-cuenta .formulario-candidato>label { display:block; margin-block:18px; }
.panel-cuenta .formulario-candidato>label.consentimiento { display:flex; }
@media (max-width:960px) {
    .espacio-cuenta { grid-template-columns:1fr; gap:28px; padding-block:28px 48px; }
    .presentacion-cuenta { padding:26px; }
    .marca-cuenta { padding:0; margin-top:0; }
    .marca-cuenta .simbolo-cuenta { width:100px; }
    .sello-cuenta { margin-top:0; padding-top:18px; }
    .presentacion-cuenta h1 br { display:none; }
    .presentacion-cuenta ul { display:none; }
    .presentacion-cuenta>p { max-width:none; }
    .panel-cuenta { padding:24px; }
    .contenido-cuenta>.formulario-candidato { display:block; }
}
@media (max-width:540px) {
    .panel-cuenta { padding:20px 16px; }
    .panel-cuenta .campos-candidato { grid-template-columns:1fr; }
}

.candidatos-contenedor {
    max-width:1200px;
    padding-block:40px 56px;
}

.candidatos-contenedor h1 {
    font-size:clamp(30px,3vw,44px);
}

.presentacion-candidatos,
.rejilla-candidato {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:28px;
}

.presentacion-candidatos .panel {
    margin:0;
}

.acciones-candidatos {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
}

.pasos-candidatos {
    margin-block:40px;
}

.registro-candidato {
    max-width:820px;
}

.campos-candidato,
.datos-candidato {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.campos-candidato label,
.formulario-candidato label {
    min-width:0;
}

.formulario-candidato>label {
    margin-block:16px;
}

.formulario-candidato>button {
    margin-top:16px;
}

.consentimiento {
    display:flex;
    flex-direction:row;
    align-items:flex-start;
    gap:12px;
    margin-block:22px;
    font-weight:400;
    line-height:1.6;
}

.consentimiento input {
    width:20px;
    height:20px;
    min-height:20px;
    flex-shrink:0;
    margin:3px 0 0;
    accent-color:var(--naranja-oscuro);
}

.consentimiento a,
.formulario-candidato .nota a,
.panel-identidad .nota a {
    text-decoration:underline;
}

.estado-identidad {
    display:inline-flex;
    border:1px solid var(--linea);
    border-radius:20px;
    background:var(--superficie-suave);
    padding:6px 12px;
    font-size:13px;
    margin-bottom:16px;
}

.estado-identidad.vigente {
    color:var(--vigente-tinta);
    background:var(--vigente-fondo);
    border-color:var(--vigente-linea);
}

.carga-identidad {
    border-top:1px solid var(--linea);
    padding-top:16px;
    margin-top:20px;
}

.carga-identidad summary {
    font-weight:600;
}

.carga-identidad>p {
    margin-top:16px;
    font-size:14px;
}

.retirar-identidad {
    margin-top:24px;
}

.filtros-candidatos {
    display:flex;
    flex-wrap:wrap;
    align-items:end;
    gap:16px;
}

.filtros-candidatos label {
    flex:1 1 200px;
}

.datos-candidato dt {
    font-size:13px;
    color:var(--gris);
}

.datos-candidato dd {
    margin:0;
    overflow-wrap:anywhere;
}

.documentos-identidad {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-block:24px;
}

.invitacion-candidatos {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding-bottom:40px;
    margin-bottom:40px;
    border-bottom:1px solid var(--linea);
}

.invitacion-candidatos .boton {
    flex-shrink:0;
}

@media(min-width:681px) and (max-width:960px) {
    .cabecera nav {
        gap:12px;
        font-size:12px;
    }
}

@media(max-width:960px) {
    .rejilla-candidato {
        grid-template-columns:1fr;
    }
}

@media(max-width:680px) {
    .candidatos-contenedor {
        padding-block:24px 36px;
    }
    .presentacion-candidatos,
    .campos-candidato,
    .datos-candidato,
    .documentos-identidad {
        grid-template-columns:1fr;
    }
    .invitacion-candidatos {
        flex-direction:column;
        align-items:stretch;
    }
    .formulario-candidato input[type="file"] {
        padding:10px 6px;
        font-size:13px;
    }
}

/* Información laboral: separa la síntesis del aviso de sus condiciones y requisitos. */
.rotulo-requisitos {
    margin-top:16px;
}
.extracto-requisitos {
    -webkit-line-clamp:2;
}
.requisitos-ausentes,.informacion-ausente {
    color:var(--gris);
    font-size:14px;
    line-height:1.7;
}
.tarjeta-oferta .etiquetas {
    margin-top:18px;
}
.base-tarjeta .fecha-cierre {
    color:var(--tinta);
    font-weight:600;
}
.cabecera-ficha-oferta {
    padding-bottom:8px;
}
.postulacion-movil {
    display:none;
}
.aviso-completo summary {
    padding:14px 16px;
    background:var(--superficie-suave);
    border:1px solid var(--linea);
    border-radius:8px;
    cursor:pointer;
    font-size:14px;
    font-weight:600;
}
.aviso-completo[open] summary {
    margin-bottom:20px;
}
.condiciones-oferta {
    margin-bottom:16px;
}
.condiciones-oferta span {
    padding:8px 12px;
    color:var(--tinta);
    border:1px solid var(--linea);
    border-radius:6px;
    font-size:13px;
}
.secciones-oferta {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    border-block:1px solid var(--linea);
    padding-block:12px;
    margin-top:8px;
}
.secciones-oferta a {
    padding:10px 13px;
    font-size:14px;
    font-weight:600;
    border-radius:6px;
    background:var(--superficie-suave);
}
.secciones-oferta a:hover {
    background:var(--naranja-suave);
    color:var(--naranja-oscuro);
}
.seccion-ficha-oferta {
    padding-top:30px;
    margin-top:24px;
    border-top:1px solid var(--linea);
    scroll-margin-top:30px;
}
.secciones-oferta + .seccion-ficha-oferta {
    margin-top:0;
    border-top:0;
}
.seccion-ficha-oferta .etiqueta {
    margin-bottom:9px;
}
.seccion-ficha-oferta h2 {
    margin-bottom:18px;
}
.contenido-laboral {
    max-width:78ch;
}
.contenido-laboral .texto-oferta,.lista-laboral {
    font-size:16px;
    line-height:1.85;
    margin-bottom:18px;
}
.lista-laboral {
    padding-left:24px;
    overflow-wrap:anywhere;
}
.lista-laboral li {
    padding-left:4px;
    margin-bottom:10px;
}
.lista-laboral li::marker {
    color:var(--naranja-oscuro);
}
.ficha-postulacion dl {
    margin-bottom:24px;
}
.ficha-postulacion dt {
    margin-top:18px;
    font-size:12px;
}
.ficha-postulacion dd {
    font-size:15px;
    overflow-wrap:anywhere;
}
.ficha-postulacion .dato-pendiente {
    color:var(--gris);
    font-size:13px;
}
.cierre-postulaciones {
    font-weight:600;
}
@media(min-width:961px) {
    .detalle-rejilla {
        grid-template-columns:minmax(0,1fr) 340px;
    }
}
@media(max-width:680px) {
    .postulacion-movil {
        display:block;
        margin-bottom:24px;
    }
    .postulacion-movil .nota {
        margin-top:8px;
    }
    .contenido-ficha-oferta,.ficha-postulacion {
        padding:22px;
    }
    .contenido-ficha-oferta h1 {
        font-size:28px;
    }
    .secciones-oferta a {
        flex-grow:1;
        text-align:center;
    }
}

/* Separa la flecha del borde y reserva espacio para el texto del desplegable. */
select:not([multiple]):not([size]) {
    -webkit-appearance:none;
    appearance:none;
    padding-right:44px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23505e6b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:16px 16px;
}

.perfil-trabajador { max-width:1320px; }
.simbolo-perfil { display:flex; align-items:center; justify-content:center; background:#16191d; border-radius:16px; padding:24px; margin-bottom:28px; }
.simbolo-perfil svg { display:block; width:130px; height:auto; aspect-ratio:2237/1288; }
.perfil-trabajador .encabezado-seccion { gap:24px; margin-bottom:26px; }
.perfil-trabajador .encabezado-seccion>div { max-width:760px; }
.etapas-perfil { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:20px 24px; margin:0 0 28px; background:#fff; border:1px solid #e1e7ed; border-radius:14px; gap:24px; }
.etapas-perfil li { display:flex; gap:12px; align-items:center; color:#647080; }
.etapas-perfil li>span { width:36px; height:36px; display:grid; place-items:center; flex-shrink:0; border-radius:50%; background:#f0f3f6; font-size:12px; font-weight:700; }
.etapas-perfil strong { display:block; font-size:13px; color:#26313c; }
.etapas-perfil small { display:block; margin-top:3px; font-size:11px; }
.etapas-perfil .etapa-lista>span { background:#edf6ef; color:#336d46; }
.etapas-perfil .etapa-actual>span { background:#ffede6; color:#aa350f; }
.perfil-trabajador .rejilla-candidato { grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:28px; }
.perfil-trabajador .panel { border-radius:16px; padding:30px; min-width:0; box-shadow:0 8px 30px #16191d04; }
.titulo-datos-perfil h2 { margin:10px 0; font-size:23px; letter-spacing:-.5px; }
.titulo-datos-perfil>p:last-child { color:#647080; font-size:13px; line-height:1.7; }
.resumen-cuenta-perfil { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:16px; padding:18px 20px; margin:24px 0 30px; background:#f5f7f9; border:1px solid #e9edf1; border-radius:10px; }
.resumen-cuenta-perfil dt { font-size:11px; color:#647080; margin-bottom:5px; }
.resumen-cuenta-perfil dd { font-size:13px; font-weight:600; margin:0; overflow-wrap:anywhere; }
.perfil-trabajador .campos-candidato { align-items:start; gap:20px; }
.perfil-trabajador .campos-candidato label { display:block; font-size:12px; line-height:1.6; }
.perfil-trabajador .campos-candidato .nota { display:inline; font-size:10px; font-weight:400; margin-left:4px; }
.perfil-trabajador input:not([type="checkbox"]):not([type="file"]), .perfil-trabajador select { display:block; width:100%; margin-top:7px; min-height:48px; border:1px solid #d4dce3; border-radius:8px; background-color:#fafbfc; font-size:13px; }
.perfil-trabajador input:focus-visible, .perfil-trabajador select:focus-visible { outline:2px solid #d64319; outline-offset:2px; }
.guardar-perfil { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:20px; border-top:1px solid #e8ecf0; }
.guardar-perfil .nota { max-width:340px; margin:0; }
.guardar-perfil .boton { flex-shrink:0; }
.icono-identidad { display:grid; place-items:center; width:48px; height:48px; background:#fff0e9; color:#bc3b15; border-radius:13px; margin-bottom:20px; }
.icono-identidad svg { width:26px; height:26px; }
.perfil-trabajador .panel-identidad h2 { font-size:22px; margin:10px 0 16px; }
.perfil-trabajador .panel-identidad>p { font-size:13px; line-height:1.8; }
.perfil-trabajador .panel-identidad>.nota { font-size:11px; border-top:1px solid #e8ecf0; padding-top:18px; margin-top:22px; }
.perfil-trabajador .panel-identidad .aviso { margin:20px 0; border-radius:10px; font-size:12px; }
@media(max-width:960px) {
    .perfil-trabajador .rejilla-candidato { grid-template-columns:1fr; }
}
@media(max-width:680px) {
    .perfil-trabajador .encabezado-seccion { align-items:flex-start; flex-direction:column; }
    .etapas-perfil { grid-template-columns:1fr; gap:16px; padding:20px; }
    .perfil-trabajador .panel { padding:22px 18px; }
    .resumen-cuenta-perfil { grid-template-columns:1fr; }
    .guardar-perfil { flex-direction:column; align-items:stretch; gap:16px; }
    .guardar-perfil .nota { max-width:none; }
}

.perfil-por-pasos .rejilla-candidato { grid-template-columns:1fr; }
.perfil-por-pasos>[data-panel-paso] { max-width:940px; margin-inline:auto; }
.perfil-por-pasos>[data-panel-paso][hidden] { display:none; }
.perfil-por-pasos .etapas-perfil li { display:block; }
.perfil-por-pasos .etapas-perfil a { display:flex; gap:12px; align-items:center; padding:8px; border-radius:10px; text-decoration:none; }
.perfil-por-pasos .etapas-perfil a>span { width:40px; height:40px; display:grid; place-items:center; flex-shrink:0; border-radius:50%; background:#f0f3f6; color:#647080; font-size:12px; font-weight:700; }
.perfil-por-pasos .etapas-perfil a[aria-current="step"] { background:#fff6f1; }
.perfil-por-pasos .etapas-perfil a[aria-current="step"]>span { background:#ff5627; color:#16191d; }
.perfil-por-pasos .etapas-perfil a:hover { background:#f4f6f8; }
.perfil-por-pasos .etapas-perfil a:focus-visible { outline:2px solid #d64319; outline-offset:3px; }
.navegacion-pasos { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; border-top:1px solid #e8ecf0; padding-top:22px; margin-top:24px; font-size:13px; font-weight:600; }

.confirmacion-perfil { display:flex; gap:18px; align-items:center; margin-bottom:24px; }
.enlace-resumen-perfil { text-align:right; font-size:12px; font-weight:600; margin:-12px 0 24px; }
.confirmacion-perfil>span { display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:#edf6ef; color:#336d46; font-size:26px; flex-shrink:0; }
.confirmacion-perfil h2 { font-size:26px; line-height:1.25; margin:8px 0 0; letter-spacing:-.6px; }
.resumen-trabajador>p { font-size:14px; line-height:1.8; color:#647080; }
.tarjetas-resumen { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:28px 0; }
.tarjetas-resumen>div { padding:20px; border:1px solid #e1e7ed; border-radius:12px; background:#fafbfc; }
.tarjetas-resumen dt { font-size:11px; color:#647080; margin-bottom:8px; }
.tarjetas-resumen dd { font-size:14px; font-weight:650; margin:0; overflow-wrap:anywhere; }
.pendientes-perfil { padding:22px; background:#fff6f1; border-radius:12px; border-left:3px solid #ff5627; }
.pendientes-perfil h3 { font-size:15px; margin:0 0 8px; }
.pendientes-perfil p { font-size:13px; line-height:1.8; margin:0; }
.resumen-trabajador>.nota { margin-top:24px; font-size:11px; }
.cierre-identidad { border-top:1px solid #e8ecf0; padding-top:22px; margin-top:24px; }
.cierre-identidad .nota { margin-top:12px; }
@media(max-width:680px) {
    .tarjetas-resumen { grid-template-columns:1fr; }
    .confirmacion-perfil { align-items:flex-start; gap:12px; }
    .confirmacion-perfil h2 { font-size:22px; }
    .confirmacion-perfil>span { width:40px; height:40px; font-size:20px; }
}

/* Controles amplios y lectura cómoda en las pantallas de trabajadores. */
@media(max-width:680px) {
    .espacio-cuenta { gap:20px; padding-block:20px 32px; }
    .espacio-cuenta>.panel-cuenta { order:0; padding:20px 16px; }
    .formularios-cuenta { display:block; }
    .contenido-cuenta-inactivo { display:none; }
    .espacio-cuenta>.presentacion-cuenta { order:1; gap:18px; padding:24px; }
    .presentacion-cuenta h1 { font-size:28px; }
    .opciones-cuenta { gap:8px; margin-bottom:24px; }
    .opciones-cuenta a { display:flex; align-items:center; justify-content:center; min-height:50px; font-size:15px; }
    .panel-cuenta .campos-candidato label,
    .perfil-trabajador .campos-candidato label,
    .panel-cuenta .formulario-candidato>label,
    .perfil-trabajador .formulario-candidato>label { font-size:14px; }
    .panel-cuenta input:not([type="checkbox"]),
    .panel-cuenta select,
    .perfil-trabajador input:not([type="checkbox"]),
    .perfil-trabajador select { min-height:52px; font-size:16px; padding:13px 14px; }
    .panel-cuenta select,
    .perfil-trabajador select { padding-right:44px; }
    .panel-cuenta .campos-candidato,
    .perfil-trabajador .campos-candidato { gap:22px; }
    .panel-cuenta .boton,
    .perfil-trabajador .boton { width:100%; min-height:52px; padding:14px 16px; font-size:15px; white-space:normal; text-align:center; }
    .panel-cuenta .consentimiento,
    .perfil-trabajador .consentimiento { display:flex; gap:12px; padding:16px; line-height:1.7; font-size:13px; border-radius:10px; background:#f5f7f9; cursor:pointer; }
    .panel-cuenta .consentimiento input,
    .perfil-trabajador .consentimiento input { width:24px; height:24px; min-height:24px; padding:0; margin-top:2px; }
    .panel-cuenta form>.nota a,
    .contenido-cuenta>.nota a,
    .navegacion-pasos a,
    .enlace-resumen-perfil a { display:inline-flex; align-items:center; min-height:48px; padding:8px 4px; }
    .simbolo-perfil { padding:16px; margin-bottom:20px; }
    .simbolo-perfil svg { width:90px; }
    .perfil-trabajador .encabezado-seccion form { width:100%; }
    .perfil-trabajador .encabezado-seccion .boton { width:auto; min-width:140px; }
    .perfil-por-pasos .etapas-perfil { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:10px; margin-bottom:20px; }
    .perfil-por-pasos .etapas-perfil a { flex-direction:column; gap:8px; text-align:center; padding:10px 4px; min-height:96px; }
    .perfil-por-pasos .etapas-perfil a>span { width:44px; height:44px; }
    .perfil-por-pasos .etapas-perfil strong { font-size:12px; }
    .perfil-por-pasos .etapas-perfil small { display:none; }
    .navegacion-pasos { gap:12px; }
    .navegacion-pasos a { flex:1 1 100%; padding:12px 14px; border:1px solid #dce3ea; border-radius:8px; }
    .perfil-trabajador input[type="file"] { width:100%; max-width:100%; font-size:14px; padding:12px; border:1px dashed #b5c0cc; border-radius:10px; background:#fafbfc; }
    .perfil-trabajador input[type="file"]::file-selector-button { display:block; min-height:44px; margin:0 0 10px; padding:10px 14px; border:1px solid #c6d0da; border-radius:7px; background:#fff; color:#26313c; font:inherit; }
    .carga-identidad summary { min-height:48px; padding-block:12px; }
    .espacio-cuenta a, .espacio-cuenta button, .perfil-trabajador a, .perfil-trabajador button { touch-action:manipulation; }
}

@media (forced-colors:active) {
    select:not([multiple]):not([size]) {
        -webkit-appearance:menulist;
        appearance:auto;
        background-image:none;
    }
}

/* Presentación de la bolsa de trabajadores. */
.portada-candidatos { max-width:1440px; padding-block:56px 80px; }
.portada-candidatos .presentacion-candidatos { grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); gap:clamp(32px,5vw,80px); align-items:center; padding:clamp(28px,4vw,64px); border:1px solid #e6ddd6; border-radius:24px; background:radial-gradient(ellipse at 0 0,#ffe7d9 0,transparent 58%),#fffdfb; }
.portada-candidatos h1 { font-size:clamp(40px,4.5vw,68px); line-height:1.04; letter-spacing:-.045em; margin:18px 0 26px; }
.portada-candidatos h1 span { color:var(--naranja-oscuro); }
.portada-candidatos .presentacion-candidatos>div>p:not(.etiqueta) { max-width:560px; font-size:16px; line-height:1.8; }
.portada-candidatos .acciones-candidatos { margin-top:28px; gap:14px; }
.portada-candidatos .acciones-candidatos .boton { padding:16px 22px; border-radius:10px; }
.portada-candidatos .confianza-candidatos { padding:32px; background:var(--oscuro); color:#fff; border:0; border-radius:18px; box-shadow:0 20px 40px #16191d18; }
.portada-candidatos .confianza-candidatos h2 { color:#fff; font-size:26px; line-height:1.2; margin:14px 0 20px; }
.portada-candidatos .confianza-candidatos p { color:#d5dce2; line-height:1.75; }
.portada-candidatos .confianza-candidatos .etiqueta { color:#ffad91; font-size:11px; }
.portada-candidatos .confianza-candidatos .nota { border-top:1px solid #ffffff24; padding-top:18px; margin-top:20px; font-size:12px; }
.sello-confianza { display:grid; place-items:center; width:48px; height:48px; border:1px solid #ff916655; border-radius:14px; background:#ff56271a; color:#ffad91; font-size:26px; margin-bottom:24px; }
.cabecera-pasos-candidatos { margin-top:56px; }
.cabecera-pasos-candidatos h2 { font-size:clamp(24px,2.5vw,34px); letter-spacing:-.03em; margin:12px 0; }
.cabecera-pasos-candidatos>p:last-child { color:var(--gris); }
.portada-candidatos .pasos-candidatos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:28px 0 48px; }
.portada-candidatos .pasos-candidatos article { padding:28px; background:#fff; border:1px solid var(--linea); border-radius:16px; }
.portada-candidatos .pasos-candidatos article>span { display:grid; place-items:center; width:42px; height:42px; background:var(--naranja-suave); color:var(--naranja-oscuro); border-radius:12px; font-weight:700; font-size:14px; }
.portada-candidatos .pasos-candidatos h3 { font-size:19px; margin:22px 0 10px; }
.portada-candidatos .pasos-candidatos p { font-size:14px; line-height:1.7; margin:0; }
.portada-candidatos .privacidad-portada { padding:32px 36px; border-radius:16px; border-left:4px solid var(--naranja); box-shadow:none; background:#eef1f3; scroll-margin-top:24px; }
.portada-candidatos .privacidad-portada h2 { margin-top:12px; font-size:26px; }
.portada-candidatos .privacidad-portada p:not(.etiqueta) { max-width:1050px; font-size:14px; line-height:1.8; }
@media(max-width:900px) {
    .portada-candidatos .presentacion-candidatos { grid-template-columns:1fr; gap:30px; }
    .portada-candidatos .presentacion-candidatos>div>p:not(.etiqueta) { max-width:none; }
    .portada-candidatos .pasos-candidatos { grid-template-columns:1fr; gap:12px; }
    .portada-candidatos .pasos-candidatos article { padding:24px; }
}
@media(max-width:540px) {
    .portada-candidatos { padding-block:24px 40px; }
    .portada-candidatos .presentacion-candidatos { padding:24px 20px; border-radius:18px; }
    .portada-candidatos .confianza-candidatos { padding:24px; }
    .portada-candidatos .acciones-candidatos { flex-direction:column; align-items:stretch; }
    .portada-candidatos .acciones-candidatos .boton { text-align:center; justify-content:center; }
    .cabecera-pasos-candidatos { margin-top:36px; }
    .portada-candidatos .privacidad-portada { padding:24px 20px; }
}
/* Listado desplegable de revisión de importaciones. */
.filtros-revision { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 12px; }
.filtro-revision { display:flex; align-items:center; gap:14px; padding:12px 18px; border:1px solid var(--linea); border-radius:10px; background:#fff; color:var(--tinta); text-decoration:none; }
.filtro-revision strong { padding:2px 8px; border-radius:6px; background:var(--superficie-suave); font-size:13px; }
.filtro-revision.seleccionado { border-color:var(--naranja); background:var(--naranja-suave); color:var(--naranja-oscuro); }
.listado-revision { display:grid; gap:12px; margin-block:20px 28px; }
.acordeon-propuesta { background:#fff; border:1px solid var(--linea); border-radius:14px; overflow:hidden; }
.acordeon-propuesta>.resumen-propuesta { display:flex; align-items:center; gap:20px; padding:22px 24px; cursor:pointer; list-style:none; }
.resumen-propuesta::-webkit-details-marker { display:none; }
.resumen-propuesta:hover { background:#fafbfc; }
.resumen-propuesta:focus-visible { outline:3px solid var(--naranja); outline-offset:-4px; }
.identidad-propuesta { display:grid; gap:7px; flex:1; min-width:0; }
.identidad-propuesta strong { font-size:17px; line-height:1.4; }
.identidad-propuesta>span { color:var(--gris); font-size:13px; font-weight:400; }
.estado-revision { display:inline-flex; padding:6px 12px; border-radius:20px; font-size:12px; font-weight:600; }
.estado-pendiente { background:var(--aviso-fondo); color:var(--aviso-tinta); }
.estado-aprobada { background:var(--vigente-fondo); color:var(--vigente-tinta); }
.estado-rechazada { background:var(--error-fondo); color:var(--error-tinta); }
.indicador-propuesta { font-size:26px; font-weight:400; color:var(--gris); transition:transform .15s; }
.acordeon-propuesta[open]>.resumen-propuesta { border-bottom:1px solid var(--linea); background:#fafbfc; }
.acordeon-propuesta[open]>.resumen-propuesta .indicador-propuesta { transform:rotate(45deg); }
.detalle-propuesta { padding:28px; }
@media(max-width:640px) {
    .acordeon-propuesta>.resumen-propuesta { padding:18px 16px; gap:10px; flex-wrap:wrap; }
    .identidad-propuesta { flex-basis:calc(100% - 36px); }
    .estado-revision { order:3; }
    .detalle-propuesta { padding:20px 16px; }
    .filtros-revision { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .filtro-revision { justify-content:space-between; padding:10px 12px; }
}