/* ===== MinerOS Pro · centro de operaciones ===== */
body.pro{margin:0;background:var(--bg);color:var(--text);font-family:var(--font,Inter,system-ui,sans-serif)}
.pro a{color:var(--gold);text-decoration:none}.pro a:hover{color:var(--text)}
.px-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}
.px-side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;padding:18px 12px;border-right:1px solid var(--border);background:color-mix(in oklab,var(--bg) 85%,#000)}
.px-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;color:var(--text)!important}
.px-brand img{width:28px;height:28px}
.px-brand b{font-family:var(--display);font-size:1rem;letter-spacing:.02em}
.px-brand em{font-style:normal;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:var(--gold);border:1px solid var(--border-gold);border-radius:6px;padding:2px 6px}
.px-nav{display:flex;flex-direction:column;gap:2px}
.px-nav a{display:flex;align-items:center;gap:11px;min-height:40px;padding:0 10px;border-radius:10px;color:var(--text-2)!important;font-size:.88rem;font-weight:500;transition:background .15s,color .15s}
.px-nav a svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.px-nav a:hover{background:var(--bg-2);color:var(--text)!important}
.px-nav a.on{background:color-mix(in oklab,var(--gold) 12%,transparent);color:var(--text)!important;box-shadow:inset 2px 0 0 var(--gold)}
.px-nav a .px-lk{margin-left:auto;font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;color:var(--text-muted)}
.px-side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:12px 8px 0;border-top:1px solid var(--border)}
.px-tier{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-2)}
.px-tier b{color:var(--text)}
.px-side-foot a{font-size:.8rem;color:var(--text-muted)!important}
.px-main{min-width:0;display:flex;flex-direction:column}
.px-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:12px clamp(16px,3vw,32px);border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(12px)}
.px-top h1{margin:0;font-family:var(--display);font-size:1.1rem;font-weight:600}
.px-top-r{margin-left:auto;display:flex;align-items:center;gap:10px}
.px-live{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--text-2)}
.px-live i{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}
.px-live[data-st=live] i{background:#3fb46e;box-shadow:0 0 8px #3fb46e}
.px-body{padding:clamp(16px,3vw,32px);display:flex;flex-direction:column;gap:22px;max-width:1320px;width:100%;box-sizing:border-box}
.px-view{display:flex;flex-direction:column;gap:22px}
.px-view.px-enter{animation:pxIn .28s ease}
@keyframes pxIn{from{opacity:0;transform:translateY(6px)}}

/* secciones */
.pro .px-body li{font-size:inherit;line-height:1.5}
.pro section{padding:0!important;margin:0}
.pro .px-body>*{margin:0}
.px-sec{display:flex;flex-direction:column;gap:12px}
.px-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.px-h h2{margin:0;font-family:var(--display);font-size:1.05rem;font-weight:600}
.px-h p{margin:4px 0 0;font-size:.84rem;color:var(--text-2);max-width:70ch}
.px-eye{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.px-card{border:1px solid var(--border);border-radius:14px;background:var(--card);padding:16px}
.px-grid{display:grid;gap:12px}
.px-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.px-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.px-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}

/* KPIs */
.px-dw .px-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.px-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--border)}
.px-kpi{background:var(--card);padding:13px 15px;display:flex;flex-direction:column;gap:4px;min-width:0}
.px-kpi span{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.px-kpi b{font-family:var(--mono);font-size:1.22rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s}
.px-kpi em{font-style:normal;font-size:.72rem;color:var(--text-2)}
.px-kpi b.flash{color:var(--gold)}
.pos{color:#3fb46e!important}.neg{color:#e0735a!important}

/* estado */
.px-health{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.px-hi{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.px-hi span{font-size:.76rem;color:var(--text-2)}
.px-hi b{display:flex;align-items:center;gap:7px;font-size:.84rem;font-weight:600}
.px-hi em{font-style:normal;font-family:var(--mono);font-size:.68rem;color:var(--text-muted)}
.px-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--text-muted)}
.px-dot.good{background:#3fb46e}.px-dot.warn{background:#e0b33a}.px-dot.bad{background:#e0735a}

/* acciones */
.px-acts{display:flex;flex-direction:column;gap:8px}
.px-act{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.px-act .px-dot{margin-top:6px}
.px-act h4{margin:0 0 6px;font-size:.92rem;font-weight:600;line-height:1.35}
.px-act dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;font-size:.8rem}
.px-act dt{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding-top:2px}
.px-act dd{margin:0;color:var(--text-2)}
.px-act .px-b{align-self:center}

/* botones y campos */
.px-b{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font:600 .8rem var(--font);cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}
.px-b:hover{border-color:var(--border-gold)}
.px-b.gold{background:var(--gold);border-color:var(--gold);color:#141007}
.px-b.gold:hover{filter:brightness(1.06)}
.px-b.sm{min-height:32px;padding:0 10px;font-size:.74rem}
.px-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.px-f label{display:flex;justify-content:space-between;gap:8px;font-size:.76rem;color:var(--text-2)}
.px-f label b{font-family:var(--mono);color:var(--text);font-weight:600}
.px-in,.px-sel{min-height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);font:500 .88rem var(--font);width:100%;box-sizing:border-box}
.px-in:focus,.px-sel:focus{outline:none;border-color:var(--gold)}
.px-rng{width:100%;accent-color:var(--gold)}
.px-note{font-size:.74rem;color:var(--text-muted);line-height:1.5;margin:0}
.px-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:6px;border:1px solid var(--border);color:var(--text-2)}
.px-tag.as{border-style:dashed}

/* flota */
.px-fleet{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;overflow:hidden}
.px-fr{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(6,minmax(0,1fr)) 28px;gap:10px;align-items:center;padding:11px 14px;border-top:1px solid var(--border);background:var(--card);font-size:.84rem;cursor:pointer;transition:background .15s}
.px-fr:first-child{border-top:0}
.px-fr:hover{background:var(--bg-2)}
.px-fr.hd{cursor:default;background:var(--bg-2);font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.px-fr .m b{display:block;font-weight:600}
.px-fr .m span{font-size:.72rem;color:var(--text-muted)}
.px-fr .n{font-family:var(--mono);font-size:.8rem;text-align:right}
.px-fr .chev{color:var(--text-muted);text-align:right}
.px-add{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:8px;align-items:end}
.px-empty{padding:28px 18px;text-align:center;border:1px dashed var(--border);border-radius:14px;color:var(--text-2);font-size:.88rem}
.px-empty b{display:block;color:var(--text);font-size:1rem;margin-bottom:6px}

/* ficha ASIC */
.px-drawer{position:fixed;inset:0;z-index:1300;display:flex;justify-content:flex-end;background:rgba(6,6,8,.6);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
.px-drawer.on{opacity:1;visibility:visible;transition-delay:0s}
.px-dw{width:min(520px,100%);height:100%;overflow:auto;background:var(--bg);border-left:1px solid var(--border);padding:20px;box-sizing:border-box;transform:translateX(24px);transition:transform .28s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:16px}
.px-drawer.on .px-dw{transform:none}
.px-dw>*{flex-shrink:0}
.px-dw-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.px-dw-h h3{margin:2px 0 0;font-family:var(--display);font-size:1.3rem}
.px-x{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:none;color:var(--text-2);cursor:pointer;flex:0 0 auto}
.px-rec{padding:12px 14px;border-radius:12px;border:1px solid var(--border-gold);background:color-mix(in oklab,var(--gold) 7%,transparent);font-size:.86rem;line-height:1.5}
.px-rec.bad{border-color:rgba(224,115,90,.5);background:rgba(224,115,90,.07)}

/* score */
.px-score{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}
.px-ring{--v:0;width:108px;height:108px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold) calc(var(--v)*1%),var(--bg-3,rgba(255,255,255,.06)) 0);position:relative}
.px-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--card)}
.px-ring b{position:relative;font-family:var(--mono);font-size:1.6rem}
.px-ring b small{font-size:.7rem;color:var(--text-muted)}
.px-bars{display:flex;flex-direction:column;gap:7px}
.px-bar{display:grid;grid-template-columns:110px minmax(0,1fr) 36px;gap:10px;align-items:center;font-size:.76rem;color:var(--text-2)}
.px-bar i{height:6px;border-radius:99px;background:var(--bg-3,rgba(255,255,255,.06));overflow:hidden;position:relative}
.px-bar i::after{content:"";position:absolute;inset:0;width:var(--w);background:var(--gold);border-radius:inherit}
.px-enter .px-bar i::after{animation:pxGrow .8s cubic-bezier(.16,1,.3,1)}
@keyframes pxGrow{from{width:0}}
.px-bar b{font-family:var(--mono);text-align:right;color:var(--text)}
.px-fit{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.px-fit ul{margin:6px 0 0;padding-left:16px;font-size:.8rem;color:var(--text-2);display:flex;flex-direction:column;gap:3px}
.px-fit h5{margin:0;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}

/* simulador */
.px-sim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:start}
.px-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.px-out{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--border)}
.px-chart{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.px-cr{display:grid;grid-template-columns:78px minmax(0,1fr) 88px;gap:10px;align-items:center;font-size:.74rem;color:var(--text-2)}
.px-cr div{display:flex;flex-direction:column;gap:3px}
.px-cr i{height:9px;border-radius:5px;background:var(--text-muted);opacity:.45;width:var(--w);transition:width .45s cubic-bezier(.16,1,.3,1)}
.px-cr i.s{background:var(--gold);opacity:1}
.px-cr b{font-family:var(--mono);text-align:right;color:var(--text)}
.px-scn{display:flex;flex-direction:column;gap:10px}
.px-scn.best{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold-glow)}
.px-scn h4{margin:0;font-size:.95rem}
.px-kv{display:grid;grid-template-columns:1fr auto;gap:5px 10px;font-size:.8rem}
.px-kv span{color:var(--text-2)}.px-kv b{font-family:var(--mono);text-align:right}

