
:root{font-family:system-ui,Arial,sans-serif;color:#172a48;background:#f5f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{background:#142744;color:#c3cedc;padding:35px 18px 25px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:white;font-family:system-ui,Arial,sans-serif;font-size:25px;letter-spacing:-1.4px;font-weight:800;padding:0 15px 66px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:#72d9c9;border-radius:9px;color:#142744;font-size:27px;line-height:1}.brand-period,.heading-dot{color:#55cdbb}.brand small{display:block;color:#9fb2c6;font-family:system-ui,Arial,sans-serif;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:600;margin-top:1px}.sidebar-section{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#8296ad;padding:0 15px 14px}.nav-link,.side-categories button{border:0;background:none;color:inherit;display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:9px;font-size:14px;width:100%;text-align:left;cursor:pointer}.nav-link span{font-size:19px}.nav-link.active,.side-categories button.selected{color:white;background:#2a4060}.categories-title{margin-top:43px}.side-categories{display:grid;gap:3px}.side-categories button::before{content:'';width:7px;height:7px;border:1px solid currentColor;border-radius:50%;opacity:.7}.side-categories button:hover,.nav-link:hover{background:#29415f;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #38506d;padding:25px 6px 0;display:flex;gap:13px}.secure-icon{width:31px;height:31px;border-radius:8px;background:#254b62;color:#77decf;display:grid;place-items:center;flex:none;font-size:25px}.sidebar-bottom strong{color:white;font-size:13px}.sidebar-bottom p{font-size:12px;line-height:1.55;margin:5px 0 0;color:#9fb1c4}.main-area{min-width:0}.topbar{height:76px;background:white;border-bottom:1px solid #e9edf2;display:flex;align-items:center;justify-content:flex-end;padding:0 clamp(24px,5vw,80px)}.topbar-right{display:flex;align-items:center;gap:20px}.private-pill{color:#4c6778;font-size:12px;font-weight:700;background:#edf7f5;border-radius:40px;padding:9px 13px}.pill-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#42bea9;margin-right:5px;vertical-align:2px}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dae8f4;color:#233d5f;font-weight:800;font-size:14px}.mobile-brand{display:none}.content{max-width:1300px;margin:auto;padding:61px clamp(24px,5vw,80px) 30px}.eyebrow,.section-kicker{font-size:11px;letter-spacing:1.7px;font-weight:800;color:#229f91}.eyebrow{display:flex;align-items:center;gap:12px}.line{width:35px;height:1px;background:#aabac6}.heading-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:18px 0 53px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:system-ui,Arial,sans-serif}h1{font-size:clamp(31px,3.3vw,48px);letter-spacing:-2.4px;line-height:1.17;margin-bottom:13px;font-weight:800}.intro{color:#6e7e90;font-size:16px;margin:0}.document-count{display:flex;align-items:center;gap:13px;padding-bottom:2px;white-space:nowrap}.document-count strong{font-family:system-ui;font-size:45px;line-height:1;letter-spacing:-3px;color:#243b59}.document-count span{font-size:10px;letter-spacing:1.3px;color:#7f91a2;font-weight:800;line-height:1.55}.library{background:white;border:1px solid #e6ebef;border-radius:15px;padding:32px;box-shadow:0 16px 50px rgba(31,53,80,.035)}.library-top{display:flex;justify-content:space-between;align-items:end}.library h2{font-size:24px;letter-spacing:-.9px;margin:6px 0 0}.results{color:#8794a3;font-size:13px}.toolbar{display:flex;gap:14px;margin:27px 0 28px;align-items:center;justify-content:space-between}.search-wrap{height:44px;display:flex;align-items:center;gap:10px;border:1px solid #dee5ec;background:#fafbfc;border-radius:8px;padding:0 13px;flex:1;max-width:390px}.search-wrap:focus-within{outline:2px solid #63cdbd;outline-offset:1px}.search-wrap svg{width:17px;height:17px;fill:none;stroke:#8998a7;stroke-width:2;flex:none}.search-wrap input{border:0;outline:0;background:transparent;min-width:0;width:100%;color:#172a48;font-size:14px}.search-wrap input::placeholder{color:#9ca8b4}.filter-row{display:flex;gap:6px;overflow:auto}.filter-row button{border:1px solid transparent;background:transparent;color:#76879a;padding:9px 12px;border-radius:7px;cursor:pointer;white-space:nowrap;font-size:13px;font-weight:700}.filter-row button.selected{background:#e9f6f3;color:#178f80}.filter-row button:hover{color:#178f80}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.card{border:1px solid #e9edf1;border-radius:10px;min-width:0;overflow:hidden;transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(25,46,70,.09)}.card-preview{height:171px;display:grid;place-items:center;position:relative;background:#edf3f7}.card:nth-child(3n+2) .card-preview{background:#ecf3f1}.card:nth-child(3n) .card-preview{background:#f1f0f5}.paper{width:91px;height:119px;background:white;border-radius:2px;box-shadow:0 7px 18px rgba(29,53,75,.14);padding:17px 11px;transform:rotate(-3deg)}.card:nth-child(3n+2) .paper{transform:rotate(3deg)}.paper-top{width:28px;height:4px;background:#57c3b4;margin-bottom:16px}.paper-title{height:5px;width:62px;background:#304b69;margin-bottom:7px}.paper-title.short{width:43px}.paper-line{height:3px;background:#d7e0e7;margin-top:7px}.paper-line:nth-child(even){width:80%}.paper-block{height:22px;background:#e3eee9;margin-top:13px}.pdf-badge{position:absolute;right:13px;bottom:13px;background:white;color:#e06864;font-size:10px;letter-spacing:.7px;font-weight:800;padding:6px 8px;border-radius:5px;box-shadow:0 2px 8px #18365312}.card-body{padding:19px 19px 17px}.category{font-size:10px;color:#289c8e;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}.card h3{font-size:16px;line-height:1.42;letter-spacing:-.3px;margin:9px 0 8px;min-height:45px}.card-description{color:#7f8d9c;font-size:13px;line-height:1.5;min-height:39px;margin-bottom:18px}.card-foot{border-top:1px solid #edf0f2;padding-top:13px;display:flex;justify-content:space-between;align-items:center;color:#94a1af;font-size:12px}.card-foot a{font-size:13px;color:#168c7f;font-weight:800}.card-foot a:hover{text-decoration:underline}.empty{text-align:center;padding:55px 10px}.empty>span{font-size:39px;color:#70bfb3}.empty h3{margin:10px 0}.empty p{color:#778899}.empty button{border:0;background:#1b9a8a;color:white;border-radius:7px;padding:10px 16px;cursor:pointer}footer{color:#9ca8b4;font-size:12px;margin-top:27px}footer span{margin:0 7px}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}@media(max-width:1050px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{align-items:stretch;flex-direction:column}.search-wrap{max-width:none}.filter-row{padding-bottom:3px}}@media(max-width:720px){.app-shell{display:block}.sidebar{display:none}.topbar{height:64px;padding:0 20px;justify-content:space-between}.mobile-brand{display:block;font-family:system-ui;font-size:23px;font-weight:800;letter-spacing:-1.4px}.content{padding:35px 18px 25px}.heading-row{margin:14px 0 30px;align-items:start}.document-count{display:none}h1{font-size:33px;letter-spacing:-1.6px}.intro{font-size:15px}.library{padding:20px 16px}.library h2{font-size:21px}.grid{gap:12px}.card-preview{height:140px}.card-body{padding:15px}.card h3{font-size:15px;min-height:63px}.card-description{min-height:58px}.filter-row button{padding:8px 10px}.private-pill{font-size:11px}}@media(max-width:480px){.grid{grid-template-columns:1fr}.card{display:grid;grid-template-columns:112px 1fr}.card-preview{height:100%;min-height:190px}.paper{transform:scale(.65) rotate(-3deg)!important}.pdf-badge{right:7px;bottom:8px}.card h3{min-height:0}.card-description{min-height:0;margin-bottom:12px}.card-foot{gap:6px}.results{display:none}.card-body{padding:14px}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){.card{transition:none}}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#edf3f6}.auth-panel{width:min(100%,470px);background:#fff;padding:46px;border-radius:15px;box-shadow:0 24px 70px #17325118}.auth-mark{display:grid;place-items:center;background:#142744;color:#79dccc;border-radius:12px;width:48px;height:48px;font-size:29px;margin-bottom:32px}.auth-panel h1{font-size:34px;margin:13px 0}.form-stack{display:grid;gap:18px;margin-top:30px}.form-stack label,.admin-form label{display:grid;gap:7px;color:#3e536c;font-size:14px;font-weight:700}.form-stack input,.admin-form input,.admin-form select,.user-actions select,.filter-select select{background:#fff;color:#172a48;border:1px solid #d8e1e8;border-radius:8px;height:45px;padding:0 12px;min-width:0}.form-stack input:focus,.admin-form input:focus,.admin-form select:focus{outline:2px solid #62cdbc}.primary-button{background:#168d81;color:white;border:0;border-radius:8px;padding:12px 19px;min-height:44px;font-weight:700;cursor:pointer}.primary-button:hover{background:#116f66}.alert{padding:14px 17px;border-radius:8px;background:#fff0f0;color:#913c41;font-size:14px;line-height:1.5}.alert.success{background:#e2f5ee;color:#135c50;overflow-wrap:anywhere}.link-button{background:none;border:0;color:#8bdccd;cursor:pointer;padding:10px 0}.narrow{max-width:420px}.admin-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:24px 0}.spaced{margin-top:32px}.user-list{display:grid;gap:10px}.user-row{border:1px solid #e6ebef;border-radius:8px;padding:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.user-row>strong{min-width:210px;overflow-wrap:anywhere}.user-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.user-row button{background:#edf5f3;color:#176d63;border:1px solid #d3e8e3;border-radius:7px;padding:9px;cursor:pointer}.user-row button:disabled{opacity:.4;cursor:not-allowed}.checkbox{font-size:14px;white-space:nowrap}.pages{display:flex;justify-content:center;align-items:center;gap:22px;padding-top:24px;color:#748599}.pages a{color:#158e80;font-weight:700}.filter-select select{height:44px}.toolbar .primary-button{white-space:nowrap}@media(max-width:720px){.auth-panel{padding:28px}.toolbar .primary-button{width:100%}.filter-select select{width:100%}.user-row>strong{width:100%}.admin-form>*{width:100%}}

.mobile-actions{display:none}@media(max-width:720px){.mobile-actions{display:flex;gap:17px;align-items:center;flex-wrap:wrap;padding:12px 20px;background:#fff;border-bottom:1px solid #e9edf2;font-size:13px;font-weight:700}.mobile-actions a{color:#166f68}.mobile-actions button{background:none;border:0;padding:0;color:#166f68;font-weight:700;cursor:pointer}}

/* Identidad tomada de web_pr_282a: gris, blanco, amarillo y tipografía Arial. */
:root{--gold:#d7c000;--gold-deep:#b09d00;--ink:#3c3c3c;--muted:#777;--line:#d9d9d5;--page:#eceeee;color:var(--ink);background:var(--page);font-family:Arial,Helvetica,sans-serif}
body{background:var(--page);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px}
button,input,select{font-family:inherit}
.app-shell{grid-template-columns:214px minmax(0,1fr)}
.sidebar{background:#fff;border-right:1px solid #e8e8e4;color:#555;padding:25px 0 21px}
.brand{display:block;padding:0 22px 25px;margin:0;color:var(--ink);letter-spacing:normal}
.brand img{display:block;width:148px;height:82px;object-fit:contain;object-position:left center}
.brand small{display:block;margin:0;color:#777;font-size:10px;font-weight:700;letter-spacing:.18em}
.sidebar-section{border-top:1px solid #e8e8e4;padding:24px 22px 10px;color:#928a44;font-size:10px;letter-spacing:.16em}
.nav-link{width:auto;margin:1px 10px;padding:12px;border-radius:0;color:#555;font-size:13px;font-weight:600}
.nav-link.active,.nav-link:hover{background:#f7f6ed;color:#514900;border-left:3px solid var(--gold);padding-left:9px}
.sidebar-bottom{margin:0 22px;margin-top:auto;padding:19px 0 0;border-color:#e0e0de}
.sidebar-bottom strong{color:#444}.sidebar-bottom p{color:#777}
.link-button{color:#8c7e00;font-weight:700}
.topbar{height:81px;background:#fff;border-color:#e8e8e4;padding:0 clamp(20px,4vw,65px)}
.private-pill{background:#f7f6eb;color:#756b00;border-radius:0;font-size:10px;letter-spacing:.13em;padding:10px 13px}
.avatar{background:#e6e2be;color:#514a00;border-radius:50%}
.content{max-width:1180px;padding:45px clamp(20px,4vw,65px) 45px}
.eyebrow,.section-kicker{color:#a39300;letter-spacing:.18em;font-size:11px}
h1,h2,h3{font-family:Arial,Helvetica,sans-serif;color:#3c3c3c}
h1{font-size:clamp(35px,4vw,51px);font-weight:300;letter-spacing:-.055em;line-height:1.08}
.intro{font-size:15px;color:#666;line-height:1.55}
.heading-row{margin:16px 0 26px}
.document-count strong{color:#b4a200;font-weight:300;letter-spacing:-.055em}
.document-count span{color:#777}
.product-showcase{position:relative;display:grid;grid-template-columns:1fr minmax(260px,1fr);align-items:center;min-height:215px;margin:0 0 28px;padding:26px 34px;background:radial-gradient(circle at 76% 48%,rgba(215,192,0,.14),transparent 32%),linear-gradient(115deg,#fafaf8,#f3f2e9);border:1px solid #e4e3db;overflow:hidden}
.showcase-copy{position:relative;z-index:2;max-width:390px}.showcase-copy span{display:block;color:#a39300;font-size:10px;font-weight:700;letter-spacing:.18em;margin-bottom:12px}.showcase-copy strong{display:block;color:#333;font-size:clamp(21px,2.6vw,31px);font-weight:300;line-height:1.1;letter-spacing:-.035em}.showcase-copy p{color:#686868;font-size:13px;line-height:1.55;margin:12px 0 0}
.showcase-products{height:185px;display:flex;align-items:end;justify-content:center;gap:9px;position:relative}.showcase-products:before{content:'';position:absolute;width:245px;height:245px;border:1px solid #d4d0a333;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.showcase-products img{position:relative;z-index:1;width:28%;height:155px;object-fit:contain;filter:drop-shadow(0 12px 10px #38383825)}.showcase-products img:nth-child(2){width:34%;height:182px}
.library{background:#fff;border:1px solid #e1e1dd;border-radius:0;box-shadow:none;padding:27px}
.library h2{font-size:24px;font-weight:400;letter-spacing:-.035em}.results{color:#777}
.search-wrap,.filter-select select,.form-stack input,.admin-form input,.admin-form select,.user-actions select{background:#fff;color:#3c3c3c;border:1px solid #c9c9c3;border-radius:0}
.search-wrap:focus-within,.form-stack input:focus,.admin-form input:focus,.admin-form select:focus{outline:2px solid var(--gold);outline-offset:1px}
.search-wrap input{color:#3c3c3c}
.primary-button{background:#d1bb00;color:#fff;border-radius:0;font-weight:700;font-size:13px;min-height:45px}.primary-button:hover{background:#bca900}
.card{border:1px solid #e1e1dd;border-radius:0;box-shadow:none;transition:box-shadow .18s,border-color .18s}.card:hover{transform:none;border-color:#c2b654;box-shadow:0 8px 22px #0000000b}
.card-preview,.card:nth-child(3n+2) .card-preview,.card:nth-child(3n) .card-preview{height:142px;background:#f5f5f2;border-bottom:1px solid #e8e8e5}
.paper,.card:nth-child(3n+2) .paper{transform:rotate(-2deg);border-radius:0;box-shadow:0 7px 13px #00000018}.paper-top{background:var(--gold)}.paper-title{background:#777}.paper-block{background:#f1efda}
.pdf-badge{color:#786b00;border:1px solid #ded5a2;border-radius:0;box-shadow:none}
.card-body{padding:17px}.category{color:#9a8b00}.card h3{color:#3c3c3c}.card-description{color:#777}.card-foot{border-color:#e5e5e3;color:#777}.card-foot a,.pages a{color:#8c7e00}
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,460px) minmax(0,440px);justify-content:center;align-items:center;gap:0;padding:26px;background:#f1f1ed}
.auth-panel{position:relative;z-index:2;width:100%;min-height:560px;padding:45px;background:#fff;border:1px solid #e1e1dc;border-radius:0;box-shadow:none;display:flex;flex-direction:column;justify-content:center}
.auth-brand{display:block;width:150px;margin:0 0 38px}.auth-brand img{display:block;width:100%;height:auto}
.auth-panel h1{font-size:clamp(34px,3vw,46px);margin:14px 0}.auth-panel .intro{max-width:330px}
.form-stack label,.admin-form label{color:#555}.alert{border-radius:0}.alert.success{background:#f3f7ed;color:#4c672b}.user-row{border-radius:0}.user-row button{background:#f8f7ed;border:1px solid #e3debe;border-radius:0;color:#786d00}
.auth-product{position:relative;min-height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,rgba(215,192,0,.19),transparent 44%),linear-gradient(145deg,#f6f6f1,#e9e9de);border:1px solid #e1e1dc;border-left:0}
.auth-product img{position:relative;z-index:1;max-width:48%;max-height:340px;object-fit:contain;filter:drop-shadow(0 23px 18px #3333332a)}.auth-orbit{position:absolute;border:1px solid #a89c6a50;border-radius:50%;width:360px;height:360px}.auth-orbit-two{width:460px;height:460px}.auth-product p{position:absolute;z-index:2;bottom:30px;left:35px;font-size:22px;font-weight:300;line-height:1.1;color:#4c4c48;letter-spacing:-.04em}
.mobile-actions a,.mobile-actions button{color:#817400}
@media(max-width:1050px){.product-showcase{grid-template-columns:1fr .8fr}.showcase-products img{height:135px}.showcase-products img:nth-child(2){height:160px}}
@media(max-width:720px){.topbar{height:68px}.mobile-brand{display:block}.mobile-brand img{width:92px;height:43px;object-fit:contain}.mobile-actions{border-color:#e8e8e4}.content{padding:27px 18px}.product-showcase{min-height:195px;padding:23px;grid-template-columns:1fr .62fr}.showcase-products{height:140px}.showcase-products img{height:100px}.showcase-products img:nth-child(2){height:130px}.library{padding:19px 16px}.auth-page{grid-template-columns:minmax(0,470px);padding:20px}.auth-panel{min-height:0;padding:34px}.auth-product{display:none}.brand img{width:135px}}
@media(max-width:480px){.product-showcase{display:block;padding:21px;min-height:0}.showcase-products{height:100px;justify-content:flex-end;margin-top:-18px;opacity:.88}.showcase-products img{height:85px;width:25%}.showcase-products img:nth-child(2){height:105px;width:30%}.showcase-copy{max-width:260px}.showcase-copy strong{font-size:23px}.card-preview,.card:nth-child(3n+2) .card-preview,.card:nth-child(3n) .card-preview{height:100%;min-height:185px}.auth-panel{padding:26px}.auth-brand{width:135px;margin-bottom:24px}}

/* Navegación de carpetas con la jerarquía de jdownloads */
.explorer .toolbar{justify-content:flex-start;margin:22px 0 24px}.explorer .search-wrap{max-width:570px;width:100%}
.folder-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 0 17px;border-bottom:1px solid #deded8;color:#777;font-size:13px}
.folder-breadcrumbs a{color:#746900;text-decoration:none;overflow-wrap:anywhere}.folder-breadcrumbs a:hover{text-decoration:underline}.folder-breadcrumbs a:last-child{font-weight:700;color:#3c3c3c}.folder-breadcrumbs span{color:#999}
.folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:20px 0 25px}
.folder-card{display:flex;align-items:center;gap:12px;min-height:63px;padding:12px 14px;border:1px solid #dcdcd6;background:#fbfbf9;text-decoration:none;color:#3c3c3c;transition:border-color .18s,background .18s}
.folder-card:hover,.folder-card:focus-visible{border-color:#bbaa36;background:#f8f7eb}.folder-name{min-width:0;overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.25}.folder-arrow{color:#a39300;margin-left:auto;font-size:18px}
.folder-icon{position:relative;width:24px;height:17px;flex:none;background:#d7c000;border-radius:2px}.folder-icon:before{content:'';position:absolute;top:-5px;left:0;width:11px;height:7px;background:#d7c000;border-radius:2px 2px 0 0}
.folder-hint{color:#777;font-size:13px;line-height:1.5;margin:4px 0 20px}.folder-hint a{color:#786c00;text-decoration:underline;font-weight:700}
.document-grid{margin-top:20px}
@media(max-width:1100px){.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.explorer .toolbar{flex-direction:column;align-items:stretch}.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.folder-grid{grid-template-columns:1fr}.folder-card{min-height:57px}}

/* Breadcrumb visible al comenzar la página, por encima del catálogo. */
.folder-breadcrumbs--page{margin:-12px 0 27px;padding:0 0 12px;border-bottom:1px solid #cfcdc2;background:transparent;font-size:13px}
.folder-breadcrumbs--page a:first-child{font-weight:700;color:#756a00}
.folder-breadcrumbs--page a:last-child{font-weight:700;color:#333}
.explorer{margin-top:0}.explorer .library-top{margin-bottom:6px}
.explorer .folder-grid{margin-top:8px}
.explorer+.product-showcase{margin:24px 0 0}
@media(max-width:720px){.folder-breadcrumbs--page{margin:-8px 0 21px;gap:6px}.heading-row{margin-bottom:22px}}

/* Acceso público a la carpeta Usuario */
.guest-signin,.topbar-login{color:#827500;text-decoration:none;font-weight:700;font-size:13px}.guest-signin:hover,.topbar-login:hover{text-decoration:underline}.topbar-login{border:1px solid #d5cb73;padding:9px 14px}.sidebar-bottom .guest-signin{display:block;padding:6px 0}
@media(max-width:720px){.topbar-login{display:none}.topbar .private-pill{font-size:9px}.mobile-actions a:last-of-type{color:#827500}}

/* Portada: navegación y búsqueda visibles desde el primer momento. */
.sidebar>.nav-link{font-size:15px;min-height:48px;margin:2px 10px}
.sidebar>.nav-link:last-of-type{color:#776b00;font-weight:700;border:1px solid #d6ca66;margin-top:14px}
.sidebar>.nav-link:last-of-type:hover{background:#f8f6de}
.content{padding-top:28px}.folder-breadcrumbs--page{margin:0 0 15px}
.heading-row{margin:8px 0 17px}h1{margin-bottom:7px}
.explorer .toolbar{margin:17px 0 19px}.explorer .folder-grid{margin-top:12px}
#buscar,#directorios{scroll-margin-top:18px}
@media(max-width:720px){.content{padding-top:18px}.folder-breadcrumbs--page{margin:0 0 15px}.heading-row{margin-bottom:16px}}

/* Identidad visual por tipo de archivo; no se cargan miniaturas privadas. */
.file-card{--type:#676d70;--type-bg:#f1f2f2;--type-light:#e2e5e5}
.file-card--pdf{--type:#b54236;--type-bg:#fbf0ec;--type-light:#f4d9d3}
.file-card--excel{--type:#197446;--type-bg:#eaf6ee;--type-light:#cee9d7}
.file-card--word{--type:#245fa6;--type-bg:#eaf1fa;--type-light:#d3e3f4}
.file-card--image{--type:#8655a5;--type-bg:#f4edf9;--type-light:#e7d7f0}
.file-card--slides{--type:#bd622b;--type-bg:#fbf0e7;--type-light:#f2dfce}
.file-card--archive{--type:#78652c;--type-bg:#f6f2e5;--type-light:#e9dfbb}
.file-card--video{--type:#196c82;--type-bg:#e9f4f6;--type-light:#cbe7ed}
.file-card--audio{--type:#86517a;--type-bg:#f7edf4;--type-light:#eed8e6}
.file-card .file-preview{height:165px;background:var(--type-bg)!important;border-bottom:1px solid var(--type-light);overflow:hidden}
.file-type-label{position:absolute;top:13px;left:14px;color:var(--type);font-size:11px;font-weight:700;letter-spacing:.04em}
.file-illustration{position:relative;display:grid;place-items:center;width:80px;height:99px;background:#fff;color:var(--type);border:2px solid var(--type);border-radius:5px;box-shadow:0 10px 18px #00000013;transform:translateY(8px)}
.file-illustration:before{content:'';position:absolute;right:-2px;top:-2px;width:21px;height:21px;background:var(--type-bg);border-left:2px solid var(--type);border-bottom:2px solid var(--type);border-radius:0 3px 0 4px}
.file-illustration strong{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:14px;letter-spacing:-.02em;line-height:1;overflow:hidden;text-overflow:ellipsis;padding:0 4px}
.file-symbol{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:30px;height:25px;border:3px solid currentColor;border-radius:2px}
.file-card--pdf .file-symbol{width:33px;height:16px;border:0;border-top:4px solid;border-bottom:4px solid;transform:translateX(-50%) rotate(-12deg)}
.file-card--excel .file-symbol{background:repeating-linear-gradient(to right,transparent 0 8px,currentColor 8px 10px),repeating-linear-gradient(to bottom,transparent 0 7px,currentColor 7px 9px)}
.file-card--word .file-symbol{border:0;border-top:3px solid;border-bottom:3px solid;box-shadow:0 8px 0 -5px currentColor,0 15px 0 -5px currentColor}
.file-card--image .file-symbol{overflow:hidden}.file-card--image .file-symbol:after{content:'';position:absolute;width:22px;height:22px;background:var(--type);transform:rotate(45deg);top:11px;left:4px}
.file-card--slides .file-symbol{border:3px solid;border-radius:1px}.file-card--slides .file-symbol:after{content:'';position:absolute;left:10px;top:1px;height:17px;border-left:3px solid;transform:rotate(30deg)}
.file-card--archive .file-symbol{width:14px;height:27px;border:0;border-left:4px dashed;border-right:4px dashed}
.file-card--video .file-symbol{border-radius:5px}.file-card--video .file-symbol:after{content:'';position:absolute;top:5px;left:11px;border-left:10px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent}
.file-card--audio .file-symbol{border:0;border-radius:50%;border-left:5px solid;border-right:5px solid}
.file-extension{position:absolute;right:11px;bottom:10px;max-width:90px;padding:5px 7px;background:white;color:var(--type);border:1px solid var(--type-light);font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-card .category,.file-card .card-foot a{color:var(--type)}
@media(max-width:720px){.file-card .file-preview{height:145px}}
@media(max-width:480px){.file-card .file-preview{height:100%;min-height:165px}}

/* Sesión siempre accesible en la cabecera, también en móvil. */
.topbar-logout{margin:0}
.topbar-logout button{min-height:38px;padding:8px 14px;border:1px solid #c9bd54;background:#fff;color:#756900;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.topbar-logout button:hover,.topbar-logout button:focus-visible{background:#f8f6e7;border-color:#a99900}
@media(max-width:720px){.topbar{padding:0 17px}.topbar-right{gap:8px}.topbar .private-pill,.topbar .avatar{display:none}.topbar-logout button{font-size:12px;padding:7px 10px}}

/* Administración en tabla, con filtros y edición de una cuenta a la vez. */
.content:has(.users-admin){max-width:1550px}
.users-admin{margin-top:23px;padding:24px}
.account-filters{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:23px}
.account-filters label,.account-fields label{display:grid;gap:7px;color:#555;font-weight:700;font-size:13px}
.account-filters label:first-of-type{flex:1;min-width:220px}
.account-filters input,.account-filters select,.account-fields input,.account-fields select{font:inherit;height:43px;border:1px solid #c9c9c3;background:white;color:#333;padding:0 11px;width:100%;min-width:0;border-radius:0}
.account-filters input:focus,.account-fields input:focus,.account-fields select:focus{outline:2px solid #d7c000;outline-offset:1px}
.account-filters>a{padding:12px 0;color:#817400}
.accounts-summary{display:flex;align-items:center;gap:9px;margin-bottom:15px;color:#777;font-size:13px}
.accounts-summary strong{color:#444}.accounts-summary>a{margin-left:auto}
.accounts-scroll{overflow-x:auto;border:1px solid #dfdfd7}
.accounts-table{width:100%;min-width:950px;border-collapse:collapse;font-size:13px;text-align:left}
.accounts-table th{padding:13px 12px;background:#f6f5e9;color:#665d12;font-size:11px;letter-spacing:.03em;border-bottom:2px solid #d8cd75;white-space:nowrap}
.accounts-table td{padding:13px 12px;border-bottom:1px solid #e6e6df;vertical-align:middle;overflow-wrap:anywhere;max-width:250px;line-height:1.4}
.accounts-table tbody tr:nth-child(even){background:#fafaf8}.accounts-table tbody tr:hover{background:#f9f7e8}
.accounts-table td:first-child{font-weight:700;min-width:155px}.accounts-table td:nth-child(3){min-width:200px}.accounts-table td:last-child{min-width:230px}
.account-row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.account-row-actions form{margin:0}
.account-button{display:inline-block;font:inherit;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer;border:1px solid #d7cc78;background:#fff;color:#756900;padding:8px 10px;white-space:nowrap;border-radius:0}
.account-button:hover{background:#f5f1d9}.account-disable{color:#99443a;border-color:#e0b6ac}.account-disable:hover{background:#fbefeb}
.account-state{display:inline-block;font-size:11px;font-weight:700;padding:5px 8px;white-space:nowrap}.is-active{background:#eaf4e9;color:#32642e}.is-inactive{background:#f6eae6;color:#92473b}
.own-account{display:block;font-size:11px;color:#777;margin-top:4px}.accounts-empty{text-align:center;padding:30px!important}
.account-editor{padding:20px;background:#f8f7ed;border:1px solid #d7cd84;margin-bottom:20px;scroll-margin-top:20px}
.account-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:20px;max-width:950px}
.account-fields small{font-size:11px;line-height:1.5;font-weight:400;color:#777}
.account-editor-actions{display:flex;gap:14px;align-items:center}.account-editor-actions a{font-size:13px;color:#817400}
.new-account{margin-top:25px;border-top:1px solid #ddd;padding-top:20px;scroll-margin-top:20px}.new-account summary{cursor:pointer;color:#756900;font-weight:700;font-size:15px}
.new-account:target{outline:2px solid #d7c000;outline-offset:7px}
@media(max-width:720px){.users-admin{padding:17px 13px}.account-filters{display:grid;grid-template-columns:1fr 1fr}.account-filters label{grid-column:1/-1}.account-fields{grid-template-columns:1fr}.accounts-summary{flex-wrap:wrap}.account-editor{padding:16px}}

.account-group-form{display:grid;gap:7px;margin:0;min-width:160px}
.account-group-form select{font:inherit;max-width:100%;width:100%;height:36px;padding:4px 7px;border:1px solid #c9c9c3;background:#fff;color:#444}
.account-group-form .account-button{justify-self:start}

.account-delete-link{color:#a1392e;font-size:12px;font-weight:700;text-decoration:underline;padding:7px 3px}
.account-delete-panel{background:#fcf3ef;border-color:#d7a397;scroll-margin-top:18px}
.account-delete-panel h2{color:#913c31}.account-delete-panel p{font-size:14px;line-height:1.6}
.delete-confirm-form{display:grid;gap:18px}.delete-confirm-form label{font-size:13px;line-height:1.5;display:flex;align-items:flex-start;gap:8px}.delete-confirm-form input[type=checkbox]{margin-top:3px}
.account-delete-button{color:white;background:#a33d30;border-color:#a33d30;padding:11px 15px}.account-delete-button:hover{background:#852d23}

/* Identidad Extranet: leyenda centrada bajo el logotipo. */
.sidebar .brand{display:flex;flex-direction:column;align-items:center;text-align:center;padding-left:0;padding-right:0}
.sidebar .brand img{object-position:center center}
.sidebar .brand small{text-align:center;width:100%;margin-top:4px}

/* Miniaturas de imágenes dentro de su ficha. */
.image-thumbnail{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:10px;overflow:hidden;background:#f4f4f0}
.image-thumbnail img{display:block;width:100%;height:100%;object-fit:contain;max-height:100%}
.image-thumbnail:focus-visible{outline:3px solid #a99a00;outline-offset:-3px}

/* Administración de usuarios: estructura clara, acciones agrupadas. */
.users-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.users-heading h1{margin:8px 0}.users-heading .intro{margin-bottom:0}.users-create{display:inline-flex;text-decoration:none;white-space:nowrap;align-items:center}
.users-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 22px}.users-stats>div{background:white;border:1px solid #e1e1da;padding:19px 22px;border-top:3px solid #d7c000}.users-stats span{display:block;font-size:13px;color:#666}.users-stats strong{display:block;margin-top:6px;font-size:30px;font-weight:600;color:#30302c}
.users-admin{padding:0;border:1px solid #deded7;background:#fff}.users-admin .account-filters{margin:0;padding:22px;background:#fafaf7;border-bottom:1px solid #e5e5de}.users-admin .accounts-summary{padding:17px 22px;margin:0}.users-admin .accounts-scroll{border:0}.users-admin .accounts-table{min-width:780px}.users-admin .accounts-table th{background:#f1f1ed;color:#666;border-bottom:1px solid #deded7;text-transform:uppercase;padding:14px 18px;letter-spacing:.07em}.users-admin .accounts-table td{padding:17px 18px;max-width:250px}.users-admin .accounts-table td:first-child{min-width:130px}.users-admin .accounts-table td:nth-child(3){min-width:170px}.users-admin .accounts-table td:last-child{min-width:125px}.users-admin .accounts-table tbody tr:nth-child(even){background:#fff}.users-admin .accounts-table tbody tr:hover{background:#fafaf4}
.group-tag{display:inline-block;padding:5px 9px;background:#f0f0ec;color:#51514a;font-size:12px;font-weight:600}.group-tag--administradores{background:#f5efcb;color:#6a5d0a}.group-tag--tecnicos{background:#e9edf5;color:#475b78}.group-tag--sats{background:#e8f1ec;color:#436651}.group-tag--delegados{background:#f1eaf4;color:#6c527a}
.users-admin .account-state{border-radius:20px;padding:5px 10px}.users-admin .account-row-actions{display:block;min-width:110px}.account-row-actions summary{cursor:pointer;border:1px solid #d9d9d1;padding:8px 11px;list-style:none;color:#555;background:white;font-weight:600}.account-row-actions summary::-webkit-details-marker{display:none}.account-row-actions summary span{float:right}.account-action-menu{display:grid;gap:8px;margin-top:9px;padding:10px;background:#f7f7f3;border:1px solid #deded7}.account-action-menu a,.account-action-menu button{display:block;width:100%;text-align:left}.account-action-menu .account-delete-link{text-decoration:none}.account-action-menu .account-button{border:0;background:white;color:#555}.account-action-menu .account-disable{color:#99443a}
.users-admin .account-editor{margin:0 22px 22px;padding:26px;background:#fcfcf8;border:1px solid #deded7;border-left:4px solid #d7c000}.editor-heading h2{margin:8px 0;font-size:25px}.editor-heading p,.editor-help{font-size:13px;color:#72726b}.users-admin .account-editor h3{font-size:16px;margin-top:27px;padding-top:20px;border-top:1px solid #e0e0d8}.users-admin .account-fields{max-width:none}.users-admin .account-editor-actions{grid-column:1/-1}.editor-group-form{display:flex;gap:12px;max-width:480px;align-items:center}.editor-group-form select{flex:1}.editor-group-form .account-button{height:36px}.users-admin .new-account{margin:0;padding:22px;border-top:1px solid #deded7;background:#fafaf7}.new-account summary span{float:right}.users-admin .pages{padding:18px 22px;margin:0}
@media(max-width:720px){.users-heading{align-items:flex-start;flex-direction:column}.users-stats{gap:8px;margin-top:20px}.users-stats>div{padding:13px 10px}.users-stats span{font-size:11px}.users-stats strong{font-size:24px}.users-admin .account-filters{padding:16px}.users-admin .account-editor{margin:0 12px 16px;padding:16px}.users-admin .accounts-scroll{overflow:visible}.users-admin .accounts-table{min-width:0;display:block}.users-admin .accounts-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.users-admin .accounts-table tbody{display:block}.users-admin .accounts-table tr{display:block;border-top:1px solid #ddd;padding:12px 16px}.users-admin .accounts-table td{display:grid;grid-template-columns:85px minmax(0,1fr);gap:12px;padding:7px 0;border:0;max-width:none;min-width:0!important}.users-admin .accounts-table td:before{content:attr(data-label);font-size:11px;color:#888;font-weight:400}.users-admin .accounts-table td:first-child{font-size:15px}.editor-group-form{flex-wrap:wrap}.users-admin .new-account{padding:17px}}
