/* OLIMPO — estudio cinematográfico. Capa visual compartida, sin lógica de cobro. */
:root{
  --bg:#0a0b0e; --p1:#121418; --p2:#1a1c21; --p3:#24272e; --p4:#30333a;
  --line:#2a2d33; --line2:#40434b; --tx:#f7f4ed; --tx2:#c0bfb9; --tx3:#a1a5ad;
  --ac:#d8b575; --ac2:#f0d4a0; --vio:#9c7844; --cia:#8fcac1;
  --r:13px; --r2:10px; --r3:22px; --anillo:0 0 0 3px #d8b57530;
  --op-display:"Bahnschrift","Arial Narrow","Segoe UI",sans-serif;
}
body.op-panel{
  background:radial-gradient(ellipse at 80% 0%,#68502a22,transparent 46%),
             radial-gradient(ellipse at 0% 42%,#2a4e4b14,transparent 36%),var(--bg);
}
body.op-panel::before{display:none}
.op-panel .pagina{max-width:1320px;padding:32px clamp(18px,3.5vw,48px) 80px}
.op-panel h1,.op-panel h2{letter-spacing:-.7px}
.op-panel a{color:var(--ac2)}
.op-panel :is(button,a,input,textarea,select):focus-visible,
.op-shell :is(button,a):focus-visible{outline:2px solid #f0d4a0;outline-offset:4px}
.op-panel :is(input,textarea,select){border-radius:10px}
.op-panel :is(input,textarea,select):focus{border-color:var(--ac);box-shadow:var(--anillo)}
.op-panel .tarjeta{background:linear-gradient(130deg,#ffffff04,transparent 70%),var(--p1);box-shadow:0 12px 40px #00000020}
.op-panel .tarjeta.pad{padding:clamp(18px,2.5vw,30px)}
.op-panel .rotulo{color:#c9b38e;letter-spacing:1.7px}
.op-panel .b{min-height:40px;border-radius:10px;text-decoration:none;justify-content:center}
.op-panel .b.pri,.op-shell .b.pri{background:linear-gradient(115deg,#f0d6a6,#c69b55);color:#211b11;border:1px solid #efd4a0;font-weight:800;box-shadow:0 5px 22px #c69b5523}
.op-panel .b.pri:hover,.op-shell .b.pri:hover{filter:brightness(1.08);box-shadow:0 8px 28px #c69b553c;transform:translateY(-2px)}
.op-panel .b:disabled:hover{transform:none}
.op-panel .b.sua:hover{border-color:#d8b57588;background:#d8b5750c}
.op-panel .mini{line-height:1.6}
.op-panel .aviso{border-radius:12px}
.op-panel .barra-in,.op-panel .prg-i,.op-panel .progreso i{background:linear-gradient(90deg,#b38443,#f2dbaa)}
.op-panel .barra-in.mal{background:var(--err)}
.op-panel .monedero.late,.op-panel .monedero .vivo{animation:none}
.op-panel .paso.on .bola{box-shadow:0 0 0 5px #d8b57512;background:var(--ac);color:#211b11}
.op-panel .sala-cab{margin:0 0 22px;padding:20px 0;gap:14px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.op-panel .sala-cab .iso{border-radius:14px;border-color:#d8b57555}
.op-panel .sala-cab .n{font-size:23px;font-weight:750}
.op-panel .monedero{background:linear-gradient(120deg,#d8b57512,#d8b57504);border-color:#d8b57545;box-shadow:none}
.op-panel .fichas{gap:12px}
.op-panel .ficha{border-radius:13px;transition:transform .18s ease,border-color .18s ease}
.op-panel .ficha:hover{transform:translateY(-2px)}
.op-panel .ficha.sel,.op-panel .ficha.on{border-color:var(--ac);background:#d8b5750d}

/* Cabecera editorial y composición gráfica: no es un resultado generado. */
.op-hero{isolation:isolate;position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:center;min-height:390px;margin:0 0 25px;padding:clamp(25px,4vw,52px);overflow:hidden;border:1px solid #b499693b;border-radius:26px;background:radial-gradient(ellipse at 95% 20%,#8b6a3038,transparent 55%),linear-gradient(120deg,#1d1e20,#101215 65%)}
.op-hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}
.op-kicker{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:2.6px;color:#dec496;margin-bottom:23px}
.op-kicker>span{width:6px;height:6px;flex:none;border-radius:50%;background:#dfc18a;box-shadow:0 0 16px #dfc18a80}
.op-hero :is(h1,h2){font:700 clamp(34px,4.1vw,57px)/1.08 var(--op-display);letter-spacing:-1.8px;color:#f7f4ed;margin:0 0 19px}
.op-hero :is(h1,h2) em{font-style:normal;color:#e1bc80}
.op-hero-copy>p{max-width:390px;font-size:15px;line-height:1.7;color:#b6b7ba;margin-bottom:25px}
.op-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.op-hero .b.pri{gap:22px;display:inline-flex}
.op-text-link{display:inline-flex;align-items:center;gap:14px;text-decoration:none;font-size:13px;font-weight:700;color:#eee5d5!important;padding:9px 0;border-bottom:1px solid #dec49655}
.op-text-link:hover{border-color:#dec496;color:#e1bc80!important}
.op-workflow{display:flex;gap:12px;align-items:center;margin-top:34px;color:#b9b8b2;font-size:11px}
.op-workflow span{white-space:nowrap}.op-workflow b{color:#d8b575;margin-right:4px;font-variant-numeric:tabular-nums}
.op-workflow i{height:1px;width:24px;background:#d8b57545}
.op-hero-art{position:relative;height:330px;max-width:390px;width:100%;justify-self:center;perspective:850px}
.op-orbit{position:absolute;width:310px;height:310px;top:2px;left:30px;border:1px solid #d8b57528;border-radius:50%;box-shadow:0 0 0 23px #d8b57506,0 0 0 50px #d8b57504}
.op-film{position:absolute;width:180px;height:265px;border-radius:14px;border:1px solid #bfa67780;background:#171d20;box-shadow:0 24px 42px #0009}
.op-film-back{left:25px;top:13px;transform:rotate(-14deg);background:linear-gradient(165deg,#465e5b,#102324 60%,#172224);border-color:#91b0a04a}
.op-film-back::after{content:"";position:absolute;inset:28px;border:1px solid #a5c1aa44;border-radius:100px 100px 0 0}
.op-film-front{left:130px;top:27px;transform:rotate(10deg);background:radial-gradient(ellipse at 75% 35%,#8b6b3b,#2a231b 60%,#101416);padding:17px;color:#f2dfbb;transition:transform .45s ease}
.op-hero-art:hover .op-film-front{transform:rotate(4deg) translateY(-5px)}
.op-film-label{font-size:7px;letter-spacing:2px;display:block;border-bottom:1px solid #fff3;padding-bottom:10px}
.op-film-letter{position:absolute;top:23px;right:13px;font:170px/1 Georgia,serif;color:#f0cc8e1f}
.op-film-caption{position:absolute;bottom:45px;left:17px;font:800 29px/1.05 var(--op-display);letter-spacing:-.6px}
.op-film-time{position:absolute;bottom:16px;left:17px;right:17px;display:flex;justify-content:space-between;font-size:6px;letter-spacing:.9px;border-top:1px solid #fff3;padding-top:9px}
.op-art-note{position:absolute;bottom:2px;left:90px;font-size:8px;letter-spacing:3px;color:#bca887}
#fmts,#gente,#tituloHistorial{scroll-margin-top:24px}
.op-panel .fmts{gap:18px;grid-template-columns:repeat(auto-fill,minmax(275px,1fr))}
.op-panel .fmt{padding:14px;gap:12px;background:linear-gradient(155deg,#1b1d22,#121418);border-radius:18px}
.op-panel .fmt .nm{font-size:18px;letter-spacing:-.35px;line-height:1.35}
.op-panel .fmt .qe{color:#b4b6bc}
.op-panel .fmt:hover{border-color:#d8b57599;box-shadow:0 14px 34px #0005}
.op-panel .fmt.bloq{opacity:1}
.op-panel .fmt.bloq .pie2 .b{border-color:#d8b57570;color:#e4c28d}
.op-cover{--cover:#ad854e;position:relative;min-height:140px;border-radius:11px;margin-bottom:4px;overflow:hidden;background:radial-gradient(ellipse at 80% 15%,color-mix(in srgb,var(--cover),transparent 35%),transparent 68%),#1d2327;border:1px solid #ffffff0d}
.op-cover[data-tone="1"]{--cover:#54857e}.op-cover[data-tone="2"]{--cover:#7a739d}
.op-cover::before{content:"";position:absolute;width:185px;height:185px;border:1px solid #ffffff25;border-radius:50%;right:-25px;top:15px;box-shadow:0 0 0 16px #ffffff09,0 0 0 32px #ffffff05}
.op-cover-tag{position:absolute;top:15px;left:15px;font-size:8px;letter-spacing:2px;color:#f6edd5c9}
.op-cover-number{position:absolute;right:20px;top:8px;font:80px/1 var(--op-display);letter-spacing:-5px;color:#ffffff35}
.op-cover-bottom{position:absolute;bottom:14px;left:15px;right:15px;display:flex;justify-content:space-between;align-items:center;letter-spacing:2px;font-size:9px;color:#eee7d8}
.op-cover-bottom b{font-size:24px;font-weight:400}
.op-panel .fmt::after{display:none}

/* Administración y acceso. */
.op-admin .cab{flex-wrap:wrap;gap:12px;margin-bottom:22px}
.op-admin .cab h1{font-size:20px}.op-admin .cab .sub{font-size:12px}
.op-admin .cab .pip{background:linear-gradient(#f0d5a5,#a17b41)}
.op-hero-admin{min-height:290px;grid-template-columns:1.3fr 1fr}
.op-admin-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:225px;border:1px solid #d8b57538;border-radius:50%;aspect-ratio:1;justify-self:center}
.op-admin-art::before{content:"";position:absolute;inset:12px;border:1px solid #d8b57520;border-radius:50%}
.op-admin-art>span{font-size:9px;letter-spacing:5px;color:#c9b58e}
.op-admin-art>b{font:138px/1 Georgia,serif;color:#dec18c;text-shadow:0 4px 36px #c69b5520}
.op-admin-art>i{font-style:normal;font-size:6px;letter-spacing:1.6px;color:#aa9b81}
.op-admin .tarj-dato{gap:14px;margin-bottom:26px}
.op-admin .dato{background:linear-gradient(125deg,#24211b,#15171b 65%);border:1px solid #d8b57535;border-radius:16px;padding:22px}
.op-admin .dato .v{font-family:var(--op-display);font-size:32px;letter-spacing:-1px}
.op-admin .dato .k{color:#c4b496;font-size:10px;letter-spacing:1.2px}
.op-admin .misf-c{border-radius:14px;background:linear-gradient(135deg,#ffffff04,transparent);padding:16px}
.op-admin .dueno{border-color:#d8b57530;background:#d8b57508}
.op-admin .tabla td{padding-top:15px;padding-bottom:15px}
.op-admin .puerta-adm{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;min-height:calc(100svh - 110px);max-width:1080px;margin:auto;padding:25px 0}
.op-admin .pa-caja{width:100%;max-width:450px;border-color:#d8b57545;border-radius:24px;padding:36px;box-shadow:0 30px 90px #0006}
.op-admin .pa-caja h1{font-size:28px;line-height:1.2;letter-spacing:-.9px}
.op-admin .pa-caja input{min-height:50px;width:100%}
.op-login-brand{font-size:21px;letter-spacing:6px;font-weight:800;color:#e5c28c;margin-bottom:33px}
.op-login-brand span{display:block;font-size:8px;letter-spacing:3px;color:#9d9d9d;margin-top:4px}
.op-login-art>p{font:700 clamp(40px,5.3vw,68px)/1.05 var(--op-display);letter-spacing:-2px;color:#f3eee4}
.op-login-art em{font-style:normal;color:#dabb87}
.op-login-line{height:1px;max-width:320px;background:linear-gradient(90deg,#d8b57588,transparent);margin:35px 0 18px}
.op-login-foot{font-size:9px;letter-spacing:3px;color:#a69c8a}
.op-shell>.marco>.barra{background:#101215;border-color:#d8b57530;padding-top:12px}
.op-shell .pes.on{background:#24221d;color:#ecd3a8}
.op-shell .pes{padding-top:13px;padding-bottom:15px}
.op-shell .pes.on::before,.op-shell .pes.on::after{display:none}

@media(max-width:850px){
  .op-hero{grid-template-columns:1fr .7fr;padding:30px;gap:12px;min-height:350px}
  .op-hero-art{transform:scale(.78);transform-origin:center;max-width:290px}
  .op-film-front{left:100px}.op-film-back{left:0}
  .op-hero-admin{grid-template-columns:1fr .65fr}.op-admin-art{height:180px}
  .op-admin-art>b{font-size:100px}
  .op-admin .puerta-adm{gap:30px;grid-template-columns:1fr 1fr}
  .op-admin .pa-caja{padding:26px}
}
@media(max-width:600px){
  .op-panel .pagina{padding:18px 16px 55px}
  .op-hero,.op-hero-admin{grid-template-columns:1fr;padding:26px 22px;min-height:0;border-radius:20px}
  .op-hero :is(h1,h2){font-size:37px;letter-spacing:-1.4px}
  .op-hero-art,.op-admin-art{display:none}
  .op-kicker{font-size:8px;letter-spacing:1.8px;margin-bottom:20px}
  .op-hero-copy>p{font-size:14px}.op-hero-actions{gap:16px}
  .op-workflow{gap:8px;font-size:10px;margin-top:27px}.op-workflow i{width:14px}
  .op-panel .sala-cab .monedero{margin-left:0}
  .op-panel .fmts{grid-template-columns:minmax(0,1fr)}
  .op-panel .fmt .nm{font-size:19px}
  .op-admin .tarj-dato{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .op-admin .dato{padding:16px 12px}.op-admin .dato .v{font-size:24px}
  .op-admin .dato .s{font-size:10px}
  .op-admin .cab .op-open-studio{margin-left:0!important}
  .op-admin .puerta-adm{display:flex;justify-content:center;min-height:calc(100svh - 40px);padding:0}
  .op-login-art{display:none}.op-admin .pa-caja{padding:28px 23px}
  .op-shell .barra{padding-left:8px;padding-right:8px;flex-wrap:wrap}
  .op-shell .barra .sello{padding-right:8px}.op-shell .barra .sello .nom{font-size:13px;letter-spacing:2px}
  .op-shell .pes{padding:12px 10px;font-size:12px}.op-shell .barra .der{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){
  .op-panel *,.op-panel *::before,.op-panel *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