/* intelligence */
.px-mkt{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.px-mk{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card);font-size:.84rem}
.px-mk b{font-family:var(--mono)}
.px-ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:.84rem;color:var(--text-2)}
.px-ol b{color:var(--text)}

/* alertas */
.px-al{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card);font-size:.86rem}
.px-lvl{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);min-width:92px}

/* candado contextual */
.px-lock{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border:1px solid var(--border-gold);border-radius:14px;background:radial-gradient(120% 140% at 100% 0,color-mix(in oklab,var(--gold) 10%,transparent),transparent 60%),var(--card)}
.px-lock h4{margin:0 0 6px;font-size:.98rem}
.px-lock ul{margin:8px 0 0;padding-left:16px;font-size:.8rem;color:var(--text-2);display:flex;flex-direction:column;gap:3px}
.px-lock p{margin:0;font-size:.84rem;color:var(--text-2)}
.px-dim{display:flex;flex-direction:column;gap:12px}
.px-dim>.px-dimc{max-height:360px;overflow:hidden;filter:blur(2px);opacity:.45;pointer-events:none;user-select:none;-webkit-mask-image:linear-gradient(#000 35%,transparent);mask-image:linear-gradient(#000 35%,transparent)}

/* flujo comercial */
.px-flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--text-2)}
.px-flow b{padding:6px 10px;border:1px solid var(--border);border-radius:8px;color:var(--text);font-weight:600}
.px-flow b:last-child{border-color:var(--gold);color:var(--gold)}

