/* Visión: ajustes de identidad validados en servidor y guardados por administrador. */
:root {
 --vision-bg:#0c0f13;--vision-panel:#15191e;--vision-accent:#dbb780;
 --vision-on-accent:#101316;--vision-text:#f5f3ed;--vision-muted:#9aabae;
 --vision-radius:16px;--vision-density:1;
}
body,body.pageCollection,body.pageItem,body.pagePrivate {background:var(--vision-bg);color:var(--vision-text)}
.pageCollection .panel,.pageItem .panel,.pagePrivate .panel,.panel,
.stat,.miniPanel,.authCard,.adminSearch,.visitDashboard .panel{
 background:var(--vision-panel);border-radius:var(--vision-radius);
}
.posterFrame,.detailHero,.homeHero,.emptyState,.shareBar:not(.shareHome),.artworkManagement,.season,
.authCard,.stat,.resultCard{border-radius:var(--vision-radius)}
.eyebrow,.adminHero .accent,.posterScores .ownScore strong,.personalRating strong,
.sourceRating a,.externalLinks a,.shareFeedback,.visitTopRow>strong,.visitTopRow a:hover,
.homeFeature .featureDot{color:var(--vision-accent)}
.btn.primary,.shareButton.shareNative,.shareHome .shareButton.shareNative,
.catalogueNav .chip.chipActive,.brandmark:not(.brandmarkImage){
 background:var(--vision-accent);border-color:var(--vision-accent);color:var(--vision-on-accent)
}
.btn.primary:hover,.shareButton.shareNative:hover{background:var(--vision-accent);filter:brightness(1.08);color:var(--vision-on-accent)}
.btn.ghost:hover,.catalogueNav .chip:not(.chipActive):hover{border-color:var(--vision-accent)}
.pill,.posterMeta,.posterEpisodes,.stat small,.siteFooter,.siteFooter .footerAccess,
.pagePrivate .note,.sourcePanel p{color:var(--vision-muted)}
.homeHero h1,.sectionTitle h2,.detailMain h1,.posterData h3,.brand,.stat strong,
.adminHero h1,.pagePrivate .panel h2,.authCard h1{color:var(--vision-text)}
.stat,.posterData,.panel,.homeHero {padding-top:calc(20px * var(--vision-density))}
.posterCard:hover .posterFrame{border-color:var(--vision-accent)}
.progressBar span,.posterProgress>span,.visitBarTrack span{background:var(--vision-accent)}
.episodeToggle.marked{border-color:var(--vision-accent);color:var(--vision-accent)}
.brandmarkImage{background:transparent!important;border:0!important;box-shadow:none!important;
 display:flex;align-items:center;justify-content:center;width:clamp(65px,11vw,155px);height:50px;flex:0 0 auto;padding:0}
.brandmarkImage img{width:100%;height:100%;max-height:50px;object-fit:contain;object-position:left center}
.brand:has(.brandmarkImage){max-width:42%;min-width:0}
.brand>span:last-child{min-width:0;overflow-wrap:anywhere}
.visionAppearance{margin:24px 0 48px;padding:clamp(20px,3vw,32px)}
.visionAppearance .note{max-width:820px}
.visionColorGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.visionColorField{display:flex!important;flex-direction:column;min-width:0;gap:8px;
 padding:13px;border:1px solid #485156;border-radius:12px;background:#ffffff08}
.visionColorField span{font-size:12px;font-weight:700}
.visionColorField input[type=color]{width:100%;height:51px;padding:3px;border:0;background:transparent;cursor:pointer}
.visionColorField small{font-size:11px;color:var(--vision-muted)}
.visionThemePreview{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
 gap:10px;min-height:185px;margin:10px 0 24px;padding:24px;
 border-radius:var(--vision-radius);border:1px solid #8d8d8d55;
 background:var(--vision-bg);color:var(--vision-text)}
.visionThemePreview>span{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--vision-accent)}
.visionThemePreview>strong{font-size:clamp(18px,2.7vw,29px);line-height:1.15;letter-spacing:-.04em}
.visionPreviewButton{border-radius:calc(var(--vision-radius)*.55);border:0;padding:10px 15px;
 background:var(--vision-accent);color:var(--vision-on-accent);font-weight:800}
.visionLogoManager{margin-top:40px;padding-top:28px;border-top:1px solid #ffffff2b}
.visionLogoManager .stack{max-width:720px}
.visionLogoCurrent{display:flex;align-items:center;gap:16px;min-height:110px;padding:13px;margin-bottom:16px;
 background:var(--vision-bg);border-radius:var(--vision-radius);border:1px solid #ffffff24}
.visionLogoCurrent img{max-height:80px;max-width:250px;object-fit:contain}
.visionLogoCurrent span{font-size:13px;color:var(--vision-muted)}
.visionLogoManager form+form{margin-top:14px}
@media(max-width:1080px){.visionColorGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.brandmarkImage{width:104px;height:45px}}
@media(max-width:650px){
 .visionColorGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .visionColorField{padding:11px}.visionAppearance{padding:16px}
 .brandmarkImage{width:65px;height:37px}.brandmarkImage img{max-height:37px}
 .brand:has(.brandmarkImage){max-width:59%}.brand>span:last-child{font-size:clamp(13px,3.6vw,17px)}
 .visionLogoCurrent{flex-wrap:wrap}.visionThemePreview{min-height:155px}
}
@media(max-width:370px){.visionColorGrid{grid-template-columns:1fr}.brandmarkImage{width:56px}}
.footerBrandLogo{display:block;max-width:230px;max-height:65px;object-fit:contain;object-position:left center}
.visionBrandPreference{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:15px}
.visionBrandPreference label{display:inline-flex;align-items:center;gap:8px;font-size:13px}
.visionBrandPreference input[type=checkbox]{width:18px;height:18px;accent-color:var(--vision-accent)}

/* CINE 2.29.15 · tipografía global */
.visionFontManager{margin-top:26px;padding-top:23px;border-top:1px solid rgba(255,255,255,.08)}.visionFontPreview{display:grid;gap:5px;margin:14px 0 18px;padding:18px 20px;border:1px solid rgba(219,183,128,.25);border-radius:14px;background:rgba(255,255,255,.035)}.visionFontPreview span{font-size:11px;color:var(--vision-muted);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.visionFontPreview strong{font-size:clamp(20px,3vw,30px);line-height:1.2}

/* CINE 2.29.16 · doble tipografía global */
.visionFontPair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.visionFontRoleCard{padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.025)}.visionFontRoleCard h3{margin:6px 0 12px}.visionFontRoleCard form+form{margin-top:9px}.visionFontPreviewDisplay strong,.visionFontPreviewDisplay span{font-family:var(--vision-font-display)!important}.visionFontPreviewContent strong,.visionFontPreviewContent span,.visionFontPreviewContent small{font-family:var(--vision-font-content)!important}.visionFontPreview small{color:var(--vision-muted);line-height:1.5}@media(max-width:760px){.visionFontPair{grid-template-columns:1fr}}
