:root{
  --red:#c90016;
  --red-dark:#93000f;
  --red-soft:#fff1f2;
  --navy:#092943;
  --navy-2:#133f61;
  --table-blue:#245b7d;
  --table-blue-dark:#174765;
  --purple:#918cf1;
  --purple-soft:#f0efff;
  --yellow:#fff95c;
  --yellow-soft:#fffde1;
  --green:#1bd52e;
  --paper:#fffef9;
  --bg:#f2f5f8;
  --text:#17202a;
  --muted:#607080;
  --line:#cfd7df;
  --shadow:0 12px 35px rgba(9,41,67,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:138px}
body{margin:0;background:
  radial-gradient(circle at 10% 2%,rgba(201,0,22,.07),transparent 25rem),
  linear-gradient(180deg,#f7f9fb 0,#eef2f5 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}
a{color:inherit}
button,input{font:inherit}
.skip-link{position:fixed;left:12px;top:-80px;z-index:1000;background:#fff;color:var(--navy);padding:10px 14px;border-radius:10px;box-shadow:var(--shadow)}
.skip-link:focus{top:12px}

.topbar{position:sticky;top:0;z-index:60;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px max(14px,calc((100vw - 1180px)/2));background:rgba(255,255,255,.94);border-bottom:1px solid rgba(9,41,67,.12);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;min-width:0}
.brand-ccoo{display:inline-grid;place-items:center;background:var(--red);color:#fff;font-weight:950;font-size:1.1rem;letter-spacing:-.05em;padding:9px 10px;border-radius:4px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}
.brand-text{display:flex;flex-direction:column;line-height:1.02;min-width:0}
.brand-text strong{font-size:1.22rem;letter-spacing:-.025em}
.brand-text small{font-size:.66rem;color:var(--muted);margin-top:4px;white-space:nowrap}
.pdf-button{display:flex;align-items:center;gap:7px;border:1px solid rgba(201,0,22,.22);background:var(--red-soft);color:var(--red-dark);text-decoration:none;font-weight:850;border-radius:999px;padding:9px 13px;white-space:nowrap}
.pdf-button svg,.search svg,.menu-button svg,.back-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--red-dark),var(--red) 50%,#ec2940);color:#fff;border-bottom:5px solid var(--yellow)}
.hero::before{content:"CCOO";position:absolute;right:-2rem;top:-4rem;font-weight:950;font-size:clamp(8rem,30vw,24rem);opacity:.07;letter-spacing:-.1em;transform:rotate(-7deg)}
.hero-content{position:relative;width:min(1180px,calc(100% - 30px));margin:auto;padding:42px 0 46px}
.eyebrow{display:inline-flex;margin:0 0 13px;padding:6px 11px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.13);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.hero h1{margin:0;font-size:clamp(2.15rem,7vw,4.2rem);line-height:.98;letter-spacing:-.055em}
.hero p{max-width:760px;margin:12px 0 0;color:rgba(255,255,255,.9)}
.hero-lead{font-size:clamp(1.05rem,3vw,1.32rem);font-weight:800}

.tools{position:sticky;top:70px;z-index:50;background:rgba(242,245,248,.95);border-bottom:1px solid rgba(9,41,67,.1);backdrop-filter:blur(12px)}
.tools-inner{width:min(1180px,calc(100% - 24px));margin:auto;padding:10px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.search{display:flex;align-items:center;gap:9px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 13px;box-shadow:0 4px 16px rgba(9,41,67,.05)}
.search svg{flex:0 0 auto;color:var(--muted)}
.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:12px 0;color:var(--text)}
.menu-button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;background:var(--navy);color:#fff;padding:0 15px;font-weight:850;cursor:pointer}
.section-nav{width:min(1180px,calc(100% - 24px));margin:0 auto 10px;padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:7px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.section-nav[hidden]{display:none}
.section-nav a{text-decoration:none;text-align:center;background:#f4f6f8;border-radius:10px;padding:9px 7px;font-size:.82rem;font-weight:800;color:var(--navy)}
.section-nav a:hover,.section-nav a:focus-visible{background:var(--red-soft);color:var(--red-dark)}

.page-shell{width:min(1180px,calc(100% - 24px));margin:34px auto 70px}
.no-results{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;text-align:center;font-weight:850}
.document-section{margin:0 0 54px}
.section-heading{display:flex;align-items:center;gap:13px;margin:0 0 16px}
.section-number{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:14px;background:var(--red);color:#fff;font-weight:950;box-shadow:0 8px 24px rgba(201,0,22,.22)}
.source-page{display:block;margin-bottom:2px;color:var(--red);font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.section-heading h2{margin:0;color:var(--navy);font-size:clamp(1.55rem,4vw,2.35rem);line-height:1.05;letter-spacing:-.035em}

.card-grid{display:grid;gap:15px;margin-bottom:15px}
.card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.table-card{position:relative;overflow:hidden;margin:0 0 15px;background:var(--paper);border:1px solid rgba(9,41,67,.17);border-radius:18px;box-shadow:var(--shadow)}
.table-card.featured{border-top:5px solid var(--red)}
.table-card.accent{background:linear-gradient(145deg,#fff,#fffde7)}
.narrow-card{max-width:860px;margin-left:auto;margin-right:auto}
.table-title{padding:10px 14px;text-align:center;font-weight:950;letter-spacing:.025em;text-transform:uppercase;font-size:clamp(.78rem,2.3vw,1rem);line-height:1.15;border-bottom:1px solid rgba(9,41,67,.35)}
.table-title.red{background:var(--red);color:#fff}
.table-title.purple{background:linear-gradient(135deg,#9a96f4,#8681ea);color:#101828}
.table-title.yellow{background:var(--yellow);color:#1b1b12}
.table-title.green{background:var(--green);color:#082d0b}
.scope-label{position:absolute;right:11px;top:9px;z-index:2;background:var(--navy);color:#fff;border-radius:999px;padding:4px 9px;font-size:.64rem;font-weight:950;letter-spacing:.12em}

.data-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:clamp(.72rem,2.25vw,.94rem)}
.data-table th,.data-table td{border:1px solid rgba(9,41,67,.36);padding:clamp(6px,1.7vw,10px) clamp(4px,1.5vw,9px);text-align:center;vertical-align:middle;overflow-wrap:anywhere;hyphens:auto}
.data-table thead th,.data-table tbody th{font-weight:900}
.data-table thead th{background:var(--yellow-soft)}
.data-table tbody th{background:#f0f1f3;color:#17212b}
.data-table tbody tr:nth-child(even) td{background:rgba(145,140,241,.055)}
.data-table small{font-size:.78em;line-height:1.1}
.data-table .left-cell{text-align:left}
.data-table .highlight-row{background:var(--yellow-soft)!important}
.data-table .important-cell{font-size:clamp(.9rem,2.9vw,1.2rem);font-weight:950;color:var(--navy);padding:16px 10px}
.data-table .amount{font-size:clamp(1.6rem,6vw,2.8rem);font-weight:950;color:var(--red)}
.single-col td{padding:8px 10px}
.single-col tr:first-child td{border-top:0}
.classification-table .w-label{width:28%}
.four-cols .w-role{width:25%}.four-cols .w-class{width:30%}.four-cols .w-level{width:20%}.four-cols .w-salary{width:25%}
.sscc-table .sscc-role{width:24%}.sscc-table .sscc-class{width:9%}.sscc-table .sscc-level{width:14%}.sscc-table .sscc-pay{width:26.5%}
.promotion-table .promo-role{width:24%}.promotion-table .promo-class{width:10%}.promotion-table .promo-time{width:20%}.promotion-table .promo-performance{width:31%}.promotion-table .promo-vobo{width:15%}
.salary-table .salary-level{width:22%}
.studies-table .studies-label{width:50%}
.finance-table .finance-label{width:37%}
.pensions-table .pension-label{width:58%}

.official-lines{padding:10px 12px;background:#fff}
.official-lines p{margin:3px 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(.74rem,2vw,.93rem)}
.official-lines .strong-line{font-family:inherit;font-weight:900;text-align:center;border-top:1px solid var(--line);padding-top:6px;margin-top:7px}
.footnote{margin:0;padding:8px 11px;text-align:left;font-size:clamp(.68rem,1.9vw,.84rem);color:#344657;background:#fff}
.footnote.centered{text-align:center}
.commercial-table td{font-weight:900;font-size:1.05em}

.consolidation-block{padding-top:0;border:2px solid var(--navy)}
.paired-official-tables{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px 14px 0}
.paired-official-tables>div{overflow:hidden;border-radius:12px;border:1px solid rgba(9,41,67,.22)}
.integration-table td{font-weight:850}
.shared-note{margin:12px 14px 14px;padding:10px;border-radius:12px;background:var(--yellow-soft);border:1px solid #e6dc6c;text-align:center;font-weight:950;color:var(--navy)}
.sscc-consolidation{max-width:760px;margin-left:auto;margin-right:auto;padding-top:0}

.training-table th{background:var(--yellow)!important;color:#222}
.green-accent th{background:var(--green)!important;color:#06370b}
.permits-table th{background:var(--yellow)!important}
.official-callout{margin:0;padding:17px;background:var(--navy);color:#fff;text-align:center;font-weight:950;line-height:1.3}

.disconnect-card{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(9,41,67,.18);border-top:5px solid var(--red);border-radius:18px;padding:22px 20px 22px 92px;box-shadow:var(--shadow)}
.disconnect-card ul{margin:0;padding-left:1.2rem;display:grid;gap:18px}
.disconnect-card li::marker{color:var(--red);font-size:1.3em}
.siren{position:absolute;left:17px;top:23px;width:56px;height:58px}
.siren span{position:absolute;left:10px;right:10px;bottom:8px;height:34px;border-radius:20px 20px 4px 4px;background:linear-gradient(145deg,#ff4b5d,var(--red));box-shadow:inset -6px -5px 0 rgba(0,0,0,.13)}
.siren::after{content:"";position:absolute;left:3px;right:3px;bottom:0;height:9px;border-radius:4px;background:var(--navy)}
.siren::before{content:"";position:absolute;width:66px;height:66px;left:-5px;top:-9px;background:repeating-conic-gradient(from -15deg,transparent 0 17deg,#f0ad1c 18deg 22deg,transparent 23deg 45deg);border-radius:50%;mask:radial-gradient(circle,transparent 0 27px,#000 28px);-webkit-mask:radial-gradient(circle,transparent 0 27px,#000 28px)}

.site-footer{display:flex;flex-direction:column;align-items:center;gap:7px;padding:30px 18px 42px;background:#fff;border-top:1px solid var(--line);text-align:center;color:var(--muted)}
.site-footer strong{color:var(--navy)}
.site-footer a{color:var(--red);font-weight:900}
.back-top{position:fixed;right:16px;bottom:16px;z-index:45;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 10px 30px rgba(201,0,22,.3);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}
.back-top.visible{opacity:1;pointer-events:auto;transform:none}
.search-hit{outline:4px solid rgba(255,249,92,.95);outline-offset:5px;border-radius:22px}

@media (max-width:760px){
  html{scroll-padding-top:132px}
  .topbar{min-height:66px;padding:9px 12px}
  .brand-text small{display:none}
  .pdf-button span{display:none}
  .pdf-button{padding:9px 10px}
  .tools{top:66px}
  .hero-content{padding:34px 0 38px}
  .page-shell{width:min(100% - 16px,1180px);margin-top:24px}
  .document-section{margin-bottom:42px}
  .card-grid.two{grid-template-columns:1fr}
  .table-card{border-radius:14px;margin-bottom:12px}
  .paired-official-tables{grid-template-columns:1fr;gap:10px;padding:12px 10px 0}
  .scope-label{top:7px;right:8px;font-size:.58rem}
  .section-nav{grid-template-columns:repeat(3,minmax(0,1fr));max-height:54vh;overflow-y:auto}
  .section-nav a{font-size:.72rem;padding:8px 4px}
  .disconnect-card{padding:88px 16px 20px}
  .siren{left:50%;top:18px;transform:translateX(-50%)}
}

@media (max-width:460px){
  .menu-button span{display:none}
  .menu-button{width:46px;padding:0}
  .hero h1{font-size:2.25rem}
  .classification-table .w-label{width:27%}
  .data-table{font-size:clamp(.58rem,2.35vw,.75rem)}
  .data-table th,.data-table td{padding:5px 3px;line-height:1.22}
  .table-title{padding:9px 58px 9px 8px;font-size:.72rem}
  .table-card:not(.consolidation-block):not(.sscc-consolidation)>.table-title{padding-left:8px;padding-right:8px}
  .footnote{font-size:.64rem;padding:7px 8px}
  .official-lines{padding:8px}
  .official-lines p{font-size:.65rem}
  .section-heading{gap:10px}
  .section-number{flex-basis:42px;height:42px}
  .section-heading h2{font-size:1.52rem}
  .salary-table{font-size:clamp(.54rem,2.15vw,.69rem)}
  .salary-table th,.salary-table td{padding:5px 2px;white-space:nowrap}
  .salary-table thead th{white-space:normal}
  .sscc-table,.promotion-table{font-size:clamp(.52rem,2.1vw,.68rem)}
  .sscc-table th,.sscc-table td,.promotion-table th,.promotion-table td{padding:4px 2px}
  .permits-table td{font-size:.72rem}
  .brand-ccoo{font-size:1rem}
  .brand-text strong{font-size:1.05rem}
}

@media (max-width:350px){
  .page-shell{width:calc(100% - 10px)}
  .data-table{font-size:.54rem}
  .salary-table,.sscc-table,.promotion-table{font-size:.49rem}
  .section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media print{
  .topbar,.tools,.back-top{display:none!important}
  body{background:#fff}
  .hero{background:#fff;color:#000;border-bottom:3px solid var(--red)}
  .hero::before{display:none}
  .hero-content{padding:20px 0}
  .page-shell{width:100%;margin:20px 0}
  .table-card,.disconnect-card{box-shadow:none;break-inside:avoid}
  .document-section{break-before:page}
  .document-section:first-child{break-before:auto}
}


/* ===== Mejora visual v4: mantiene intacto el contenido oficial ===== */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.inline-icon,.nav-icon,.section-icon,.title-icon,.note-icon{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.inline-icon{width:16px;height:16px}

.brand{display:flex;align-items:center;flex:1 1 auto;min-width:0;text-decoration:none}
.brand-logo{display:block;width:clamp(235px,25vw,330px);max-width:100%;height:auto;object-fit:contain;object-position:left center}

.hero{padding-bottom:28px}
.hero::after{content:"";position:absolute;width:280px;height:280px;right:-95px;bottom:-155px;border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none}
.hero-content{z-index:2;display:flex;flex-direction:column;align-items:flex-start}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;height:58px;line-height:0;pointer-events:none}
.hero-wave svg{display:block;width:100%;height:100%}
.hero-wave path{fill:var(--bg)}
.eyebrow{align-items:center;align-self:center;gap:7px;margin:0 0 20px;backdrop-filter:blur(8px)}

.tools-inner{grid-template-columns:minmax(0,1fr)}
.section-nav{width:100%;margin:0;padding:0 max(12px,calc((100vw - 1180px)/2)) 11px;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;background:transparent;border:0;border-radius:0;box-shadow:none}
.section-nav::-webkit-scrollbar{display:none}
.section-nav a{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;min-height:40px;padding:9px 13px;border:1px solid rgba(9,41,67,.12);border-radius:999px;background:#fff;color:var(--navy);box-shadow:0 3px 10px rgba(9,41,67,.05);text-decoration:none;text-align:left;font-size:.79rem;font-weight:850;transition:background .18s,color .18s,border-color .18s,transform .18s}
.section-nav a:hover,.section-nav a:focus-visible{background:var(--red-soft);color:var(--red-dark);border-color:rgba(201,0,22,.22);transform:translateY(-1px)}
.section-nav a.active{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 7px 18px rgba(201,0,22,.22)}
.nav-icon{width:17px;height:17px}

.section-number{background:linear-gradient(145deg,var(--red),var(--red-dark));border:1px solid rgba(255,255,255,.28)}
.section-title-line{display:flex;align-items:center;gap:9px}
.section-icon{width:24px;height:24px;color:var(--red)}

.table-card{transition:transform .18s ease,box-shadow .18s ease}
@media (hover:hover){.table-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(9,41,67,.13)}}
.table-title{display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px}
.table-title.purple{background:linear-gradient(135deg,var(--table-blue),var(--table-blue-dark));color:#fff}
.title-icon{width:19px;height:19px}
.table-title.yellow .title-icon,.table-title.green .title-icon{color:currentColor}

.data-table thead th{background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;border-color:rgba(255,255,255,.23);font-size:.82em;letter-spacing:.025em;text-transform:uppercase;line-height:1.15}
.data-table tbody th{background:linear-gradient(180deg,#f2f4f6,#e8edf1);color:var(--navy)}
.data-table tbody tr:nth-child(even) td{background:#fff7f7}
.data-table tbody tr:hover td{background:#fff1f2}
.data-table td{font-weight:550}
.data-table td:last-child{font-variant-numeric:tabular-nums}
.training-table th,.permits-table th{background:var(--yellow)!important;color:#222!important;border-color:rgba(9,41,67,.36)!important}
.green-accent th{background:var(--green)!important;color:#06370b!important;border-color:rgba(9,41,67,.36)!important}
.level-pill{display:inline-flex;align-items:center;justify-content:center;min-width:35px;padding:3px 7px;border-radius:7px;background:var(--navy);color:#fff;font-weight:900;font-size:.88em;line-height:1.15;white-space:nowrap}

.shared-note{display:flex;align-items:flex-start;justify-content:center;gap:8px;background:linear-gradient(135deg,#fff9d6,#fff3a6);border-left:5px solid #d2a000;text-align:left}
.note-icon{width:19px;height:19px;color:#8d6a00;margin-top:1px}

.footer-logo{width:min(300px,78vw);height:auto;margin-bottom:7px}

@media (max-width:760px){
  html{scroll-padding-top:145px}
  .brand-logo{width:min(68vw,250px)}
  .tools{top:66px}
  .section-nav{padding-left:10px;padding-right:10px}
  .section-nav a{padding:8px 11px;font-size:.74rem}
  .nav-icon{width:16px;height:16px}
  .hero{padding-bottom:20px}
  .hero-wave{height:44px}
}

@media (max-width:460px){
  .brand-logo{width:min(67vw,220px)}
  .section-title-line{gap:7px}
  .section-icon{width:21px;height:21px}
  .table-title{gap:6px;min-height:39px}
  .title-icon{width:16px;height:16px}
  .data-table thead th{font-size:.78em}
}

@media print{
  .section-nav{display:none!important}
  .hero{padding-bottom:0}
  .hero-wave{display:none}
  .table-card:hover{transform:none}
}


/* ===== Ajustes finales v5: menú móvil, jerarquía del hero y azul suavizado ===== */
.mobile-menu-button{
  display:none;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
  border:1px solid rgba(201,0,22,.24);
  border-radius:50%;
  background:var(--red-soft);
  color:var(--red-dark);
  cursor:pointer;
}
.hamburger-lines{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:22px;
  height:22px;
}
.hamburger-lines span{
  display:block;
  width:100%;
  height:2.5px;
  border-radius:999px;
  background:currentColor;
  transform-origin:center;
  transition:transform .2s ease,opacity .2s ease;
}
.mobile-menu-button[aria-expanded="true"] .hamburger-lines span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.mobile-menu-button[aria-expanded="true"] .hamburger-lines span:nth-child(2){opacity:0}
.mobile-menu-button[aria-expanded="true"] .hamburger-lines span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.mobile-menu-button:focus-visible{outline:3px solid rgba(201,0,22,.3);outline-offset:3px}
.mobile-menu-backdrop{display:none}

@media (max-width:760px){
  .mobile-menu-button{display:inline-flex}
  .tools .section-nav{display:none}
  .mobile-menu-backdrop{
    position:fixed;
    inset:66px 0 0;
    z-index:59;
    display:block;
    background:rgba(5,20,33,.48);
    backdrop-filter:blur(3px);
  }
  .mobile-menu-backdrop[hidden]{display:none}
  .mobile-section-menu{
    position:absolute;
    top:0;
    right:0;
    width:min(88vw,350px);
    height:100%;
    overflow-y:auto;
    padding:18px 14px 30px;
    background:#fff;
    border-left:1px solid rgba(9,41,67,.14);
    box-shadow:-18px 0 42px rgba(9,41,67,.2);
  }
  .mobile-menu-heading{
    margin:2px 4px 14px;
    color:var(--navy);
    font-weight:950;
    font-size:1.05rem;
  }
  .mobile-section-menu a{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:46px;
    margin:0 0 7px;
    padding:10px 12px;
    border:1px solid rgba(9,41,67,.12);
    border-radius:12px;
    background:#f7f9fb;
    color:var(--navy);
    text-decoration:none;
    font-size:.88rem;
    font-weight:850;
  }
  .mobile-section-menu a.active{
    border-color:var(--red);
    background:var(--red);
    color:#fff;
  }
  .mobile-section-menu .nav-icon{width:19px;height:19px}
  body.menu-open{overflow:hidden}
  .eyebrow{margin-bottom:18px}
}

@media (min-width:761px){
  .mobile-menu-backdrop{display:none!important}
}

@media print{
  .mobile-menu-button,.mobile-menu-backdrop{display:none!important}
}

/* ===== Versión final legible: tipografía móvil adaptativa =====
   Amplía únicamente las tablas con espacio disponible y conserva
   tamaños compactos en matrices densas para evitar scroll lateral. */
@media (max-width:460px){
  /* Base móvil: más legible sin alterar la estructura de las tablas. */
  .data-table{
    font-size:clamp(.68rem,3.1vw,.82rem);
  }
  .data-table th,
  .data-table td{
    padding:7px 4px;
    line-height:1.3;
  }

  /* Tablas de una sola columna y datos muy breves: máximo aprovechamiento. */
  .data-table.single-col{
    font-size:clamp(.84rem,3.75vw,.98rem);
  }
  .data-table.single-col td{
    padding:10px 9px;
    line-height:1.38;
  }
  .integration-table{
    font-size:clamp(.78rem,3.45vw,.92rem);
  }
  .integration-table td{
    padding:9px 5px;
  }

  /* Tablas de dos columnas: admiten una lectura claramente mayor. */
  .studies-table,
  .finance-table,
  .pensions-table,
  .permits-table{
    font-size:clamp(.74rem,3.25vw,.86rem);
  }
  .studies-table th,
  .studies-table td,
  .finance-table th,
  .finance-table td,
  .pensions-table th,
  .pensions-table td,
  .permits-table th,
  .permits-table td{
    padding:8px 6px;
    line-height:1.36;
  }

  /* Tablas de cuatro columnas: mejora moderada para no forzar anchura. */
  .four-cols,
  .commercial-table{
    font-size:clamp(.64rem,2.85vw,.76rem);
  }
  .four-cols th,
  .four-cols td,
  .commercial-table th,
  .commercial-table td{
    padding:6px 3px;
    line-height:1.27;
  }

  /* Cinco columnas con poco contenido: incremento contenido. */
  .classification-table{
    font-size:clamp(.62rem,2.75vw,.72rem);
  }
  .classification-table th,
  .classification-table td{
    padding:6px 3px;
  }

  /* Certificaciones: tamaño intermedio por su mayor densidad. */
  .training-table{
    font-size:clamp(.66rem,2.95vw,.78rem);
  }
  .training-table th,
  .training-table td{
    padding:6px 4px;
    line-height:1.3;
  }

  /* Matrices densas: se amplían ligeramente, sin comprometer el encaje. */
  .salary-table{
    font-size:clamp(.58rem,2.55vw,.69rem);
  }
  .sscc-table,
  .promotion-table{
    font-size:clamp(.56rem,2.45vw,.67rem);
  }
  .salary-table th,
  .salary-table td,
  .sscc-table th,
  .sscc-table td,
  .promotion-table th,
  .promotion-table td{
    line-height:1.24;
  }

  /* Los niveles pueden partir línea antes de salirse de la celda. */
  .level-pill{
    min-width:0;
    max-width:100%;
    padding:3px 5px;
    white-space:normal;
  }

  /* Notas vinculadas a las tablas, también algo más cómodas de leer. */
  .footnote{
    font-size:clamp(.70rem,3vw,.78rem);
    line-height:1.35;
  }
  .official-lines p{
    font-size:clamp(.72rem,3.05vw,.82rem);
    line-height:1.34;
  }
}

@media (max-width:350px){
  /* Salvaguarda para móviles muy estrechos. */
  .data-table{font-size:.66rem}
  .data-table.single-col{font-size:.84rem}
  .studies-table,
  .finance-table,
  .pensions-table,
  .permits-table{font-size:.72rem}
  .four-cols,
  .commercial-table{font-size:.61rem}
  .classification-table{font-size:.59rem}
  .training-table{font-size:.63rem}
  .salary-table{font-size:.55rem}
  .sscc-table,
  .promotion-table{font-size:.52rem}
}