/* móvil */
.px-mob{display:none}
.px-tabs{display:none}
@media(max-width:1100px){.px-health{grid-template-columns:repeat(3,minmax(0,1fr))}.px-mkt{grid-template-columns:repeat(2,minmax(0,1fr))}.px-split,.px-sim{grid-template-columns:1fr}}
@media(max-width:900px){
  .px-shell{grid-template-columns:1fr}
  .px-side{display:none}
  .px-body{padding:14px 14px calc(84px + env(safe-area-inset-bottom));gap:16px}
  .px-view{gap:16px}
  .px-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .px-kpi{padding:11px 12px}.px-kpi b{font-size:1.05rem}
  .px-health{grid-template-columns:repeat(2,minmax(0,1fr))}
  .px-g2,.px-g3{grid-template-columns:1fr}
  .px-act{grid-template-columns:auto minmax(0,1fr)}.px-act .px-b{grid-column:2;justify-self:start}
  .px-fr{grid-template-columns:minmax(0,1fr) auto auto 20px}
  .px-fr>.n.hx{display:none}
  .px-fr.hd{display:none}
  .px-add{grid-template-columns:minmax(0,1fr) 72px}.px-add .px-b{grid-column:1/-1}
  .px-sliders{grid-template-columns:1fr}
  .px-out{grid-template-columns:repeat(2,minmax(0,1fr))}
  .px-fit{grid-template-columns:1fr}
  .px-lock{grid-template-columns:1fr}
  .px-dw{width:100%;height:auto;max-height:92vh;margin-top:auto;border-left:0;border-top:1px solid var(--border);border-radius:20px 20px 0 0;transform:translateY(24px);padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  .px-drawer{align-items:flex-end}
  .px-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:-4px -14px 0;padding:0 14px}
  .px-tabs::-webkit-scrollbar{display:none}
  .px-tabs a{flex:0 0 auto;min-height:36px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;border:1px solid var(--border);color:var(--text-2)!important;font-size:.78rem;font-weight:600}
  .px-tabs a.on{border-color:var(--gold);color:var(--text)!important;background:color-mix(in oklab,var(--gold) 12%,transparent)}
  .px-mob{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in oklab,var(--bg) 92%,transparent);backdrop-filter:blur(14px)}
  .px-mob a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:50px;border-radius:12px;color:var(--text-muted)!important;font-size:.62rem;font-weight:600}
  .px-mob a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .px-mob a.on{color:var(--gold)!important}
  .px-top h1{font-size:1rem}
}
@media print{
  .px-side,.px-top,.px-mob,.px-tabs,.px-noprint{display:none!important}
  .px-shell{display:block}.px-body{padding:0;max-width:none}
  body.pro{background:#fff;color:#111}
  .px-card,.px-kpi,.px-fr{background:#fff!important;color:#111;border-color:#ddd!important}
}
@media(prefers-reduced-motion:reduce){.px-view,.px-dw,.px-bar i::after,.px-cr i{animation:none;transition:none}}
