/* Transpago — panel del dueño. Requiere tokens.css y base.css. */
:root{ --sidebar:180px; }
body{display:flex;}

/* SIDEBAR */
.sidebar{width:var(--sidebar);min-height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100;}
.sidebar-logo{padding:20px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:9px;}
.sidebar-name{font-size:14px;font-weight:800;line-height:1.1;}
.sidebar-name span{color:var(--blue);}

.sidebar-nav{flex:1;padding:16px 10px;display:flex;flex-direction:column;gap:4px;}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:background .2s,color .2s;border:none;background:transparent;width:100%;text-align:left;}
.nav-item:hover{background:rgba(255,255,255,0.04);color:var(--text);}
.nav-item.active{background:rgba(26,115,232,0.1);color:var(--blue);font-weight:600;}
.nav-item .icon{font-size:16px;width:20px;text-align:center;flex-shrink:0;}

.sidebar-footer{padding:14px 10px;border-top:1px solid var(--border);}
.user-pill{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--card);}
.user-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--blue2),#9b6bff);display:grid;place-items:center;font-size:12px;font-weight:800;color:white;flex-shrink:0;}
.user-info{overflow:hidden;}
.user-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.user-plan{font-size:10px;color:var(--muted);}

/* MAIN */
.main{margin-left:var(--sidebar);flex:1;min-height:100vh;display:flex;flex-direction:column;}
.topbar{height:60px;border-bottom:1px solid var(--border);padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(5,6,15,0.8);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50;}
.topbar-title{font-size:16px;font-weight:700;}
.topbar-actions{display:flex;align-items:center;gap:10px;}
.btn-sm{padding:7px 16px;border-radius:8px;font-family:var(--font);font-size:12px;font-weight:700;cursor:pointer;border:none;transition:opacity .2s,transform .15s;}
.btn-sm:hover{opacity:.9;transform:translateY(-1px);}
.btn-sm.accent{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;}
.btn-sm.ghost{background:transparent;border:1px solid var(--border);color:var(--muted);}
.btn-sm.ghost:hover{border-color:var(--muted);color:var(--text);}

.content{padding:28px;flex:1;}
.panel{display:none;}
.panel.active{display:block;animation:fadeIn .3s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.sec-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:20px;}
.sec-card-title{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:20px;display:flex;align-items:center;gap:8px;}
.sec-card-title::before{content:'';width:3px;height:13px;background:var(--blue);border-radius:3px;display:block;}

.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;position:relative;}
.stat-num{font-size:32px;font-weight:800;line-height:1;margin-bottom:4px;}
.stat-label{font-size:12px;color:var(--muted);}

