.osn-layout{width:min(1120px,100%);margin:0 auto;padding:34px 24px 56px;min-width:0}
.osn{--osn-blue:#125b87;--osn-ink:#223746;--osn-muted:#566b79;--osn-line:#d7e3eb;--osn-bg:#fff;--osn-soft:#f3f7fa;color:var(--osn-ink);font-family:inherit;font-size:16px;line-height:1.6;text-align:left;overflow-wrap:anywhere;color-scheme:light}
.osn *{box-sizing:border-box}
.osn a{color:var(--osn-blue);text-decoration:underline;text-underline-offset:3px}
.osn a:hover{text-decoration-thickness:2px}
.osn :is(a,button,input,select,summary):focus-visible{outline:3px solid #dc931c;outline-offset:3px}
.osn h1,.osn h2,.osn h3{font-family:inherit;color:var(--osn-ink);font-weight:700;line-height:1.25;text-transform:none;letter-spacing:normal}
.osn-heading{padding:0 0 24px;margin:0}
.osn .osn-eyebrow{font-size:14px;font-weight:700;color:var(--osn-blue);text-decoration:none;display:inline-block;margin-bottom:9px}
.osn-heading h1{font-size:clamp(25px,3.6vw,36px);margin:0 0 14px;max-width:850px}
.osn-heading p{margin:8px 0 0;color:var(--osn-muted);max-width:850px}
.osn-filters{padding:22px;border:1px solid var(--osn-line);border-radius:14px;background:var(--osn-soft);margin-bottom:20px}
.osn-filters label{display:flex;flex-direction:column;min-width:0;gap:6px;font-size:13px;font-weight:600;margin:0}
.osn-filters input,.osn-filters select{width:100%;max-width:none;min-width:0;height:44px;border:1px solid #b9ccd9;border-radius:7px;padding:8px 10px;background:var(--osn-bg);color:var(--osn-ink);font-family:inherit;font-size:15px;line-height:1.3;box-shadow:none;margin:0}
.osn-filters select:disabled{opacity:1;background:#e7eff5}
.osn-search{margin-bottom:16px!important}
.osn-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.osn-filters details{margin:16px 0}
.osn-filters summary{cursor:pointer;color:var(--osn-blue);font-size:14px;font-weight:600;margin-bottom:12px}
.osn-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:16px;font-size:14px}
.osn .osn-button,.osn-reader-toolbar button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--osn-blue);border-radius:7px;padding:9px 15px;min-height:42px;background:var(--osn-blue);color:#fff;font:600 14px/1.35 inherit;text-decoration:none;cursor:pointer;box-shadow:none;width:auto;text-transform:none;letter-spacing:normal}
.osn .osn-button{font-family:inherit;font-size:14px;font-weight:600;line-height:1.35}
.osn .osn-secondary{background:var(--osn-bg);color:var(--osn-blue);border-color:#b9cfdc}
.osn-count{font-size:14px;color:var(--osn-muted);margin:18px 0 12px}
.osn-results{display:grid;gap:14px}
.osn-card{border:1px solid var(--osn-line);background:var(--osn-bg);border-radius:12px;padding:20px 22px;box-shadow:none;margin:0}
.osn-card-meta{font-size:12px;color:var(--osn-muted);margin:0 0 6px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.osn-card-meta a{color:var(--osn-muted);text-decoration:none}
.osn-card h2{font-size:22px;margin:0 0 10px}
.osn-card h2 a{color:var(--osn-ink);text-decoration:none}
.osn-card h2 a:hover{text-decoration:underline}
.osn-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:12px;margin:8px 0}
.osn-badge{display:inline-block;background:#edf2f6;color:#435767;border-radius:5px;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.5}
.osn-state-vigente{background:#e5f3eb;color:#256444}
.osn-state-derogada{background:#fce9e8;color:#92372f}
.osn-state-parcial,.osn-state-pendiente,.osn-state-verificar{background:#fff2d8;color:#805700}
.osn .osn-description{margin:10px 0;color:var(--osn-muted);font-size:15px;line-height:1.55}
.osn-tags{font-size:12px;margin:10px 0;line-height:1.6}
.osn-tags a{display:inline;color:var(--osn-blue)}
.osn .osn-replacement{font-size:13px;margin:10px 0;line-height:1.6}
.osn-inline{margin:20px 0;font-size:14px}
.osn .osn-compact{padding:14px 16px;border-left:3px solid var(--osn-blue);border-radius:8px}
.osn .osn-compact h2{font-size:18px;margin-bottom:7px}
.osn-compact .osn-card-meta{font-size:11px;margin-bottom:5px}
.osn .osn-compact .osn-description{font-size:13px;margin:7px 0}
.osn-compact .osn-tags{margin:7px 0;font-size:11px}
.osn-compact .osn-status-row{margin:7px 0;font-size:11px}
.osn-compact .osn-badge{font-size:11px;padding:2px 7px}
.osn-compact .osn-actions{margin-top:10px;font-size:12px;gap:8px 14px}
.osn .osn-compact .osn-button{font-size:12px;padding:6px 10px;min-height:32px}
.osn-empty{padding:30px 20px;border:1px dashed var(--osn-line);border-radius:10px;text-align:center;background:var(--osn-soft)}
.osn-empty h2{font-size:21px}
.osn-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:28px 0;font-size:14px}
.osn .osn-disclaimer{font-size:12px;color:var(--osn-muted);line-height:1.6;padding-top:18px;margin:24px 0 0;border-top:1px solid var(--osn-line)}
.osn-notice{background:#fff4dd;color:#694c16;border:1px solid #e9d4a5;border-radius:10px;padding:15px 18px;margin-bottom:20px}
.osn-notice p{margin:5px 0;font-size:14px}
.osn-summary{font-size:17px;line-height:1.7;margin:12px 0 22px;max-width:900px}
.osn-panel{margin-top:28px;border-top:1px solid var(--osn-line);padding-top:24px}
.osn-panel h2{font-size:22px;margin:0 0 18px}
.osn-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0}
.osn-data div{min-width:0}
.osn-data dt{font-size:12px;font-weight:600;color:var(--osn-muted);margin-bottom:6px}
.osn-data dd{font-size:15px;margin:0}
.osn-publication-list{padding-left:20px;margin:0}
.osn-publication-list li{margin:10px 0;font-size:14px}
#osn-lector{scroll-margin-top:110px}
.osn-reader{border:1px solid var(--osn-line);border-radius:10px;overflow:hidden;background:var(--osn-soft)}
.osn-reader-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:12px;background:var(--osn-bg)}
.osn-reader-toolbar button{padding:8px 12px;min-height:40px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3}
.osn-reader-toolbar button:disabled{opacity:.4;cursor:default}
.osn-reader-toolbar span{font-size:13px;min-width:85px;text-align:center}
.osn-reader-viewport{overflow:auto;max-height:75vh;text-align:center;padding:10px}
.osn-reader canvas{max-width:none;display:block;margin:0 auto;background:#fff;box-shadow:0 1px 6px #0002}
.osn-reader [hidden]{display:none!important}
.osn .osn-reader-status,.osn .osn-reader-fallback{font-size:13px;margin:0;padding:12px;text-align:center}
.osn-reader-text{margin:10px 18px;font-size:14px}
.osn-reader-text summary{cursor:pointer}
.osn-reader-text [data-text]{white-space:pre-wrap;padding:12px;background:var(--osn-bg);max-height:220px;overflow:auto}
.osn-reader.osn-expanded{position:fixed;inset:12px;z-index:2147483600;display:flex;flex-direction:column;box-shadow:0 0 0 100vmax #142333cc;border-radius:10px}
.osn-expanded .osn-reader-viewport{flex:1;max-height:none;min-height:0}
.osn-expanded .osn-reader-text{max-height:25vh;overflow:auto;flex-shrink:0}
@media(max-width:760px){.osn-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.osn-data{grid-template-columns:repeat(2,minmax(0,1fr))}.osn-layout{padding:24px 18px 40px}.osn-filters{padding:16px}.osn-card{padding:18px}.osn-card h2{font-size:20px}}
@media(max-width:440px){.osn-layout{padding:22px 14px 35px}.osn-filter-grid,.osn-data{grid-template-columns:1fr}.osn-filters input,.osn-filters select{font-size:16px}.osn .osn-compact h2{font-size:17px}.osn-pagination{gap:10px;font-size:12px}.osn-reader-toolbar{gap:6px;padding:8px}.osn-reader-toolbar button{padding:7px 10px}.osn-reader.osn-expanded{inset:4px}.osn-data{gap:16px}}
@media(prefers-color-scheme:dark){.osn{--osn-blue:#92caec;--osn-ink:#e8eff5;--osn-muted:#bac9d4;--osn-line:#41515f;--osn-bg:#202d37;--osn-soft:#253440;color-scheme:dark}.osn .osn-button,.osn-reader-toolbar button{background:#286388;border-color:#609cc0;color:#fff}.osn .osn-secondary{background:var(--osn-bg);color:var(--osn-blue)}.osn-filters select:disabled{background:#334755}.osn-filters input,.osn-filters select{border-color:#647989}.osn-notice{background:#483a22;color:#ffe3b6;border-color:#75633e}}
@media print{.osn-filters,.osn-reader,.osn-actions,.osn-pagination{display:none!important}.osn{color:#000;background:#fff}.osn-layout{width:100%;padding:0}.osn-card,.osn-panel{break-inside:avoid}}

/* 1.0.1: same theme integration and visual proportions as Biblioteca social. */
.osn-site-layout{box-sizing:border-box;width:100%;max-width:none;min-width:0;margin:0 auto;padding:32px clamp(16px,2vw,32px) 64px;clear:both}
.osn-site-layout.osn-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,30%,380px);gap:30px;align-items:start}
.osn-site-layout>.osn-layout{width:100%;max-width:none;min-width:0;margin:0;padding:0}
.osn-site-sidebar{min-width:0}
.osn-site-sidebar>*{float:none!important;width:100%!important;max-width:100%!important;flex-basis:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
.osn-directory{--osn-blue:#12668a;--osn-ink:#17394d;--osn-muted:#506875;--osn-soft:#f0f6f8;--osn-line:#d8e5eb}
.osn-directory .osn-hero{padding:34px 36px;margin-bottom:28px;border-radius:18px;background:var(--osn-soft);border-left:5px solid var(--osn-blue)}
.osn-directory .osn-hero-title{display:flex;align-items:center;gap:12px;font-size:clamp(32px,4vw,48px);line-height:1.12;margin:8px 0 20px;max-width:none}
.osn-directory .osn-heading-icon{flex:none;font-size:.85em;line-height:1}
.osn-directory .osn-hero p{margin:8px 0;max-width:none}
.osn-directory .osn-hero .osn-hero-claim{font-weight:600;color:var(--osn-ink)}
.osn-directory .osn-hero-intro{color:var(--osn-muted)}
.osn-directory .osn-term-title{font-weight:700;font-size:20px;padding-top:12px}
.osn-directory .osn-filters{background:var(--osn-bg);padding:22px;border-radius:14px}
.osn-directory .osn-filters label{font-weight:700;line-height:1.4}
.osn-directory .osn-filters :is(input:not([type=hidden]),select){height:46px!important;min-height:46px;margin:0!important;border:1px solid var(--osn-line);border-radius:7px!important;font-family:inherit}
.osn-directory .osn-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}
.osn-directory .osn-actions .osn-button{min-height:46px;border-radius:8px}
@media(min-width:1500px){.osn-directory .osn-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:991px){.osn-site-layout.osn-with-sidebar{grid-template-columns:minmax(0,1fr)}.osn-site-sidebar{margin-top:12px}}
@media(max-width:600px){.osn-site-layout{padding:22px 16px 40px}.osn-directory .osn-hero{padding:24px 20px;border-radius:12px}.osn-directory .osn-hero-title{font-size:clamp(27px,6vw,36px);gap:10px}.osn-directory .osn-filters{padding:16px}}
@media(max-width:440px){.osn-directory .osn-filter-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-color-scheme:dark){.osn-directory{--osn-blue:#92caec;--osn-ink:#e8eff5;--osn-muted:#bac9d4;--osn-line:#41515f;--osn-bg:#202d37;--osn-soft:#253440}}
@media print{.osn-site-sidebar{display:none!important}.osn-site-layout.osn-with-sidebar{display:block;padding:0}}
.osn-native-pdf{display:block;width:100%;height:70vh;min-height:360px;border:0;background:#fff}

/* Clear groups for the full record, with a quiet review footer. */
.osn-single .osn-detail-block{border:1px solid var(--osn-line);border-radius:12px;background:var(--osn-bg);padding:22px 24px;margin-top:20px}
.osn-single .osn-detail-block h2{font-size:20px;padding-bottom:12px;border-bottom:1px solid var(--osn-line);margin:0 0 18px}
.osn-single .osn-data{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;padding:0}
.osn-single .osn-data>div{padding:0;margin:0}
.osn-single .osn-data dt{font-size:13px;line-height:1.5;margin:0 0 5px;color:var(--osn-muted)}
.osn-single .osn-data dd{font-size:15px;line-height:1.6;margin:0;font-weight:500}
.osn-single .osn-data-wide{grid-column:1/-1}
.osn-single .osn-application{margin-top:20px;padding:16px 18px;border-radius:8px;background:var(--osn-soft);font-size:15px}
.osn-single .osn-application h3{font-size:15px;margin:0 0 8px}
.osn-single .osn-application p:last-child{margin-bottom:0}
.osn-single .osn-publication-list{list-style:none;padding:0;margin:0}
.osn-single .osn-publication-list li{padding:12px 16px;margin:10px 0;background:var(--osn-soft);border-radius:8px;line-height:1.9}
.osn-single .osn-review-footer{margin:24px 0 0;padding-top:16px;border-top:1px solid var(--osn-line);color:var(--osn-muted)}
.osn-single .osn-review-date{font-size:12px;font-weight:400;line-height:1.6;margin:0 0 8px}
.osn-single .osn-review-footer .osn-disclaimer{border:0;padding:0;margin:0;font-size:12px}
@media(max-width:600px){.osn-single .osn-detail-block{padding:18px 16px}.osn-single .osn-data{grid-template-columns:1fr;gap:16px}.osn-single .osn-detail-block h2{font-size:19px}}

/* 1.1.2: supporting shortcode card, isolated from article typography. */
.osn.osn-inline{margin:16px 0!important;font-size:13px!important;line-height:1.45!important}
.osn.osn-inline .osn-compact{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;padding:12px 14px!important;margin:0!important;border:1px solid var(--osn-line);border-left:3px solid var(--osn-blue);border-radius:8px;background:var(--osn-soft);box-shadow:none!important}
.osn.osn-inline .osn-compact h2{order:0;flex:0 0 100%;font-size:15px!important;font-weight:600!important;line-height:1.35!important;margin:0 0 2px!important;padding:0!important;letter-spacing:normal!important}
.osn.osn-inline .osn-compact h2 a{font:inherit!important;color:var(--osn-ink);text-decoration:none!important}
.osn.osn-inline .osn-compact .osn-card-meta,.osn.osn-inline .osn-compact .osn-status-row,.osn.osn-inline .osn-compact .osn-tags{order:1;font-size:11px!important;line-height:1.5!important;margin:0!important;padding:0!important;font-weight:400!important}
.osn.osn-inline .osn-compact .osn-status-row{gap:6px}
.osn.osn-inline .osn-compact .osn-badge{font-size:10px!important;line-height:1.5!important;padding:1px 6px!important}
.osn.osn-inline .osn-compact .osn-description{order:2;flex:0 0 100%;font-size:13px!important;font-weight:400!important;line-height:1.45!important;margin:3px 0 0!important;padding:0!important;color:var(--osn-muted)}
.osn.osn-inline .osn-compact .osn-replacement{order:3;flex:0 0 100%;font-size:12px!important;line-height:1.45!important;margin:3px 0!important;padding:0!important}
.osn.osn-inline .osn-compact .osn-actions{order:4;flex:0 0 100%;gap:6px 14px;font-size:12px!important;line-height:1.5!important;margin:4px 0 0!important;padding:0!important}
.osn.osn-inline .osn-compact .osn-actions a{font-size:12px!important;line-height:1.5!important;font-weight:500!important;padding:3px 0!important;min-height:24px;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;color:var(--osn-blue);text-decoration:underline!important}
.osn.osn-inline .osn-compact .osn-card-meta a,.osn.osn-inline .osn-compact .osn-status-row a,.osn.osn-inline .osn-compact .osn-tags a{font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important}
.osn-single .osn-edit-link{font-size:12px!important;line-height:1.5;margin:10px 0 0;font-weight:400}
@media(max-width:440px){.osn.osn-inline .osn-compact{padding:10px 12px!important;gap:5px 8px}}


/* 1.1.6: historical context for issuing bodies. */
.osn-directory .osn-organo-history{max-width:900px;margin:10px 0 12px;padding:12px 14px;border-left:3px solid var(--osn-line);background:var(--osn-bg);border-radius:6px}
.osn-directory .osn-organo-history p{margin:4px 0;font-size:13px;line-height:1.55;color:var(--osn-muted)}

/* 1.1.7: two vertical groups in the record classification block. */
@media(min-width:601px){
.osn-single .osn-data>.osn-field-osn_ambito{grid-column:1;grid-row:1}
.osn-single .osn-data>.osn-field-osn_territorio{grid-column:1;grid-row:2}
.osn-single .osn-data>.osn-field-osn_competencia{grid-column:2;grid-row:1}
.osn-single .osn-data>.osn-field-osn_materia{grid-column:2;grid-row:2}
}

/* 1.1.8: search filters follow the same two-column grouping as the record. */
.osn-directory .osn-main-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
.osn-directory .osn-main-filters>label:nth-child(1){grid-column:1;grid-row:1}
.osn-directory .osn-main-filters>label:nth-child(2){grid-column:1;grid-row:2}
.osn-directory .osn-main-filters>label:nth-child(3){grid-column:2;grid-row:1}
.osn-directory .osn-main-filters>label:nth-child(4){grid-column:2;grid-row:2}
.osn-directory .osn-main-filters>label:nth-child(5){grid-column:1;grid-row:3}
@media(max-width:440px){.osn-directory .osn-main-filters{grid-template-columns:minmax(0,1fr)}.osn-directory .osn-main-filters>label:nth-child(n){grid-column:auto;grid-row:auto}}

/* 1.1.10: spacing shared by all legal relationships. */
.osn-single .osn-related-norms{margin-top:22px;padding-top:0;display:flow-root}
.osn-single .osn-related-norms>p,.osn-single .osn-related-norms>.osn-replacement{margin:0 0 12px;font-size:14px;line-height:1.6}
.osn-single .osn-related-norms>:last-child{margin-bottom:0}
.osn-single .osn-developed-by{margin-top:18px;font-size:14px;line-height:1.6}
.osn-single .osn-developed-by:first-child{margin-top:0}
.osn-single .osn-developed-by h3{font-size:15px;margin:0 0 8px}
.osn-single .osn-developed-by ul{margin:0;padding-left:20px}
.osn-single .osn-developed-by li{margin:5px 0}

/* Rótulo de la ficha: texto legible y balanza vectorial. */
.osn.osn-single .osn-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:600;line-height:1.3;margin-bottom:11px}
.osn.osn-single .osn-eyebrow-icon{display:block;flex:0 0 20px;width:20px;height:20px}
