/* PCU 2 · Los Santos Verse. Marca: petróleo #004349, ambiente #21454A, acero #567D81, niebla #6E8F92, noche #071E21, cloud #E9EEEF, ámbar #D2A46B */
:root{--core:#004349;--atm:#21454a;--steel:#567d81;--mist:#6e8f92;--night:#071e21;--cloud:#e9eeef;--white:#fff;--amber:#d2a46b;--ok:#82b99e;--bad:#e5736b;--warn:#e0b87c;--card:#0c2a2ee6;--card2:#12363bcc;--line:#ffffff17;--tx:#e9eeef;--mu:#9fbabc;--r:18px;--ease:cubic-bezier(.2,.8,.2,1);color-scheme:dark;font-family:'Segoe UI Variable','Segoe UI',system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--night);color:var(--tx);-webkit-font-smoothing:antialiased}
body{background:linear-gradient(180deg,#071e21e8,#071e21f5 40%,#071e21),url(/assets/lsv-wallpaper-C_EMcvCz.png) center top/cover fixed}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:var(--amber)}
h1,h2,h3,p{margin:0}
[hidden]{display:none!important}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pulse{0%{box-shadow:0 0 0 0 #82b99e88}100%{box-shadow:0 0 0 10px #82b99e00}}
@keyframes shimmer{from{background-position:-200% 0}to{background-position:200% 0}}
/* acceso */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px}
.auth-card{width:min(440px,100%);padding:34px 32px;border-radius:28px;background:#0b2a2ef2;box-shadow:0 30px 80px #000a,inset 0 0 0 1px var(--line);animation:rise .5s var(--ease)}
.auth-card .logo{display:block;height:58px;margin:0 auto 14px}
.auth-card h1{text-align:center;font-size:24px;font-weight:800;margin-bottom:4px}
.auth-card .sub{text-align:center;color:var(--mu);font-size:14px;margin-bottom:22px;line-height:1.45}
.field{display:grid;gap:6px;margin-bottom:14px;font-size:13px;color:var(--mu)}
.field input,.field select,.field textarea{height:46px;border-radius:13px;border:0;background:#ffffff12;padding:0 16px;outline:0;box-shadow:inset 0 0 0 1px #ffffff1c;color:var(--tx);transition:box-shadow .2s}
.field textarea{height:auto;min-height:110px;padding:12px 16px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:inset 0 0 0 2px var(--amber)}
.field select option{background:var(--night)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--mu);margin:4px 0 16px;line-height:1.4}
.btn{height:44px;padding:0 20px;border-radius:999px;font-weight:700;font-size:14px;background:#ffffff16;transition:transform .2s var(--ease),background .2s,opacity .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn:hover{background:#ffffff28;transform:translateY(-1px)}
.btn:disabled{opacity:.45;cursor:default;transform:none}
.btn.pri{background:var(--white);color:var(--core)}
.btn.pri:hover{background:var(--cloud)}
.btn.danger{background:#e5736b26;color:#ffb3ac}
.btn.wide{width:100%}
.btn.sm{height:34px;padding:0 14px;font-size:12.5px}
.links{display:flex;justify-content:space-between;gap:10px;margin-top:16px;font-size:13px}
.links button{color:var(--amber)}
.msg{padding:11px 14px;border-radius:12px;font-size:13.5px;margin-bottom:14px;line-height:1.45}
.msg.err{background:#e5736b22;color:#ffc2bc}
.msg.ok{background:#82b99e22;color:#c8ecd8}
.msg.info{background:#ffffff10;color:var(--cloud)}
/* panel */
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.side{position:sticky;top:0;height:100vh;padding:22px 16px;display:flex;flex-direction:column;gap:6px;background:#06191ccc;box-shadow:inset -1px 0 0 var(--line)}
.side .logo{height:44px;margin:0 8px 18px;align-self:flex-start}
.nav{display:flex;align-items:center;gap:12px;height:44px;padding:0 14px;border-radius:13px;color:#c3d6d7;font-weight:600;font-size:14px;transition:background .2s,color .2s}
.nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nav:hover{background:#ffffff10;color:#fff}
.nav.on{background:var(--white);color:var(--core)}
.nav .count{margin-left:auto;min-width:20px;height:20px;border-radius:10px;background:var(--amber);color:var(--night);font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 6px}
.side .me{margin-top:auto;padding:12px;border-radius:14px;background:#ffffff0c;display:flex;align-items:center;gap:10px;font-size:13px}
.side .me img,.side .me .avatar{width:36px;height:36px;border-radius:50%;flex:none;background:var(--atm);display:grid;place-items:center;font-weight:800}
.side .me b{display:block}
.side .me small{color:var(--mu)}
.main{padding:30px 38px 60px;min-width:0;animation:fade .3s}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.head h1{font-size:30px;font-weight:800;letter-spacing:-.01em}
.head p{color:var(--mu);margin-top:4px;font-size:14px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.card{background:var(--card);border-radius:var(--r);padding:18px 20px;box-shadow:inset 0 0 0 1px var(--line);animation:rise .45s var(--ease) both}
.card h2{font-size:16px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.card h2 small{margin-left:auto;font-size:12px;color:var(--mu);font-weight:500}
.stat b{display:block;font-size:30px;font-weight:800;letter-spacing:-.02em}
.stat span{font-size:13px;color:var(--mu)}
.stat.amber b{color:var(--amber)}
.muted{color:var(--mu)}
.small{font-size:12.5px}
.row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row .grow{flex:1;min-width:0}
.row .grow b{display:block;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .grow small{color:var(--mu);font-size:12.5px}
.row .amount{font-weight:700;white-space:nowrap}
.pos{color:var(--ok)}.neg{color:#f2a49c}
.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:11.5px;font-weight:700;background:#ffffff14;white-space:nowrap}
.chip.ok{background:#82b99e26;color:#b9e5cc}.chip.bad{background:#e5736b26;color:#ffbdb6}.chip.warn{background:#e0b87c26;color:#f4d5a8}.chip.info{background:#5fb7be26;color:#a8dfe3}
.dot{width:8px;height:8px;border-radius:50%;background:var(--mist)}
.dot.on{background:var(--ok);animation:pulse 2s infinite}
.empty{color:var(--mu);font-size:13.5px;padding:18px 0;text-align:center}
/* personajes */
.chars{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.char{padding:0;overflow:hidden;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s}
.char:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px #d2a46b66,0 20px 40px #0007}
.char .cover{height:150px;background:linear-gradient(160deg,#1a4a50,#0a2a2e);position:relative;display:grid;place-items:center}
.char .cover img{width:100%;height:100%;object-fit:cover}
.char .cover .initials{font-size:46px;font-weight:800;color:#ffffff40}
.char .cover .live{position:absolute;top:12px;left:12px}
.char .body{padding:14px 18px 18px}
.char .body h3{font-size:18px;font-weight:800}
.char .body p{color:var(--mu);font-size:13px;margin:2px 0 12px}
.money{display:flex;gap:14px}
.money div{flex:1;background:#ffffff0b;border-radius:12px;padding:9px 12px}
.money small{display:block;font-size:11px;color:var(--mu);text-transform:uppercase;letter-spacing:.08em}
.money b{font-size:16px}
.tabs{display:flex;gap:6px;margin:0 0 18px;flex-wrap:wrap}
.tab{height:36px;padding:0 16px;border-radius:999px;background:#ffffff10;font-weight:600;font-size:13px;transition:background .2s}
.tab:hover{background:#ffffff1c}.tab.on{background:var(--white);color:var(--core)}
.bar{height:8px;border-radius:99px;background:#ffffff14;overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#5fb7be,var(--amber));transition:width 1s var(--ease);width:0}
/* línea de tiempo de trámites */
.timeline{position:relative;padding-left:22px}
.timeline::before{content:'';position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl{position:relative;padding:0 0 18px}
.tl::before{content:'';position:absolute;left:-21px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--steel);box-shadow:0 0 0 4px var(--night)}
.tl.ok::before{background:var(--ok)}.tl.bad::before{background:var(--bad)}.tl.warn::before{background:var(--warn)}
.tl b{display:block;font-size:14px}
.tl small{color:var(--mu);font-size:12.5px}
/* modal */
.mb{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#000a;padding:20px;animation:fade .2s}
.md{width:min(620px,100%);max-height:90vh;overflow:auto;border-radius:24px;background:#0b2a2e;box-shadow:0 30px 90px #000c,inset 0 0 0 1px var(--line);padding:24px 26px;animation:rise .3s var(--ease)}
.md .top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.md h2{font-size:20px;font-weight:800}
.x{width:36px;height:36px;border-radius:50%;background:#ffffff14;font-size:20px;line-height:1}
.x:hover{background:#ffffff26}
.bubble{padding:11px 14px;border-radius:16px;background:#ffffff0e;margin:8px 0;font-size:14px;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.bubble.staff{background:#d2a46b1f;margin-left:40px}
.bubble small{display:block;color:var(--mu);font-size:11.5px;margin-bottom:3px}
#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,16px);z-index:60;padding:12px 22px;border-radius:999px;background:#0e3439;box-shadow:0 14px 40px #000a,inset 0 0 0 1px #d2a46b77;font-weight:600;font-size:14px;opacity:0;transition:all .3s var(--ease);pointer-events:none}
#toast.on{opacity:1;transform:translate(-50%,0)}
#toast.err{box-shadow:0 14px 40px #000a,inset 0 0 0 1px var(--bad)}
.skeleton{height:84px;border-radius:var(--r);background:linear-gradient(90deg,#ffffff08,#ffffff14,#ffffff08);background-size:200% 100%;animation:shimmer 1.4s linear infinite}
.menu-btn{display:none}
.maint{max-width:560px;margin:14vh auto;text-align:center;padding:30px}
.maint img{height:70px;margin-bottom:18px}
.maint h1{font-size:26px;margin-bottom:10px}
.maint p{color:var(--mu);line-height:1.55}
@media(max-width:900px){
 .app{grid-template-columns:1fr}
 .side{position:fixed;inset:0 auto 0 0;width:260px;z-index:40;transform:translateX(-100%);transition:transform .3s var(--ease)}
 .side.open{transform:none}
 .menu-btn{display:inline-flex}
 .main{padding:20px 16px 50px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.av{border-radius:50%;object-fit:cover}
/* ===== Inicio con la imagen de la web ===== */
.hero-home{position:relative;overflow:hidden;border-radius:28px;min-height:300px;display:flex;align-items:flex-end;padding:34px 38px;margin-bottom:18px;background:linear-gradient(90deg,#071e21f2 0%,#071e21cc 38%,#071e2133 70%,#071e2100),url(/assets/editorial-1.webp) center 35%/cover;box-shadow:0 24px 60px #0008,inset 0 0 0 1px var(--line);animation:rise .55s var(--ease)}
.hero-home::after{content:'';position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(0deg,#071e21aa,transparent);pointer-events:none}
.hero-copy{position:relative;z-index:2;max-width:560px}
.hero-logo{height:46px;margin-bottom:14px;filter:drop-shadow(0 4px 12px #0008)}
.kicker{display:block;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--amber);font-weight:700;margin-bottom:6px}
.hero-home h1{font-size:clamp(28px,3.4vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.05;text-shadow:0 4px 20px #000a}
.hero-home p{color:#dbe7e8;margin:8px 0 14px;font-size:15px;max-width:460px}
.hero-pills{display:flex;gap:8px;flex-wrap:wrap}
.hero-cast{position:absolute;right:-10px;bottom:0;height:112%;max-height:360px;z-index:1;filter:drop-shadow(0 18px 30px #000c);animation:rise .8s var(--ease) .1s both;pointer-events:none}
.home-stats .stat{position:relative;overflow:hidden}
.home-stats .stat::after{content:'';position:absolute;right:-14px;bottom:-14px;width:84px;height:84px;border-radius:50%;background:#ffffff08}
.home-stats .stat:hover{box-shadow:inset 0 0 0 1px #d2a46b55}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:16px 0}
.tile{position:relative;height:150px;border-radius:22px;overflow:hidden;text-align:left;display:flex;align-items:flex-end;padding:16px 18px;color:#fff;background:#0c2a2e center/cover;box-shadow:inset 0 0 0 1px var(--line);transition:transform .3s var(--ease),box-shadow .3s;animation:rise .5s var(--ease) both}
.tile::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071e21f0 0%,#071e2155 60%,#071e2110);transition:opacity .3s}
.tile:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px #d2a46b88,0 18px 40px #0008}
.tile span{position:relative;z-index:1}
.tile b{display:block;font-size:17px;font-weight:800}
.tile small{color:#cfe0e1;font-size:12.5px}
.tile-chars{background-image:url(/assets/new_identity-2S4DbvLj.png)}
.tile-town{background-image:url(/assets/editorial-1.webp)}
.tile-assets{background-image:url(/assets/editorial-3.webp)}
.tile-support{background-image:url(/assets/organization-BLzc4dgJ.png)}
.tiles .tile:nth-child(2){animation-delay:.06s}.tiles .tile:nth-child(3){animation-delay:.12s}.tiles .tile:nth-child(4){animation-delay:.18s}
.row[data-go]{cursor:pointer;border-radius:10px;transition:background .2s}
.row[data-go]:hover{background:#ffffff08}
.person .pic{width:42px;height:42px;border-radius:50%;overflow:hidden;flex:none;background:var(--atm);display:grid;place-items:center;font-weight:800;font-size:14px}
.person .pic img{width:100%;height:100%;object-fit:cover}
.person small .dot{display:inline-block;vertical-align:middle}
.section-title{font-size:18px;font-weight:800;margin:26px 0 12px}
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.news-card{border-radius:20px;overflow:hidden;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:transform .3s var(--ease);animation:rise .55s var(--ease) both}
.news-card:hover{transform:translateY(-4px)}
.news-art{height:140px;background:#0c2a2e center/cover}
.editorial-1{background-image:url(/assets/editorial-1.webp)}.editorial-2{background-image:url(/assets/editorial-2.webp)}.editorial-3{background-image:url(/assets/editorial-3.webp)}
.news-body{padding:14px 16px 16px}
.news-body b{display:block;font-size:15px;margin-bottom:4px}
.news-body p{color:var(--mu);font-size:13px;line-height:1.45}
@media(max-width:1000px){.hero-cast{opacity:.35;height:100%}}
/* paneles planos: sin degradados, sin sombras flotantes ni elevación al pasar el ratón */
.card,.tile,.news-card,.home-stats .stat{box-shadow:inset 0 0 0 1px var(--line);animation:none}
.card:hover,.tile:hover,.news-card:hover,.char:hover{transform:none}
.home-stats .stat::after{display:none}
.home-stats .stat:hover{box-shadow:inset 0 0 0 1px var(--line)}
.tile{background:var(--card)!important;height:auto;min-height:92px;align-items:center;padding:18px 20px}
.tile::before{display:none}
.tile:hover{background:var(--card2)!important;box-shadow:inset 0 0 0 1px var(--steel)}
.news-card:hover{box-shadow:inset 0 0 0 1px var(--steel)}
.char:hover{box-shadow:inset 0 0 0 1px var(--steel)}
.news-art{height:150px;overflow:hidden;background:#0c2a2e}
.news-art img{width:100%;height:100%;object-fit:cover;display:block}
.home-extra{margin-top:16px}
.pass-row{padding:4px 0 12px}
.pass-row .row{border-bottom:0;padding-bottom:6px}
.lvl{font-size:13px;color:var(--mu);white-space:nowrap}
.lvl b{color:var(--amber);font-size:16px}
.row .grow small+small{display:block;margin-top:2px}
.section-title.first{margin-top:4px}
.section-title.first+.news-grid{margin-bottom:18px}