.field{margin-bottom:16px;}
.field label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.5px;}
.field input,.field select,.field textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 14px;color:var(--text);font-family:var(--font);font-size:13px;outline:none;transition:border-color .2s;resize:none;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);}
.field select option{background:var(--surface);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.field-row-wa{display:grid;grid-template-columns:128px 1fr;gap:12px;}
@media(max-width:420px){.field-row-wa{grid-template-columns:1fr;}}
.slug-box{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:9px 13px;font-size:12px;color:var(--muted);margin-top:5px;display:flex;align-items:center;gap:5px;}
.slug-box span{color:var(--blue);font-weight:600;}

.logo-upload{border:2px dashed var(--border);border-radius:12px;padding:18px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;}
.logo-upload:hover{border-color:var(--blue);background:rgba(26,115,232,0.03);}
.logo-upload input{display:none;}
.logo-upload p{font-size:12px;color:var(--muted);}
.logo-upload strong{color:var(--blue);}
#logoPreview{max-width:60px;max-height:60px;border-radius:9px;margin:0 auto 8px;display:none;object-fit:contain;}

.color-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.color-opt{width:26px;height:26px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:border-color .2s,transform .15s;}
.color-opt:hover{transform:scale(1.15);}
.color-opt.selected{border-color:white;}
.locked{opacity:.4;pointer-events:none;}

.banks-list{display:flex;flex-direction:column;gap:12px;margin-bottom:14px;}
.bank-card{border-radius:12px;border:2px solid var(--border);overflow:hidden;transition:border-color .3s;}
.bank-card-hdr{padding:9px 14px;display:flex;align-items:center;justify-content:space-between;background:#1a1a2e;transition:background .3s;}
.bank-card-title{font-weight:700;font-size:12px;color:white;display:flex;align-items:center;gap:8px;}
.bank-num-b{width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,0.2);display:grid;place-items:center;font-size:10px;font-weight:800;}
.bank-body-inner{padding:14px;background:var(--card);}
.btn-remove-b{background:rgba(255,255,255,0.1);border:none;color:white;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:12px;display:grid;place-items:center;transition:background .2s;}
.btn-remove-b:hover{background:rgba(255,77,109,0.5);}
.btn-add-bank{width:100%;padding:11px;background:transparent;border:2px dashed var(--border);border-radius:10px;color:var(--blue);font-family:var(--font);font-size:12px;font-weight:700;cursor:pointer;transition:border-color .2s,background .2s;display:flex;align-items:center;justify-content:center;gap:7px;}
.btn-add-bank:hover{border-color:var(--blue);background:rgba(26,115,232,0.04);}
.btn-add-bank:disabled{opacity:.3;cursor:not-allowed;}

.plan-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
.plan-card{background:var(--surface);border:2px solid var(--border);border-radius:14px;padding:22px;position:relative;transition:border-color .2s;}
.plan-card.current{border-color:var(--blue);}
.plan-current-badge{position:absolute;top:12px;right:12px;background:rgba(26,115,232,0.12);color:var(--blue);border:1px solid rgba(26,115,232,0.25);padding:3px 9px;border-radius:12px;font-size:10px;font-weight:700;}
.plan-name{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;}
.plan-price{font-size:28px;font-weight:800;margin-bottom:4px;}
.plan-period{font-size:11px;color:var(--muted);}
.plan-features{margin-top:14px;display:flex;flex-direction:column;gap:7px;}
.pf{display:flex;align-items:center;gap:7px;font-size:12px;}
.pf-c{width:16px;height:16px;border-radius:4px;display:grid;place-items:center;font-size:9px;flex-shrink:0;}
.pf-c.y{background:rgba(26,115,232,0.12);color:var(--blue);}
.pf-c.n{background:rgba(255,255,255,0.04);color:var(--muted);}
.btn-plan{width:100%;margin-top:16px;padding:10px;border-radius:9px;font-family:var(--font);font-size:12px;font-weight:700;cursor:pointer;border:none;transition:opacity .2s;}
.btn-plan.a{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;}
.btn-plan.b{background:var(--blue2);color:white;}
.btn-plan.c{background:var(--border);color:var(--muted);cursor:not-allowed;}
.btn-plan.a:hover,.btn-plan.b:hover{opacity:.9;}

.page-preview-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
.page-preview-wrap>*{min-width:0;}
.qr-section{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;text-align:center;}
.qr-section-title{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:14px;}
#panelQR{display:inline-block;}
.qr-link{font-size:12px;color:var(--blue);font-weight:600;margin-top:10px;word-break:break-all;}
.qr-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.live-preview-frame{width:100%;height:520px;border:2px solid var(--border);border-radius:16px;background:white;overflow:hidden;}
.live-preview-frame iframe{width:375px;height:812px;transform:scale(var(--pv-scale,1));transform-origin:top left;border:none;}
.live-preview-wrap{overflow:hidden;height:100%;}

.btn-save{padding:12px 28px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--blue2));border:none;color:#fff;font-family:var(--font);font-size:13px;font-weight:800;cursor:pointer;transition:opacity .2s,transform .15s;}
.btn-save:hover{opacity:.9;transform:translateY(-1px);}

.sidebar-toggle{display:none;position:fixed;bottom:20px;right:20px;z-index:200;width:50px;height:50px;border-radius:50%;background:var(--blue2);border:none;color:white;font-size:20px;cursor:pointer;box-shadow:0 4px 16px rgba(124,92,252,0.4);}

/* VISTA "MOSTRAR A MI CLIENTE" -- pantalla completa, limpia, sin nada del panel */
.present-mode{
  display:none;position:fixed;inset:0;z-index:9998;
  background:var(--bg);
  flex-direction:column;align-items:center;justify-content:center;gap:22px;
  padding:24px;text-align:center;
}
.present-mode.open{display:flex;}
.present-close{
  position:absolute;top:20px;right:20px;
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,0.06);border:1px solid var(--border);
  color:var(--text);font-size:18px;cursor:pointer;
}
.present-logo{height:56px;object-fit:contain;}
.present-biz-name{font-size:22px;font-weight:800;color:var(--text);}
.present-qr-box{background:white;border-radius:20px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,0.5);}
.present-hint{font-size:14px;color:var(--muted);}

@media(max-width:900px){
  .stats-grid{grid-template-columns:1fr 1fr;}
  .plan-grid{grid-template-columns:1fr;}
  .page-preview-wrap{grid-template-columns:1fr;}
}
@media(max-width:700px){
  .sidebar{transform:translateX(-100%);transition:transform .3s;}
  .sidebar.open{transform:translateX(0);}
  .main{margin-left:0;}
  .sidebar-toggle{display:grid;place-items:center;}
  .stats-grid{grid-template-columns:1fr;}
  .field-row{grid-template-columns:1fr;}
  .topbar{flex-wrap:wrap;height:auto;min-height:60px;padding:10px 16px;row-gap:8px;}
  .topbar-actions{flex-wrap:wrap;gap:8px;}
  .btn-sm{padding:7px 12px;font-size:11px;}
}
