/* V19 · portal alineado con CRM y navegación estable */
html,body{max-width:100%;overflow-x:hidden;background:var(--paper)!important;scroll-behavior:auto!important}
.access{display:block!important;min-height:100dvh!important;background:var(--paper)!important}
.access-main{
  width:min(100%,680px)!important;min-height:100dvh!important;margin:0 auto!important;padding:42px 28px 36px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important
}
.access-aside{display:none!important}
.access-logo{position:static!important;transform:none!important;width:min(420px,82vw)!important;margin:0 auto 28px!important;text-align:center!important}
.access-logo .logo{width:100%!important;max-width:420px!important;height:auto!important;max-height:220px!important;object-fit:contain!important}
.access-card{width:min(100%,420px)!important;max-width:420px!important;margin:0 auto!important}
.access-card .display{font:500 clamp(46px,7vw,68px)/.92 var(--serif)!important}
.access-card>p{max-width:520px!important;font-size:14px!important}

.app-header{
  min-height:124px!important;height:124px!important;padding:0 clamp(18px,3vw,48px)!important;
  display:grid!important;grid-template-columns:minmax(190px,1fr) auto auto!important;grid-template-rows:72px 52px!important;
  position:sticky!important;top:0!important;z-index:100!important;
  gap:0 18px!important;background:var(--paper)!important;border-bottom:1px solid var(--line)!important
}
.app-brand{grid-column:1;grid-row:1;display:flex!important;align-items:center!important}
.app-brand .logo{width:210px!important;height:65px!important;object-fit:contain!important;object-position:left center!important}
.portal-new-order{
  grid-column:2!important;grid-row:1!important;align-self:center!important;min-height:42px!important;padding:0 24px!important;
  border-radius:999px!important;background:var(--red)!important;color:#fff!important;font:800 12px var(--sans)!important
}
.account{grid-column:3!important;grid-row:1!important;margin:0!important}
.account .install-btn{display:none!important}
.portal-nav{
  grid-column:1/-1!important;grid-row:2!important;display:flex!important;align-items:stretch!important;gap:0!important;
  padding:0!important;border-top:1px solid var(--line)!important
}
.portal-nav a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;height:52px!important;padding:0 18px!important;
  border-bottom:2px solid transparent!important;color:var(--muted)!important;font:400 15px var(--serif)!important
}
.portal-nav a.active{border-bottom-color:var(--red)!important;color:var(--ink)!important}
.page{width:min(100%,1560px)!important;max-width:none!important;padding:38px clamp(18px,4vw,58px) 90px!important}
.hero{padding:0 0 24px!important;border-bottom:1px solid var(--line)!important}
.hero .display{font-size:48px!important}
.portal-dash-filters{display:flex!important;gap:20px!important;flex-wrap:wrap!important}
.portal-dash-filters label{display:grid!important;gap:6px!important;color:var(--muted)!important;font-size:9px!important;text-transform:uppercase!important}
.portal-dash-filters select{min-width:190px!important;padding:8px 28px 8px 0!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important}
.kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin:0!important;border-bottom:1px solid var(--line)!important}
.kpi{min-height:108px!important;padding:20px 24px!important;border:0!important;border-right:1px solid var(--line)!important;background:transparent!important}
.kpi:last-child{border-right:0!important}
.kpi strong{font-size:33px!important}
.portal-2a-analysis{grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr)!important;gap:44px 56px!important;margin-top:42px!important}
.portal-line-card,.portal-donut-card,.portal-2a-wide{padding-bottom:28px!important;border-bottom:1px solid var(--line)!important}
.portal-line-card h2,.portal-2a-wide h2,#portalStatusBars h2{font:500 21px var(--serif)!important}
.portal-exact-line{height:230px!important}
.portal-exact-donut{width:150px!important;height:150px!important}

