@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Regular.ttf')}@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-SemiBold.ttf');font-weight:600}@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Bold.ttf');font-weight:700}
:root{--navy:#031c3b;--navy2:#05294e;--teal:#10b8a5;--ink:#102443;--muted:#637086;--line:#dfe6ed;--paper:#f7f9fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:#fff;font-size:14px}.library-shell{width:min(1440px,90%);margin:auto}.library-header{height:74px;background:#021a37;color:#fff;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:1000;transition:transform .34s ease,box-shadow .25s ease}.library-header.nav-hidden{transform:translateY(-105%)}.library-header.nav-scrolled{box-shadow:0 8px 24px rgba(0,12,30,.22)}.header-inner{height:100%;display:flex;align-items:center;gap:28px}.brand{width:190px;flex:none}.brand img{display:block;max-width:100%}.main-menu{margin-left:auto;display:flex;align-items:stretch;height:100%;gap:22px}.main-menu a{position:relative;display:flex;align-items:center;color:#fff;text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:700}.main-menu a:after{content:"";position:absolute;left:0;right:0;bottom:13px;height:2px;background:var(--teal);transform:scaleX(0);transition:.2s}.main-menu a:hover,.main-menu a.active{color:#21cbb5}.main-menu a:hover:after,.main-menu a.active:after{transform:scaleX(1)}.header-contact{color:#fff;text-decoration:none;display:flex;gap:8px;align-items:center;font-weight:600;font-size:11px;white-space:nowrap}.header-contact i{color:var(--teal)}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:22px;margin-left:auto}.account-menu{height:100%;display:flex;align-items:center;position:relative;flex:none}.account-toggle{height:100%;border:0;border-left:1px solid rgba(255,255,255,.15);background:transparent;color:#fff;display:flex;align-items:center;gap:9px;padding:0 0 0 17px;font-family:Montserrat;cursor:pointer}.account-avatar{width:35px;height:35px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;font-size:17px}.account-copy{text-align:left;line-height:1.15}.account-copy small,.account-copy strong{display:block}.account-copy small{font-size:8px;color:#aebdcd;margin-bottom:3px}.account-copy strong{font-size:10px}.account-chevron{font-size:10px;transition:transform .2s}.account-menu.open .account-chevron{transform:rotate(180deg)}.account-dropdown{position:absolute;right:0;top:calc(100% + 9px);width:260px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:0 15px 40px rgba(0,18,45,.22);opacity:0;visibility:hidden;transform:translateY(-7px);transition:.2s;color:var(--ink)}.account-dropdown:before{content:"";position:absolute;right:22px;top:-6px;width:11px;height:11px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.account-menu.open .account-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.account-dropdown p{margin:0 0 13px}.account-dropdown p strong,.account-dropdown p span{display:block}.account-dropdown p strong{font-size:12px;margin-bottom:5px}.account-dropdown p span{font-size:9px;line-height:1.5;color:#69768a}.login-button{display:block;text-align:center;background:var(--teal);color:#fff;text-decoration:none;border-radius:5px;padding:10px;font-size:11px;font-weight:700}.login-button i{margin-right:6px}.login-button:hover{background:#079b8d;color:#fff}.account-help{display:block;text-align:center;color:#53617a;text-decoration:none;font-size:9px;margin-top:11px}.account-help:hover{color:#078f81}
.library-hero{position:relative;overflow:hidden;min-height:310px;background:radial-gradient(circle at 70% 45%,#0c466a 0,#062b50 24%,#031c3b 62%);color:#fff}.library-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#031c3b 0%,rgba(3,28,59,.92) 40%,rgba(3,28,59,.28) 72%,#031c3b 100%);pointer-events:none}.hero-photo{position:absolute;inset:0 19% 0 43%;background:url('../images/estephano-biblioteca.jpg') center 31%/cover no-repeat;filter:saturate(.6);opacity:.72}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:55px;padding:32px 0 24px}.hero-copy{max-width:860px}.eyebrow{text-transform:uppercase;color:#64dbcf;letter-spacing:2px;font-size:10px;font-weight:700;margin:0 0 6px}.hero-copy h1{font-size:43px;line-height:1.1;margin:0 0 13px;font-weight:700}.hero-copy h1 span{color:var(--teal)}.hero-lead{font-size:15px;line-height:1.55;max-width:620px;margin:0 0 18px;color:#f2f6fa}.hero-benefits{display:grid;grid-template-columns:repeat(4,1fr);max-width:720px}.hero-benefits>div{text-align:center;border-right:1px solid rgba(255,255,255,.18);padding:0 12px}.hero-benefits>div:last-child{border:0}.hero-benefits span{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;margin:0 auto 5px;font-size:19px;border:1px solid rgba(255,255,255,.08)}.hero-benefits p{font-size:11px;line-height:1.5;margin:0;color:#fff}.plan-card{align-self:center;border:1px solid rgba(33,203,181,.4);border-radius:13px;padding:20px;background:rgba(1,24,52,.78);box-shadow:0 16px 40px rgba(0,0,0,.18)}.plan-heading{display:flex;align-items:center;gap:13px}.plan-heading>span{width:48px;height:48px;display:grid;place-items:center;background:linear-gradient(135deg,#18cbb6,#079b8d);border-radius:50%;font-size:21px}.plan-heading small,.plan-heading strong{display:block}.plan-heading small{font-size:11px;margin-bottom:2px}.plan-heading strong{font-size:18px}.plan-card p{color:#dce7f1;font-size:12px;line-height:1.55;margin:15px 0}.plan-card>a{display:block;border:1px solid var(--teal);border-radius:5px;color:#2ad2bd;text-align:center;padding:10px;text-decoration:none;font-weight:700;font-size:12px}.plan-card>a:hover{background:var(--teal);color:#03203e}
.catalog{padding-bottom:45px}.category-tabs{height:53px;display:flex;border-bottom:1px solid var(--line);gap:9px;overflow-x:auto}.category-tabs button{font:600 12px Montserrat;color:#485770;background:transparent;border:0;border-bottom:2px solid transparent;padding:0 14px;white-space:nowrap;cursor:pointer}.category-tabs button i{font-size:15px;margin-right:7px}.category-tabs button.active,.category-tabs button:hover{color:#078f81;border-bottom-color:var(--teal)}.catalog-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;padding-top:12px}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) 175px;gap:12px;margin-bottom:11px}.search-box{height:39px;border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;background:#fff}.search-box input{border:0;outline:0;width:100%;height:100%;padding:0 13px;font:12px Montserrat;color:var(--ink)}.search-box i{order:2;margin-right:13px;color:#283b59}.toolbar select,.filters select{border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);padding:0 12px;font:600 11px Montserrat;outline:0}.document-list{display:flex;flex-direction:column;gap:8px}.document-card{min-height:116px;border:1px solid var(--line);border-radius:7px;background:#fff;display:grid;grid-template-columns:100px minmax(0,1fr) 112px;gap:15px;padding:8px 12px 8px 8px;transition:.2s}.document-card:hover{border-color:#a9dcd6;box-shadow:0 5px 18px rgba(11,43,75,.08);transform:translateY(-1px)}.document-icon{border-radius:7px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:11px;text-transform:uppercase;font-weight:700;gap:9px}.document-icon i{font-size:35px}.document-icon.penal,.document-icon.laboral{background:#eaf8f5;color:#0a9f8d}.document-icon.civil,.document-icon.constitucional{background:#f6f0fb;color:#8244b4}.document-icon.administrativo{background:#fff3e9;color:#df681d}.document-body h3{font-size:13px;line-height:1.35;margin:4px 0 5px;color:#0b2041;font-weight:700}.document-body .source{font-size:10px;color:#53617a;margin:0 0 5px}.document-body .source span{margin:0 8px}.document-body .summary{font-size:10px;line-height:1.45;color:#53617a;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.document-meta{display:flex;gap:22px;margin-top:7px;color:#5d6b80;font-size:9px}.document-meta i{margin-right:4px}.document-action{display:flex;align-items:flex-end;justify-content:space-between;flex-direction:column;padding:2px 0}.access-badge{padding:5px 9px;background:#eaf8f5;color:#058f7f;border-radius:5px;font-size:9px;font-weight:700;text-transform:uppercase}.document-action a{border:1px solid var(--teal);color:#058f7f;border-radius:4px;padding:7px 19px;font-size:10px;font-weight:600;text-decoration:none}.document-action a:hover{background:var(--teal);color:white}.filter-card{border:1px solid var(--line);border-radius:7px;padding:14px 17px;background:#fff}.filter-card h2{font-size:14px;margin:0 0 12px}.filter-card h2 i{margin-right:8px}.filter-card>label{display:block;font-size:10px;font-weight:700;margin:0 0 11px}.filter-card select{width:100%;height:32px;display:block;margin-top:6px}.filter-card fieldset{border:0;margin:0 0 9px;padding:0}.filter-card legend{font-size:10px;font-weight:700;border:0;margin:0 0 5px}.filter-card fieldset label{display:block;font-size:10px;font-weight:400;line-height:20px;margin:0;cursor:pointer}.filter-card input{accent-color:#0ca18f;vertical-align:-1px;margin:0 6px 0 0}.reset-filters{border:0;background:transparent;color:#078f81;font:600 10px Montserrat;padding:4px 0;cursor:pointer}.help-card{margin-top:10px;border:1px solid var(--line);border-radius:7px;background:#f4f9fc;display:flex;padding:14px;gap:12px}.help-card>span{width:40px;height:40px;display:grid;place-items:center;background:#ddecf8;color:#0757a2;border-radius:8px;font-size:19px;flex:none}.help-card strong{font-size:11px}.help-card p{font-size:9px;line-height:1.45;color:#58677e;margin:4px 0 8px}.help-card a{font-size:9px;color:#fff;background:#063b73;padding:6px 12px;border-radius:3px;text-decoration:none;display:inline-block}.pagination{display:flex;justify-content:center;gap:5px;margin:20px 0}.pagination button{width:30px;height:30px;border:1px solid var(--line);background:#fff;color:#546276;border-radius:4px}.pagination button.active{background:var(--navy2);color:#fff}.empty-state{text-align:center;padding:50px 20px;border:1px dashed #cbd5df;border-radius:7px;color:#6b778a}.empty-state i{font-size:30px}.empty-state h3{margin:10px 0 5px}.empty-state p{font-size:12px}.empty-state button{border:0;background:var(--teal);color:#fff;padding:8px 14px;border-radius:4px}.mobile-filter-title{display:none}.library-footer{background:#031c3b;color:#fff;padding:22px 0 0}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.5fr;gap:55px}.footer-grid img{width:180px}.footer-grid p{font-size:10px;color:#9daec2;max-width:250px}.footer-grid h3{font-size:11px;margin:0 0 8px}.footer-grid a{display:block;color:#b7c4d2;text-decoration:none;font-size:9px;line-height:19px}.footer-grid a:hover{color:var(--teal)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.09);margin-top:16px;padding:10px 0;color:#8293a8;font-size:8px}
@media(max-width:1180px){.main-menu{gap:13px}.main-menu a{font-size:8px}.header-contact span{display:none}.account-copy{display:none}.account-toggle{padding-left:12px}.catalog-grid{grid-template-columns:minmax(0,1fr) 260px}.hero-photo{inset:0 10% 0 40%}}
@media(max-width:820px){.library-shell{width:92%}.library-header{height:65px}.brand{width:165px}.menu-toggle{display:block;order:3}.header-contact{display:none}.account-menu{height:65px;margin-left:auto;order:2}.account-toggle{border:0;padding:0}.account-avatar{width:34px;height:34px}.account-chevron{display:none}.account-dropdown{right:-44px}.main-menu{display:none;position:absolute;top:65px;left:0;right:0;height:auto;background:#031c3b;padding:10px 4%;flex-direction:column;gap:0;order:4}.main-menu.open{display:flex}.main-menu a{padding:11px;font-size:11px}.main-menu a:after{display:none}.hero-content{grid-template-columns:1fr;padding:30px 0}.hero-photo{inset:0;opacity:.24}.plan-card{display:none}.hero-copy h1{font-size:36px}.hero-benefits{grid-template-columns:repeat(2,1fr);gap:15px}.hero-benefits>div:nth-child(2){border:0}.catalog-grid{grid-template-columns:1fr}.filters{grid-row:1}.filter-card fieldset{display:grid;grid-template-columns:repeat(2,1fr)}.mobile-filter-title{display:none}.document-card{grid-template-columns:85px minmax(0,1fr) 90px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}}
@media(max-width:560px){.library-hero{min-height:390px}.hero-copy h1{font-size:31px}.hero-lead{font-size:13px}.hero-benefits p{font-size:9px}.category-tabs{margin:0 -4%;padding-left:4%}.catalog-grid{gap:12px}.toolbar{grid-template-columns:1fr}.toolbar select{height:39px}.filter-card{display:none}.filters:before{content:'Usa las categorías superiores para filtrar los documentos';display:block;background:#eef8f6;color:#087f73;border-radius:5px;padding:10px;font-size:10px}.help-card{display:none}.document-card{grid-template-columns:68px minmax(0,1fr);padding:7px}.document-icon{font-size:8px}.document-icon i{font-size:26px}.document-action{grid-column:1/-1;flex-direction:row;align-items:center}.document-body h3{font-size:11px}.document-body .summary{display:none}.document-meta{gap:10px;flex-wrap:wrap}.footer-grid{grid-template-columns:1fr}.footer-grid>div:nth-child(2),.footer-grid>div:nth-child(3){display:none}.footer-bottom{flex-direction:column;gap:4px}}
.login-form>label{display:block;font-size:9px;font-weight:600;margin:0 0 4px}.login-field{height:34px;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;margin-bottom:9px}.login-field i{width:32px;text-align:center;color:#718096}.login-field input{width:100%;height:100%;border:0;outline:0;padding:0 8px 0 0;font:9px Montserrat}.login-form .login-button{width:100%;border:0;font-family:Montserrat;cursor:pointer}.login-message{display:block;color:#69768a;font-size:8px;line-height:1.4;margin-top:7px}
.logged-account{text-decoration:none}.logged-account:hover{color:#21cbb5}.logged-account .account-copy strong{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.login-modal[hidden]{display:none}.login-modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:20px}.login-backdrop{position:absolute;inset:0;background:rgba(1,16,36,.78);backdrop-filter:blur(4px);animation:modalFade .22s ease}.login-dialog{position:relative;width:min(430px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:16px;padding:28px 38px 25px;box-shadow:0 30px 80px rgba(0,12,30,.4);animation:modalEnter .28s ease;color:var(--ink)}.login-close{position:absolute;right:15px;top:14px;border:0;background:#eef3f7;color:#53617a;width:30px;height:30px;border-radius:50%;cursor:pointer}.login-close:hover{background:#e1e8ee;color:#09284b}.login-brand{text-align:center;margin-bottom:12px}.login-brand img{width:176px;max-height:55px;object-fit:contain}.login-symbol{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto 9px;background:linear-gradient(135deg,#19cbb7,#078f81);color:#fff;font-size:24px;box-shadow:0 8px 22px rgba(16,184,165,.28)}.login-dialog h2{text-align:center;font-size:22px;margin:0 0 5px}.login-dialog>p{text-align:center;color:#69768a;font-size:10px;line-height:1.55;margin:0 auto 19px;max-width:310px}.login-dialog .login-form>label{font-size:10px;margin-bottom:6px}.login-dialog .login-field{height:43px;border-radius:6px;margin-bottom:13px;transition:.2s}.login-dialog .login-field:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(16,184,165,.1)}.login-dialog .login-field>i{font-size:13px}.login-dialog .login-field input{font-size:10px}.password-toggle{height:100%;width:38px;border:0;background:transparent;color:#768397;cursor:pointer}.password-toggle i{width:auto}.login-options{display:flex;align-items:center;justify-content:space-between;margin:-1px 0 16px;font-size:9px}.login-options label{font-weight:400;cursor:pointer}.login-options input{accent-color:var(--teal);vertical-align:-2px}.login-options a,.login-support a{color:#078f81;text-decoration:none;font-weight:600}.login-dialog .login-button{height:42px;font-size:11px}.login-dialog .login-message{text-align:center;font-size:9px}.login-dialog .login-support{border-top:1px solid var(--line);margin:18px 0 0;padding-top:15px;font-size:9px}body.modal-open{overflow:hidden}@keyframes modalFade{from{opacity:0}to{opacity:1}}@keyframes modalEnter{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:480px){.login-dialog{padding:25px 22px 22px}.login-options{align-items:flex-start;gap:8px}.login-brand img{width:155px}}
.document-card.card-enter{opacity:0;animation:libraryCardEnter .52s cubic-bezier(.22,.75,.28,1) forwards;animation-delay:var(--card-delay,0ms);will-change:transform,opacity}@keyframes libraryCardEnter{0%{opacity:0;transform:translateY(22px) scale(.985)}100%{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.document-card.card-enter{opacity:1;animation:none;will-change:auto}}
.pagination button{cursor:pointer}.pagination button:hover:not(:disabled){border-color:var(--teal);color:#078f81}.pagination button:disabled{opacity:.45;cursor:not-allowed}.pagination-ellipsis{width:22px;height:30px;display:grid;place-items:center;color:#778398}
.document-cover{position:relative;border-radius:7px;overflow:hidden;min-height:100px;background:#e8eef3}.document-cover img{width:100%;height:100%;min-height:100px;display:block;object-fit:cover;transition:transform .25s ease}.document-card:hover .document-cover img{transform:scale(1.04)}.document-cover span{position:absolute;left:6px;right:6px;bottom:6px;padding:4px 5px;border-radius:4px;background:rgba(3,28,59,.88);color:#fff;text-align:center;font-size:7px;font-weight:700;line-height:1.2;text-transform:uppercase}
.library-loading{display:flex;flex-direction:column;gap:8px}.sr-loading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.document-skeleton{pointer-events:none;overflow:hidden}.document-skeleton:hover{transform:none;box-shadow:none;border-color:var(--line)}.skeleton-cover,.skeleton-line,.skeleton-pill,.skeleton-button{display:block;position:relative;overflow:hidden;background:#e8edf1}.skeleton-cover{min-height:100px;border-radius:7px}.skeleton-body{padding-top:7px}.skeleton-line{width:100%;height:8px;border-radius:8px;margin-bottom:9px}.skeleton-title{width:88%;height:12px}.skeleton-short{width:42%}.skeleton-medium{width:68%}.skeleton-action{display:flex;align-items:flex-end;justify-content:space-between;flex-direction:column;padding:3px 0}.skeleton-pill{width:68px;height:20px;border-radius:5px}.skeleton-button{width:82px;height:27px;border-radius:4px}.skeleton-cover:after,.skeleton-line:after,.skeleton-pill:after,.skeleton-button:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:librarySkeleton 1.15s infinite}@keyframes librarySkeleton{100%{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.skeleton-cover:after,.skeleton-line:after,.skeleton-pill:after,.skeleton-button:after{animation:none}}@media(max-width:560px){.document-skeleton{grid-template-columns:68px minmax(0,1fr)}.document-skeleton .skeleton-action{grid-column:1/-1;flex-direction:row}.skeleton-cover{min-height:82px}}
