/* Nexo Científico v4.3.13 — Referencias y catálogos de codificación */
.codes-page{padding:42px 0 74px;background:linear-gradient(180deg,#eef8fa 0,#fff 360px);min-height:70vh}
.codes-page .wrap{max-width:1220px}
.codes-hero{border:1px solid #bfdee4;border-radius:22px;padding:clamp(24px,4vw,42px);background:radial-gradient(circle at 88% 18%,rgba(255,186,87,.15),transparent 32%),linear-gradient(115deg,#0b304c,#135a6f);color:#e8f5fa;box-shadow:0 18px 45px #09283d18;margin-bottom:22px;position:relative;overflow:hidden}
.codes-hero::after{content:'✚';position:absolute;right:5%;bottom:-52px;font-size:190px;line-height:1;color:#35bdb51c;pointer-events:none}
.codes-hero h1{font-size:clamp(2.2rem,4vw,3.7rem);color:white;line-height:1.12;max-width:780px;margin:14px 0}
.codes-hero p{color:#d7e8f3;line-height:1.7;max-width:820px;font-size:1.03rem;margin:0}
.codes-kicker{text-transform:uppercase;color:#97e5da!important;letter-spacing:.13em;font-size:.8rem!important;font-weight:800}
.codes-hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.codes-hero-tags span{border-radius:40px;border:1px solid #a5e1e650;background:#ffffff11;font-size:.83rem;color:#dbfaff;padding:6px 12px;font-weight:700}
.codes-alert{background:#fff9e7;color:#5c451c;border:1px solid #eed69b;padding:14px 18px;border-radius:12px;font-size:.94rem;margin:0 0 28px}
.codes-alert strong{color:#694509}
.codes-alert p{color:#6e5a3a;margin:4px 0 0}
.codes-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 18px}
.codes-tab{border:1px solid #c4dfe5;border-radius:12px;background:#fff;padding:12px 18px;font-weight:800;color:#16405a;box-shadow:0 3px 8px #0b33400a}
.codes-tab:hover{border-color:#0b9c99}
.codes-tab[aria-selected="true"]{background:#0d526a;color:#fff;border-color:#0d526a}
.codes-panel{border:1px solid #d2e7ec;border-radius:19px;padding:clamp(19px,3vw,29px);box-shadow:0 8px 30px #1439540b;background:#fff;margin-bottom:22px}
.codes-panel[hidden]{display:none!important}
.codes-panel h2{margin:0 0 8px;font-size:clamp(1.45rem,2.2vw,2rem)}
.codes-panel p{max-width:980px;line-height:1.62;margin:0 0 18px}
.codes-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.codes-resource{display:flex;flex-direction:column;gap:9px;padding:18px;border:1px solid #cee5e7;background:#f5fbfc;border-radius:13px}
.codes-resource strong{color:#113c57;font-size:1.05rem}
.codes-resource span{color:#456677;font-size:.91rem;line-height:1.48;flex:1}
.codes-resource a{display:inline-flex;width:fit-content;text-decoration:none;align-items:center;gap:8px;font-weight:800;color:#056b77;min-height:34px}
.codes-resource a:hover{text-decoration:underline}
.codes-muted{color:#586d7f;font-size:.94rem}
.codes-lookup{background:#f2f9fa;border:1px solid #d2e7eb;border-radius:20px;padding:clamp(18px,3vw,27px);margin:24px 0}
.codes-lookup h2{font-size:1.55rem;margin:0 0 9px}
.codes-lookup p{margin:0 0 17px}
.codes-form-line{display:flex;gap:13px;align-items:end;flex-wrap:wrap}
.codes-field{min-width:0;flex:1;display:flex;flex-direction:column;gap:7px}
.codes-field label{color:#173d55;font-size:.9rem;font-weight:800}
.codes-field input,.codes-field select{border:1px solid #b6d1da;border-radius:10px;background:#fff;color:#153a55;padding:12px 13px;width:100%;min-height:48px}
.codes-field select{min-width:165px}
.codes-file-box{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:16px 0}
.codes-file-box input{max-width:100%;font-size:.85rem;color:#123b5d}
.codes-file-box button,.codes-action{background:#0c6575;color:#fff;border:0;border-radius:10px;padding:12px 15px;min-height:43px;font-weight:750}
.codes-action.secondary{background:white;border:1px solid #a8cbd2;color:#0b5267}
.codes-action:disabled{opacity:.48}
.codes-map{background:white;border:1px dashed #bdd5dc;padding:15px;border-radius:12px;margin:15px 0;display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.codes-map[hidden]{display:none!important}
.codes-map .codes-field{min-width:170px}
.codes-map button{white-space:nowrap}
.codes-status{padding:10px 13px;background:#e8f5f2;color:#0b5862;border-radius:9px;font-size:.91rem;line-height:1.48;margin:12px 0;min-height:42px}
.codes-status[data-state="error"]{background:#fff0e7;color:#7f3919}
.codes-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}
.codes-result{border:1px solid #d9e7ec;border-radius:11px;padding:14px;background:#fff;min-width:0}
.codes-result strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#086a73;font-size:1.05rem;word-break:break-word}
.codes-result p{color:#244052;margin:7px 0 4px;line-height:1.4;word-break:break-word}
.codes-result small{color:#637886}
.codes-result button{border:1px solid #c0d9e2;border-radius:8px;background:#f7fcfc;color:#075b66;padding:6px 10px;margin-top:8px;font-weight:750}
.codes-note{font-size:.84rem;color:#546d80;margin-top:12px!important;line-height:1.6}
.codes-note a{color:#0b6671;text-decoration:underline}
.codes-other-links{margin:22px 0 30px;display:flex;gap:10px;flex-wrap:wrap}
.codes-other-links a{background:#e9f4f6;color:#10526c;font-weight:750;border-radius:9px;padding:10px 14px;text-decoration:none}
@media(max-width:720px){.codes-page{padding:24px 0 50px}.codes-links,.codes-results{grid-template-columns:1fr}.codes-hero{border-radius:14px}.codes-hero::after{font-size:120px;right:-14px}.codes-tab{flex:1 1 45%;padding:11px 10px}.codes-form-line{display:block}.codes-form-line .codes-field{margin-bottom:12px}.codes-map{display:block}.codes-map .codes-field{margin-bottom:10px}}
@media print{.codes-tabs,.codes-file-box,.codes-map,.codes-other-links{display:none!important}.codes-panel[hidden]{display:block!important}.codes-page{background:white}.codes-hero{background:white;color:#123b5d;box-shadow:none}.codes-hero h1,.codes-hero p{color:#123b5d}}
.codes-field[hidden]{display:none!important}