.portal-v19-payment-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.portal-v19-payment-copy{display:grid;gap:3px}
.portal-v19-payment-copy span{color:var(--muted);font-size:12px}
.portal-v19-payment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.portal-v19-paypal,.portal-v19-transfer{
  min-height:36px;padding:8px 15px;border-radius:999px;font:700 11px var(--sans);cursor:pointer;white-space:nowrap
}
.portal-v19-paypal{border:0;background:#0070ba;color:#fff;font-style:italic}
.portal-v19-transfer{border:1px solid var(--red);background:transparent;color:var(--red)}
.portal-v19-transfer-wrap{position:relative}
.portal-v19-bank-popover{
  position:absolute;right:0;bottom:calc(100% + 10px);z-index:80;width:min(360px,calc(100vw - 32px));padding:16px 18px;
  visibility:hidden;opacity:0;transform:translateY(5px);border:1px solid var(--line);border-radius:10px;background:#fff;
  box-shadow:0 18px 45px rgba(30,20,15,.16);transition:.16s ease;text-align:left
}
.portal-v19-transfer-wrap:hover .portal-v19-bank-popover,.portal-v19-transfer-wrap:focus-within .portal-v19-bank-popover,.portal-v19-transfer-wrap.open .portal-v19-bank-popover{visibility:visible;opacity:1;transform:none}
.portal-v19-bank-popover label{display:block;margin-bottom:7px;color:var(--muted);font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.portal-v19-bank-popover strong{display:block;margin-top:4px;font:600 14px var(--sans);overflow-wrap:anywhere}
.portal-v19-bank-popover button{margin-top:12px;padding:0;border:0;background:transparent;color:var(--red);font:700 10px var(--sans);cursor:pointer}

.portal2a-order{padding:18px 0!important}
.portal2a-order-top strong{font-size:16px!important}
.portal2a-order-actions{align-items:flex-end!important}
.portal2a-order-actions>div{justify-content:flex-end!important}
.portal2a-order .doc-btn,.portal2a-order .repeat-btn{min-height:31px!important;padding:6px 11px!important}
.portal2a-order .doc-btn[disabled]{opacity:.38!important}
.portal2a-state{font-size:10px!important}
.portal-v19-awaiting{display:inline-flex;padding:4px 10px;border-radius:999px;background:var(--amber-bg);color:var(--amber);font-size:10px}

.portal-fixed-field .input,.portal-fixed-field input[readonly]{
  color:var(--ink)!important;background:oklch(.93 .01 80)!important;border-bottom-color:transparent!important;cursor:not-allowed!important
}
.portal-fixed-field::after{content:"Gestionado por Malditos Cuñados";display:block;margin-top:4px;color:var(--muted);font-size:8px}
#profileDialog.portal2a-page-mode{inset:124px 0 0!important}
#profileDialog.portal2a-page-mode .dialog{width:min(100%,1040px)!important}
#profileDialog.portal2a-page-mode .form{width:min(100%,920px)!important}

.bottom-nav .install-nav{display:none!important}

@media(max-width:760px){
  body{padding-bottom:72px!important}
  .access-main{padding:28px 16px 32px!important}
  .access-logo{width:min(330px,84vw)!important;margin-bottom:24px!important}
  .access-card{margin:0 auto!important}
  .app-header{
    height:118px!important;min-height:118px!important;padding:0 10px!important;
    grid-template-columns:minmax(116px,1fr) auto auto!important;grid-template-rows:66px 52px!important;gap:0 7px!important
  }
  .app-brand .logo{width:150px!important;height:58px!important}
  .portal-new-order{grid-column:2!important;min-height:36px!important;padding:0 12px!important;font-size:10px!important}
  .account{grid-column:3!important}.account-copy{display:none!important}.account>.btn:last-child{width:34px!important;padding:0!important;font-size:0!important}.account>.btn:last-child::before{content:"Salir";font-size:8px}
  .portal-nav{display:none!important}
  .page{padding:22px 12px 84px!important}
  .hero{display:block!important}.hero .display{font-size:32px!important}.hero p,.cause{display:none!important}
  .portal-dash-filters{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;margin-top:18px!important}
  .portal-dash-filters select{width:100%!important;min-width:0!important}
  .kpis{grid-template-columns:1fr 1fr!important}.kpi{min-height:88px!important;padding:14px!important}.kpi:nth-child(2n){border-right:0!important}.kpi strong{font-size:25px!important}
  .portal-2a-analysis{grid-template-columns:1fr!important;gap:28px!important;margin-top:28px!important}
  .portal-line-card,.portal-donut-card,.portal-2a-wide{grid-column:1!important}
  .portal-exact-line{height:180px!important}.portal-exact-donut{width:116px!important;height:116px!important}
  .portal-v19-payment-row{align-items:flex-start;flex-direction:column}.portal-v19-payment-actions{width:100%}.portal-v19-payment-actions>*{flex:1 1 auto}
  .portal-v19-paypal,.portal-v19-transfer{width:100%}
  .portal-v19-transfer-wrap{width:100%}.portal-v19-bank-popover{position:fixed;left:12px;right:12px;bottom:82px;width:auto}
  .portal2a-order-actions{align-items:flex-start!important;flex-direction:column!important}.portal2a-order-actions>div{width:100%!important;justify-content:flex-start!important}
  #profileDialog.portal2a-page-mode{inset:0 0 68px!important;z-index:120!important;padding-top:20px!important}
  .bottom-nav{display:grid!important;grid-template-columns:1.35fr 1fr 1fr!important}
}
@media(max-width:390px){
  .app-brand .logo{width:132px!important}.portal-new-order{padding-inline:9px!important}
  .portal-v19-payment-actions{display:grid;grid-template-columns:1fr}
}
