:root{
  --gestapp-primary:#1268f3;--gestapp-primary-hover:#0757dc;--gestapp-primary-dark:#083bb5;
  --gestapp-navy:#061747;--gestapp-light-blue:#43b5ff;--gestapp-background:#f4f7fc;
  --gestapp-surface:#fff;--gestapp-border:#dce5f2;--gestapp-text:#0b1739;--gestapp-text-muted:#64748b;
  --bg:var(--gestapp-background);--card:var(--gestapp-surface);--text:var(--gestapp-text);--muted:var(--gestapp-text-muted);--border:var(--gestapp-border);
  --dark:var(--gestapp-navy);--red:#c62828;--red-soft:#fdecec;--green:#198754;--green-soft:#e9f7ef;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{background:var(--dark);color:white;padding:22px 16px;display:flex;flex-direction:column;gap:28px}
.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--red);display:grid;place-items:center;font-weight:800}
.brand strong{display:block}.brand span{display:block;font-size:12px;color:#b9bdc5;margin-top:2px}
.nav{display:grid;gap:8px}.nav-btn{border:0;background:transparent;color:#d3d6dc;padding:12px 14px;border-radius:10px;text-align:left;display:flex;gap:10px;cursor:pointer}
.nav-btn:hover,.nav-btn.active{background:#303237;color:#fff}.sidebar-footer{margin-top:auto;color:#a6aab2;font-size:12px}
.main{padding:26px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}
h1,h2,h3,p{margin-top:0}h1{font-size:26px;margin-bottom:5px}.topbar p,.card-head p{color:var(--muted);margin-bottom:0}
.view{display:none}.view.active{display:block}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px}
.btn{border:0;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:700}.btn.primary{background:var(--red);color:#fff}.btn.secondary{background:var(--dark);color:#fff}.btn.ghost{background:#eef0f3;color:#333}.danger-btn{background:#a71919;color:white}
.filter-strip{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.filter-strip label,.filters label,.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:13px}
input,select,textarea{width:100%;border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 12px;color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:#b8bdc7;box-shadow:0 0 0 3px rgba(32,33,36,.06)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.metric-card{background:white;border:1px solid var(--border);border-radius:16px;padding:18px}.metric-card span{color:var(--muted);font-size:13px}.metric-card strong{display:block;font-size:26px;margin:8px 0}.metric-card small{color:var(--muted)}
.metric-card.danger{border-left:4px solid var(--red)}.metric-card.success{border-left:4px solid var(--green)}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}
.card-head h2,.catalog-card h2,.backup-grid h2{font-size:18px;margin-bottom:4px}.bar-list{display:grid;gap:12px}
.bar-row{display:grid;grid-template-columns:140px 1fr 90px;gap:10px;align-items:center}.bar-track{height:10px;background:#eef0f3;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--red);border-radius:999px}
.table-wrap{overflow-x:auto;overflow-y:visible}.table-wrap.large{max-height:none}table{width:100%;border-collapse:collapse;min-width:650px}th,td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;font-size:13px;white-space:nowrap}th{color:var(--muted);font-weight:700;background:#fafbfc}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.helper-card{align-self:start}.helper-box{background:var(--red-soft);padding:16px;border-radius:12px}.helper-box span,.helper-box small{display:block;color:var(--muted)}.helper-box strong{display:block;font-size:25px;margin:6px 0}
.filters{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;align-items:end}.summary-row{display:flex;justify-content:space-between;padding:14px 0;color:var(--muted)}
.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inline-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:14px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:7px;background:#f1f3f5;padding:7px 10px;border-radius:999px;font-size:13px}.chip button{border:0;background:transparent;color:#8b1e1e;cursor:pointer}
.backup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.warning-card{border-color:#efcaca}.toast{position:fixed;right:20px;bottom:20px;background:var(--dark);color:white;padding:12px 16px;border-radius:10px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}
.delete-btn{border:0;background:transparent;color:#a71919;cursor:pointer;font-size:16px}
@media(max-width:1050px){.metrics{grid-template-columns:1fr 1fr}.dashboard-grid,.form-layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,1fr)}.backup-grid{grid-template-columns:1fr}.helper-card{order:-1}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:5;padding:12px}.brand,.sidebar-footer{display:none}.nav{grid-template-columns:repeat(5,1fr);gap:4px}.nav-btn{justify-content:center;padding:10px 6px}.nav-btn span{display:none}.main{padding:16px}.topbar{align-items:flex-start}.metrics{grid-template-columns:1fr}.dashboard-grid,.catalog-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.filters{grid-template-columns:1fr 1fr}.bar-row{grid-template-columns:100px 1fr 75px}}

.hidden{display:none!important}
.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f6f8}
.auth-card{width:min(720px,100%);background:#fff;border:1px solid var(--border);border-radius:20px;padding:26px}
.auth-brand{display:flex;gap:14px;align-items:center;margin-bottom:22px}.auth-brand h1{font-size:22px;margin:0}.auth-brand p{margin:3px 0 0;color:var(--muted)}
.auth-panel{display:grid;gap:12px}.auth-panel h2{margin-bottom:0}.auth-panel>p{color:var(--muted);margin-bottom:4px}
.auth-panel label{display:grid;gap:6px;color:var(--muted);font-size:13px}.wide{width:100%}.security-note{display:block;color:var(--muted);line-height:1.4}.form-error{color:#a71919;font-size:13px;min-height:18px}
.link-btn{background:none;border:0;color:#fff;text-decoration:underline;cursor:pointer;padding:4px 0}.sidebar-footer{display:grid;gap:6px}
.users-layout{display:grid;grid-template-columns:380px 1fr;gap:18px}
.role-badge,.status-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:12px;background:#eef0f3}.status-badge.active{background:var(--green-soft);color:#16784d}.status-badge.inactive{background:var(--red-soft);color:#9b1c1c}
.action-row{display:flex;gap:6px;flex-wrap:wrap}.mini-btn{border:1px solid var(--border);background:#fff;border-radius:8px;padding:6px 8px;cursor:pointer;font-size:12px}
dialog{border:0;border-radius:16px;padding:0;box-shadow:0 20px 60px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(0,0,0,.4)}.dialog-card{padding:22px;min-width:min(360px,90vw)}
@media(max-width:900px){.users-layout{grid-template-columns:1fr}}

.delete-lock{font-size:12px;color:var(--muted);margin-left:6px}
.income-accent{border-left:4px solid #2f7d4a}
.dialog-card p{color:var(--muted)}

.catalog-help{color:var(--muted);font-size:13px;margin:-4px 0 14px}
.product-add-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin-bottom:14px}
.product-add-grid label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.product-chip{display:inline-grid;grid-template-columns:auto auto auto;align-items:center;gap:8px}
.product-chip small{background:#fff;border:1px solid var(--border);padding:3px 7px;border-radius:999px;color:var(--muted)}
select:disabled{background:#f3f4f6;color:#9ca3af}
@media(max-width:760px){.product-add-grid{grid-template-columns:1fr}}

.btn.income-btn{background:var(--green);color:#fff}
.btn.income-btn:hover{filter:brightness(.95)}
.month-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.summary-panel{padding:20px}
.summary-panel.expense-panel{border-left:5px solid var(--red)}
.summary-panel.income-panel{border-left:5px solid var(--green)}
.summary-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.summary-metric{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fafbfc}
.summary-metric span{display:block;color:var(--muted);font-size:13px}
.summary-metric strong{display:block;font-size:22px;margin:7px 0}
.summary-metric small{color:var(--muted);text-transform:capitalize}
.expense-panel .summary-metric strong{color:var(--red)}
.income-panel .summary-metric strong{color:var(--green)}
.secondary-analysis{margin-top:0}
@media(max-width:900px){.month-summary-grid{grid-template-columns:1fr}.summary-metrics{grid-template-columns:1fr}}

.total-box{background:#fdecec!important;border:1px solid #f3caca}
.total-box strong{color:var(--red)}
.unit-box{margin-top:12px;background:#f7f8fa!important;border:1px solid var(--border)}
.unit-box strong{color:var(--text)}
#expTotal{font-weight:700;border-color:#e7bcbc;background:#fffafa}
#expUnitPrice{font-weight:700;background:#f4f5f7}

.view-title{
  text-transform:uppercase;
}
.total-capture-card{
  align-self:start;
  width:100%;
  margin-bottom:18px;
  padding:0!important;
  overflow:hidden;
  border:1px solid var(--gestapp-border)!important;
  border-radius:18px;
  background:#edf5ff;
  box-sizing:border-box;
}
.total-capture-head{
  background:var(--gestapp-primary);
  color:#fff;
  font-weight:700;
  letter-spacing:.02em;
  padding:14px 18px;
  font-size:18px;
  line-height:1.2;
}
.total-capture-input-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  padding:20px 18px;
  background:#edf5ff;
}
.currency-prefix{
  font-size:32px;
  font-weight:700;
  line-height:1.1;
  color:var(--gestapp-primary);
}
.total-capture-value{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  box-shadow:none;
  background:transparent;
  font-size:32px;
  font-weight:700;
  line-height:1.1;
  color:var(--gestapp-primary);
  padding:0;
}
.total-capture-value:focus{
  box-shadow:none;
  outline:none;
}
.total-capture-value::placeholder{color:#6f7b74;opacity:1}
.total-capture-card small{
  display:block;
  padding:0 18px 18px;
  color:var(--muted);
}
.unit-box,.total-box{display:none!important}

.secondary-analysis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  gap:12px;
  align-items:end;
}
.secondary-analysis label{
  min-width:0;
}
.secondary-analysis input,
.secondary-analysis select{
  width:100%;
  height:48px;
}
.income-fill{background:var(--green)!important}
@media(max-width:760px){
  .secondary-analysis{
    grid-template-columns:1fr 1fr!important;
  }
  .secondary-analysis .btn{
    grid-column:span 2;
  }
}

/* V9: cambios exclusivos de la sección Nuevo ingreso */

/* V12: cambios exclusivos de Consultar gastos */
/* V13: Consultar gastos — corrección exacta */
.top-title-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
body:has(#gastos.view.active) #viewTitle{
  color:var(--red);
  font-weight:800;
}
body:has(#gastos.view.active) #viewSubtitle{
  display:none;
}
body:has(#gastos.view.active) .expense-export-top{
  display:inline-flex!important;
}
.expense-export-top{
  display:none;
}

/* V15: consulta unificada de movimientos */
.movement-type-switch{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
  flex-wrap:wrap;
}
.movement-type-switch>span{
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}
.movement-type-buttons{
  display:flex;
  gap:8px;
}
.movement-type-btn{
  border:1px solid var(--border);
  background:#fff;
  border-radius:10px;
  padding:9px 16px;
  font-weight:800;
  cursor:pointer;
}
.movement-type-btn.expense.active{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}
.movement-type-btn.income.active{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}
.movement-query-nav.active{
  background:#2d3748;
}

/* Cajas de total homologadas en escritorio */
@media (min-width: 901px){
  #nuevo .total-capture-card,
  #nuevoIngreso .total-capture-card{
    width:calc(100% - 308px); /* 290px de la segunda columna + 18px de separación */
    max-width:calc(100% - 308px);
    box-sizing:border-box;
  }
}


/* V24 — MENÚ COMPACTO SOLO EN CELULAR/TABLET. ESCRITORIO >900px SIN CAMBIOS */
.mobile-menu-bar{
  display:none;
}

@media (max-width:900px){
  .app-shell{
    grid-template-columns:1fr;
  }

  .sidebar{
    position:sticky;
    top:0;
    z-index:50;
    padding:0;
    gap:0;
    width:100%;
  }

  .sidebar > .brand{
    display:none!important;
  }

  .mobile-menu-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:58px;
    padding:8px 14px;
    background:var(--dark);
  }

  .mobile-menu-brand{
    display:flex;
    align-items:center;
    gap:10px;
    color:#fff;
    font-weight:800;
  }

  .mobile-menu-brand .brand-mark{
    width:36px;
    height:36px;
    border-radius:10px;
    flex:0 0 auto;
  }

  .mobile-menu-toggle{
    display:flex;
    align-items:center;
    gap:8px;
    border:1px solid #44474d;
    background:#303237;
    color:#fff;
    border-radius:10px;
    padding:9px 12px;
    cursor:pointer;
    font-weight:700;
  }

  .hamburger-lines{
    font-size:22px;
    line-height:1;
  }

  .sidebar .nav{
    display:none!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:10px 12px 12px;
    background:var(--dark);
    max-height:62vh;
    overflow-y:auto;
  }

  .sidebar.mobile-open .nav{
    display:grid!important;
  }

  .sidebar .nav-btn{
    width:100%;
    justify-content:flex-start!important;
    text-align:left;
    padding:12px 14px!important;
    gap:12px;
  }

  .sidebar .nav-btn span{
    display:inline!important;
  }

  .sidebar .sidebar-footer{
    display:none!important;
    padding:10px 16px 16px;
    background:var(--dark);
    color:#fff;
  }

  .sidebar.mobile-open .sidebar-footer{
    display:grid!important;
  }

  .main{
    padding-top:16px;
  }
}

/* V25 — multi-sucursal, bodega central y distribución */
.branch-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin-bottom:18px;
}
.branch-add{grid-template-columns:1fr auto}
.branch-list{display:grid;gap:8px}
.branch-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fafbfc;
}
.branch-row strong,.branch-row small{display:block}
.branch-row small{color:var(--muted);margin-top:3px}
.stock-box{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.stock-box>div{
  border:1px solid var(--border);
  border-radius:12px;
  padding:14px;
  background:#fafbfc;
}
.stock-box span{display:block;color:var(--muted);font-size:13px}
.stock-box strong{display:block;margin-top:6px;font-size:20px}
.branch-report-card{margin-top:18px}
@media(max-width:900px){
  .branch-grid{grid-template-columns:1fr}
  .stock-box{grid-template-columns:1fr}
}

/* V26 — Comparativos por sucursal */
.comparison-title{
  font-weight:800;
  color:#2563eb;
}
.comparison-period-controls{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr auto;
  gap:12px;
  align-items:end;
  margin-bottom:14px;
}
.comparison-period-controls label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:13px;
}
.comparison-period-label{
  display:flex;
  gap:8px;
  align-items:center;
  margin:8px 0 18px;
  color:var(--muted);
  flex-wrap:wrap;
}
.comparison-period-label strong{
  color:var(--text);
  text-transform:capitalize;
}
.comparison-table tfoot th{
  background:#f3f4f6;
  color:var(--text);
  border-top:2px solid var(--border);
}
.money-positive{color:#18864b;font-weight:700}
.money-negative{color:var(--red);font-weight:700}
.money-assigned{color:#8a5a00;font-weight:700}
.comparison-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:18px;
}
.comparison-summary{
  border-left:4px solid var(--border);
}
.comparison-summary span{
  display:block;
  color:var(--muted);
  font-size:13px;
}
.comparison-summary strong{
  display:block;
  margin-top:8px;
  font-size:23px;
}
.comparison-summary.income-summary{border-left-color:var(--green)}
.comparison-summary.expense-summary{border-left-color:var(--red)}
.comparison-summary.assigned-summary{border-left-color:#d89b21}
.comparison-summary.result-summary{border-left-color:#2563eb}
@media(max-width:900px){
  .comparison-period-controls{grid-template-columns:1fr 1fr}
  .comparison-period-controls .btn{grid-column:span 2}
  .comparison-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .comparison-period-controls{grid-template-columns:1fr}
  .comparison-period-controls .btn{grid-column:auto}
  .comparison-summary-grid{grid-template-columns:1fr}
}

/* V28 — Operación simplificada de sucursal */
.branch-ops-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}
.branch-ops-head h2{margin-bottom:4px}.branch-ops-head p{margin:0;color:var(--muted)}
.branch-ops-head label{min-width:230px;display:grid;gap:6px;color:var(--muted);font-size:13px}
.locked-branch select{background:#f3f4f6}
.branch-ops-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.branch-op-metric{border-left:4px solid var(--border)}.branch-op-metric.transit{border-left-color:#d89b21}
.branch-op-metric.received{border-left-color:var(--green)}.branch-op-metric.variance{border-left-color:var(--red)}
.branch-op-metric span,.branch-op-metric small{display:block;color:var(--muted)}
.branch-op-metric strong{display:block;font-size:25px;margin:7px 0}
.branch-ops-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:18px;margin-top:18px}
.receipt-qty-input{min-width:105px}.receipt-confirm-btn{white-space:nowrap;padding:8px 10px}
.receipt-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:700}
.receipt-status.received{background:var(--green-soft);color:#16784d}
.receipt-status.difference{background:var(--red-soft);color:#9b1c1c}
@media(max-width:900px){
  .branch-ops-head{align-items:stretch;flex-direction:column}.branch-ops-head label{min-width:0}
  .branch-ops-metrics{grid-template-columns:1fr}.branch-ops-grid{grid-template-columns:1fr}
}

/* V29 — Venta diaria desglosada en una sola captura */
.sales-breakdown{
  border:1px solid var(--border);
  border-radius:14px;
  padding:16px;
  background:#f8fbff;
}
.sales-breakdown-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}
.sales-breakdown-head strong,
.sales-breakdown-head small{display:block}
.sales-breakdown-head small{color:var(--muted);margin-top:3px}
.sales-breakdown-status{
  text-align:right;
}
.sales-breakdown-status span{
  display:block;
  color:var(--muted);
  font-size:12px;
}
.sales-breakdown-status strong{
  color:var(--gestapp-primary);
  font-size:20px;
}
.sales-breakdown-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.sales-breakdown-grid label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:13px;
}
.sales-balance{
  margin-top:12px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:10px;
  background:#fff3f3;
  color:var(--red);
}
.sales-balance.balanced{
  background:var(--green-soft);
  color:#16784d;
}
.sales-balance.unbalanced{
  background:#fff3f3;
  color:var(--red);
}
@media(max-width:900px){
  .sales-breakdown-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .sales-breakdown-head{align-items:flex-start;flex-direction:column}
  .sales-breakdown-status{text-align:left}
  .sales-breakdown-grid{grid-template-columns:1fr}
}

/* V30 — Consulta de envíos e impresión de salida */
.movement-type-btn.shipment.active{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
}
@media print{
  .no-print{display:none!important}
}

.company-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.active-company-box{border:1px solid var(--border);border-radius:14px;padding:18px;background:#f8fafc}
.active-company-box span{display:block;color:var(--muted);font-size:13px}
.active-company-box strong{display:block;font-size:24px;margin-top:8px;color:#2563eb}
.employee-filters{grid-template-columns:1fr 1fr}
@media(max-width:900px){.company-layout{grid-template-columns:1fr}.employee-filters{grid-template-columns:1fr}}


/* V32 — Productos con variantes y descripción */
.product-editor-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:12px;
  align-items:end;
  margin-bottom:18px;
}
.product-editor-grid label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:13px;
}
.product-editor-grid label small{
  font-size:11px;
  color:var(--muted);
}
.product-online-toggle{
  display:flex!important;
  align-items:center;
  gap:8px!important;
  color:var(--text)!important;
}
.product-online-toggle input{width:auto}
.product-admin-list{display:grid;gap:10px}
.product-admin-item{
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  background:#fafbfc;
}
.product-admin-main{
  display:flex;
  justify-content:space-between;
  gap:14px;
}
.product-admin-main strong{font-size:16px}
.product-admin-main p{margin:8px 0 0;color:var(--muted);font-size:13px}
.product-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.product-meta span,.variant-chip{
  display:inline-flex;
  border:1px solid var(--border);
  background:#fff;
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
}
.product-price{font-size:18px;font-weight:800}
.variant-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.product-actions{display:flex;gap:8px;margin-top:12px}
@media(max-width:900px){
  .product-editor-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .product-editor-grid{grid-template-columns:1fr}
  .product-admin-main{flex-direction:column}
}

/* V33 — Caja / POS */
.pos-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}
.pos-toolbar h2{margin:0 0 4px}.pos-toolbar p{margin:0;color:var(--muted)}
.pos-toolbar-controls{display:flex;align-items:end;gap:10px}
.pos-toolbar-controls label{display:grid;gap:5px;color:var(--muted);font-size:12px;min-width:190px}
.pos-mode-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.pos-mode{border:1px solid var(--border);background:#fff;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}
.pos-mode.active{background:#25262a;color:#fff;border-color:#25262a}
.pos-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:16px}
.pos-order-context{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}
.pos-order-context label,.pos-ticket label{display:grid;gap:5px;color:var(--muted);font-size:12px}
.pos-product-search{margin-bottom:12px}
.pos-products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pos-product-card{border:1px solid var(--border);border-radius:14px;padding:12px;background:#fafbfc}
.pos-product-info strong,.pos-product-info small{display:block}
.pos-product-info small{color:var(--muted);margin-top:4px;min-height:30px}
.pos-variant-buttons{display:grid;gap:6px;margin-top:10px}
.pos-product-add{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px;cursor:pointer;text-align:left}
.pos-product-add:hover{border-color:#7c3aed}
.pos-ticket{align-self:start;position:sticky;top:16px}
.pos-ticket-head,.pos-total-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pos-ticket-head span{display:block;color:var(--muted);font-size:12px}
.pos-ticket-head strong{display:block;font-size:18px;margin-top:2px}
.pos-cart{display:grid;gap:8px;margin:14px 0;max-height:420px;overflow:auto}
.pos-cart-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding-bottom:8px}
.pos-cart-row small{display:block;color:var(--muted)}
.pos-qty{display:flex;align-items:center;gap:5px}
.pos-qty button,.pos-remove{border:0;background:#eef0f3;width:28px;height:28px;border-radius:7px;cursor:pointer}
.pos-remove{background:#fff0f0;color:var(--red)}
.pos-total-row{border-top:2px solid var(--border);padding:14px 0;font-size:18px}.pos-total-row strong{font-size:26px}
.pos-ticket-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.pos-open-orders-card{margin-top:16px}
.pos-open-orders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.open-order-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px;text-align:left;cursor:pointer}
.open-order-card span,.open-order-card strong,.open-order-card b{display:block}.open-order-card span{font-size:12px;color:var(--muted)}.open-order-card b{margin-top:8px}
.checkout-total{display:flex;justify-content:space-between;align-items:center;padding:14px;border-radius:12px;background:#f3f4f6;margin:10px 0}.checkout-total strong{font-size:24px}
.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkout-grid label{display:grid;gap:5px}

/* V33 — Tienda en línea */
.online-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:16px;margin-bottom:16px}
.online-option{display:flex!important;align-items:center;gap:8px!important;color:var(--text)!important}.online-option input{width:auto}
.online-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.online-product-card{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fafbfc}
.online-product-card p{color:var(--muted);font-size:13px}.online-product-card span{display:block;margin-top:5px;font-size:12px}
.online-order-products{display:grid;gap:8px;margin:12px 0;max-height:280px;overflow:auto}
.online-order-product{border:1px solid var(--border);border-radius:10px;padding:10px}.online-order-product>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.online-draft-list{display:grid;gap:5px;margin-top:10px}.online-draft-list>div{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}
.empty-state{color:var(--muted);padding:18px;text-align:center;border:1px dashed var(--border);border-radius:12px}
@media(max-width:1050px){.pos-layout,.online-layout{grid-template-columns:1fr}.pos-ticket{position:static}.pos-products-grid{grid-template-columns:repeat(2,1fr)}.pos-open-orders{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.pos-toolbar{align-items:stretch;flex-direction:column}.pos-toolbar-controls{align-items:stretch;flex-direction:column}.pos-toolbar-controls label{min-width:0}.pos-order-context,.checkout-grid,.online-catalog-grid{grid-template-columns:1fr}.pos-products-grid,.pos-open-orders{grid-template-columns:1fr}.pos-ticket-actions{grid-template-columns:1fr}}

/* V34 — Evolución exclusiva de Caja/POS */
.pos-pro-shell{display:grid;gap:14px}
.pos-header-actions{display:flex;gap:10px;align-items:end;margin-left:auto;min-width:0}.pos-header-actions label{display:grid;gap:4px;color:var(--muted);font-size:12px;min-width:190px}
.pos-subnav{display:flex;gap:4px;border-bottom:1px solid var(--border)}
.pos-subnav-btn{border:0;background:transparent;padding:12px 16px;font-weight:800;cursor:pointer;border-bottom:3px solid transparent}
.pos-subnav-btn.active{color:#2563eb;border-bottom-color:#2563eb}
.pos-order-tabs{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:14px;padding:8px}
.pos-order-tab{border:0;background:transparent;padding:10px 14px;border-radius:10px;font-weight:800;cursor:pointer}
.pos-order-tab.active{background:#eef5ff;color:#1262d8}.pos-order-tab span{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border-radius:999px;background:#eef0f3;margin-left:5px;font-size:11px}
.pos-filter-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px 12px}
.pos-status-filter{display:flex;gap:7px;flex-wrap:wrap}.pos-status-chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:7px 11px;cursor:pointer}.pos-status-chip.active{border-color:#2563eb;color:#2563eb;background:#f0f6ff}
.pos-order-total-line{color:var(--muted)}.pos-order-total-line strong{color:var(--text)}
.pos-order-board{display:grid;gap:10px}
.pos-order-card{display:grid;grid-template-columns:5px 1fr;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}
.pos-order-accent{background:#2563eb}.pos-order-main{padding:13px}
.pos-order-top{display:flex;justify-content:space-between;gap:12px}.pos-order-top>div:first-child strong,.pos-order-top>div:first-child span{display:block}.pos-order-top>div:first-child span{font-size:12px;color:var(--muted);margin-top:3px}
.pos-order-amount{text-align:right}.pos-order-amount strong,.pos-order-amount span{display:block}.pos-payment-badge{font-size:11px;margin-top:4px}.pos-payment-badge.unpaid{color:#b35b00}
.pos-order-details{display:flex;gap:15px;flex-wrap:wrap;margin:10px 0;color:var(--muted);font-size:13px}
.pos-order-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.pos-status-select{width:auto;min-width:150px}.pos-card-charge{padding:8px 12px}
.pos-history-toolbar label{display:grid;gap:4px;color:var(--muted);font-size:12px}
.pos-cash-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px}.pos-cash-status{display:grid;gap:5px;margin-bottom:14px}.cash-open-badge,.cash-closed-badge{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.cash-open-badge{background:#e7f8ef;color:#16784d}.cash-closed-badge{background:#f1f2f4;color:#60646c}
#posCashActionForm{display:grid;gap:10px}#posCashActionForm label{display:grid;gap:5px;color:var(--muted);font-size:12px}#posOpeningFloat{width:100%;min-width:0;padding:12px 14px;font-size:20px;font-weight:800;line-height:1.2}#posCashActionBtn,.pos-cash-state-block{width:100%;min-height:62px;border-radius:12px;font-size:18px;font-weight:900;letter-spacing:.04em}.pos-cash-state-block{display:flex;align-items:center;justify-content:center;padding:14px;text-align:center}.pos-cash-state-block.closed{background:#374151;color:#fff}.pos-cash-state-block.open{background:#168257;color:#fff}
.pos-cash-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pos-cash-summary-grid>div{border:1px solid var(--border);border-radius:12px;padding:12px}.pos-cash-summary-grid span{display:block;color:var(--muted);font-size:12px}.pos-cash-summary-grid strong{display:block;margin-top:6px;font-size:20px}.pos-cash-summary-grid .wide{grid-column:span 2}
.pos-cash-history-card{margin-top:14px}
.pos-cash-dialog{width:min(820px,calc(100% - 24px));max-height:92vh;overflow:auto;border:1px solid #d9dde5;border-radius:16px;padding:0;color:#191b1f;background:var(--card,#fff);opacity:1;box-shadow:0 24px 70px rgba(0,0,0,.35);z-index:1000}.pos-cash-dialog::backdrop{background:rgba(15,23,42,.68)}.pos-cash-dialog-panel{padding:22px;background:#fff;color:#191b1f;opacity:1}.pos-cash-dialog .card-head h2,.pos-cash-dialog h3,.pos-cash-dialog strong{color:#191b1f}.pos-cash-dialog input{background:#fff;color:#191b1f;border:1px solid #cfd5df}.pos-cash-section-title{margin:22px 0 8px;padding-top:14px;border-top:1px solid var(--border);font-size:14px}.pos-cash-cut-grid,.pos-cash-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.pos-cash-cut-grid>div,.pos-cash-report-grid>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding:8px 0}.pos-cash-cut-grid span,.pos-cash-report-grid span{color:var(--muted)}.pos-cash-cut-inputs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:10px}.pos-cash-cut-inputs label{display:grid;gap:5px;color:#4b5563}.pos-cash-cut-inputs>div{border:1px solid var(--border);border-radius:10px;padding:10px;background:#f8fafc}.pos-cash-cut-inputs span,.pos-cash-cut-inputs strong{display:block}.pos-cash-print-report{background:#fff;color:#111;padding:22px}.pos-cash-print-report header{text-align:center;border-bottom:2px solid #222;margin-bottom:20px}.pos-cash-print-report h1{margin:0;font-size:28px}.pos-cash-report-branch{margin-top:5px;font-size:17px;font-weight:800}.pos-cash-print-report h2{margin:8px 0 16px;font-size:20px}.pos-cash-print-report h3{margin-top:22px}.pos-cash-signatures{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:70px;text-align:center}
.pos-composer{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.pos-composer.hidden{display:none!important}.pos-composer-backdrop{position:absolute;inset:0;background:rgba(15,20,30,.58)}
.pos-composer-window{position:relative;width:min(1250px,96vw);max-height:94vh;overflow:auto;background:#f5f6f8;border-radius:18px;padding:16px;box-shadow:0 25px 70px rgba(0,0,0,.25)}
.pos-composer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.pos-composer-head span,.pos-composer-head strong{display:block}.pos-composer-head span{font-size:12px;color:var(--muted)}.pos-composer-head strong{font-size:20px}.pos-composer-close{border:0;background:#e9ebef;width:38px;height:38px;border-radius:50%;font-size:24px;cursor:pointer}
.pos-composer-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.8fr);gap:14px}.pos-products-panel,.pos-ticket{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px}.pos-ticket{position:static}
@media(max-width:1000px){.pos-cash-grid,.pos-composer-body{grid-template-columns:1fr}}
@media(max-width:760px){.topbar:has(.pos-header-actions:not(.hidden)){align-items:stretch}.pos-header-actions{flex:1 0 100%;justify-content:flex-end;margin-left:0}}
@media(max-width:650px){.pos-header-actions{align-items:end}.pos-header-actions label{min-width:0;flex:1 1 180px}.pos-new-order-menu-wrap{flex:0 0 auto}.pos-subnav{overflow:auto}.pos-order-top{flex-direction:column}.pos-order-amount{text-align:left}.pos-order-actions{justify-content:flex-start;flex-wrap:wrap}.pos-cash-summary-grid{grid-template-columns:1fr}.pos-cash-summary-grid .wide{grid-column:auto}.pos-composer{padding:6px}.pos-composer-window{width:100%;max-height:98vh;border-radius:12px}}
@media(max-width:430px){.pos-header-actions{align-items:stretch;flex-direction:column}.pos-header-actions .pos-new-order-menu-wrap,.pos-header-actions .pos-new-order-trigger{width:100%}}
.employee-form-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px}.employee-form-grid>label{display:grid;gap:6px}.employee-address,.employee-contact-block,.employee-notes{grid-column:1/-1}.employee-contact-block{border:1px solid var(--border);border-radius:12px;padding:14px;display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px}.employee-contact-block legend{font-weight:800;padding:0 6px}.employee-contact-block label{display:grid;gap:6px}.employee-notes textarea{width:100%}
.employee-medical-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(130px,.6fr) 3.4fr;gap:14px}.employee-medical-row label{display:grid;gap:6px}
@media(max-width:900px){.employee-form-grid{grid-template-columns:1fr 1fr}.employee-name,.employee-address,.employee-contact-block,.employee-notes,.employee-medical-row{grid-column:1/-1}.employee-contact-block{grid-template-columns:1fr 1fr}.employee-contact-block label:last-child{grid-column:1/-1}}
@media(max-width:600px){.employee-form-grid,.employee-contact-block,.employee-medical-row,.pos-cash-cut-grid,.pos-cash-report-grid,.pos-cash-cut-inputs,.pos-cash-signatures{grid-template-columns:1fr}.employee-form-grid>* ,.employee-contact-block label:last-child{grid-column:auto}.pos-cash-dialog{padding:14px}.pos-cash-signatures{gap:50px}}
@media print{body *{visibility:hidden!important}#posCashCutDialog,#posCashCutDialog *,#posCashPrintReport,#posCashPrintReport *{visibility:visible!important}#posCashCutDialog{position:absolute;inset:0;width:100%;max-height:none;margin:0;padding:0;border:0;box-shadow:none;background:#fff;color:#111}#posCashCutDialog::backdrop{display:none}.pos-cash-print-report{font-family:Arial,sans-serif;font-size:11pt;padding:12mm}.pos-cash-report-grid{break-inside:avoid}.pos-cash-report-grid>div{border-color:#bbb}.pos-cash-report-grid span{color:#333}.no-print{display:none!important}@page{margin:12mm}}

/* V35 — Tienda en línea multiempresa conectada a POS */
.online-pro-shell{display:grid;gap:16px}
.online-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.online-products-config-card>label{display:grid;gap:6px;margin-bottom:12px;color:var(--muted);font-size:13px}.online-products-config-card small{color:var(--muted)}
.online-order-filters{grid-template-columns:repeat(4,1fr)}
.public-store-dialog{width:min(1180px,98vw);height:min(900px,96vh);padding:0;border:0;border-radius:18px;overflow:hidden}
.public-store-dialog::backdrop{background:rgba(20,25,35,.65)}
.public-store-shell{height:100%;overflow:auto;background:#fff;position:relative}.public-store-top{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 22px;display:flex;justify-content:space-between;align-items:center}.public-store-top span,.public-store-top strong,.public-store-top small{display:block}.public-store-top span{font-size:12px;color:#6b7280}.public-store-top strong{font-size:24px}.public-store-top small{color:#6b7280}.public-store-close{border:0;background:#f1f3f5;width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer}
.public-store-categories{display:flex;gap:10px;overflow:auto;padding:16px 22px;border-bottom:1px solid #f0f1f2;position:sticky;top:77px;background:#fff;z-index:3}.public-store-categories button{border:0;background:transparent;padding:9px 4px;font-weight:800;white-space:nowrap;border-bottom:3px solid transparent}.public-store-categories button.active{color:#e11d2e;border-bottom-color:#e11d2e}
.public-store-catalog{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:20px 22px 90px}.public-product-card{display:grid;grid-template-columns:92px 1fr 38px;gap:12px;align-items:center;border-bottom:1px solid #eee;padding:12px 0;cursor:pointer}.public-product-placeholder{width:92px;height:92px;border-radius:14px;background:linear-gradient(145deg,#f4b24c,#e44d31);display:grid;place-items:center;color:#fff;font-weight:900;font-size:28px}.public-product-card p{margin:5px 0;color:#777;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.public-product-card span{font-weight:900}.public-product-card>button{border:0;background:#ef233c;color:#fff;width:34px;height:34px;border-radius:10px;font-size:20px}
.public-cart-button{position:sticky;bottom:14px;margin:0 auto 14px;display:block;width:min(520px,90%);background:#ef233c;color:#fff;border:0;border-radius:12px;padding:14px;font-weight:900;box-shadow:0 8px 25px rgba(239,35,60,.25)}
.public-back-btn{margin:16px 22px;border:0;background:#f3f4f6;border-radius:10px;padding:9px 12px;cursor:pointer}.public-product-detail{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;padding:10px 22px 26px}.public-product-visual{min-height:340px;border-radius:18px;background:linear-gradient(145deg,#f4b24c,#e44d31);display:grid;place-items:center;color:#fff;font-size:72px;font-weight:900}.public-product-content h2{font-size:28px;margin:0 0 8px}.public-product-content>p{color:#777}.public-option-section{border-top:1px solid #e5e7eb;padding-top:14px;margin-top:14px}.public-option-section h3{margin:0 0 8px}.public-option-section h3 small{font-size:11px;color:#16a34a;margin-left:7px}.public-choice{display:grid!important;grid-template-columns:auto 1fr auto;gap:10px!important;align-items:center!important;border-bottom:1px solid #eee;padding:10px 0;color:#111!important}.public-choice input{width:auto}.public-add-row{display:grid;grid-template-columns:160px 1fr;gap:12px;margin-top:18px}.public-qty-control{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border:1px solid #ddd;border-radius:10px}.public-qty-control button{border:0;background:transparent;font-size:20px}.public-qty-control strong{text-align:center}
.public-cart-layout{display:grid;grid-template-columns:1.4fr .7fr;gap:25px;padding:10px 22px 30px}.public-cart-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid #eee}.public-cart-item small,.public-cart-item em{display:block;color:#777;margin-top:3px}.public-cart-item-actions{display:flex;gap:7px;align-items:center}.public-cart-item-actions button{border:0;background:#f2f3f5;width:28px;height:28px;border-radius:7px}.public-cart-summary{border:1px solid #e5e7eb;border-radius:14px;padding:16px;height:max-content}.public-cart-summary>div:first-child{display:flex;justify-content:space-between;font-size:20px;margin-bottom:14px}.public-service-options{display:grid;gap:8px}.public-service-options button{border:1px solid #ddd;background:#fff;border-radius:10px;padding:12px;text-align:left;font-weight:800}.public-service-options button.active{border-color:#ef233c;background:#fff4f5;color:#d91f35}.public-cart-summary>.btn{width:100%;margin-top:14px}
.public-suggested-section{margin-top:22px}.public-suggested-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.public-suggested-grid button{border:1px solid #ddd;background:#fff;border-radius:10px;padding:10px;text-align:left}.public-suggested-grid strong,.public-suggested-grid span{display:block}.public-checkout-card{width:min(720px,92%);margin:10px auto 30px;border:1px solid #e5e7eb;border-radius:14px;padding:20px}.public-checkout-total{display:flex;justify-content:space-between;font-size:22px;margin:20px 0}.public-checkout-card>.btn{width:100%}.public-confirmation{text-align:center;padding:80px 20px}.public-confirm-icon{width:70px;height:70px;border-radius:50%;background:#dcfce7;color:#16a34a;display:grid;place-items:center;font-size:36px;margin:0 auto 16px}
@media(max-width:900px){.online-admin-grid{grid-template-columns:1fr}.online-order-filters{grid-template-columns:1fr 1fr}.public-product-detail,.public-cart-layout{grid-template-columns:1fr}.public-product-visual{min-height:220px}.public-store-catalog{grid-template-columns:1fr}}
@media(max-width:560px){.online-order-filters{grid-template-columns:1fr}.public-store-catalog{padding-left:14px;padding-right:14px}.public-store-categories{padding-left:14px;padding-right:14px}.public-product-detail{padding-left:14px;padding-right:14px}.public-add-row{grid-template-columns:1fr}.public-cart-layout{padding-left:14px;padding-right:14px}.public-suggested-grid{grid-template-columns:1fr 1fr}}

/* V36 — Registro profesional de productos con foto */
.product-editor-pro{display:grid;grid-template-columns:240px 1fr;gap:22px;margin-bottom:22px}
.product-photo-panel{display:grid;align-content:start;gap:10px}
.product-photo-preview{width:100%;aspect-ratio:1/1;border:2px dashed var(--border);border-radius:16px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-weight:700}
.product-photo-preview img{width:100%;height:100%;object-fit:cover}
.product-photo-panel small{color:var(--muted);font-size:11px}
.product-photo-button{display:block;text-align:center;cursor:pointer}
.product-editor-fields{min-width:0}
.product-config-section{border-top:1px solid var(--border);padding-top:14px;margin-top:14px}
.product-config-section>label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.product-config-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.product-config-head strong,.product-config-head small{display:block}.product-config-head small{color:var(--muted);font-size:11px;margin-top:2px}
.product-rows-editor,.modifier-editor{display:grid;gap:8px}
.product-editor-row{display:grid;grid-template-columns:1.5fr .7fr auto;gap:8px;align-items:center}
.modifier-group-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fafbfc}
.modifier-group-head{display:grid;grid-template-columns:1.4fr auto auto;gap:8px;align-items:center;margin-bottom:10px}.modifier-group-head label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.modifier-group-head label input{width:auto}
.modifier-options-list{display:grid;gap:7px}.modifier-add-option{margin-top:8px}
.empty-state.compact{padding:10px;font-size:12px}
.product-admin-main{display:grid!important;grid-template-columns:80px 1fr auto!important;align-items:start}
.product-list-photo{width:80px;height:80px;border-radius:12px;overflow:hidden;background:#f1f3f5;display:grid;place-items:center;color:var(--muted);font-size:11px}
.product-list-photo img{width:100%;height:100%;object-fit:cover}
.product-list-info{min-width:0}.product-extra-count{display:block;margin-top:6px;color:var(--muted)}
.public-product-placeholder img,.public-product-visual img{width:100%;height:100%;object-fit:cover}
@media(max-width:850px){.product-editor-pro{grid-template-columns:1fr}.product-photo-panel{max-width:280px}.modifier-group-head{grid-template-columns:1fr}.product-editor-row{grid-template-columns:1fr 1fr}.product-editor-row .mini-btn{grid-column:span 2}}
@media(max-width:560px){.product-editor-row{grid-template-columns:1fr}.product-editor-row .mini-btn{grid-column:auto}.product-admin-main{grid-template-columns:70px 1fr!important}.product-price{grid-column:2}.product-list-photo{width:70px;height:70px}}

/* V37 — separación compras/gastos vs productos de venta */
.purchase-product-add{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px;align-items:end}
.purchase-product-add label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.purchase-products-list{display:grid;gap:8px;margin-top:14px}
.purchase-product-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fafbfc}
.purchase-product-row strong,.purchase-product-row small{display:block}.purchase-product-row small{color:var(--muted);margin-top:2px}
.sales-products-admin-card{margin-bottom:16px}
.sales-category-strip{border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:18px}
.sales-category-strip .chips{margin-top:10px}
.product-price{display:grid;justify-items:end;gap:2px}
.product-price .old-price{text-decoration:line-through;color:var(--muted);font-weight:500}
.product-price strong{font-size:18px}
@media(max-width:800px){.purchase-product-add{grid-template-columns:1fr}.purchase-product-row{align-items:flex-start}}

/* V38 — módulo ligero de repartidores */
.delivery-shell{display:grid;gap:16px}
.delivery-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.delivery-metrics article span{display:block;color:var(--muted);font-size:12px}.delivery-metrics article strong{display:block;font-size:28px;margin-top:5px}
.delivery-orders-list{display:grid;gap:12px}.delivery-order-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:15px}.delivery-order-head{display:flex;justify-content:space-between;gap:12px}.delivery-order-head span,.delivery-order-head strong{display:block}.delivery-order-head span{color:#2563eb;font-size:12px;font-weight:800}.delivery-customer h3{margin:12px 0 4px}.delivery-customer p{margin:0;color:var(--muted)}.delivery-customer small{display:block;margin-top:4px}
.delivery-order-items{margin:12px 0;padding:10px;border-radius:10px;background:#f8fafc}.delivery-order-items div{padding:3px 0}.delivery-order-items em{display:block;margin-top:7px;color:#b45309;font-size:12px}
.delivery-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.whatsapp-btn{background:#dcfce7;border-color:#bbf7d0!important;color:#166534!important}.delivery-location-note{margin-top:10px;color:var(--muted);font-size:11px}
.pos-driver-select{width:auto;min-width:160px}
.tracking-dialog{border:0;border-radius:18px;padding:0;width:min(760px,95vw)}.tracking-dialog::backdrop{background:rgba(15,23,42,.6)}.tracking-card{padding:16px}.tracking-head{display:flex;justify-content:space-between;align-items:center}.tracking-head span,.tracking-head strong{display:block}.tracking-head span{font-size:12px;color:var(--muted)}.tracking-head strong{font-size:20px}.tracking-head button{border:0;background:#f1f5f9;width:36px;height:36px;border-radius:50%;font-size:22px}
.tracking-status-line{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:12px 0}.tracking-status-line span{background:#e0f2fe;color:#0369a1;padding:6px 10px;border-radius:999px;font-weight:800;font-size:12px}.tracking-status-line small{color:var(--muted)}
.tracking-card iframe{width:100%;height:380px;border:1px solid var(--border);border-radius:14px;background:#f8fafc}.tracking-card iframe.tracking-no-location{background:linear-gradient(135deg,#f8fafc,#e2e8f0)}
.tracking-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.tracking-details div{border:1px solid var(--border);border-radius:10px;padding:10px}.tracking-details span,.tracking-details strong{display:block}.tracking-details span{font-size:11px;color:var(--muted)}.tracking-details strong{margin-top:3px}
@media(max-width:900px){.delivery-actions{grid-template-columns:1fr 1fr}.delivery-metrics{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.delivery-metrics{grid-template-columns:1fr}.delivery-actions{grid-template-columns:1fr}.tracking-details{grid-template-columns:1fr}.tracking-card iframe{height:300px}}

/* V39 — Repartos corregido y separado de Tienda */
.delivery-admin-filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.delivery-admin-filters label{display:grid;gap:5px;color:var(--muted);font-size:12px}
.delivery-active-card{padding:16px}
.delivery-driver-line{display:flex;gap:6px;align-items:center;margin-top:8px;font-size:12px;color:var(--muted)}
.delivery-driver-line strong{color:var(--text)}
@media(max-width:700px){.delivery-admin-filters{grid-template-columns:1fr}}

/* V40 — Base de clientes y múltiples direcciones */
.pos-customer-lookup{border:1px solid var(--border);border-radius:14px;background:#fff;padding:12px;margin-bottom:12px}
.pos-phone-first{display:grid;grid-template-columns:minmax(240px,.7fr) 1.3fr;gap:12px;align-items:end;margin-bottom:10px}
.pos-phone-first label{display:grid;gap:5px;font-weight:800}.pos-phone-first input{font-size:18px;font-weight:800}
.pos-customer-status{border:1px dashed var(--border);border-radius:10px;padding:10px;color:var(--muted);font-size:12px}
.pos-customer-status.found{background:#ecfdf5;border-color:#a7f3d0;color:#166534}.pos-customer-status.new{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.pos-new-address-fields{display:grid;grid-template-columns:1.5fr 1fr .6fr 1fr;gap:10px}.pos-new-address-fields label{display:grid;gap:5px;color:var(--muted);font-size:12px}
.pos-customer-filters{display:grid;grid-template-columns:1fr 1fr 1fr .7fr auto;gap:10px;align-items:end;margin-bottom:14px}.pos-customer-filters label{display:grid;gap:5px;color:var(--muted);font-size:12px}
.customer-address-line{margin-bottom:5px}.customer-address-line small{display:block;color:var(--muted);margin-left:18px}
@media(max-width:900px){.pos-phone-first{grid-template-columns:1fr}.pos-new-address-fields{grid-template-columns:1fr 1fr}.pos-customer-filters{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pos-new-address-fields,.pos-customer-filters{grid-template-columns:1fr}}

.public-delivery-address-grid{display:grid;grid-template-columns:1.4fr 1fr .6fr 1fr;gap:10px}
@media(max-width:700px){.public-delivery-address-grid{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.public-delivery-address-grid{grid-template-columns:1fr}}

/* V42 — Comandero digital de cocina / KDS */
.kds-shell{display:grid;gap:14px}
.kds-header{display:flex;justify-content:space-between;align-items:end;gap:16px}
.kds-header p{margin:0;color:var(--muted)}
.kds-header-actions{display:flex;gap:8px;align-items:end}.kds-header-actions label{display:grid;gap:4px;color:var(--muted);font-size:12px;min-width:190px}
.kds-station-tabs{display:flex;gap:6px;flex-wrap:wrap}
.kds-station-tab{border:1px solid var(--border);background:#fff;border-radius:10px;padding:12px 16px;font-weight:900;cursor:pointer}
.kds-station-tab.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}
.kds-station-tab span{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;margin-left:5px;border-radius:999px;background:#e5e7eb;font-size:11px}
.kds-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.kds-status-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.kds-status-legend span{display:flex;align-items:center;gap:5px}
.kds-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.kds-dot.fresh{background:#22c55e}.kds-dot.warning{background:#f59e0b}.kds-dot.late{background:#ef4444}
.kds-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px;align-items:start}
.kds-ticket{border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 2px 6px rgba(15,23,42,.04)}
.kds-ticket.fresh .kds-ticket-head{background:#dcfce7}.kds-ticket.warning .kds-ticket-head{background:#fef3c7}.kds-ticket.late .kds-ticket-head{background:#fecaca}
.kds-ticket-head{display:flex;justify-content:space-between;gap:10px;padding:12px 13px}
.kds-ticket-head strong,.kds-ticket-head span{display:block}.kds-ticket-head strong{font-size:18px}.kds-ticket-head span{font-size:11px;color:#475569;margin-top:2px}
.kds-time{text-align:right}.kds-time b,.kds-time small{display:block}.kds-time b{font-size:17px}.kds-time small{font-size:11px;color:#64748b;margin-top:2px}
.kds-ticket-meta{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:6px 14px;padding:8px 13px;background:#f8fafc;border-bottom:1px solid var(--border);font-size:12px;color:#475569}
.kds-ticket-meta b{color:var(--gestapp-navy);font-size:11px}.kds-item-course{color:var(--gestapp-primary-dark)!important;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.kds-items{padding:0 13px}
.kds-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px dashed #cbd5e1;cursor:pointer}
.kds-item-main strong{display:block;font-size:15px;line-height:1.25}.kds-item-main em{font-weight:700}.kds-item-main small{display:block;color:#64748b;margin-top:5px;line-height:1.45}.kds-item-main mark{display:block;background:#fff7ed;color:#9a3412;padding:4px 6px;border-radius:6px;margin-top:6px;font-size:12px}
.kds-item input{width:22px;height:22px}.kds-item.prepared{opacity:.48}.kds-item.prepared .kds-item-main{text-decoration:line-through}
.kds-order-note{margin:10px 0;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:8px;padding:8px;font-size:12px}
.kds-complete-btn{width:calc(100% - 24px);margin:12px;border:1px solid #2563eb;background:#fff;color:#2563eb;border-radius:9px;padding:10px;font-weight:900;cursor:pointer}
.kds-complete-btn:hover{background:#eff6ff}
.kds-empty{text-align:center;padding:80px 20px;color:#64748b}.kds-empty div{width:64px;height:64px;border-radius:50%;background:#dcfce7;color:#16a34a;display:grid;place-items:center;font-size:34px;margin:0 auto 12px}.kds-empty strong,.kds-empty span{display:block}.kds-empty strong{font-size:20px;color:#334155}.kds-empty span{margin-top:6px}
@media(max-width:850px){.kds-header{align-items:stretch;flex-direction:column}.kds-header-actions{align-items:stretch;flex-direction:column}.kds-header-actions label{min-width:0}.kds-toolbar{align-items:stretch;flex-direction:column}.kds-board{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
@media(max-width:540px){.kds-board{grid-template-columns:1fr}.kds-station-tabs{display:grid;grid-template-columns:1fr 1fr}.kds-station-tab:last-child{grid-column:span 2}}

/* V43 — GestApp branding + collapsible navigation */
.gestapp-mark{
  background:linear-gradient(145deg,#2563eb,#111827)!important;
  letter-spacing:-1px;
}
.brand{position:relative}
.brand-copy{min-width:0}
.brand-copy strong{font-size:16px;letter-spacing:.1px}
.brand-copy span{max-width:145px;line-height:1.25}
.sidebar-collapse-btn{
  width:100%;font-size:14px;line-height:1.2;
}
.sidebar-collapse-icon{font-size:20px;font-weight:400;line-height:1}
.app-shell{transition:grid-template-columns .2s ease}
.sidebar{transition:padding .2s ease,gap .2s ease}
.app-shell.sidebar-collapsed{grid-template-columns:72px 1fr}
.app-shell.sidebar-collapsed .sidebar{padding:18px 10px;gap:18px;align-items:stretch}
.app-shell.sidebar-collapsed .brand{justify-content:center}
.app-shell.sidebar-collapsed .brand-copy,
.app-shell.sidebar-collapsed .sidebar-footer span,
.app-shell.sidebar-collapsed .sidebar-footer .link-btn,
.app-shell.sidebar-collapsed .nav-btn span{display:none}
.app-shell.sidebar-collapsed .brand-mark{width:42px;height:42px;flex:0 0 42px}
.app-shell.sidebar-collapsed .sidebar-collapse-btn{
  position:static;width:100%;height:auto;border-radius:10px;box-shadow:none
}
.app-shell.sidebar-collapsed .nav-btn{
  justify-content:center;padding:12px 8px;font-size:18px
}
.app-shell.sidebar-collapsed .nav{gap:6px}
.app-shell.sidebar-collapsed .sidebar-footer{min-height:18px}

/* Kitchen gets maximum monitor space automatically */
.app-shell.kitchen-focus{grid-template-columns:58px 1fr}
.app-shell.kitchen-focus .sidebar{
  padding:10px 7px;gap:10px
}
.app-shell.kitchen-focus .brand-copy,
.app-shell.kitchen-focus .sidebar-footer,
.app-shell.kitchen-focus .nav-btn span,
.app-shell.kitchen-focus .sidebar-collapse-btn{display:none}
.app-shell.kitchen-focus .brand-mark{width:38px;height:38px;border-radius:10px;margin:auto}
.app-shell.kitchen-focus .nav{gap:4px}
.app-shell.kitchen-focus .nav-btn{justify-content:center;padding:9px 5px;font-size:17px}
.app-shell.kitchen-focus .main{padding:12px 14px}
.app-shell.kitchen-focus .topbar{display:none}
.app-shell.kitchen-focus #cocina{min-height:calc(100vh - 24px)}

.kds-title-group{display:flex;align-items:center;gap:10px}
.kds-menu-btn{
  display:none;border:1px solid var(--gestapp-primary-dark);background:var(--gestapp-primary);color:#fff;width:38px;height:38px;
  border-radius:9px;font-size:20px;cursor:pointer
}
.app-shell.kitchen-focus .kds-menu-btn{display:inline-grid;place-items:center}

/* Temporary expanded kitchen menu */
.app-shell.kitchen-focus.kitchen-menu-open{grid-template-columns:240px 1fr}
.app-shell.kitchen-focus.kitchen-menu-open .sidebar{
  padding:18px 14px;gap:20px
}
.app-shell.kitchen-focus.kitchen-menu-open .brand{justify-content:flex-start}
.app-shell.kitchen-focus.kitchen-menu-open .brand-copy,
.app-shell.kitchen-focus.kitchen-menu-open .nav-btn span,
.app-shell.kitchen-focus.kitchen-menu-open .sidebar-footer{display:block}
.app-shell.kitchen-focus.kitchen-menu-open .nav-btn{justify-content:flex-start;padding:10px 12px;font-size:14px}
.app-shell.kitchen-focus.kitchen-menu-open .brand-mark{margin:0;width:42px;height:42px}
.app-shell.kitchen-focus.kitchen-menu-open .sidebar-collapse-btn{display:none}

@media(max-width:900px){
  .sidebar-collapse-btn{display:none!important}
  .app-shell.sidebar-collapsed,.app-shell.kitchen-focus,.app-shell.kitchen-focus.kitchen-menu-open{grid-template-columns:1fr}
  .app-shell.kitchen-focus .main{padding:10px}
  .app-shell.kitchen-focus .topbar{display:none}
  .app-shell.kitchen-focus .sidebar{
    padding:0;gap:0;align-items:stretch
  }
  .app-shell.kitchen-focus .mobile-menu-bar{display:flex}
  .app-shell.kitchen-focus .brand{display:none}
  .app-shell.kitchen-focus .nav-btn span{display:inline}
  .app-shell.kitchen-focus .nav-btn{justify-content:flex-start;font-size:14px}
  .app-shell.kitchen-focus .sidebar-footer{display:block}
  .app-shell.kitchen-focus .kds-menu-btn{display:none}
}

/* V47 - contraste login */
.gestapp-mark{color:#fff!important;}
.auth-panel .btn.primary{color:#fff!important;}

/* V47 - barra superior visible */
.topbar{position:static;z-index:auto;background:var(--bg);padding:10px 0 12px;}
.branch-plan-usage{margin:14px 0 8px;color:var(--muted);font-size:13px;font-weight:700}
.branch-kind-group{display:grid;gap:8px;padding-top:12px}.branch-kind-group+.branch-kind-group{margin-top:18px;border-top:1px solid var(--border)}.branch-kind-group h3{margin:0;color:var(--dark);font-size:14px;text-transform:uppercase;letter-spacing:.04em}
\n/* V47 - POS visual basado en flujo operativo */
.pos-flow-window{width:min(1500px,98vw)!important;max-height:96vh!important;}
.pos-flow-layout{display:grid;grid-template-columns:170px minmax(0,1.6fr) minmax(320px,.72fr);gap:12px;align-items:start;}
.pos-category-sidebar{background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px;position:sticky;top:0;max-height:62vh;overflow:auto;}
.pos-category-sidebar>strong{display:block;margin-bottom:10px;}.pos-category-list{display:grid;gap:5px}.pos-category-list button{border:0;background:transparent;text-align:left;padding:10px;border-radius:9px;cursor:pointer;font-weight:700;color:#4b5563}.pos-category-list button:hover,.pos-category-list button.active{background:#eef5ff;color:#1d4ed8}
.pos-products-grid.visual{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;max-height:62vh;overflow:auto;padding-right:3px}.pos-visual-product{border:1px solid var(--border);background:#fff;border-radius:14px;padding:0;overflow:hidden;text-align:left;cursor:pointer;transition:.15s}.pos-visual-product:hover{transform:translateY(-1px);border-color:#9dbcf6;box-shadow:0 4px 15px rgba(37,99,235,.08)}.pos-product-image{height:115px;background:linear-gradient(145deg,#f6c55d,#eb603c);display:grid;place-items:center;color:#fff;font-size:28px;font-weight:900;overflow:hidden}.pos-product-image img{width:100%;height:100%;object-fit:cover}.pos-product-copy{padding:10px}.pos-product-copy strong,.pos-product-copy small,.pos-product-copy b{display:block}.pos-product-copy small{color:var(--muted);font-size:11px;margin:3px 0 8px}.pos-product-copy b{font-size:15px}.pos-product-copy del{color:#9ca3af;font-weight:500;margin-right:4px}
.pos-ticket-title{display:flex;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border);}.pos-ticket-title span{font-size:12px;color:var(--muted)}.pos-ticket-totals{display:grid;gap:6px;border-top:1px solid var(--border);padding-top:10px}.pos-ticket-totals>div{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.pos-cart-row.enhanced{grid-template-columns:1fr auto auto auto}.pos-cart-row em{display:block;color:#b45309;font-size:11px;margin-top:3px}
.pos-product-dialog{width:min(900px,94vw);border:0;border-radius:18px;padding:0}.pos-product-dialog::backdrop{background:rgba(15,23,42,.6)}.pos-product-dialog-card{padding:18px}.pos-product-dialog-head{display:flex;justify-content:space-between;align-items:center}.pos-product-dialog-head span{font-size:11px;color:var(--muted)}.pos-product-dialog-head h2{margin:2px 0 0}.pos-product-dialog-head button{border:0;background:#f1f3f5;width:36px;height:36px;border-radius:50%;font-size:22px}.pos-product-detail-grid{display:grid;grid-template-columns:320px 1fr;gap:20px;margin-top:16px}.pos-detail-photo{height:320px;border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#f6c55d,#eb603c);display:grid;place-items:center;color:#fff;font-size:64px;font-weight:900}.pos-detail-photo img{width:100%;height:100%;object-fit:cover}.pos-detail-options>p{color:var(--muted)}.pos-detail-section{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.pos-detail-section h3{font-size:15px;margin-bottom:5px}.pos-detail-section h3 small{font-size:10px;color:#16a34a;margin-left:6px}.pos-detail-choice{display:grid!important;grid-template-columns:auto 1fr auto;gap:9px!important;align-items:center!important;padding:9px 0;border-bottom:1px solid #eef0f3;color:var(--text)!important}.pos-detail-choice input{width:auto}.pos-detail-footer{display:grid;grid-template-columns:150px 1fr;gap:10px;margin-top:16px}
.pos-cash-received{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.pos-cash-received label{display:grid;gap:5px;color:var(--muted);font-size:12px}.pos-cash-received>div{border:1px solid var(--border);border-radius:10px;padding:9px 12px}.pos-cash-received span,.pos-cash-received strong{display:block}.pos-cash-received span{font-size:11px;color:var(--muted)}.pos-cash-received strong{font-size:18px;margin-top:3px}.pos-payment-badge.paid{color:#15803d;background:#dcfce7;padding:3px 7px;border-radius:999px;display:inline-block!important}
@media(max-width:1100px){.pos-flow-layout{grid-template-columns:130px 1fr}.pos-ticket{grid-column:1/-1}.pos-products-grid.visual{grid-template-columns:repeat(2,1fr)}.pos-product-detail-grid{grid-template-columns:260px 1fr}.pos-detail-photo{height:260px}}
@media(max-width:700px){.pos-flow-layout{grid-template-columns:1fr}.pos-category-sidebar{position:static;max-height:none}.pos-category-list{display:flex;overflow:auto}.pos-category-list button{white-space:nowrap}.pos-products-grid.visual{grid-template-columns:1fr 1fr;max-height:none}.pos-product-detail-grid{grid-template-columns:1fr}.pos-detail-photo{height:220px}.pos-detail-footer{grid-template-columns:1fr}.pos-cash-received{grid-template-columns:1fr}}

/* V49 — POS ampliado, tarjetas visuales y modificadores globales */
.pos-composer{padding:8px}
.pos-composer-window.pos-flow-window{
  width:min(1680px,99vw)!important;
  height:97vh;
  max-height:97vh!important;
  padding:16px 18px;
}
.pos-flow-layout{
  min-height:calc(97vh - 235px);
  grid-template-columns:170px minmax(0,1fr) minmax(360px,430px)!important;
}
.pos-products-panel{min-width:0}
.pos-products-grid.visual{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;
  gap:14px!important;
  align-content:start;
}
.pos-visual-product{
  display:flex;
  flex-direction:column;
  min-height:260px;
  border-radius:16px;
}
.pos-product-image{
  width:100%;
  height:auto!important;
  aspect-ratio:1/1;
  background:#f3f4f6;
}
.pos-product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pos-product-copy{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-height:86px;
  padding:11px 12px 13px;
}
.pos-product-copy strong{
  font-size:15px;
  line-height:1.2;
}
.pos-product-copy b{font-size:16px}
.pos-product-copy small{margin:0!important;font-size:11px;color:var(--muted)}
.pos-product-dialog{
  width:min(1200px,97vw)!important;
  max-height:95vh;
}
.pos-product-dialog-card{max-height:95vh;overflow:auto;padding:22px!important}
.pos-product-detail-grid{grid-template-columns:minmax(360px,500px) minmax(0,1fr)!important;gap:28px!important}
.pos-detail-photo{height:auto!important;aspect-ratio:1/1;max-height:520px}
.pos-customer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.pos-customer-actions .btn{flex:1;min-width:220px}

.modifier-assignment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.modifier-assignment-item{display:flex!important;align-items:flex-start!important;gap:9px!important;border:1px solid var(--border);border-radius:10px;padding:10px;color:var(--text)!important;background:#fff}
.modifier-assignment-item input{width:auto;margin-top:3px}
.modifier-assignment-item strong,.modifier-assignment-item small{display:block}
.modifier-assignment-item small{color:var(--muted);margin-top:3px;font-size:11px}
.global-modifiers-card{margin-bottom:16px}
.global-modifier-editor{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fafbfc}
.modifier-required-toggle{display:flex!important;align-items:center!important;gap:8px!important}
.modifier-required-toggle input{width:auto}
.modifier-options-head{margin-top:14px}
.global-modifier-groups-list{display:grid;gap:8px;margin-top:14px}
.global-modifier-row{display:flex;justify-content:space-between;gap:14px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff}
.global-modifier-row strong,.global-modifier-row small,.global-modifier-row em{display:block}
.global-modifier-row small{color:var(--muted);margin-top:4px}
.global-modifier-row em{color:#475569;font-size:11px;margin-top:5px;font-style:normal}

@media(max-width:1250px){
  .pos-flow-layout{grid-template-columns:145px minmax(0,1fr)!important}
  .pos-ticket{grid-column:1/-1}
  .pos-products-grid.visual{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important}
}
@media(max-width:850px){
  .pos-composer-window.pos-flow-window{height:98vh;max-height:98vh!important}
  .pos-flow-layout{grid-template-columns:1fr!important;min-height:0}
  .pos-products-grid.visual{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pos-product-detail-grid{grid-template-columns:1fr!important}
  .pos-detail-photo{max-width:520px;margin:auto;width:100%}
  .modifier-assignment-list{grid-template-columns:1fr}
}
@media(max-width:520px){
  .pos-products-grid.visual{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .pos-visual-product{min-height:210px}
}

/* V50 — Pago simple POS */
.simple-payment-dialog{width:min(560px,94vw)}
.payment-status-box,.payment-method-box{display:grid;gap:8px;margin:12px 0}
.payment-status-box>span,.payment-method-box>span{font-size:12px;color:var(--muted);font-weight:700}
.payment-status-options,.payment-method-options{display:grid;gap:8px}
.payment-status-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.payment-method-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.payment-status-options label,.payment-method-options label{
  display:flex!important;align-items:center!important;justify-content:center;gap:8px!important;
  border:1px solid var(--border);border-radius:12px;padding:13px 10px;background:#fff;
  color:var(--text)!important;font-weight:700;cursor:pointer
}
.payment-status-options label:has(input:checked),.payment-method-options label:has(input:checked){
  border-color:#2563eb;background:#eff6ff;color:#1d4ed8!important
}
.payment-status-options input,.payment-method-options input{width:auto}
.pos-cash-only-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.pos-cash-only-fields>label{display:grid;gap:5px}
.cash-change-box{border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.cash-change-box span,.cash-change-box strong{display:block}
.cash-change-box span{font-size:11px;color:var(--muted)}
.cash-change-box strong{font-size:20px;margin-top:4px}
@media(max-width:620px){
  .payment-method-options,.payment-status-options,.pos-cash-only-fields{grid-template-columns:1fr}
}

/* V51 — Flujo Registrar pago -> Aceptar pedido -> Limpiar */
.pos-ticket-actions.pos-ticket-actions-ordered{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}
.pos-ticket-actions-ordered .pos-action-main{
  width:100%;
  min-height:48px;
  font-size:15px;
  font-weight:800;
}
.pos-ticket-actions-ordered #posChargeBtn{order:1}
.pos-ticket-actions-ordered #posSaveOpenBtn{order:2}
.pos-ticket-actions-ordered .pos-clear-bottom{
  order:3;
  width:100%;
  min-height:40px;
}
#posChargeBtn.paid{
  background:#16a34a!important;
  color:#fff!important;
  border-color:#16a34a!important;
}
#posChargeBtn.pending{
  background:#f59e0b!important;
  color:#fff!important;
  border-color:#f59e0b!important;
}

/* V55 — Cocina: Finalizados, revivir y reloj persistente */
.kds-finalized-tab{
  border-color:#d1d5db!important;
}
.kds-finalized-tab.active{
  background:#111827!important;
  color:#fff!important;
  border-color:#111827!important;
}
.kds-ticket.finalized{
  border-color:#cbd5e1;
  background:#f8fafc;
  opacity:.96;
}
.kds-ticket.finalized .kds-ticket-head{
  background:#e2e8f0!important;
  color:#0f172a!important;
}
.kds-ticket.finalized .kds-item{
  background:#f8fafc;
}
.kds-item.readonly{
  cursor:default;
}
.kds-done-mark{
  display:inline-flex;
  width:26px;
  height:26px;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:#dcfce7;
  color:#15803d;
  font-weight:900;
}
.kds-revive-btn{
  width:100%;
  border:1px solid #2563eb;
  background:#eff6ff;
  color:#1d4ed8;
  border-radius:10px;
  min-height:42px;
  font-weight:800;
  cursor:pointer;
}
.kds-revive-btn:hover{
  background:#dbeafe;
}

/* V56 — variantes con precio normal y precio con descuento */
.product-editor-row.variant-price-row{
  grid-template-columns:minmax(220px,1.7fr) minmax(150px,1fr) minmax(170px,1fr) auto;
}
@media (max-width:900px){
  .product-editor-row.variant-price-row{grid-template-columns:1fr 1fr;}
  .product-editor-row.variant-price-row .mini-btn{grid-column:1/-1;}
}

/* V58 — Tarjetas POS: semáforo, pagos y mejor legibilidad */
.pos-order-card{
  min-height:150px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid #e5e7eb;
  background:#fff;
}
.pos-order-card .pos-order-accent{width:6px!important}
.pos-order-card.status-preparing .pos-order-accent{background:#9ca3af!important}
.pos-order-card.status-ready .pos-order-accent{background:#facc15!important}
.pos-order-card.status-onway .pos-order-accent{background:#22c55e!important}
.pos-order-card.status-cancelled .pos-order-accent{background:#ef4444!important}
.pos-order-card.status-completed .pos-order-accent{background:#3b82f6!important}

.pos-order-main{
  padding:14px 16px!important;
}
.pos-order-titleblock strong{
  font-size:17px!important;
  line-height:1.25;
}
.pos-order-titleblock span{
  display:block;
  margin-top:4px;
  font-size:13px!important;
}
.pos-order-details{
  margin-top:12px!important;
  gap:12px!important;
  flex-wrap:wrap;
}
.pos-order-details span{
  font-size:14px!important;
  line-height:1.35;
}
.pos-order-amount strong{
  font-size:19px!important;
}
.pos-order-actions{
  margin-top:14px!important;
  gap:10px!important;
  align-items:center;
  flex-wrap:wrap;
}

.pos-open-btn{
  min-width:96px;
  min-height:42px;
  padding:0 20px;
  border:0;
  border-radius:10px;
  background:#111827;
  color:#fff;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}
.pos-open-btn:hover{background:#000}

.pos-payment-state-btn{
  min-width:145px;
  min-height:42px;
  padding:0 16px;
  border:0;
  border-radius:10px;
  color:#fff;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}
.pos-payment-state-btn.paid{background:#2563eb}
.pos-payment-state-btn.paid:hover{background:#1d4ed8}
.pos-payment-state-btn.unpaid{background:#f59e0b}
.pos-payment-state-btn.unpaid:hover{background:#d97706}

.pos-status-select{
  min-height:42px!important;
  border-radius:10px!important;
  font-weight:800!important;
  padding:0 38px 0 14px!important;
}
.pos-status-select.status-preparing{
  background:#e5e7eb!important;
  color:#374151!important;
  border-color:#9ca3af!important;
}
.pos-status-select.status-ready{
  background:#fef3c7!important;
  color:#854d0e!important;
  border-color:#facc15!important;
}
.pos-status-select.status-onway{
  background:#dcfce7!important;
  color:#166534!important;
  border-color:#22c55e!important;
}
.pos-status-select.status-cancelled{
  background:#fee2e2!important;
  color:#991b1b!important;
  border-color:#ef4444!important;
}
.pos-status-select.status-completed{
  background:#dbeafe!important;
  color:#1e40af!important;
  border-color:#60a5fa!important;
}

.pos-driver-select{
  min-height:42px!important;
  border-radius:10px!important;
  font-size:14px!important;
}
@media (max-width:850px){
  .pos-order-actions>*{flex:1 1 150px}
  .pos-open-btn,.pos-payment-state-btn{min-width:0}
}

/* V59 — Historial diario y privacidad global de importes */
.amount-eye-btn{
  border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:9px;
  min-height:34px;padding:5px 10px;font-weight:800;cursor:pointer
}
.amount-eye-btn:hover{background:#f3f4f6}

.pos-history-head{align-items:flex-start}
.pos-history-total{text-align:right}
.pos-history-total>span{display:block;font-size:12px;color:#6b7280}
.pos-history-total-row{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:4px}
.pos-history-total-row strong{font-size:26px}
.pos-history-total>small{display:block;max-width:390px;color:#6b7280;font-size:11px;margin-top:4px}
.pos-history-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}
.pos-history-summary>div{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#f9fafb}
.pos-history-summary span{display:block;font-size:12px;color:#6b7280}
.pos-history-summary strong{display:block;font-size:20px;margin-top:3px}
.pos-history-list{display:grid;gap:10px}
.pos-history-order{display:grid;grid-template-columns:6px 1fr;border:1px solid #e5e7eb;border-radius:13px;overflow:hidden;background:#fff}
.pos-history-semaphore{background:#9ca3af}
.pos-history-order.status-preparing .pos-history-semaphore{background:#9ca3af}
.pos-history-order.status-ready .pos-history-semaphore{background:#facc15}
.pos-history-order.status-onway .pos-history-semaphore{background:#22c55e}
.pos-history-order.status-cancelled .pos-history-semaphore{background:#ef4444}
.pos-history-order.status-completed .pos-history-semaphore{background:#3b82f6}
.pos-history-content{padding:12px 14px}
.pos-history-top{display:flex;justify-content:space-between;gap:16px}
.pos-history-top>div:first-child strong{font-size:16px}
.pos-history-top>div:first-child span{display:block;color:#6b7280;font-size:12px;margin-top:3px}
.pos-history-amount strong{font-size:19px}
.pos-history-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px;font-size:13px}
.pos-history-status,.pos-history-payment{border-radius:999px;padding:5px 9px;font-weight:800;font-size:12px}
.pos-history-status{background:#f3f4f6}
.pos-history-payment.paid{background:#dbeafe;color:#1d4ed8}
.pos-history-payment.unpaid{background:#ffedd5;color:#c2410c}
.pos-history-actions{display:flex;justify-content:flex-end;margin-top:10px}
@media(max-width:900px){
  .pos-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pos-history-total{text-align:left}
  .pos-history-total-row{justify-content:flex-start}
}

/* V60 — el ojo oculta solo el total acumulado, no los importes de cada pedido */
.total-hidden{
  visibility:hidden!important;
}


/* ===== GestApp V62 · Base de datos + SaaS ===== */
.database-submenu{display:none;margin:-2px 0 6px 12px;padding-left:8px;border-left:1px solid rgba(255,255,255,.12)}
.database-submenu.open{display:grid;gap:3px}
.nav-sub-btn{font-size:.92rem;padding-top:9px!important;padding-bottom:9px!important;opacity:.95}
.database-home{max-width:1180px}
.database-intro-card{padding:24px}
.database-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.database-card{appearance:none;border:1px solid #dfe5ee;background:#fff;border-radius:16px;padding:24px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:9px;min-height:190px;transition:.18s ease;font:inherit;color:inherit}
.database-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(16,24,40,.08);border-color:#b7c6dd}
.database-card>span{font-size:30px}.database-card strong{font-size:19px}.database-card small{font-size:14px;line-height:1.5;color:#667085}
.database-card.sensitive{border-color:#f2d3d3;background:#fffafa}
.database-section-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.database-section-head h2{margin:0}.database-section-head p{margin:4px 0 0;color:#667085}
.sensitive-data-card{border-top:4px solid #9b1c1c}.sensitive-badge{background:#fff1f1;border:1px solid #f0c8c8;color:#8b1a1a;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}
.billing-shell{display:grid;gap:18px}.billing-top-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
.billing-alert{border-radius:12px;padding:14px 16px;font-weight:700;border:1px solid #f3c46b;background:#fff8e6;color:#7a4b00}.billing-alert.blocked{background:#fff0f0;border-color:#efaaaa;color:#9b1c1c}.billing-alert.grace2{background:#fff1e7;border-color:#ffb37a;color:#9a3e00}.billing-alert.trialing{background:#edf6ff;border-color:#b7d7fa;color:#174f86}
.billing-company-name{display:flex;align-items:center;gap:10px;font-size:20px;margin-bottom:16px}.billing-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.billing-company-grid>div{background:#f7f8fa;border:1px solid #e5e7eb;border-radius:10px;padding:12px}.billing-company-grid span{display:block;color:#667085;font-size:12px;margin-bottom:4px}.billing-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.subscription-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.subscription-badge.active{background:#e9f8ef;color:#08783e}.subscription-badge.trialing{background:#eaf3ff;color:#1f5ca8}.subscription-badge.grace1{background:#fff4d8;color:#8a5a00}.subscription-badge.grace2{background:#ffeadc;color:#a03d00}.subscription-badge.blocked{background:#ffe4e4;color:#a51515}
.subscription-pending-page{min-height:100vh;padding:32px 16px;background:#f4f7fb;display:grid;place-items:center}.subscription-pending-page.hidden{display:none}.subscription-pending-card{width:min(1160px,100%);background:#fff;border:1px solid #dce4ee;border-radius:18px;box-shadow:0 20px 60px rgba(15,39,76,.12);padding:42px 32px 32px;display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);gap:16px 32px;align-items:start}.subscription-pending-card:not(:has(.subscription-pending-form:not(.hidden))){grid-template-columns:minmax(0,1fr)}.subscription-pending-card>:not(.subscription-pending-form){grid-column:1}.subscription-pending-card>.gestapp-logo-blocker{margin:0 auto 4px}.subscription-pending-card>h1{margin:0;color:#0f274c;font-size:clamp(1.6rem,4vw,2.25rem)}.subscription-pending-card>p{margin:0;color:#4b5f78;line-height:1.6}.subscription-pending-status{width:max-content;border-radius:999px;padding:6px 10px;background:#fff4d8;color:#7a4b00;font-size:.8rem;font-weight:800}.subscription-pending-plan{border:1px solid #cdd9e7;border-radius:14px;padding:18px;background:#f8fbff;display:grid;gap:6px}.subscription-pending-plan>span{color:#5c6f86;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.subscription-pending-plan>strong{font-size:1.5rem;color:#0f274c}.subscription-pending-plan>p{margin:0;color:#34495f}.subscription-pending-actions{display:flex;gap:10px}.subscription-pending-card>.subscription-pending-actions{align-items:center;flex-wrap:nowrap;gap:8px}.subscription-pending-card>.subscription-pending-actions>.btn{min-width:0;padding:10px 14px;font-size:14px;font-weight:600;white-space:nowrap}.subscription-pending-form{grid-column:2;grid-row:1/span 7;min-width:0;border-left:1px solid #edf1f6;padding-left:32px;display:grid;gap:14px}.subscription-pending-form .signup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.subscription-pending-form .signup-grid>label{min-width:0}.subscription-pending-form .signup-grid>label:last-child{grid-column:1/-1}.subscription-pending-form input,.subscription-pending-form select{min-height:44px;padding-inline:14px}.subscription-pending-form>.subscription-pending-actions{align-items:center;flex-wrap:nowrap}.subscription-pending-form>.subscription-pending-actions>.btn{padding:10px 14px;font-size:14px;font-weight:600;white-space:nowrap}.subscription-pending-form.hidden{display:none}.subscription-pending-form h2,.subscription-pending-form p{margin:0}@media(min-width:769px) and (max-width:1000px){.subscription-pending-card>.subscription-pending-actions{flex-wrap:wrap}}@media(max-width:768px){.subscription-pending-page{padding:20px 12px}.subscription-pending-card,.subscription-pending-card:not(:has(.subscription-pending-form:not(.hidden))){width:min(720px,100%);grid-template-columns:minmax(0,1fr);gap:16px;padding:34px 18px 24px}.subscription-pending-card>:not(.subscription-pending-form),.subscription-pending-form{grid-column:1}.subscription-pending-form{grid-row:auto;border-top:1px solid #dce4ee;border-left:0;padding-top:18px;padding-left:0}.subscription-pending-form .signup-grid{grid-template-columns:minmax(0,1fr);gap:12px}.subscription-pending-form .signup-grid>label:last-child{grid-column:auto}.subscription-pending-card>.subscription-pending-actions,.subscription-pending-form>.subscription-pending-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.subscription-pending-actions>.btn,.subscription-pending-card>.subscription-pending-actions>.btn{width:100%;padding-inline:14px;white-space:normal}}
.billing-policy{display:grid;gap:10px}.billing-policy>div{display:grid;grid-template-columns:80px 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eceff3}.billing-policy>div:last-child{border-bottom:0}.billing-policy strong{font-size:18px}.billing-policy span{color:#667085}
.billing-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.billing-plan{border:1px solid #dfe5ee;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;background:#fff}.billing-plan.selected{border:2px solid #2f67e8;box-shadow:0 0 0 3px rgba(47,103,232,.08)}.billing-plan h3{margin:0 0 8px}.billing-plan>div>strong{font-size:28px}.billing-plan>div>strong small{font-size:13px;color:#667085}.billing-plan p{color:#667085}.billing-plan ul{list-style:none;padding:0;margin:0;display:grid;gap:7px;flex:1}.billing-plan li{font-size:13px}
.billing-blocker{position:fixed;inset:0;background:#f4f6f8;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.billing-blocker.hidden{display:none}.billing-blocker-card{max-width:480px;width:100%;background:#fff;border:1px solid #e2e7ee;border-radius:20px;padding:34px;text-align:center;box-shadow:0 18px 60px rgba(16,24,40,.12)}.billing-blocker-card .brand-mark{margin:0 auto 16px}.billing-blocker-card h2{margin:0 0 10px}.billing-blocker-card p{color:#667085;line-height:1.55;margin-bottom:20px}
@media(max-width:900px){.database-cards,.billing-plans,.billing-top-grid{grid-template-columns:1fr}.billing-company-grid{grid-template-columns:1fr}.database-section-head{align-items:flex-start;flex-direction:column}}

/* V63 · menús desplegables, exportación y registro SaaS */
.nav-caret{margin-left:auto;font-size:11px;opacity:.65;transition:transform .18s ease}.database-nav:has(+ .database-submenu.open) .nav-caret,.consultas-nav:has(+ .consultas-submenu.open) .nav-caret{transform:rotate(180deg)}
.customers-data-card{background:#fff!important;border-color:#e5e7eb!important;border-top:1px solid #e5e7eb!important}.database-card.sensitive{background:#fff;border-color:#dfe5ee}
.pos-history-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:12px 0 4px;border-top:1px solid #edf0f4;margin-top:10px}.pos-history-toolbar label{min-width:170px}.pos-history-toolbar input{min-height:42px}
.signup-panel{gap:16px}.signup-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.signup-head p{margin:4px 0 0;color:var(--muted)}.signup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.signup-grid label:last-child{grid-column:auto}.signup-plan-title{display:block;margin-bottom:4px}.signup-plan-note{font-size:13px;color:var(--muted);margin:0 0 10px}.signup-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.signup-plan{appearance:none;border:1px solid #dfe5ee;background:#fff;border-radius:14px;padding:14px;text-align:left;display:grid;gap:6px;cursor:pointer;font:inherit}.signup-plan strong{font-size:16px}.signup-plan span{font-weight:800;color:#244fc4}.signup-plan small{color:var(--muted);line-height:1.35}.signup-plan.selected{border:2px solid #2f67e8;background:#f4f7ff;box-shadow:0 0 0 3px rgba(47,103,232,.08)}
.tenant-selection-options{display:grid;gap:10px;margin:14px 0}.tenant-selection-option{appearance:none;width:100%;border:1px solid #dfe5ee;background:#fff;border-radius:12px;padding:13px 14px;text-align:left;display:grid;gap:3px;cursor:pointer;font:inherit}.tenant-selection-option:hover,.tenant-selection-option:focus-visible{border-color:#2f67e8;background:#f4f7ff}.tenant-selection-option strong{color:var(--text)}.tenant-selection-option span{font-size:12px;color:var(--muted)}
@media(max-width:720px){.signup-grid,.signup-plans{grid-template-columns:1fr}.auth-card{width:min(430px,100%)}}

/* V64 · límites de sucursales por plan */
.branch-plan-note{margin-top:8px;padding:9px 11px;border-radius:10px;background:#f7f8fa;color:#475467;font-size:12px;line-height:1.45}.signup-plan small b{color:#344054}

/* V65 Google Maps address search */
.google-address-box{border:1px solid #d9dee7;background:#fff;border-radius:12px;padding:12px;display:grid;gap:9px}
.google-address-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.google-address-head>div{display:grid;gap:2px}.google-address-head small{color:#687386;font-size:.78rem}
.google-autocomplete-host{min-height:44px}.google-autocomplete-host input,.google-autocomplete-host gmp-place-autocomplete{width:100%;box-sizing:border-box}
.google-maps-status{font-size:.78rem;color:#687386}.google-maps-status.ok{color:#087a45}.google-maps-status.error{color:#b42318}

/* V66 — Dirección Google Maps en una sola columna + mapa interactivo */
.pos-new-address-fields{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:14px;
  align-items:stretch;
}
.pos-address-left{display:grid;gap:12px;align-content:start;min-width:0}
.pos-address-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pos-address-fields-grid label{min-width:0}
.pos-delivery-fee-inline{display:grid!important}
.pos-delivery-fee-inline.hidden{display:none!important}
.pos-address-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:0}
.pos-address-map-panel{border:1px solid #d9dee7;background:#fff;border-radius:12px;padding:12px;display:grid;grid-template-rows:auto minmax(300px,1fr) auto;gap:10px;min-width:0}
.pos-address-map-head{display:grid;gap:2px}.pos-address-map-head small{color:#687386;font-size:.78rem}
.pos-google-map{width:100%;min-height:330px;border-radius:10px;overflow:hidden;background:#eef2f7;border:1px solid #d9dee7;position:relative}
.pos-google-map-placeholder{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#667085;padding:24px;font-size:.9rem}
.pos-map-selected{display:grid;gap:2px;padding:9px 10px;border-radius:9px;background:#f8fafc;border:1px solid #e5e7eb}
.pos-map-selected span{font-size:.72rem;color:#667085}.pos-map-selected strong{font-size:.82rem;line-height:1.25;color:#111827}
@media(max-width:1050px){.pos-new-address-fields{grid-template-columns:1fr}.pos-google-map{min-height:280px}}
@media(max-width:700px){.pos-address-fields-grid,.pos-address-actions{grid-template-columns:1fr}.pos-address-map-panel{padding:10px}}

/* V67 · Flujo de pedido en dos pasos */
.pos-new-order-menu-wrap{position:relative}
.pos-new-order-trigger{display:flex;align-items:center;gap:8px}
.pos-new-order-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:220px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:8px;box-shadow:0 16px 45px rgba(15,23,42,.18)}
.pos-new-order-menu.hidden{display:none!important}
.pos-new-order-menu button{width:100%;border:0;background:#fff;border-radius:10px;padding:12px 14px;text-align:left;font-weight:800;cursor:pointer;font-size:14px}
.pos-new-order-menu button:hover{background:#f3f6fb}
.pos-composer-head-actions{display:flex;align-items:center;gap:10px}
.pos-change-mode-label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
.pos-change-mode-label select{min-width:150px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-weight:800;color:var(--text)}
.pos-order-step.hidden{display:none!important}
.pos-step-footer{display:flex;justify-content:flex-end;margin-top:12px}
.pos-next-step-btn{min-width:240px}
.pos-menu-step-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff}
.pos-menu-step-toolbar>div{text-align:right}.pos-menu-step-toolbar span,.pos-menu-step-toolbar strong{display:block}.pos-menu-step-toolbar span{font-size:11px;color:var(--muted)}.pos-menu-step-toolbar strong{font-size:16px}
.pos-order-mode-select{min-width:135px;border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:9px 10px;font-weight:800;color:#111827}
@media(max-width:700px){.pos-composer-head{align-items:flex-start}.pos-composer-head-actions{flex-direction:column;align-items:flex-end}.pos-change-mode-label{flex-direction:column;align-items:flex-end}.pos-menu-step-toolbar{align-items:stretch;flex-direction:column}.pos-menu-step-toolbar>div{text-align:left}.pos-step-footer .btn{width:100%}.pos-new-order-menu{left:0;right:auto}}

/* V68 — registro inicial con país y reglas telefónicas */
.phone-rule-hint{display:block;margin-top:5px;color:#64748b;font-size:11px;font-weight:600}
#signupCountry,#signupPaymentMethod{min-height:42px}

/* V69 — POS: Mostrador/Para llevar/Mesa en una sola pantalla */
.pos-quick-customer-row{
  display:grid;
  grid-template-columns:minmax(180px,240px) minmax(260px,1fr) 90px minmax(180px,260px);
  gap:10px;
  align-items:end;
  padding:12px 14px;
  margin-bottom:10px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
}
.pos-quick-customer-row label{
  display:grid;
  gap:5px;
  font-size:12px;
  font-weight:800;
  color:#374151;
}
.pos-quick-customer-row input{
  min-height:40px;
}
.pos-quick-name{min-width:0}
.pos-quick-table input{
  text-align:center;
  padding-left:6px!important;
  padding-right:6px!important;
}
.pos-quick-customer-status{
  align-self:center;
  font-size:12px;
  color:#64748b;
  padding:8px 10px;
  border-radius:9px;
  background:#f8fafc;
}
.pos-quick-customer-status.found{background:#ecfdf5;color:#166534}
.pos-quick-customer-status.new{background:#fff7ed;color:#9a3412}

/* El toolbar de menú ya no desperdicia altura en pedidos rápidos */
#posMenuStep .pos-menu-step-toolbar{
  margin-bottom:8px;
}

@media(max-width:1050px){
  .pos-quick-customer-row{
    grid-template-columns:1fr 1.4fr 90px;
  }
  .pos-quick-customer-status{grid-column:1/-1}
}
@media(max-width:700px){
  .pos-quick-customer-row{
    grid-template-columns:1fr;
  }
  .pos-quick-table{max-width:140px}
  .pos-quick-customer-status{grid-column:auto}
}

/* V70 — permisos personalizados y edición de usuarios */
.user-form-hint{display:block;margin-top:5px;color:#64748b;font-size:11px}
.user-permissions-box{margin-top:16px;padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}
.user-permissions-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.user-permissions-head strong{display:block;font-size:15px}
.user-permissions-head small{display:block;color:#64748b;margin-top:3px}
.user-permission-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.user-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.user-permission-group{border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fff}
.user-permission-group>strong{display:block;margin-bottom:7px;font-size:12px;color:#334155}
.user-permission-group>div{display:grid;gap:5px}
.user-permission-item{display:flex!important;align-items:center!important;gap:8px!important;min-height:30px;padding:5px 7px;border-radius:7px;color:#111827!important;font-size:12px;cursor:pointer}
.user-permission-item:hover{background:#f1f5f9}
.user-permission-item.child{padding-left:22px}
.user-permission-item input{width:auto!important;margin:0}
.user-edit-btn{background:#111827!important;color:#fff!important;border-color:#111827!important}
.user-access-count{display:block;margin-top:4px;color:#64748b;font-size:10px}
@media(max-width:900px){.user-permission-grid{grid-template-columns:1fr}.user-permissions-head{flex-direction:column}.user-permission-actions{justify-content:flex-start}}

/* V71 — POS compacto */
.pos-quick-customer-row{
  grid-template-columns:minmax(260px,1fr) minmax(360px,1.6fr) 110px!important;
  gap:12px!important;
}
.pos-quick-customer-row .pos-quick-name{min-width:320px}
.pos-quick-customer-row .pos-quick-table{max-width:110px}
@media(max-width:900px){
  .pos-quick-customer-row{grid-template-columns:1fr 1.4fr!important}
  .pos-quick-table{grid-column:1/-1}
}

/* V71 — dashboard día actual/anterior */
.summary-metrics{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.summary-metric.day-highlight{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:10px;
  padding:10px;
}
@media(max-width:1100px){
  .summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* V71 — configuración regional */
.settings-grid{max-width:900px}
.settings-phone-rule{
  margin-top:12px;
  padding:12px;
  border-radius:10px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  font-weight:700;
  color:#334155;
}

/* V72 — Dashboard: 2 métricas arriba y 3 abajo */
.summary-metrics-five{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:10px!important;
}
.summary-metrics-five .summary-metric:nth-child(1),
.summary-metrics-five .summary-metric:nth-child(2){
  grid-column:span 3;
}
.summary-metrics-five .summary-metric:nth-child(3),
.summary-metrics-five .summary-metric:nth-child(4),
.summary-metrics-five .summary-metric:nth-child(5){
  grid-column:span 2;
}
.summary-metrics-five .summary-metric{
  min-height:92px;
}
@media(max-width:900px){
  .summary-metrics-five{
    grid-template-columns:1fr!important;
  }
  .summary-metrics-five .summary-metric{
    grid-column:auto!important;
  }
}

/* V73 — Registro comercial en dos pasos */
.auth-card:has(.signup-panel:not(.hidden)){width:min(1120px,94vw);max-width:1120px;}
.signup-plans-large{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0;}
.signup-plans-large .signup-plan{min-height:390px;padding:24px;text-align:left;display:flex;flex-direction:column;align-items:stretch;border-radius:18px;}
.signup-plans-large .plan-name{font-size:22px;margin-bottom:8px;}
.signup-plans-large .plan-price{font-size:24px;font-weight:800;margin-bottom:14px;}
.signup-plans-large .plan-desc{font-size:14px;line-height:1.45;margin-bottom:16px;}
.plan-features{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px;font-size:14px;line-height:1.35;}
.trial-banner{padding:16px 18px;border:1px solid #dbeafe;border-radius:14px;background:#eff6ff;display:grid;gap:5px;margin-top:16px;}
.trial-banner strong{font-size:18px}.trial-banner span{font-size:13px;color:#475569;}
.signup-main-cta{min-height:48px;font-size:15px;}
.selected-plan-summary{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 16px;margin:14px 0 18px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;}
.selected-plan-summary span{font-size:13px;color:#64748b;}
@media(max-width:800px){
 .signup-plans-large{grid-template-columns:1fr}
 .signup-plans-large .signup-plan{min-height:auto}
 .selected-plan-summary{align-items:flex-start;flex-direction:column}
}
.stripe-local-box{margin:18px 0;padding:22px;border:1px solid #e3e6eb;border-radius:16px;background:#fff}.stripe-local-box strong{font-size:18px}.stripe-local-box p{margin:8px 0 0;color:#667085;line-height:1.5}

/* V77 — Modal Registrar pago */
.pos-cash-only-fields{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  align-items:stretch!important;
}
.payment-value-box{
  display:grid!important;
  grid-template-rows:auto 1fr;
  gap:8px!important;
  min-height:108px;
  padding:12px 14px!important;
  border:1px solid var(--border)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-sizing:border-box;
}
.payment-value-box>span{
  display:block;
  font-size:12px!important;
  line-height:1.25;
  color:var(--text)!important;
  font-weight:700!important;
}
.payment-value-box input{
  width:100%;
  min-height:48px;
  margin:0!important;
  box-sizing:border-box;
}
.cash-change-box{
  padding:12px 14px!important;
}
.cash-change-box strong{
  display:flex!important;
  align-items:center;
  min-height:48px;
  margin:0!important;
  font-size:20px!important;
  line-height:1;
}
#posCheckoutDialog .form-actions{
  margin-top:14px;
}
#posConfirmChargeBtn{
  min-width:190px;
}
@media(max-width:620px){
  .pos-cash-only-fields{grid-template-columns:1fr!important}
}


/* V81 — Alineación del registro de empresa */
#signupCompanyStep .signup-grid{
  align-items:start;
}
#signupCompanyStep .signup-grid > label{
  align-self:start;
}
#signupCompanyStep #signupCountry,
#signupCompanyStep #signupPhone{
  width:100%;
  height:46px;
  min-height:46px;
  box-sizing:border-box;
  margin:0;
}
#signupCompanyStep #signupPhone{
  display:block;
}
#signupCompanyStep #signupPaymentMethod{
  width:100%;
  height:46px;
  min-height:46px;
  box-sizing:border-box;
}
#signupCompanyStep #signupPaymentMethod + *{
  margin-top:0;
}
#signupCompanyStep #signupSubmitBtn{
  margin-top:18px!important;
}

/* V82 — Precios únicamente por variantes */
.price-pair,
.choice-price,
.cart-price-pair{
  display:inline-flex;
  align-items:baseline;
  gap:7px;
  flex-wrap:wrap;
}
.price-pair del,
.choice-price del,
.cart-price-pair del,
.variant-chip del,
.public-product-card del{
  color:#9ca3af;
  font-weight:500;
  text-decoration:line-through;
}
.price-pair strong,
.choice-price strong,
.cart-price-pair strong{
  color:inherit;
  font-weight:800;
}
.price-from{
  display:block!important;
  font-size:10px!important;
  color:var(--muted)!important;
  margin:0 0 2px!important;
}
.variant-chip{
  display:inline-flex!important;
  align-items:center;
  gap:5px;
}

/* V83 — Tarjeta de pedido POS: controles en una sola barra */
.pos-order-actions-unified{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(108px,140px));
  justify-content:end;
  gap:6px!important;
  align-items:stretch!important;
  width:min(100%,720px);
  margin-left:auto!important;
}
.pos-order-actions-unified > select,
.pos-order-actions-unified > button{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  box-sizing:border-box!important;
  margin:0!important;
  border-radius:10px!important;
  font-size:11px!important;
  font-weight:600!important;
}
.pos-order-actions-unified .pos-driver-select{
  grid-column:auto;
}
.pos-order-actions-unified .pos-open-btn{
  display:flex;
  align-items:center;
  justify-content:center;
}
.pos-order-actions-unified .pos-payment-state-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
@media(max-width:1100px){
  .pos-order-actions-unified{
    grid-template-columns:repeat(2,minmax(130px,1fr));
    width:min(100%,560px);
  }
  .pos-order-actions-unified > select,
  .pos-order-actions-unified > button{
    height:42px!important;
    min-height:42px!important;
    font-size:12px!important;
  }
}
@media(max-width:650px){
  .pos-order-actions-unified{
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
}

.pos-source-channel-badge,.pos-acceptance-pending{display:inline-flex!important;width:max-content;margin:5px 6px 0 0!important;padding:3px 7px;border:1px solid #9fc2f7;border-radius:999px;background:#edf5ff;color:var(--gestapp-primary-dark)!important;font-size:10px!important;font-weight:700}
.pos-acceptance-pending{background:#fff;border-style:dashed}
.pos-order-card.status-pending-acceptance .pos-order-accent{background:var(--gestapp-primary)}
.pos-accept-order-btn,.pos-reject-order-btn{border:1px solid var(--gestapp-primary)!important;background:var(--gestapp-primary)!important;color:#fff!important;cursor:pointer}
.pos-reject-order-btn{background:#fff!important;color:var(--gestapp-primary-dark)!important}

/* V84 — Variantes: nombre + precio normal + descuento + eliminar, todo en una línea */
#productVariantsEditor{
  width:100%;
}
#productVariantsEditor .variant-price-row{
  display:grid!important;
  grid-template-columns:minmax(260px,2.2fr) minmax(150px,1fr) minmax(170px,1fr) 92px;
  gap:10px!important;
  align-items:end!important;
  width:100%!important;
  margin:0 0 10px!important;
}
#productVariantsEditor .variant-field{
  display:grid!important;
  grid-template-rows:auto 42px;
  gap:5px!important;
  min-width:0;
  margin:0!important;
}
#productVariantsEditor .variant-field > span{
  display:block;
  font-size:11px;
  line-height:1.2;
  color:var(--muted);
  font-weight:600;
}
#productVariantsEditor .variant-field input{
  width:100%!important;
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  margin:0!important;
}
#productVariantsEditor .variant-remove-btn{
  width:92px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  align-self:end!important;
}
@media(max-width:900px){
  #productVariantsEditor .variant-price-row{
    grid-template-columns:1fr 1fr;
  }
  #productVariantsEditor .variant-remove-btn{
    width:100%!important;
  }
}
@media(max-width:620px){
  #productVariantsEditor .variant-price-row{
    grid-template-columns:1fr;
  }
}

/* V85 — Precio principal similar a la barra de variantes */
.base-price-row{
  display:grid;
  grid-template-columns:minmax(260px,2.2fr) minmax(150px,1fr) minmax(170px,1fr);
  gap:10px;
  align-items:end;
  width:100%;
}
.base-price-row .variant-field{
  display:grid;
  grid-template-rows:auto 42px;
  gap:5px;
  min-width:0;
  margin:0;
}
.base-price-row .variant-field > span{
  display:block;
  font-size:11px;
  line-height:1.2;
  color:var(--muted);
  font-weight:600;
}
.base-price-row .variant-field input{
  width:100%;
  min-width:0;
  height:42px;
  min-height:42px;
  box-sizing:border-box;
  margin:0;
}
@media(max-width:900px){
  .base-price-row{grid-template-columns:1fr 1fr}
  .base-price-row .variant-name-field{grid-column:1/-1}
}
@media(max-width:620px){
  .base-price-row{grid-template-columns:1fr}
  .base-price-row .variant-name-field{grid-column:auto}
}

/* V86 — Portada pública multiempresa */
.store-slug-field{
  display:flex;
  align-items:center;
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  min-height:42px;
}
.store-slug-field span{
  padding:0 10px;
  color:var(--muted);
  font-size:13px;
  white-space:nowrap;
  background:#f8fafc;
  height:42px;
  display:flex;
  align-items:center;
  border-right:1px solid var(--border);
}
.store-slug-field input{
  border:0!important;
  border-radius:0!important;
  min-width:0;
  flex:1;
}
.store-slug-hint{
  display:block;
  margin-top:5px;
  color:var(--muted);
}
.public-store-top-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.public-store-status{
  font-weight:800;
  font-size:13px;
}
.public-store-status::before{
  content:"●";
  margin-right:6px;
}
.public-store-status.closed{color:#b91c1c;}
.public-home-screen{
  min-height:620px;
  padding:56px 56px 36px;
  background:#fff;
}
.public-home-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,460px);
  gap:70px;
  align-items:center;
  max-width:1120px;
  margin:0 auto;
  min-height:330px;
}
.public-home-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.public-brand-mark{
  width:92px;
  height:92px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f1f5f9;
  color:#0f172a;
  font-size:28px;
  font-weight:900;
  margin-bottom:16px;
  border:1px solid #e2e8f0;
}
.public-home-brand h1{
  font-size:40px;
  line-height:1.1;
  margin:0 0 16px;
}
.public-home-services{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.public-home-services span{
  font-size:14px;
  font-weight:700;
}
.public-home-services span::before{
  content:"✓";
  margin-right:6px;
  font-weight:900;
}
.public-home-actions{
  display:grid;
  gap:12px;
}
.public-home-action{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:8px;
  background:#e52420;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:900;
  border:0;
  box-shadow:0 2px 5px rgba(15,23,42,.18);
  cursor:pointer;
}
.public-home-action.primary-action{
  background:#d91f1b;
}
.public-home-action.disabled{
  opacity:.45;
  cursor:not-allowed;
}
.public-reviews-section{
  max-width:1120px;
  margin:60px auto 0;
  text-align:center;
}
.public-reviews-section h2{
  font-size:28px;
  margin-bottom:22px;
}
.public-review-placeholder{
  border:1px dashed #cbd5e1;
  border-radius:14px;
  padding:28px;
  color:#64748b;
  background:#f8fafc;
}
@media(max-width:850px){
  .public-home-screen{padding:32px 20px}
  .public-home-hero{grid-template-columns:1fr;gap:30px}
  .public-home-brand{align-items:center;text-align:center}
  .public-home-services{justify-content:center}
  .public-home-brand h1{font-size:32px}
  .public-store-top-actions .btn{display:none}
}

/* V87 — Imagen/logotipo configurable de la tienda */
.store-logo-admin-row{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:18px;
  align-items:center;
}
.store-logo-admin-preview{
  width:180px;
  height:180px;
  border:1px dashed #cbd5e1;
  border-radius:16px;
  background:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:#64748b;
  font-weight:700;
}
.store-logo-admin-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}
.store-logo-admin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.store-logo-admin-actions small{
  flex-basis:100%;
  color:var(--muted);
}

/* Portada: cuadro principal más grande */
.public-brand-mark{
  width:150px!important;
  height:150px!important;
  border-radius:22px!important;
  overflow:hidden;
  flex:0 0 auto;
}
.public-brand-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}
.public-brand-mark span{
  font-size:40px;
  font-weight:900;
}

/* Segunda hoja / catálogo */
.public-catalog-header{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}
.public-catalog-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.public-catalog-logo{
  width:64px;
  height:64px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}
.public-catalog-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.public-catalog-brand strong{
  display:block;
  font-size:20px;
}
.public-catalog-brand small{
  color:#64748b;
  font-weight:700;
}
@media(max-width:700px){
  .store-logo-admin-row{grid-template-columns:1fr}
  .public-catalog-header{grid-template-columns:auto 1fr}
  .public-catalog-header .btn{grid-column:1/-1}
}

/* V88 — Hasta 5 botones configurables en portada */
.store-links-editor{
  display:grid;
  gap:10px;
  margin-top:8px;
}
.store-link-buttons-help{
  font-size:12px;
  color:var(--muted);
  margin-bottom:8px;
}
.store-link-row{
  display:grid;
  grid-template-columns:88px 150px minmax(160px,1fr) minmax(220px,1.4fr) 90px;
  gap:8px;
  align-items:center;
}
.store-link-row input,
.store-link-row select{
  min-width:0;
  width:100%;
  height:40px;
  box-sizing:border-box;
}
.store-link-enable{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:700;
}
.store-link-enable input{
  width:auto;
  height:auto;
}
.store-link-add-btn{
  justify-self:start;
}
.public-home-dynamic-links{
  display:grid;
  gap:12px;
}
.public-home-link-icon{
  display:inline-flex;
  width:24px;
  justify-content:center;
  margin-right:8px;
  font-weight:900;
}
@media(max-width:950px){
  .store-link-row{
    grid-template-columns:80px 1fr 1fr;
  }
  .store-link-row input[data-store-link-value]{
    grid-column:1/-2;
  }
}
@media(max-width:650px){
  .store-link-row{
    grid-template-columns:1fr;
  }
  .store-link-row input[data-store-link-value]{
    grid-column:auto;
  }
}

/* V89 — Tienda pública en página completa */
body.public-store-page-open{
  overflow:hidden!important;
}
.public-store-page{
  position:fixed;
  inset:0;
  z-index:100000;
  width:100vw;
  height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  background:#fff;
}
.public-store-page.hidden{
  display:none!important;
}
.public-store-page .public-store-shell{
  width:100%;
  min-height:100vh;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff;
}
.public-store-page .public-store-top{
  position:sticky;
  top:0;
  z-index:50;
  width:100%;
  box-sizing:border-box;
  border-radius:0!important;
}
.public-store-page .public-home-screen{
  min-height:calc(100vh - 84px);
}
.public-store-page #publicStoreCatalogScreen,
.public-store-page #publicProductScreen,
.public-store-page #publicCartScreen,
.public-store-page #publicCheckoutScreen,
.public-store-page #publicConfirmationScreen{
  width:min(1280px,100%);
  margin:0 auto;
  box-sizing:border-box;
}
.public-store-page #publicStoreCatalogScreen{
  padding:26px 34px 90px;
}
.public-store-page #publicProductScreen,
.public-store-page #publicCartScreen,
.public-store-page #publicCheckoutScreen,
.public-store-page #publicConfirmationScreen{
  padding:30px 34px 90px;
}
.public-store-page .public-store-close{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:50%!important;
}
@media(max-width:700px){
  .public-store-page #publicStoreCatalogScreen,
  .public-store-page #publicProductScreen,
  .public-store-page #publicCartScreen,
  .public-store-page #publicCheckoutScreen,
  .public-store-page #publicConfirmationScreen{
    padding-left:16px;
    padding-right:16px;
  }
}

/* V90 — Banner del menú / catálogo */
.store-banner-admin-row{
  display:grid;
  grid-template-columns:minmax(320px,1fr) minmax(220px,.65fr);
  gap:18px;
  align-items:center;
}
.store-banner-admin-preview{
  width:100%;
  aspect-ratio:16/5;
  min-height:150px;
  max-height:260px;
  border:1px dashed #cbd5e1;
  border-radius:16px;
  background:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:#64748b;
  font-weight:700;
}
.store-banner-admin-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.public-catalog-banner{
  width:100%;
  aspect-ratio:16/4.7;
  max-height:320px;
  overflow:hidden;
  border-radius:18px;
  margin-bottom:20px;
  background:#f8fafc;
}
.public-catalog-banner img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* V90 — Arquitectura responsive de TODA la tienda pública */
.public-store-page,
.public-store-page *{
  box-sizing:border-box;
}
.public-store-page img{
  max-width:100%;
}
.public-store-page .public-store-top,
.public-store-page .public-home-screen,
.public-store-page #publicStoreCatalogScreen,
.public-store-page #publicProductScreen,
.public-store-page #publicCartScreen,
.public-store-page #publicCheckoutScreen,
.public-store-page #publicConfirmationScreen{
  width:100%;
}
.public-store-page .public-store-shell{
  min-width:0;
}
.public-store-page .public-product-detail,
.public-store-page .public-cart-layout{
  min-width:0;
}
.public-store-page .public-store-catalog{
  min-width:0;
}

/* Tablet */
@media(max-width:1024px){
  .public-home-hero{
    grid-template-columns:minmax(0,1fr) minmax(300px,380px)!important;
    gap:36px!important;
  }
  .public-store-page #publicStoreCatalogScreen,
  .public-store-page #publicProductScreen,
  .public-store-page #publicCartScreen,
  .public-store-page #publicCheckoutScreen,
  .public-store-page #publicConfirmationScreen{
    padding-left:24px!important;
    padding-right:24px!important;
  }
  .public-product-detail{
    grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)!important;
  }
  .public-cart-layout{
    grid-template-columns:minmax(0,1fr) 320px!important;
  }
  .store-banner-admin-row{
    grid-template-columns:1fr;
  }
}

/* Tablet vertical / celular grande */
@media(max-width:800px){
  .public-store-top{
    gap:12px;
    flex-wrap:wrap;
  }
  .public-store-top > div:first-child{
    min-width:0;
    flex:1 1 220px;
  }
  .public-store-top-actions{
    flex:0 0 auto;
  }
  .public-home-screen{
    padding:28px 18px 32px!important;
  }
  .public-home-hero{
    grid-template-columns:1fr!important;
    gap:26px!important;
    min-height:auto!important;
  }
  .public-home-brand{
    align-items:center!important;
    text-align:center;
  }
  .public-home-services{
    justify-content:center!important;
  }
  .public-home-actions{
    width:min(100%,560px);
    margin:0 auto;
  }
  .public-reviews-section{
    margin-top:40px!important;
  }
  .public-catalog-header{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:10px!important;
  }
  .public-catalog-brand strong{
    font-size:17px!important;
  }
  .public-catalog-logo{
    width:52px!important;
    height:52px!important;
  }
  .public-store-categories{
    overflow-x:auto;
    flex-wrap:nowrap!important;
    scrollbar-width:thin;
    padding-bottom:6px;
  }
  .public-store-categories button{
    flex:0 0 auto;
  }
  .public-store-catalog{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .public-product-detail{
    grid-template-columns:1fr!important;
  }
  .public-product-visual{
    max-height:360px;
  }
  .public-cart-layout{
    grid-template-columns:1fr!important;
  }
  .public-cart-summary{
    position:static!important;
  }
  .public-checkout-card{
    width:100%!important;
  }
}

/* Celular */
@media(max-width:560px){
  .public-store-page .public-store-top{
    padding:12px 14px!important;
  }
  .public-store-title,
  #publicStoreTitle{
    font-size:16px!important;
  }
  .public-store-top-actions{
    gap:6px!important;
  }
  .public-store-status{
    font-size:11px!important;
  }
  .public-store-page .public-store-close{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
  }
  .public-brand-mark{
    width:118px!important;
    height:118px!important;
  }
  .public-home-brand h1{
    font-size:28px!important;
  }
  .public-home-services{
    gap:10px!important;
  }
  .public-home-services span{
    font-size:12px!important;
  }
  .public-home-action{
    min-height:46px!important;
    font-size:14px!important;
  }
  .public-store-page #publicStoreCatalogScreen,
  .public-store-page #publicProductScreen,
  .public-store-page #publicCartScreen,
  .public-store-page #publicCheckoutScreen,
  .public-store-page #publicConfirmationScreen{
    padding:16px 12px 84px!important;
  }
  .public-catalog-banner{
    aspect-ratio:16/6;
    border-radius:12px;
    margin-bottom:14px;
  }
  .public-catalog-header{
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  .public-catalog-header > .btn{
    grid-column:1/-1;
    width:100%;
  }
  .public-store-catalog{
    grid-template-columns:1fr!important;
  }
  .public-product-card{
    grid-template-columns:92px minmax(0,1fr) auto!important;
  }
  .public-product-placeholder{
    width:92px!important;
    height:92px!important;
  }
  .public-add-row{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .public-add-row .btn{
    width:100%;
  }
  .public-cart-button{
    left:12px!important;
    right:12px!important;
    width:auto!important;
  }
  .public-delivery-address-grid{
    grid-template-columns:1fr!important;
  }
  .public-checkout-card .form-grid{
    grid-template-columns:1fr!important;
  }
  .public-checkout-card .span-2{
    grid-column:auto!important;
  }
}

/* Celular muy angosto */
@media(max-width:380px){
  .public-home-brand h1{font-size:24px!important}
  .public-catalog-brand strong{font-size:15px!important}
  .public-catalog-logo{width:44px!important;height:44px!important}
  .public-product-card{grid-template-columns:76px minmax(0,1fr)!important}
  .public-product-card > button{grid-column:1/-1;width:100%}
  .public-product-placeholder{width:76px!important;height:76px!important}
}

/* V91 — Menú digital separado de Tienda en línea */
.menu-digital-config-grid{
  grid-template-columns:1fr!important;
}
.tienda-config-grid{
  grid-template-columns:1fr!important;
}
#menuDigital .online-products-config-card{
  max-width:none;
}

/* V92 — Horarios, redes sociales y delivery */
.social-config-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}
.store-schedule-editor{
  display:grid;
  gap:8px;
  margin-top:8px;
}
.store-schedule-row{
  display:grid;
  grid-template-columns:minmax(130px,1.2fr) minmax(130px,1fr) minmax(130px,1fr);
  gap:10px;
  align-items:end;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
}
.schedule-day-toggle{
  display:flex!important;
  align-items:center;
  gap:8px;
  min-height:42px;
  font-weight:700;
}
.schedule-day-toggle input{
  width:auto!important;
  height:auto!important;
}
.public-social-icons{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin-top:14px;
}
.public-social-icon{
  width:38px;
  height:38px;
  border:1px solid #d1d5db;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
  color:#111827!important;
  background:#fff;
  font-weight:900;
  font-size:17px;
  transition:transform .15s ease,box-shadow .15s ease;
}
.public-social-icon:hover{
  transform:translateY(-1px);
  box-shadow:0 3px 10px rgba(0,0,0,.08);
}
.public-catalog-socials{
  justify-content:flex-end;
  margin:0 0 14px;
}
@media(max-width:700px){
  .social-config-grid{
    grid-template-columns:1fr;
  }
  .store-schedule-row{
    grid-template-columns:1fr 1fr;
  }
  .schedule-day-toggle{
    grid-column:1/-1;
  }
  .public-catalog-socials{
    justify-content:center;
  }
}
@media(max-width:460px){
  .store-schedule-row{
    grid-template-columns:1fr;
  }
  .schedule-day-toggle{
    grid-column:auto;
  }
  .public-social-icon{
    width:36px;
    height:36px;
  }
}

/* V93 — Vista previa PC / celular */
.online-preview-buttons{
  display:flex;
  gap:8px;
  align-items:end;
  flex-wrap:wrap;
}
.public-store-device-frame{
  width:100%;
  min-height:100vh;
  background:#fff;
}
.public-store-page.mobile-preview{
  background:#e5e7eb;
  padding:18px 0;
}
.public-store-page.mobile-preview .public-store-device-frame{
  width:390px;
  max-width:calc(100vw - 24px);
  min-height:844px;
  height:calc(100vh - 36px);
  overflow-y:auto;
  margin:0 auto;
  border-radius:22px;
  box-shadow:0 12px 42px rgba(15,23,42,.25);
}
.public-store-page.mobile-preview .public-store-shell{
  min-height:100%;
}
/* Forzar arquitectura móvil dentro de la simulación aun en monitor de PC */
.public-store-page.mobile-preview .public-store-top{
  padding:12px 14px!important;
  gap:8px!important;
}
.public-store-page.mobile-preview .public-store-top-actions .btn{
  display:none!important;
}
.public-store-page.mobile-preview .public-home-screen{
  padding:24px 14px 30px!important;
}
.public-store-page.mobile-preview .public-home-hero{
  grid-template-columns:1fr!important;
  gap:24px!important;
  min-height:auto!important;
}
.public-store-page.mobile-preview .public-home-brand{
  align-items:center!important;
  text-align:center!important;
}
.public-store-page.mobile-preview .public-home-services,
.public-store-page.mobile-preview .public-social-icons{
  justify-content:center!important;
}
.public-store-page.mobile-preview .public-brand-mark{
  width:118px!important;
  height:118px!important;
}
.public-store-page.mobile-preview .public-home-brand h1{
  font-size:28px!important;
}
.public-store-page.mobile-preview #publicStoreCatalogScreen,
.public-store-page.mobile-preview #publicProductScreen,
.public-store-page.mobile-preview #publicCartScreen,
.public-store-page.mobile-preview #publicCheckoutScreen,
.public-store-page.mobile-preview #publicConfirmationScreen{
  padding:14px 12px 84px!important;
}
.public-store-page.mobile-preview .public-catalog-banner{
  aspect-ratio:16/6!important;
  border-radius:12px!important;
}
.public-store-page.mobile-preview .public-catalog-socials{
  justify-content:center!important;
}
.public-store-page.mobile-preview .public-catalog-header{
  grid-template-columns:auto minmax(0,1fr)!important;
}
.public-store-page.mobile-preview .public-catalog-header>.btn{
  grid-column:1/-1!important;
  width:100%!important;
}
.public-store-page.mobile-preview .public-store-categories{
  overflow-x:auto!important;
  flex-wrap:nowrap!important;
}
.public-store-page.mobile-preview .public-store-categories button{
  flex:0 0 auto!important;
}
.public-store-page.mobile-preview .public-store-catalog{
  grid-template-columns:1fr!important;
}
.public-store-page.mobile-preview .public-product-detail,
.public-store-page.mobile-preview .public-cart-layout{
  grid-template-columns:1fr!important;
}
.public-store-page.mobile-preview .public-checkout-card .form-grid,
.public-store-page.mobile-preview .public-delivery-address-grid{
  grid-template-columns:1fr!important;
}
.public-store-page.mobile-preview .public-checkout-card .span-2{
  grid-column:auto!important;
}
@media(max-width:520px){
  .online-preview-buttons{width:100%}
  .online-preview-buttons .btn{flex:1}
  .public-store-page.mobile-preview{
    padding:0;
  }
  .public-store-page.mobile-preview .public-store-device-frame{
    width:100%;
    max-width:none;
    height:100vh;
    height:100dvh;
    border-radius:0;
    box-shadow:none;
  }
}

/* V94 — Limpieza de portada/menú y mejoras móviles */
.public-catalog-header{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:center!important;
}
.public-catalog-brand{
  justify-content:flex-start;
}
.public-store-top-actions{
  margin-left:auto;
}

/* Distribución más compacta y limpia en celular */
@media(max-width:800px){
  .public-store-page .public-store-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
  }
  .public-store-top-actions{
    margin-left:0!important;
  }
  .public-home-screen{
    padding:20px 14px 28px!important;
  }
  .public-home-hero{
    gap:20px!important;
  }
  .public-home-actions{
    gap:10px!important;
  }
  .public-reviews-section{
    margin-top:28px!important;
  }
  .public-catalog-header{
    display:block!important;
    margin-bottom:12px!important;
  }
  .public-catalog-brand{
    width:100%;
  }
}

/* Segunda página: productos mejor distribuidos */
@media(max-width:700px){
  .public-store-catalog{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .public-product-card{
    display:grid!important;
    grid-template-columns:96px minmax(0,1fr) auto!important;
    gap:12px!important;
    align-items:center!important;
    padding:10px!important;
    min-height:112px!important;
  }
  .public-product-placeholder{
    width:96px!important;
    height:96px!important;
    min-width:96px!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  .public-product-placeholder img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .public-product-card > div:nth-child(2){
    min-width:0!important;
  }
  .public-product-card > div:nth-child(2) strong{
    display:block!important;
    font-size:15px!important;
    line-height:1.2!important;
    margin-bottom:4px!important;
  }
  .public-product-card > div:nth-child(2) p{
    font-size:12px!important;
    line-height:1.35!important;
    margin:0 0 6px!important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .public-product-card > button{
    align-self:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:50%!important;
  }
}

/* Detalle de producto totalmente adaptativo en móvil */
@media(max-width:700px){
  .public-store-page #publicProductScreen{
    padding:12px 12px 84px!important;
  }
  .public-product-detail{
    display:block!important;
    width:100%!important;
  }
  .public-product-visual{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:1/1!important;
    margin:0 0 14px!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }
  .public-product-visual img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
  }
  .public-product-content{
    width:100%!important;
    min-width:0!important;
    padding:0!important;
  }
  .public-product-content h2{
    font-size:22px!important;
    line-height:1.15!important;
    margin:0 0 8px!important;
  }
  .public-product-content p{
    font-size:14px!important;
    line-height:1.45!important;
    margin:0 0 14px!important;
  }
  .public-option-section,
  .public-product-content > div,
  .public-product-content label{
    width:100%!important;
    min-width:0!important;
  }
  .public-choice{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    width:100%!important;
    padding:10px 8px!important;
  }
  .public-choice span{
    min-width:0!important;
  }
  .public-add-row{
    position:sticky!important;
    bottom:0!important;
    z-index:20!important;
    background:#fff!important;
    margin:18px -12px -12px!important;
    padding:12px!important;
    border-top:1px solid #e5e7eb!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
  }
  .public-qty-control{
    min-width:118px!important;
    justify-content:space-between!important;
  }
  .public-add-row .btn{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }
  #publicProductComments{
    width:100%!important;
    min-height:88px!important;
    resize:vertical!important;
  }
}

/* Vista previa celular: aplicar también adaptación estricta */
.public-store-page.mobile-preview .public-product-detail{
  display:block!important;
}
.public-store-page.mobile-preview .public-product-visual{
  width:100%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  margin-bottom:14px!important;
}
.public-store-page.mobile-preview .public-product-content{
  width:100%!important;
  padding:0!important;
}
.public-store-page.mobile-preview .public-choice{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:8px!important;
  width:100%!important;
}
.public-store-page.mobile-preview .public-add-row{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:8px!important;
  position:sticky!important;
  bottom:0!important;
  background:#fff!important;
  z-index:30!important;
  padding:10px!important;
  margin:16px -12px -12px!important;
  border-top:1px solid #e5e7eb!important;
}
.public-store-page.mobile-preview .public-add-row .btn{
  width:100%!important;
  min-width:0!important;
}

/* V95 — Limpieza configuración y logo exclusivo de portada */
.public-catalog-brand{
  gap:0!important;
}
.public-catalog-brand > div{
  min-width:0;
}
#publicStoreCatalogScreen .public-catalog-header{
  margin-top:4px;
}

/* V96 — Nombre visible y dirección pública alineados */
.store-main-field{
  min-width:0;
  width:100%;
}
.store-main-field > input,
.store-main-field > .store-slug-field{
  width:100%!important;
  box-sizing:border-box;
}
.store-slug-field{
  display:flex!important;
  align-items:center!important;
  min-height:42px;
}
.store-slug-field input{
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  height:100%;
}
.store-slug-field span{
  flex:0 0 auto;
}

/* V97: alineación estricta Nombre visible / Dirección pública */
.store-name-slug-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:16px!important;
  width:100%!important;
  align-items:start!important;
}
.store-name-slug-row .store-main-field{
  display:grid!important;
  grid-template-rows:20px 44px 18px!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.store-field-title{height:20px!important;line-height:20px!important;font-size:12px!important;font-weight:700!important}
.store-aligned-input-wrap{width:100%!important;height:44px!important;box-sizing:border-box!important;margin:0!important}
.store-aligned-input-wrap>input{width:100%!important;height:44px!important;margin:0!important;box-sizing:border-box!important}
.store-name-slug-row .store-slug-field{display:flex!important;align-items:stretch!important;padding:0!important;overflow:hidden!important}
.store-name-slug-row .store-slug-field>span{display:flex!important;align-items:center!important;height:44px!important;padding:0 10px!important;white-space:nowrap!important;box-sizing:border-box!important}
.store-name-slug-row .store-slug-field>input{flex:1 1 auto!important;width:0!important;min-width:0!important;height:44px!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}
.store-name-slug-row small{display:block!important;min-height:18px!important;line-height:18px!important;margin:0!important}
.store-field-reserved{visibility:hidden!important}
@media(max-width:700px){.store-name-slug-row{grid-template-columns:1fr!important;gap:10px!important}}

/* GestApp — identidad visual oficial */
.gestapp-logo{display:block;height:auto;max-width:100%;object-fit:contain}
.gestapp-logo-login{width:min(340px,82vw);margin:-42px auto -52px}
.gestapp-logo-blocker{width:min(250px,72vw);margin:-42px auto -40px}
.gestapp-logo-sidebar{width:172px;flex:0 1 auto;margin:-33px -13px -38px}
.gestapp-logo-mobile{width:118px;margin:-24px -10px -25px}
.auth-layout{width:min(720px,100%);display:grid;justify-items:center;gap:22px}
.auth-layout:has(.signup-panel:not(.hidden)){width:min(1120px,94vw);max-width:1120px}
.auth-layout .auth-card{width:100%}
.login-brand-logo{width:min(300px,80vw);height:auto;margin:0 auto}
.not-found-layout{width:min(480px,100%);display:grid;justify-items:center;gap:22px}
.not-found-layout .billing-blocker-card{width:100%}
.not-found-brand-logo{width:min(280px,76vw);height:auto;margin:0 auto}

body{background:var(--gestapp-background);color:var(--gestapp-text)}
.auth-gate{background:radial-gradient(circle at 50% 0,#e8f4ff 0,var(--gestapp-background) 48%,#eef3fa 100%)}
.auth-card{border-color:var(--gestapp-border);box-shadow:0 22px 60px rgba(6,23,71,.12)}
.auth-brand{display:grid;justify-items:center;text-align:center;gap:0;margin-bottom:22px}
.auth-brand p{color:var(--gestapp-text-muted);font-weight:600}
.sidebar,.mobile-menu-bar,.sidebar .nav,.sidebar .sidebar-footer{background:var(--gestapp-navy)}
.brand{gap:6px}.brand-copy{display:none}.sidebar-collapse-btn{background:transparent}
.sidebar-collapse-btn:hover{background:rgba(67,181,255,.22)}
.nav-btn{color:#c9d7ee;border:1px solid transparent;transition:background .16s ease,color .16s ease,border-color .16s ease}
.nav-btn:hover{background:rgba(67,181,255,.13);color:#fff;border-color:rgba(67,181,255,.18)}
.nav-btn.active{background:linear-gradient(135deg,var(--gestapp-primary),var(--gestapp-primary-dark));color:#fff;border-color:rgba(255,255,255,.16);box-shadow:0 6px 16px rgba(18,104,243,.2)}
.database-submenu,.consultas-submenu{border-left-color:rgba(67,181,255,.35)}

.btn,.mini-btn{min-height:40px;border-radius:10px;font-weight:750;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.btn:not(:disabled):active,.mini-btn:not(:disabled):active{transform:translateY(1px)}
.btn.primary{background:var(--gestapp-primary);color:#fff}.btn.primary:hover{background:var(--gestapp-primary-hover)}
.btn.secondary{background:#fff;color:var(--gestapp-primary-dark);border:1px solid #9fc2f7}.btn.secondary:hover{background:#edf5ff;border-color:var(--gestapp-primary)}
.btn.ghost{background:#edf2f8;color:var(--gestapp-navy)}
.mini-btn{background:#fff;color:var(--gestapp-primary-dark);border-color:var(--gestapp-border)}.mini-btn:hover{background:#edf5ff;border-color:#9fc2f7}
.danger-btn{background:#b42323;color:#fff}.danger-btn:hover{background:#981b1b}
.income-btn,.success-btn{background:var(--green)!important;color:#fff!important}.income-btn:hover,.success-btn:hover{background:#146c43!important}
.btn:disabled,.mini-btn:disabled,button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
button:focus-visible,.btn:focus-visible,.mini-btn:focus-visible{outline:3px solid rgba(67,181,255,.45);outline-offset:2px}

input,select,textarea{border-color:var(--gestapp-border);background:#fff;color:var(--gestapp-text);border-radius:9px}
input:hover,select:hover,textarea:hover{border-color:#b7cae5}
input:focus,select:focus,textarea:focus{border-color:var(--gestapp-primary)!important;box-shadow:0 0 0 3px rgba(18,104,243,.13)!important;outline:0}
input:disabled,select:disabled,textarea:disabled{background:#f1f4f8;color:#8793a7;cursor:not-allowed}

.card{background:var(--gestapp-surface);border-color:var(--gestapp-border);box-shadow:0 3px 14px rgba(6,23,71,.035)}
.card-head h2,.database-section-head h2{color:var(--gestapp-navy)}
.metric{border-color:var(--gestapp-border);box-shadow:0 3px 12px rgba(6,23,71,.035)}
table{background:#fff}th{background:#edf4fc;color:var(--gestapp-navy);border-bottom-color:#cbd9ec}td{border-bottom-color:#e6edf6}
tbody tr:hover{background:#f5f9ff}
.table-wrap{border-radius:12px;border-color:var(--gestapp-border)}
.pos-order-tab.active,.pos-subnav-btn.active,.kds-station-tab.active{background:#e8f2ff;color:var(--gestapp-primary-dark);border-color:#9fc2f7}
.pos-order-tab:focus-visible,.pos-subnav-btn:focus-visible,.kds-station-tab:focus-visible{outline:3px solid rgba(67,181,255,.4);outline-offset:2px}
.database-card:not(.sensitive):hover{border-color:#8bb7f4;box-shadow:0 10px 28px rgba(18,104,243,.1)}
dialog,.pos-cash-dialog{background:#fff;color:var(--gestapp-text);border:1px solid var(--gestapp-border);box-shadow:0 24px 70px rgba(6,23,71,.28)}
dialog::backdrop,.pos-cash-dialog::backdrop{background:rgba(6,23,71,.66)}
.topbar{background:var(--gestapp-background)}
.billing-blocker{background:var(--gestapp-background)}
.billing-blocker-card{border-color:var(--gestapp-border);box-shadow:0 22px 60px rgba(6,23,71,.14)}
.subscription-badge.active{background:#e8f7ef;color:#16734a}

@media(max-width:900px){
  .mobile-menu-bar{min-height:62px}.mobile-menu-toggle{border-color:rgba(67,181,255,.3);background:rgba(255,255,255,.08)}
  .sidebar .nav-btn.active{box-shadow:none}
}
@media(max-width:560px){.gestapp-logo-login{width:min(290px,88vw);margin:-34px auto -42px}.auth-layout{gap:16px}.login-brand-logo{width:min(220px,72vw)}.not-found-layout{gap:16px}.not-found-brand-logo{width:min(220px,72vw)}.auth-card{padding:20px}.gestapp-logo-mobile{width:105px}}
@media print{.gestapp-logo{display:none!important}}

/* V99 — Inicio analítico GestApp */
.gestapp-home-dashboard{max-width:1500px;margin:0 auto;color:#172033}.home-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.home-kpi-card{background:#fff;border:1px solid #e3e7ed;border-radius:9px;padding:17px 18px;min-height:112px;box-shadow:none}.home-kpi-card>span{display:block;color:#6f7889;font-size:12px;font-weight:600}.home-kpi-value{display:flex;align-items:baseline;gap:9px;min-height:38px;margin:7px 0 2px}.home-kpi-card strong{color:#111b2e;font-size:26px;line-height:1.15;letter-spacing:-.025em}.home-kpi-card p{margin:0;color:#939baa;font-size:11px}.home-trend-value{font-size:11px;font-weight:700}.home-trend-value.positive,.home-table-trend.positive{color:#16835b}.home-trend-value.negative,.home-table-trend.negative{color:#cf3f4c}
.home-analytics-card{border:1px solid #e3e7ed;border-radius:9px;padding:18px;box-shadow:none!important;min-width:0}.home-analytics-card .card-head{margin-bottom:16px}.home-analytics-card h2{margin:0;color:#182236;font-size:15px;font-weight:750}.home-analytics-card .card-head p{margin:4px 0 0;color:#8b94a5;font-size:11px}.home-order-analysis{width:100%;min-height:290px;max-height:320px;margin-bottom:14px}.home-order-analysis .card-head{margin-bottom:8px}
.home-donut-layout{display:grid;grid-template-columns:minmax(250px,34%) minmax(0,66%);gap:24px;align-items:center;min-height:220px}.home-donut-panel{display:grid;justify-items:center;align-content:center;gap:10px;min-width:0}.home-donut{width:clamp(180px,15vw,205px);height:clamp(180px,15vw,205px);border-radius:50%;background:#e8edf3;position:relative}.home-donut:after{content:"";position:absolute;inset:31px;border-radius:50%;background:#fff}.home-donut-percent{position:absolute;z-index:2;color:#fff;font-size:10px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.28);transform:translate(-50%,-50%)}.home-donut-caption{display:grid;justify-items:center;line-height:1.15}.home-donut-caption strong{font-size:18px;color:#172238}.home-donut-caption span{text-transform:uppercase;letter-spacing:.08em;color:#8992a1;font-size:9px;font-weight:700}
.home-table-wrap{min-width:0;overflow-x:auto}.home-table-wrap table{min-width:620px;font-size:13px}.home-table-wrap thead{background:#f5f6f8}.home-table-wrap th{padding:10px;color:#788294;font-size:11px;font-weight:650;text-align:right;border:0}.home-table-wrap th:first-child,.home-table-wrap td:first-child{text-align:left}.home-table-wrap td{height:43px;padding:9px 10px;text-align:right;border-bottom:1px solid #edf0f3;color:#263247}.home-table-wrap tr:last-child td{border-bottom:0}.home-table-empty td{height:132px!important;text-align:center!important;color:#939baa}.home-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}.home-table-metric{display:flex;justify-content:flex-end;align-items:baseline;gap:5px}.home-table-trend{font-size:9px;font-weight:750}
.home-reference-row{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:14px;margin-bottom:14px;align-items:stretch}.home-right-stack{display:grid;grid-template-rows:1fr 1fr;gap:14px;min-width:0}.home-progress-card,.home-hours-card{min-height:450px}.home-compact-card{min-height:218px}.home-compact-card .card-head{margin-bottom:12px}
.home-inline-legend{display:flex;gap:12px;color:#7c8697;font-size:10px}.home-inline-legend span{display:flex;align-items:center;gap:5px}.home-inline-legend i{width:8px;height:8px;border-radius:2px;background:#1265e8}.home-inline-legend i.previous{background:#a9c8f6}.home-progress-chart{height:360px;display:grid;grid-template-columns:repeat(7,minmax(24px,1fr));gap:10px;align-items:end;border-bottom:1px solid #e6eaf0;padding-top:8px}.home-progress-day{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.home-progress-bars{height:318px;display:flex;align-items:flex-end;justify-content:center;gap:4px;width:100%}.home-progress-bar{width:min(18px,42%);min-height:2px;background:#1265e8;border-radius:3px 3px 0 0}.home-progress-bar.previous{background:#a9c8f6}.home-progress-day small{color:#8c95a5;font-size:9px;text-transform:capitalize}
.home-horizontal-chart{display:grid;gap:10px}.home-chart-row{display:grid;grid-template-columns:100px minmax(0,1fr) 74px;gap:9px;align-items:center;font-size:11px}.home-chart-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#596477}.home-chart-track{height:7px;background:#eff2f6;border-radius:3px;overflow:hidden}.home-chart-fill{height:100%;border-radius:3px;background:#1265e8}.home-chart-row strong{text-align:right;color:#293448;font-size:10px}.home-empty-chart{display:grid;place-items:center;min-height:125px;color:#929baa;font-size:12px;text-align:center}.home-column-chart{height:360px;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid #e5e9ef;padding-top:12px}.home-hour-column{height:100%;min-width:22px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.home-hour-column i{width:min(26px,72%);min-height:2px;background:#77aaf4;border-radius:3px 3px 0 0}.home-hour-column.best i{background:#1265e8}.home-hour-column small{font-size:9px;color:#8a94a5}
.home-payment-chart{display:grid;grid-template-columns:104px 1fr;gap:18px;align-items:center}.home-payment-donut{width:100px;height:100px;border-radius:50%;position:relative}.home-payment-donut:after{content:"";position:absolute;inset:19px;border-radius:50%;background:#fff}.home-payment-list{display:grid;gap:8px}.home-payment-item{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:10px}.home-payment-item span{color:#657084}.home-payment-item strong{color:#253147}.home-payment-item small{grid-column:1/-1;height:4px;background:#edf0f4;border-radius:3px;overflow:hidden}.home-payment-item i{display:block;height:100%;border-radius:3px}
.home-operational-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e3e7ed;border-radius:9px;background:#fff;margin-bottom:20px}.home-operational-strip>div{display:flex;justify-content:space-between;gap:10px;padding:13px 16px;border-right:1px solid #e8ebef}.home-operational-strip>div:last-child{border:0}.home-operational-strip span{color:#7b8595;font-size:11px}.home-operational-strip strong{color:#253047;font-size:11px}.home-status-open{color:#16804f!important}.home-status-closed{color:#b42323!important}.home-legacy-data{display:none!important}
@media(max-width:1150px){.home-reference-row{grid-template-columns:1fr}.home-progress-card,.home-hours-card{min-height:360px}.home-progress-chart,.home-column-chart{height:285px}.home-progress-bars{height:245px}.home-right-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.home-compact-card{min-height:230px}}
@media(max-width:820px){.home-kpi-grid{grid-template-columns:1fr 1fr!important}.home-donut-layout{grid-template-columns:1fr}.home-order-analysis{max-height:none}.home-right-stack{grid-template-columns:1fr}.home-analytics-card{padding:14px}.home-operational-strip{grid-template-columns:1fr 1fr}.home-operational-strip>div:nth-child(2){border-right:0}.home-operational-strip>div:nth-child(-n+2){border-bottom:1px solid #e8ebef}.home-payment-chart{grid-template-columns:104px 1fr}.home-payment-donut{margin:auto}}
@media(max-width:520px){.home-kpi-grid{grid-template-columns:1fr!important}.home-chart-row{grid-template-columns:78px minmax(0,1fr) 62px}.home-operational-strip{grid-template-columns:1fr}.home-operational-strip>div{border-right:0;border-bottom:1px solid #e8ebef!important}.home-operational-strip>div:last-child{border-bottom:0!important}.home-payment-chart{grid-template-columns:1fr}}

/* Encabezado de Inicio: empresa junto al título y selector de sucursal a la derecha. */
.home-title-identity{color:inherit;font:inherit;font-weight:inherit;line-height:inherit;overflow-wrap:anywhere}
.home-title-separator{display:inline-block;margin:0 .18em;color:inherit}
.home-header-actions{margin-left:auto;flex:0 1 280px;display:grid;grid-template-columns:minmax(170px,210px) minmax(180px,220px);gap:10px;align-items:end;min-width:374px}.topbar .home-header-actions:has(.home-custom-date-range:not(.hidden)){flex-basis:760px;grid-template-columns:minmax(150px,180px) minmax(170px,200px) minmax(300px,1fr);min-width:680px}
.home-header-actions.hidden{display:none!important}.home-header-filter{display:grid;gap:5px;min-width:0;color:#697386;font-size:11px;font-weight:700}.home-header-filter select{height:39px;padding-block:0;border-color:#dce2ea;border-radius:7px;background:#fff;font-size:13px}.home-period-control{display:contents}.home-custom-date-range{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:7px}.home-custom-date-range.hidden{display:none!important}.home-custom-date-range label{display:grid;gap:4px;color:#697386;font-size:10px;font-weight:700}.home-custom-date-range input{height:36px;padding:6px 7px;border-color:#dce2ea;border-radius:7px;font-size:11px}.home-custom-date-range>span{padding-bottom:9px;color:#9aa2af}.home-date-range-error{grid-column:1/-1;margin:0;color:#c23c48;font-size:10px;line-height:1.25}
@media(max-width:820px){.topbar:has(.home-header-actions:not(.hidden)){align-items:stretch}.home-header-actions{flex:1 0 100%;min-width:0;margin-left:0}.home-header-actions,.topbar .home-header-actions:has(.home-custom-date-range:not(.hidden)){grid-template-columns:1fr 1fr;min-width:0}.home-custom-date-range{grid-column:1/-1}.home-title-identity{white-space:normal}}
@media(max-width:520px){.home-header-actions{grid-template-columns:1fr}.home-custom-date-range{grid-template-columns:1fr auto 1fr}}

/* Logo integrado directamente en el azul del menú, sin caja/fondo visible. */
.brand{
  padding:0 0 2px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.brand .gestapp-logo-sidebar{
  width:95%!important;
  max-width:none!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}

/* Al retirar el lema, acercar el menú al logotipo. */
.sidebar > .nav{
  margin-top:-10px!important;
}

/* Asegurar que no reaparezca el texto retirado por estilos heredados. */
.brand-copy{
  display:none!important;
}

@media(max-width:900px){
  .sidebar > .nav{margin-top:0!important}
}


/* =========================================================
   V102 — MÓDULO MESEROS + RELOJ CHECADOR
   ========================================================= */
.module-page-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;
}
.module-page-head h2{margin:0 0 4px;font-size:28px;color:var(--gestapp-navy,#071c3d)}
.module-page-head p{margin:0;color:var(--muted,#64748b)}
.module-page-head label{min-width:220px}

.waiter-config-card{overflow:hidden}
.waiter-table-config{display:flex;gap:10px;align-items:flex-end}
.waiter-table-config label{max-width:150px}
.waiter-table-legend{display:flex;gap:18px;flex-wrap:wrap;margin:8px 0 16px;color:#64748b;font-size:13px}
.waiter-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.waiter-dot.free{background:#94a3b8}.waiter-dot.open{background:#16a34a}.waiter-dot.sent{background:#2563eb}
.waiter-tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.waiter-table-card{
  border:1px solid #dbe5f0;border-radius:16px;padding:18px 14px;min-height:130px;background:#fff;text-align:left;
  display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:.16s ease;
}
.waiter-table-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.10)}
.waiter-table-card.free{border-top:5px solid #94a3b8}
.waiter-table-card.open{border-top:5px solid #16a34a;background:#f0fdf4}
.waiter-table-card.sent{border-top:5px solid #2563eb;background:#eff6ff}
.waiter-table-number{font-size:20px;font-weight:900;color:#0f274c}
.waiter-table-card strong{font-size:14px}.waiter-table-card small{color:#64748b}

.waiter-order-toolbar{
  display:flex;gap:12px;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e2e8f0;
  border-radius:14px;padding:12px 14px;margin-bottom:14px
}
.waiter-order-info{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.waiter-order-info strong{font-size:22px;color:#0f274c}
.waiter-order-info span{padding:6px 10px;border-radius:999px;background:#eef4fb;font-size:12px;font-weight:700}
.waiter-order-actions{display:flex;gap:8px}
.waiter-menu-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}
.waiter-products-panel,.waiter-ticket-panel{min-width:0}
.waiter-categories{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:10px}
.waiter-categories button{border:1px solid #cbd5e1;background:#fff;padding:8px 12px;border-radius:999px;white-space:nowrap;cursor:pointer}
.waiter-categories button.active{background:#095df0;color:#fff;border-color:#095df0}
.waiter-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.waiter-product-card{
  border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:0;overflow:hidden;cursor:pointer;text-align:left;
}
.waiter-product-photo{height:120px;background:#eef4fb;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;color:#0b63e5}
.waiter-product-photo img{width:100%;height:100%;object-fit:cover}
.waiter-product-card>div:last-child{display:grid;gap:3px;padding:10px}
.waiter-product-card strong{font-size:15px}.waiter-product-card small{color:#64748b}.waiter-product-card b{color:#095df0}
.waiter-ticket-panel{position:sticky;top:86px;align-self:start}
.waiter-ticket-items{display:grid;gap:9px;max-height:55vh;overflow:auto}
.waiter-ticket-item{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #edf2f7;padding:8px 0}
.waiter-ticket-item>div:first-child{display:grid;gap:3px}.waiter-ticket-item small{color:#64748b}.waiter-ticket-item em{font-size:12px;color:#b45309}
.waiter-ticket-item>div:last-child{display:flex;align-items:center;gap:8px}.waiter-ticket-item button{border:0;background:#fee2e2;color:#b91c1c;border-radius:50%;width:28px;height:28px}
.waiter-ticket-total{display:flex;justify-content:space-between;align-items:center;border-top:2px solid #dbe5f0;margin-top:14px;padding-top:14px}
.waiter-ticket-total strong{font-size:24px;color:#0f274c}
.waiter-dialog{border:0;background:transparent;padding:0;max-width:560px;width:calc(100% - 30px)}
.waiter-dialog::backdrop{background:rgba(2,14,35,.55)}
.gestapp-modal-card{background:#fff;border-radius:18px;padding:20px;box-shadow:0 24px 70px rgba(2,14,35,.28);display:grid;gap:14px}
.waiter-product-footer{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:end}

.employee-schedule-block,.employee-photo-block{grid-column:1/-1;border:1px solid #dbe5f0;border-radius:12px;padding:14px;display:grid;gap:10px}
.employee-schedule-block{grid-template-columns:repeat(3,minmax(0,1fr))}
.employee-schedule-block legend,.employee-photo-block legend{font-weight:800;color:#0f274c;padding:0 6px}
.employee-workdays{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.employee-workdays>span{font-weight:700}.employee-workdays label{display:flex;gap:5px;align-items:center}
.employee-workdays input{width:auto}
.employee-photo-block{grid-template-columns:120px auto auto 1fr;align-items:center}
.employee-photo-preview{width:110px;height:110px;border-radius:16px;background:#eef4fb;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#64748b;font-size:12px;text-align:center}
.employee-photo-preview img{width:100%;height:100%;object-fit:cover}

.timeclock-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px}
.timeclock-kiosk{text-align:center;display:grid;gap:14px;align-content:start}
.timeclock-now{display:grid;gap:4px;padding:10px;border-radius:14px;background:#071c3d;color:#fff}
.timeclock-now span{text-transform:capitalize;font-size:13px;opacity:.82}
.timeclock-now strong{font-size:40px;letter-spacing:.04em}
.timeclock-photo{width:150px;height:150px;margin:0 auto;border-radius:22px;background:#eef4fb;border:2px solid #dbe5f0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:900;color:#095df0}
.timeclock-photo img{width:100%;height:100%;object-fit:cover}
.timeclock-employee-info{display:grid;gap:4px;padding:10px;background:#f8fafc;border-radius:12px}
.timeclock-employee-info strong{font-size:19px;color:#0f274c}.timeclock-employee-info span,.timeclock-employee-info small{color:#64748b}
.timeclock-punch-btn{min-height:58px;font-size:17px;font-weight:900}
.timeclock-device-note{color:#64748b;line-height:1.35}
.timeclock-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.timeclock-summary-grid>div{padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;display:grid;gap:5px}
.timeclock-summary-grid span{font-size:12px;color:#64748b}.timeclock-summary-grid strong{font-size:24px;color:#0f274c}

@media(max-width:1000px){
  .waiter-menu-layout{grid-template-columns:1fr}
  .waiter-ticket-panel{position:static}
  .timeclock-layout{grid-template-columns:1fr}
}
@media(max-width:720px){
  .module-page-head{align-items:stretch;flex-direction:column}
  .module-page-head label{min-width:0}
  .waiter-order-toolbar{align-items:stretch;flex-direction:column}
  .waiter-order-actions{display:grid;grid-template-columns:1fr 1fr}
  .waiter-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .employee-schedule-block{grid-template-columns:1fr}
  .employee-workdays{grid-column:auto}
  .employee-photo-block{grid-template-columns:1fr;text-align:center}
  .employee-photo-preview{margin:auto}
  .timeclock-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:460px){
  .waiter-products-grid{grid-template-columns:1fr}
  .waiter-tables-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .waiter-product-footer{grid-template-columns:1fr}
  .timeclock-summary-grid{grid-template-columns:1fr 1fr}
  .timeclock-now strong{font-size:34px}
}

/* V103 — RESPONSIVE TOTAL: PC / TABLET / CELULAR */
html,body{width:100%;max-width:100%;overflow-x:hidden}
html:has(body #appRoot:not(.hidden)),body:has(#appRoot:not(.hidden)){height:100%;min-height:0;overflow:hidden}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas,iframe{max-width:100%}
img{height:auto}
.view,.card,.panel,.content,main,.form-grid,.filters,.toolbar,.card-head,.table-wrap,.online-admin-grid,.public-store-page,.public-store-shell{min-width:0}
.view{width:100%;max-width:100%}
label,.field,.form-field{min-width:0}
input,select,textarea{width:100%;max-width:100%}
button,.btn{max-width:100%;white-space:normal}
.table-wrap,.table-responsive,.large{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse}
dialog,.gestapp-modal,.modal,.dialog{max-width:calc(100vw - 24px)!important}
dialog>*,.gestapp-modal-card,.modal-card,.dialog-card{max-width:100%}
.gestapp-modal-card,.modal-card,.dialog-card{overflow-wrap:anywhere}

@media(max-width:1100px){
  .filters{flex-wrap:wrap}
  .filters>label,.filters>.field{flex:1 1 220px;min-width:0!important}
  .dashboard-cards,.dashboard-grid,.home-kpi-grid,.summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pos-layout,.cash-layout,.pos-main-grid,.pos-order-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)!important}
  .employee-main-row,.employee-medical-row,.employee-contact-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .waiter-menu-layout,.timeclock-layout,.online-admin-grid,.menu-digital-config-grid,.tienda-config-grid{grid-template-columns:1fr!important}
  .waiter-ticket-panel{position:static!important}
  .kitchen-grid,.delivery-grid,.branches-grid,.catalog-grid,.users-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:820px){
  body{font-size:14px}
  .topbar,.app-topbar,.header-bar{flex-wrap:wrap;gap:10px}
  .module-page-head,.card-head{flex-direction:column;align-items:stretch!important}
  .module-page-head label{width:100%;min-width:0!important}
  .dashboard-cards,.dashboard-grid,.home-kpi-grid,.summary-cards,.timeclock-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .form-grid,.employee-main-row,.employee-medical-row,.employee-contact-row,.employee-schedule-block,.social-config-grid,.store-name-slug-row{grid-template-columns:1fr!important}
  .span-2,.span-3,.span-4{grid-column:auto!important}
  .form-actions,.dialog-actions,.toolbar-actions,.waiter-order-actions,.online-preview-buttons,.store-logo-admin-actions{flex-wrap:wrap}
  .pos-layout,.cash-layout,.pos-main-grid,.pos-order-layout,.pos-payment-layout,.pos-cash-layout{grid-template-columns:1fr!important}
  .pos-products-grid,.sales-products-grid,.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .employee-photo-block{grid-template-columns:1fr!important;text-align:center}
  .employee-photo-preview{margin-inline:auto}
  .employee-workdays{grid-column:auto!important}
  .waiter-order-toolbar{flex-direction:column;align-items:stretch!important}
  .waiter-order-info{justify-content:center}
  .waiter-order-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .waiter-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .timeclock-layout{grid-template-columns:1fr!important}
  .public-home-hero,.public-product-detail,.public-cart-layout,.public-delivery-address-grid{grid-template-columns:1fr!important}
  .public-store-catalog{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .public-store-categories{overflow-x:auto;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch}
  .kitchen-grid,.delivery-grid,.branches-grid,.catalog-grid,.users-grid{grid-template-columns:1fr!important}
}

@media(max-width:600px){
  body{font-size:13px}
  main,.content,.main-content,.view{padding-left:10px!important;padding-right:10px!important}
  h1{font-size:24px!important} h2{font-size:20px!important} h3{font-size:17px!important}
  .card{padding:12px!important;border-radius:12px!important}
  .btn,button:not(.icon-close):not(.nav-btn){min-height:42px}
  .form-actions,.dialog-actions,.toolbar-actions,.online-preview-buttons,.waiter-order-actions,.store-logo-admin-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .form-actions>*,.dialog-actions>*,.toolbar-actions>*,.online-preview-buttons>*,.waiter-order-actions>*,.store-logo-admin-actions>*{width:100%}
  .dashboard-cards,.dashboard-grid,.home-kpi-grid,.summary-cards{grid-template-columns:1fr!important}
  .timeclock-summary-grid{grid-template-columns:1fr 1fr!important}
  .form-grid,.grid-2,.grid-3,.grid-4,.employee-main-row,.employee-medical-row,.employee-contact-row,.employee-schedule-block,.store-name-slug-row,.social-config-grid,.store-link-row,.store-schedule-row{grid-template-columns:1fr!important}
  .pos-products-grid,.sales-products-grid,.products-grid{grid-template-columns:1fr!important}
  .pos-summary-grid,.cash-summary-grid,.payment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .table-wrap table{min-width:680px}
  dialog,.gestapp-modal,.modal,.dialog{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;margin:auto!important}
  .gestapp-modal-card,.modal-card,.dialog-card{max-height:calc(100vh - 24px);overflow-y:auto;padding:14px!important}
  .waiter-tables-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .waiter-table-card{min-height:110px;padding:12px 10px}
  .waiter-products-grid{grid-template-columns:1fr!important}
  .waiter-product-card{display:grid;grid-template-columns:92px minmax(0,1fr)}
  .waiter-product-photo{height:92px}
  .waiter-product-footer{grid-template-columns:1fr!important}
  .timeclock-kiosk{padding:12px!important}
  .timeclock-photo{width:120px!important;height:120px!important}
  .timeclock-now strong{font-size:32px!important}
  .public-store-page .public-store-top{padding:10px 12px!important}
  .public-home-screen,.public-store-page #publicStoreCatalogScreen,.public-store-page #publicProductScreen,.public-store-page #publicCartScreen,.public-store-page #publicCheckoutScreen,.public-store-page #publicConfirmationScreen{padding-left:12px!important;padding-right:12px!important}
  .public-store-catalog{grid-template-columns:1fr!important}
  .public-product-card{grid-template-columns:88px minmax(0,1fr) auto!important}
  .public-product-placeholder{width:88px!important;height:88px!important}
  .public-add-row{grid-template-columns:1fr!important}
  .brand .gestapp-logo-sidebar{max-width:170px!important}
}

@media(max-width:390px){
  main,.content,.main-content,.view{padding-left:8px!important;padding-right:8px!important}
  .card{padding:10px!important}
  .timeclock-summary-grid,.pos-summary-grid,.cash-summary-grid,.payment-summary-grid{grid-template-columns:1fr!important}
  .waiter-tables-grid{grid-template-columns:1fr 1fr!important}
  .public-product-card{grid-template-columns:76px minmax(0,1fr)!important}
  .public-product-card>button{grid-column:1/-1;width:100%}
}

@media(hover:none) and (pointer:coarse){
  .btn,button,.nav-btn,input,select,textarea{min-height:44px}
}

/* Sidebar fijo en escritorio; el contenido principal administra el scroll vertical. */
@media(min-width:901px){
  .app-shell{
    --sidebar-fixed-width:240px;
    grid-template-columns:var(--sidebar-fixed-width) minmax(0,1fr);
    width:100%;
    height:100vh;
    height:100dvh;
    min-height:0;
    overflow:hidden;
  }
  .app-shell.sidebar-collapsed{--sidebar-fixed-width:72px}
  .app-shell.kitchen-focus{--sidebar-fixed-width:0px}
  .app-shell.kitchen-focus.kitchen-menu-open{--sidebar-fixed-width:240px}
  .sidebar{
    position:fixed;
    z-index:20;
    top:0;
    left:0;
    width:var(--sidebar-fixed-width);
    height:100vh;
    height:100dvh;
    min-height:0;
    overflow:hidden;
    transition:width .2s ease,padding .2s ease,gap .2s ease;
  }
  .app-shell.kitchen-focus .sidebar{transform:translateX(-100%)}
  .app-shell.kitchen-focus.kitchen-menu-open .sidebar{transform:translateX(0)}
  .sidebar>.brand,.sidebar>.sidebar-collapse-btn,.sidebar>.sidebar-footer{flex:0 0 auto}
  .sidebar>.nav{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .sidebar>.nav::-webkit-scrollbar{width:0;height:0;display:none}
  .sidebar>.sidebar-collapse-btn{margin-top:0}
  .sidebar>.sidebar-footer{margin-top:0}
  .main{
    grid-column:2;
    height:100vh;
    height:100dvh;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .main::-webkit-scrollbar{width:0;height:0;display:none}
}

@media(max-width:900px){
  .app-shell{grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow:hidden}
  .sidebar{width:100%;height:auto;min-height:0;overflow:visible}
  .main{grid-column:1;height:auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}
  .main::-webkit-scrollbar{width:0;height:0;display:none}
  .sidebar>.nav{scrollbar-width:none;-ms-overflow-style:none}
  .sidebar>.nav::-webkit-scrollbar{width:0;height:0;display:none}
}

@media(max-height:600px) and (orientation:landscape){
  dialog,.gestapp-modal,.modal,.dialog{max-height:96vh!important;overflow-y:auto!important}
  .gestapp-modal-card,.modal-card,.dialog-card{max-height:92vh!important;overflow-y:auto!important}
}

/* V104 — Meseros: seguridad, autorizaciones y producción */
.employee-waiter-access-block{grid-column:1/-1;border:1px solid #dbe5f0;border-radius:12px;padding:14px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;align-items:end}
.employee-waiter-access-block legend{font-weight:800;color:#0f274c;padding:0 6px}.employee-waiter-toggle{display:flex!important;align-items:center;gap:8px;min-height:42px}.employee-waiter-toggle input{width:auto}.employee-waiter-access-block small{grid-column:1/-1;color:#64748b}
.user-action-permissions-box{margin:14px 0;padding:13px;border:1px solid #dbe5f0;border-radius:12px;background:#f8fafc}.user-special-permission{display:flex!important;gap:8px;align-items:center;margin-top:8px;font-weight:700}.user-special-permission input{width:auto}

/* Costos de envío por cobertura geográfica */
.delivery-config-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:20px;align-items:start}
.delivery-origin-card,.delivery-ranges-card{display:grid;gap:14px}.delivery-config-map{position:relative;width:100%;height:430px;border:1px solid #dbe5f0;border-radius:14px;overflow:hidden;background:#f1f5f9}.delivery-config-map>.pos-google-map-placeholder{position:absolute;inset:0;z-index:0;pointer-events:none}
.delivery-ranges-list{display:grid;gap:9px}.delivery-range-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px;border:1px solid #dbe5f0;border-radius:11px}.delivery-range-row.inactive{opacity:.55}.delivery-range-row small{display:block;color:#64748b;margin-top:3px}.delivery-range-swatch{width:12px;height:36px;border-radius:8px}.delivery-range-legend{display:flex;flex-wrap:wrap;gap:8px}.delivery-range-legend span{display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f8fafc;font-size:12px}.delivery-range-legend i{width:9px;height:9px;border-radius:50%}
.delivery-quote-status{padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:13px;font-weight:700}.delivery-quote-status.ok{background:#ecfdf5;color:#047857}.delivery-quote-status.error{background:#fef2f2;color:#b91c1c}
.public-delivery-address-grid .google-autocomplete-host{margin-top:6px}
@media(max-width:900px){.delivery-config-grid{grid-template-columns:1fr}.delivery-config-map{height:330px}.delivery-range-row{grid-template-columns:12px minmax(0,1fr) auto}.delivery-range-row .danger{grid-column:3}.delivery-range-form{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.delivery-config-map{height:280px}.delivery-range-form{grid-template-columns:1fr}.delivery-range-row{grid-template-columns:10px minmax(0,1fr)}.delivery-range-row button{grid-column:auto}.delivery-range-row .danger{grid-column:auto}}
.waiter-panel-lock{min-height:65vh;display:flex;align-items:center;justify-content:center;padding:24px}.waiter-login-card{width:min(420px,100%);background:#fff;border:1px solid #dbe5f0;border-radius:20px;padding:28px;box-shadow:0 18px 50px rgba(15,39,76,.12);display:grid;gap:14px}.waiter-login-icon{font-size:42px;text-align:center}.waiter-login-card h2,.waiter-login-card p{margin:0;text-align:center}

/* Recetario e inventario teórico de insumos */
.recipe-products-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.recipe-product-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--gestapp-border);border-radius:14px;padding:16px}.recipe-product-card strong,.recipe-product-card small{display:block}.recipe-product-card strong{color:var(--gestapp-navy);font-size:16px}.recipe-product-card small{margin-top:6px;color:var(--muted);font-size:11px;font-weight:800}.recipe-dialog{width:min(920px,calc(100vw - 24px));max-height:92vh}.recipe-dialog-card{padding:20px;display:grid;gap:14px}.recipe-dialog-card>label{display:grid;gap:6px;color:var(--muted);font-size:13px}.recipe-ingredient-head,.recipe-ingredient-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(210px,1fr) minmax(130px,.65fr) 42px;gap:10px;align-items:end}.recipe-ingredient-head{padding:0 4px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.recipe-ingredient-row{padding:10px;border:1px solid var(--gestapp-border);border-radius:12px;background:#f8fafc}.recipe-ingredient-row label{display:grid;gap:5px;color:var(--muted);font-size:11px}.recipe-quantity{display:grid;grid-template-columns:minmax(90px,1fr) 76px;gap:6px}.recipe-ingredient-row>.danger{min-height:42px}.recipe-total{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:14px;border-radius:12px;background:#eef5ff;color:var(--gestapp-navy)}.recipe-total span{font-size:12px;font-weight:850}.recipe-total strong{font-size:22px}.ingredient-inventory-card{padding:0;overflow:hidden}.ingredient-inventory-table th:nth-child(n+2),.ingredient-inventory-table td:nth-child(n+2){text-align:right}.ingredient-inventory-table strong{color:var(--gestapp-navy)}
.recipe-ingredient-head,.recipe-ingredient-row{grid-template-columns:minmax(190px,1.5fr) minmax(100px,.65fr) minmax(145px,.85fr) minmax(120px,.65fr) 42px}
.production-printer-editor{margin-top:16px;padding-top:16px;border-top:1px solid var(--gestapp-border);display:grid;gap:12px}.production-printer-editor h3{margin:0;color:var(--gestapp-navy);font-size:15px}.production-printer-row{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--gestapp-border);border-radius:9px;background:#f8fafc}.station-output-controls{display:grid;grid-template-columns:minmax(150px,1fr) 70px;gap:6px}.station-output-controls input,.station-output-controls select{min-height:36px}
.online-branch-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end;margin-bottom:14px}.online-branch-products{grid-column:1/-1;display:grid;gap:7px;margin-top:8px}.online-branch-products h3{margin:0 0 4px;color:var(--gestapp-navy);font-size:15px}.online-branch-product{display:grid;grid-template-columns:minmax(180px,1fr) 190px 130px 80px;gap:8px;align-items:center;padding:8px;border:1px solid var(--gestapp-border);border-radius:9px;background:#f8fafc}.online-branch-product label{display:flex;align-items:center;gap:7px}.online-branch-product label input{width:auto}
.inventory-transfer-card{margin-bottom:16px}.inventory-dialog{width:min(900px,calc(100vw - 24px));max-height:92vh}.inventory-dialog-card{padding:20px;display:grid;gap:14px}.transfer-item-head,.transfer-item-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(100px,.6fr) minmax(145px,.8fr) 42px;gap:10px;align-items:end}.transfer-item-head{padding:0 4px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.transfer-item-row{padding:10px;border:1px solid var(--gestapp-border);border-radius:12px;background:#f8fafc;margin-bottom:8px}.transfer-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf2fb;color:#173b68;font-size:11px;font-weight:850}.transfer-status.received{background:#e8f3ee;color:#276749}.transfer-status.cancelled{background:#f3f4f6;color:#64748b}.transfer-actions{display:flex;gap:5px;flex-wrap:wrap}.inventory-head-actions{display:flex;align-items:end;gap:10px}.inventory-movements-card{margin-top:16px}
@media(max-width:700px){.recipe-products-list{grid-template-columns:1fr}.recipe-product-card{align-items:stretch;flex-direction:column}.recipe-product-card .btn{width:100%}.recipe-ingredient-head{display:none}.recipe-ingredient-row{grid-template-columns:1fr}.recipe-ingredient-row>.danger{width:100%}.recipe-total{align-items:flex-start;flex-direction:column;gap:5px}.ingredient-inventory-table{min-width:720px}}
@media(max-width:700px){.transfer-item-head{display:none}.transfer-item-row{grid-template-columns:1fr}.inventory-head-actions{align-items:stretch;flex-direction:column}.inventory-head-actions .btn{width:100%}}
@media(max-width:700px){.online-branch-toolbar,.online-branch-product{grid-template-columns:1fr}.online-branch-products{grid-column:auto}.online-branch-toolbar .form-actions{flex-direction:column}.online-branch-toolbar .btn{width:100%}}
.waiter-session-tools{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.waiter-session-badge{padding:8px 12px;border-radius:999px;background:#e8f1ff;color:#095df0;font-weight:800}
.waiter-item-actions{display:flex;align-items:center;gap:6px}.waiter-item-actions button{width:30px;height:30px;border:0;border-radius:50%;background:#e8f1ff;color:#095df0;font-weight:900}.waiter-item-actions button:last-child{background:#fee2e2;color:#b91c1c}.waiter-print-area{display:none}
.production-printers-shell{display:grid;gap:16px}.production-printers-shell .production-stations-card{margin:0}.production-station-editor{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end}.production-station-print{display:flex!important;gap:8px;align-items:center;min-height:42px}.production-station-print input{width:auto}.production-stations-list{display:grid;gap:8px;margin-top:12px}.production-station-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}.production-station-row>div:first-child{display:grid;gap:3px}.production-station-row small{color:#64748b}.production-station-row.inactive{opacity:.55}
@media(max-width:760px){.employee-waiter-access-block,.production-station-editor{grid-template-columns:1fr}.employee-waiter-access-block small{grid-column:auto}.production-station-row{align-items:stretch;flex-direction:column}.station-output-controls{grid-template-columns:minmax(0,1fr) 70px}.waiter-session-tools{align-items:stretch;flex-direction:column}}
@media(max-width:440px){.station-output-controls{grid-template-columns:1fr}.production-station-row .action-row{align-items:stretch;flex-direction:column}.production-station-row .action-row button{width:100%}}
@media print{
 body.printing-waiter-tickets *{visibility:hidden!important}
 body.printing-waiter-tickets #waiterPrintArea,body.printing-waiter-tickets #waiterPrintArea *{visibility:visible!important}
 body.printing-waiter-tickets #waiterPrintArea{display:block!important;position:absolute;inset:0;width:100%;background:#fff}
 .waiter-print-ticket{page-break-after:always;padding:10mm;font-family:Arial,sans-serif;color:#000}
 .waiter-print-ticket h1{font-size:18px;margin:0;text-align:center}.waiter-print-ticket h2{font-size:22px;margin:4px 0 10px;text-align:center}
 .waiter-print-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-top:1px solid #000;border-bottom:1px solid #000;padding:6px 0;margin-bottom:8px}
 .waiter-print-ticket h3{font-size:14px;margin:10px 0 4px;border-bottom:1px dashed #000}.waiter-print-line{display:grid;gap:2px;padding:4px 0}.waiter-print-line em{font-weight:700}
}


/* =========================================================
   V105 — Panel de Meseros estilo operativo moderno
   consumo visible + menú compacto por grupos
   ========================================================= */
.waiter-pos-header{
  display:grid;
  grid-template-columns:auto minmax(220px,1fr) auto;
  gap:12px;
  align-items:center;
  background:#071c3d;
  color:#fff;
  padding:10px 12px;
  border-radius:14px;
  margin-bottom:12px;
}
.waiter-order-info-main{justify-content:flex-start}
.waiter-order-info-main strong{color:#fff}
.waiter-order-info-main span{background:rgba(255,255,255,.12);color:#fff}
.waiter-course-strip{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.waiter-course-btn{
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:9px;
  padding:8px 11px;
  font-weight:800;
  cursor:pointer;
}
.waiter-course-btn.active{background:#0b63e5;border-color:#4da3ff}

.waiter-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.9fr);
  gap:12px;
  min-height:560px;
}
.waiter-consumption-panel,.waiter-menu-panel{padding:0!important;overflow:hidden}
.waiter-consumption-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  background:#0f274c;
  color:#fff;
}
.waiter-consumption-head>div{display:grid;gap:2px}
.waiter-consumption-head span{font-size:12px;letter-spacing:.08em;font-weight:800;opacity:.82}
.waiter-consumption-head strong{color:#fff}
.waiter-total-big{font-size:24px!important}
.waiter-consumption-columns{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 110px 100px 86px;
  gap:8px;
  padding:8px 12px;
  background:#e9f2ff;
  color:#0f274c;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.waiter-consumption-list{
  max-height:500px!important;
  min-height:360px;
  overflow:auto;
  padding:0!important;
}
.waiter-ticket-item{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 110px 100px 86px;
  gap:8px;
  align-items:center;
  padding:10px 12px!important;
  margin:0!important;
  border-bottom:1px solid #e6edf6!important;
  background:#fff;
}
.waiter-ticket-item:nth-child(even){background:#f8fbff}
.waiter-ticket-item.cancelled{opacity:.58;background:#fff1f2}
.waiter-ticket-qty{text-align:center;font-size:17px;font-weight:900;color:#0f274c}
.waiter-ticket-desc{display:grid;gap:2px}
.waiter-ticket-desc strong{font-size:15px}
.waiter-ticket-desc small{color:#64748b}
.waiter-ticket-desc em{font-size:12px;color:#b45309;font-weight:700}
.waiter-ticket-course{font-size:12px;font-weight:800;color:#095df0}
.waiter-ticket-price{font-weight:900;text-align:right}
.waiter-item-actions{justify-content:flex-end}
.waiter-consumption-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 14px;
  background:#eef4fb;
  border-top:2px solid #cbd9ea;
}
.waiter-consumption-footer span{font-weight:800;color:#0f274c}
.waiter-consumption-footer strong{font-size:24px;color:#095df0}

.waiter-menu-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  background:#0b63e5;
  color:#fff;
}
.waiter-menu-panel-head>div{display:grid;gap:2px}
.waiter-menu-panel-head small{opacity:.82}
.waiter-menu-panel-head .btn{border-color:rgba(255,255,255,.35);color:#fff}
.waiter-group-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px!important;
  padding:10px;
  margin:0!important;
  overflow:visible!important;
}
.waiter-group-grid button{
  min-height:52px;
  border-radius:10px!important;
  font-weight:900;
  text-align:center;
  white-space:normal!important;
}
.waiter-compact-products{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  padding:10px;
  max-height:400px;
  overflow:auto;
}
.waiter-compact-products .waiter-product-card{
  min-height:76px;
  display:grid!important;
  grid-template-columns:66px minmax(0,1fr)!important;
  align-items:center;
}
.waiter-compact-products .waiter-product-photo{height:76px!important}
.waiter-compact-products .waiter-product-card>div:last-child{padding:8px!important}
.waiter-bottom-actions{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.waiter-bottom-actions .btn{min-height:48px;font-weight:900}

.availability-badge{
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
}
.availability-both{background:#dcfce7;color:#166534}
.availability-physical{background:#dbeafe;color:#1d4ed8}
.availability-online{background:#ede9fe;color:#6d28d9}
.availability-none{background:#fee2e2;color:#991b1b}
.product-availability-actions{align-items:flex-end!important}
.product-availability-inline{min-width:230px!important;font-size:12px}
.product-availability-inline select{min-height:34px!important}

@media(max-width:1050px){
  .waiter-workspace{grid-template-columns:1fr}
  .waiter-consumption-list{min-height:280px}
}
@media(max-width:760px){
  .waiter-pos-header{grid-template-columns:1fr}
  .waiter-course-strip{justify-content:flex-start}
  .waiter-consumption-columns{display:none}
  .waiter-ticket-item{
    grid-template-columns:38px minmax(0,1fr) auto!important;
    grid-template-areas:
      "qty desc price"
      "qty course actions";
  }
  .waiter-ticket-qty{grid-area:qty}.waiter-ticket-desc{grid-area:desc}.waiter-ticket-course{grid-area:course}.waiter-ticket-price{grid-area:price}.waiter-item-actions{grid-area:actions}
  .waiter-group-grid,.waiter-compact-products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .waiter-bottom-actions{grid-template-columns:1fr 1fr}
  .product-availability-actions{display:grid!important;grid-template-columns:1fr 1fr}
  .product-availability-inline{grid-column:1/-1;min-width:0!important}
}
@media(max-width:460px){
  .waiter-group-grid{grid-template-columns:1fr 1fr!important}
  .waiter-compact-products{grid-template-columns:1fr!important}
  .waiter-bottom-actions{grid-template-columns:1fr}
}

/* V106A — Nueva arquitectura de navegación */
.gestapp-grouped-nav{padding-bottom:14px}
.sidebar .gestapp-grouped-nav .nav-btn{font-weight:400}
.sidebar .gestapp-grouped-nav .nav-btn:hover{
  background:rgba(67,181,255,.13);
  color:#fff;
  border-color:rgba(67,181,255,.18);
}
.sidebar .gestapp-grouped-nav .nav-btn.active{
  background:linear-gradient(135deg,var(--gestapp-primary),var(--gestapp-primary-dark));
  color:#fff;
  border-color:rgba(255,255,255,.16);
  box-shadow:0 6px 16px rgba(18,104,243,.2);
}
.nav-group-submenu{margin-bottom:5px}
.nav-group-btn .nav-caret{transition:transform .18s ease}
.nav-group-btn:has(+ .nav-group-submenu.open) .nav-caret{transform:rotate(180deg)}
.nav-group-empty{display:none!important}
.module-coming-card{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}
.module-coming-card p{max-width:720px;color:#64748b;line-height:1.55}
.module-coming-icon{font-size:44px}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.support-form{display:grid;gap:14px}
.support-chat-placeholder{min-height:280px;border:1px dashed #b9c9dc;border-radius:14px;background:#f8fbff;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px}
.support-chat-bubble{max-width:80%;background:#e8f1ff;color:#0f274c;border-radius:14px 14px 14px 4px;padding:12px 14px;line-height:1.45}
.online-regional-settings-card{margin-bottom:18px}
@media(max-width:820px){.support-grid{grid-template-columns:1fr}}

/* Identidad definitiva: selector de acceso y recuperación */
.login-type-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px}.login-type-btn{border:1px solid var(--gestapp-border);background:#fff;color:var(--gestapp-navy);padding:10px;border-radius:9px;font-weight:800;cursor:pointer}.login-type-btn.active{background:var(--gestapp-primary);border-color:var(--gestapp-primary);color:#fff}.auth-help-link{display:block;text-align:center;color:var(--gestapp-primary-dark);font-weight:700;text-decoration:none}.form-message{min-height:22px;color:var(--gestapp-text-muted);line-height:1.5}
.auth-help-button{display:flex;align-items:center;justify-content:center;min-width:0;background:#fff;color:var(--gestapp-primary-dark);border:1px solid #9fc2f7;text-align:center;text-decoration:none}.auth-help-button:hover{background:#edf5ff;border-color:var(--gestapp-primary)}
.forgot-password-form{display:grid;gap:18px;min-width:0}
.password-recovery-confirmation{display:grid;justify-items:center;gap:12px;text-align:center;padding:18px 8px;min-width:0}.password-recovery-confirmation h3,.password-recovery-confirmation p{margin:0}.password-recovery-confirmation h3{font-size:22px;color:var(--gestapp-navy)}.password-recovery-confirmation p{max-width:500px;line-height:1.55}.password-recovery-confirmation small{color:var(--gestapp-text-muted)}.password-recovery-confirmation .btn{margin-top:8px;max-width:320px}.form-message.is-error{color:#a71919}@media(max-width:560px){.password-recovery-confirmation{padding:14px 0}.password-recovery-confirmation .btn{max-width:100%}}
.password-field{position:relative;display:block;min-width:0}.password-field>input{width:100%;padding-right:46px}.password-toggle{position:absolute;top:50%;right:5px;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--gestapp-text-muted);cursor:pointer;touch-action:manipulation}.password-toggle:hover{background:#edf5ff;color:var(--gestapp-primary-dark)}.password-toggle:focus-visible{outline:2px solid var(--gestapp-primary);outline-offset:1px}.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}#resetPasswordForm{display:grid;gap:14px;min-width:0}#resetPasswordForm>.btn{margin-top:8px}@media(max-width:560px){.auth-gate{padding:16px 12px}.auth-card{max-width:100%;overflow:hidden}.auth-panel,.auth-panel label,.password-field{min-width:0}.login-type-btn,.auth-panel .btn,.auth-help-button{white-space:normal}.password-toggle{width:42px;height:42px}}
.subscription-summary,.legal-consents{display:grid;gap:8px;padding:16px;border:1px solid var(--gestapp-border);border-radius:12px;background:#f8fbff;margin:12px 0}.subscription-summary span{display:block}.legal-consents label{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:9px}.legal-consents input{width:auto;margin-top:4px}.privacy-short{font-size:13px;line-height:1.5;color:var(--muted);margin:12px 0}.public-legal-footer{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;padding:18px;font-size:13px}.accepted-document{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:10px 0;border-bottom:1px solid var(--gestapp-border)}(max-width:700px){.accepted-document{grid-template-columns:1fr}}.plan-trial{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#e8f7ef;color:#16734a!important;font-weight:800}.premium-regular-price{font-size:17px;color:var(--muted);margin-bottom:0}.premium-regular-price del{text-decoration-thickness:2px}.premium-promo-price{font-size:28px!important;margin-bottom:0!important}.premium-promo-copy{font-size:14px!important;color:var(--gestapp-primary-dark)!important;font-weight:800}.premium-after-copy{font-size:13px!important;color:var(--muted)!important;margin-bottom:8px}

/* Panel Maestro global */
.master-tabs{display:flex;gap:8px;margin-bottom:18px;border-bottom:1px solid var(--gestapp-border)}.master-tabs a{padding:11px 16px;color:var(--gestapp-text-muted);font-weight:800;text-decoration:none;border-bottom:3px solid transparent}.master-tabs a.active{color:var(--gestapp-primary-dark);border-color:var(--gestapp-primary)}.master-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.master-stat{display:grid;gap:5px;padding:15px;border:1px solid var(--gestapp-border);border-radius:12px;background:#f8fbff}.master-stat>strong{font-size:24px;color:var(--gestapp-navy)}.master-stat>span{font-weight:800}.master-stat>small{color:var(--gestapp-text-muted)}.master-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;margin-bottom:14px}.master-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;padding:16px;margin-bottom:16px;border:1px solid var(--gestapp-border);border-radius:12px;background:#f8fbff}.master-filters .form-actions{grid-column:1/-1}.master-subscriber-table th[data-master-sort]{cursor:pointer;color:var(--gestapp-primary-dark)}.master-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:270px}.master-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef3f8;font-size:12px;font-weight:800;white-space:nowrap}.payment-active{background:#dcfce7;color:#166534}.payment-trialing{background:#dbeafe;color:#1d4ed8}.payment-past_due,.payment-blocked{background:#fee2e2;color:#991b1b}.payment-cancel_pending,.payment-canceled{background:#f3f4f6;color:#4b5563}.master-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.master-pagination label{display:flex;align-items:center;gap:7px}.master-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.master-detail-grid p{display:grid;gap:3px;margin:0;padding:10px;border-bottom:1px solid var(--gestapp-border)}.master-history{max-height:260px;overflow:auto}.master-history p{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--gestapp-border);margin:0}.master-history time{color:var(--gestapp-text-muted)}#masterActionDialog,#masterDetailDialog{width:min(720px,calc(100% - 24px));border:0;border-radius:16px;padding:22px;box-shadow:0 24px 70px rgba(15,39,76,.28)}#masterActionDialog::backdrop,#masterDetailDialog::backdrop{background:rgba(15,39,76,.56)}#masterActionForm{display:grid;gap:14px}
.master-status{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap}.master-status i{display:block;width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(100,116,139,.13)}.master-status.status-green{color:#16734a;background:#e8f7ef}.master-status.status-yellow{color:#986400;background:#fff4cf}.master-status.status-red{color:#a71919;background:#fee9e7}.master-status.status-neutral{color:#526174;background:#eef3f8}.master-duration{display:flex;gap:18px;flex-wrap:wrap;border:1px solid var(--gestapp-border);border-radius:12px;padding:12px}.master-duration legend{padding:0 6px;font-weight:800;color:var(--gestapp-navy)}.master-duration label{display:flex;align-items:center;gap:7px}.master-duration input{width:auto}#masterActionForm textarea{min-height:100px;resize:vertical}#masterActionCompany{font-weight:850;color:var(--gestapp-navy);margin:0}#masterActionMessage{margin:0;color:var(--gestapp-text-muted);line-height:1.5}
.master-action-menu{position:relative;display:inline-block}.master-action-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:132px;max-width:190px}.master-action-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.master-action-dropdown{position:fixed;z-index:1000;top:var(--master-menu-top);left:var(--master-menu-left);width:max-content;min-width:220px;max-width:min(280px,calc(100vw - 16px));padding:6px;background:#fff;border:1px solid var(--gestapp-border);border-radius:12px;box-shadow:0 16px 38px rgba(15,39,76,.2)}.master-action-dropdown button{display:block;width:100%;min-height:44px;border:0;border-radius:8px;padding:10px 12px;background:transparent;color:var(--gestapp-text);text-align:left;font:inherit;font-size:13px;font-weight:750;cursor:pointer;white-space:normal}.master-action-dropdown button:hover,.master-action-dropdown button:focus-visible{background:#edf5ff;color:var(--gestapp-primary-dark);outline:none}.master-integrations-shell{padding:24px}.master-integrations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;column-gap:24px;row-gap:24px}.master-integration-card{display:flex;flex-direction:column;gap:12px;height:100%;min-height:180px;padding:24px;border:1px solid var(--gestapp-border);border-radius:14px;background:#f8fbff}.master-integration-card strong{font-size:19px;color:var(--gestapp-navy)}.master-integration-card span{font-weight:850;color:var(--gestapp-primary-dark)}.master-integration-card small{color:var(--gestapp-text-muted);line-height:1.45}
@media(max-width:1000px){.master-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.master-filters{grid-template-columns:repeat(2,minmax(150px,1fr))}.master-integrations-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:20px}}
@media(max-width:600px){.master-tabs a{flex:1;text-align:center}.master-summary-grid{grid-template-columns:1fr 1fr}.master-toolbar{grid-template-columns:1fr}.master-toolbar .btn{min-height:46px}.master-filters{grid-template-columns:1fr}.master-subscriber-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.master-subscriber-table table{min-width:1180px}.master-pagination{justify-content:center;flex-wrap:wrap}.master-detail-grid{grid-template-columns:1fr}.master-stat>strong{font-size:20px}.master-action-trigger{min-width:118px;max-width:155px}.master-action-dropdown{min-width:200px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;padding:7px}.master-integrations-shell{padding:18px}.master-integrations-grid{grid-template-columns:1fr;column-gap:18px;row-gap:18px}.master-integration-card{min-height:180px;padding:22px}}

/* Delivery queries + mobile-only driver shell */
.app-shell.driver-mode{grid-template-columns:1fr!important}
.app-shell.driver-mode .sidebar,.app-shell.driver-mode .topbar{display:none!important}
.app-shell.driver-mode .main{grid-column:1!important;padding:0!important}
.driver-mobile-shell{width:min(720px,100%);min-height:100%;margin:0 auto;padding:18px;background:var(--gestapp-background)}
.driver-mobile-shell>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.driver-mobile-shell h1{margin:2px 0 0;font-size:28px;color:var(--gestapp-navy)}
.driver-mobile-shell header small{font-weight:900;color:var(--gestapp-primary);letter-spacing:.12em}
.driver-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:16px;padding:5px;border-radius:14px;background:#e6edf7}
.driver-tabs button{min-height:48px;border:0;border-radius:10px;background:transparent;color:var(--gestapp-text-muted);font-weight:850;cursor:pointer}
.driver-tabs button.active{background:#fff;color:var(--gestapp-primary-dark);box-shadow:0 3px 10px rgba(6,23,71,.1)}
.driver-delivery-list{display:grid;gap:12px}
.driver-delivery-card{display:grid;gap:8px;padding:18px;border:1px solid var(--gestapp-border);border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(6,23,71,.06)}
.driver-delivery-card small{font-weight:900;color:var(--gestapp-primary-dark)}.driver-delivery-card h2,.driver-delivery-card p{margin:0}.driver-delivery-card span{color:var(--gestapp-text-muted)}
.driver-delivery-card .btn,.driver-actions .btn,.driver-actions button{min-height:50px}
.driver-detail-dialog{width:min(680px,calc(100% - 20px));max-height:92dvh;border:0;border-radius:18px;padding:0}.driver-detail-card{padding:20px;overflow:auto}.driver-actions{display:grid;gap:10px;margin-top:18px}.driver-detail-card ul{padding-left:20px}
.delivery-order-details{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0;color:var(--gestapp-text-muted)}.delivery-order-details b{color:var(--gestapp-primary-dark)}.delivery-order-details em{font-style:normal;font-weight:800;color:#986400}
@media(max-width:560px){.driver-mobile-shell{padding:14px}.driver-mobile-shell>header{align-items:flex-start}.driver-mobile-shell h1{font-size:25px}.driver-tabs{gap:3px}.driver-tabs button{font-size:12px;padding:8px 4px}.driver-detail-card{padding:16px}}

/* Planes comparables y consulta legal */
.signup-plans-large,.billing-plans{grid-template-columns:repeat(4,minmax(0,1fr))}
.plans-compare-button{justify-self:center;margin:4px auto 0}.plan-comparison-section{margin-top:24px;scroll-margin-top:20px;min-width:0}.comparison-title{margin-bottom:14px}.comparison-title h2{margin:0 0 5px}.comparison-title p{margin:0;color:var(--muted)}.plan-comparison-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--gestapp-border);border-radius:16px;box-shadow:0 8px 22px rgba(22,52,110,.06)}.plan-comparison-table{width:100%;min-width:850px;border-collapse:collapse;background:#fff}.plan-comparison-table th,.plan-comparison-table td{padding:12px 14px;border-bottom:1px solid var(--gestapp-border);text-align:center;vertical-align:middle}.plan-comparison-table th:first-child,.plan-comparison-table td:first-child{text-align:left}.plan-comparison-table thead th{position:sticky;top:0;background:#eef4ff;color:#183b82;z-index:1}.plan-comparison-table .plan-col-premium,.plan-comparison-table .plan-col-business{background:#e8f0ff}.plan-comparison-table .comparison-section th{background:#f6f8fc;color:#344054;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.plan-comparison-table .included{color:#176b45;font-weight:700}.plan-comparison-table .not-included{color:#667085}.plan-comparison-table .upcoming{color:#8a5a00;font-weight:800}.legal-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.legal-document-grid a{display:flex;align-items:center;min-height:56px;padding:12px 14px;border:1px solid var(--gestapp-border);border-radius:12px;background:#f8fbff;text-decoration:none;color:var(--gestapp-primary-dark);font-weight:700}.legal-center-link{margin-top:16px}
@media(max-width:1000px){.signup-plans-large,.billing-plans{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.signup-plans-large,.billing-plans,.legal-document-grid{grid-template-columns:1fr}.plan-comparison-section{max-width:100%;overflow:hidden}.plan-comparison-scroll{width:100%}}

/* Refinamiento comercial de promociones */
.plan-promo-price{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:7px 0 10px;min-width:0}.promo-normal-label,.promo-only-label{font-size:11px!important;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--gestapp-text-muted)!important}.premium-regular-price{display:block;font-size:21px!important;line-height:1.2;color:#475467!important;margin:0!important}.premium-regular-price del{text-decoration-thickness:2px;text-decoration-color:#667085}.promo-only-label{margin-top:5px;color:var(--gestapp-primary-dark)!important}.premium-promo-price{display:block;max-width:100%;font-size:31px!important;line-height:1.1!important;color:var(--gestapp-primary-dark)!important;margin:0!important;overflow-wrap:anywhere}.premium-promo-copy{font-size:13px!important;line-height:1.35;color:var(--gestapp-primary-dark)!important;font-weight:800}.premium-after-copy{font-size:14px!important;line-height:1.35;color:#475467!important;font-weight:700;margin:1px 0 0!important}
@media(max-width:560px){.premium-regular-price{font-size:20px!important}.premium-promo-price{font-size:28px!important}}

/* Ajustes visuales Legal y Consultas */
.legal-privacy-view{display:none;gap:22px}.legal-privacy-view.active{display:grid}.legal-privacy-view .legal-documents-card,.legal-privacy-view #legalAcceptanceCard{margin:0}#activity .filters,#deliveryHistory .filters{margin-bottom:22px}


/* Planes comerciales: ancho, equilibrio y responsive definitivos */
.auth-layout:has(.signup-panel:not(.hidden)),.auth-card:has(.signup-panel:not(.hidden)){width:min(1380px,94vw);max-width:1380px}
.signup-plans-large,.billing-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:18px;width:100%;max-width:100%}
.signup-plans-large>*,.billing-plans>*{min-width:0}
.signup-plans-large .signup-plan,.billing-plan{min-width:0;min-height:0;height:100%;padding:22px;border-radius:18px;display:flex;flex-direction:column;align-items:stretch;gap:10px;overflow-wrap:anywhere}
.signup-plan[aria-disabled="true"]{opacity:1;cursor:default}
.signup-plans-large .plan-features,.billing-plan ul{gap:7px;margin:0}
.signup-plans-large .plan-desc,.billing-plan p{min-height:42px;margin:0 0 2px;line-height:1.45}
.signup-plans-large .plan-price{margin-bottom:8px}
.billing-plan>button{margin-top:auto}
.billing-plan:has(>button:disabled)>button:disabled{opacity:1}
.plans-actions{display:flex;justify-content:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--gestapp-border)}
.plans-compare-button{margin:0}
@media(max-width:1180px){.signup-plans-large,.billing-plans{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.signup-plans-large,.billing-plans{grid-template-columns:1fr}.signup-plans-large .signup-plan,.billing-plan{height:auto;padding:18px}.signup-plans-large .plan-desc,.billing-plan p{min-height:0}}


/* Cabecera compacta exclusiva de Tienda en línea */
.online-header-actions{display:flex;align-items:end;gap:10px;margin-left:auto;min-width:0}
.online-header-actions label{display:grid;gap:4px;min-width:180px;color:var(--muted);font-size:12px}
.online-header-actions .online-preview-buttons{flex-wrap:nowrap}
.online-header-actions .btn{white-space:nowrap}
@media(max-width:1180px){
  .topbar:has(.online-header-actions:not(.hidden)){align-items:stretch}
  .online-header-actions{flex:1 0 100%;justify-content:flex-end;margin-left:0}
}
@media(max-width:760px){
  .online-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .online-header-actions label{min-width:0}
  .online-header-actions .online-preview-buttons{display:grid!important;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%}
  .online-header-actions .online-preview-buttons>*{width:100%}
}
@media(max-width:460px){
  .online-header-actions{grid-template-columns:1fr}
  .online-header-actions .online-preview-buttons{grid-column:auto}
}

.pos-tip-suggestions{display:flex;flex-wrap:wrap;gap:.5rem}.pos-tip-suggestions button{min-height:42px;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:.55rem .75rem}.pos-tip-suggestions button.active{border-color:var(--primary);background:var(--primary-soft)}.pos-tip-custom,.pos-payment-component,.pos-payment-balance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.pos-payment-component{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;margin:.5rem 0}.pos-payment-balance{margin-top:.75rem}.pos-payment-balance>div{padding:.7rem;border-radius:10px;background:var(--surface-soft);display:flex;justify-content:space-between}.public-store-address{white-space:pre-line;margin:.6rem 0 0}.waiter-customer-tips{margin-top:1rem;border-top:1px dashed #222;padding-top:.6rem}.waiter-customer-tips>div,.waiter-account-total{display:flex;justify-content:space-between}.pos-payment-config-card{margin-top:1rem}@media(max-width:640px){.pos-tip-custom,.pos-payment-component,.pos-payment-balance{grid-template-columns:1fr}.pos-payment-component button{justify-self:end}.pos-checkout-dialog{width:min(96vw,620px);max-height:92vh;overflow:auto}}

.ingredient-inventory-header-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.ingredient-inventory-header-actions label{min-width:220px}
.ingredient-inventory-header-actions .btn{white-space:nowrap}
@media(max-width:900px){.ingredient-inventory-header-actions{width:100%;justify-content:flex-start}.ingredient-inventory-header-actions label{flex:1 1 220px}}
@media(max-width:560px){.ingredient-inventory-header-actions{align-items:stretch;flex-direction:column}.ingredient-inventory-header-actions label,.ingredient-inventory-header-actions .btn{width:100%;min-width:0}}

.movement-header-actions{margin-bottom:0;justify-content:flex-end}
.movement-header-actions .movement-type-buttons{flex-wrap:wrap}
.movement-header-actions #exportMovementsCsvBtn{margin:0;white-space:nowrap}
@media(max-width:1100px){.movement-header-actions{width:100%;justify-content:flex-start}}
@media(max-width:620px){.movement-header-actions{align-items:stretch;flex-direction:column}.movement-header-actions .movement-type-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.movement-header-actions .movement-type-btn,.movement-header-actions #exportMovementsCsvBtn{width:100%;min-width:0}}

/* Location provider autocomplete */
.geoapify-autocomplete{position:relative;display:grid;gap:5px}.geoapify-autocomplete-input{width:100%}.geoapify-suggestions{position:absolute;z-index:40;top:46px;left:0;right:0;display:grid;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 28px rgba(15,23,42,.16);overflow:hidden}.geoapify-suggestions button{padding:10px 12px;border:0;border-bottom:1px solid var(--border);background:#fff;text-align:left;cursor:pointer}.geoapify-suggestions button:hover,.geoapify-suggestions button:focus{background:#f2f7ff}.geoapify-attribution{font-size:.72rem;color:#53657a;text-decoration:underline;justify-self:end}.provider-plan-matrix{display:grid;gap:8px}.provider-plan-matrix span{padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:#f8fafc}


.print-config-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:16px;padding:6px;border:1px solid var(--gestapp-border);border-radius:14px;background:#f8fbff}.print-config-tabs button{min-height:44px;padding:10px 16px;border:0;border-radius:10px;background:transparent;color:var(--gestapp-navy);font-weight:850;white-space:nowrap;cursor:pointer}.print-config-tabs button.active{background:var(--gestapp-primary);color:#fff}.print-method-order{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.print-method-order>div,.print-device-card{display:grid;gap:5px;padding:14px;border:1px solid var(--gestapp-border);border-radius:12px;background:#f8fbff}.print-method-order span,.print-device-card>div>span{color:#08783e;font-weight:900}.print-devices-list{display:grid;gap:12px;margin-top:18px}.print-device-card small{color:var(--gestapp-text-muted)}.print-pairing-box{display:grid;gap:12px;margin-top:18px;padding:16px;border:1px solid #a8c7f0;border-radius:12px;background:#f3f8ff}.ticket-config-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(280px,1.2fr);gap:24px}.ticket-controls{display:grid;gap:10px}.ticket-live-preview{margin:auto;padding:18px 14px;min-height:420px;background:#fff;color:#111;border:1px solid #ccc;box-shadow:0 8px 30px rgba(15,23,42,.12);font-family:Consolas,monospace;line-height:1.45}.ticket-live-preview.width-58{width:min(100%,260px)}.ticket-live-preview.width-80{width:min(100%,360px)}.ticket-live-preview hr{border:0;border-top:1px dashed #333;margin:10px 0}
@media(max-width:760px){.print-config-tabs{display:grid;grid-template-columns:1fr}.ticket-config-layout,.print-method-order{grid-template-columns:1fr}.ticket-live-preview{margin-top:18px}.print-device-card .form-actions{display:grid;grid-template-columns:1fr}}


/* Piloto visual aislado: Consulta de movimientos */
#movementHeaderActions{
  gap:12px;
}
#movementHeaderActions>span{
  color:#667085;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
}
#movementHeaderActions .movement-type-buttons{
  gap:6px;
  padding:4px;
  border:1px solid #d8e1ec;
  border-radius:10px;
  background:#f5f7fa;
}
#movementHeaderActions .movement-type-btn{
  min-height:36px;
  padding:7px 14px;
  border-color:transparent;
  border-radius:7px;
  background:transparent;
  color:#475467;
  font-size:13px;
  font-weight:700;
}
#movementHeaderActions .movement-type-btn:hover{
  background:#fff;
  color:#153d77;
}
#movementHeaderActions .movement-type-btn.expense.active,
#movementHeaderActions .movement-type-btn.income.active,
#movementHeaderActions .movement-type-btn.shipment.active{
  border-color:#90b8ef;
  background:#eaf3ff;
  color:#175ca9;
  box-shadow:0 1px 2px rgba(18,74,135,.08);
}
#movementHeaderActions #exportMovementsCsvBtn{
  min-height:40px;
  border-color:#b9c9dc;
  background:#fff;
  color:#153d77;
}
#movimientos.movements-workspace{
  gap:16px;
  padding-bottom:28px;
}
#movimientos .movements-toolbar{
  padding:16px 18px;
  border:1px solid #dfe6ee;
  border-radius:9px;
  background:#f8fafc;
}
#movimientos .movements-filter-group{
  grid-template-columns:repeat(6,minmax(120px,1fr)) auto;
  gap:10px;
  margin:0;
  align-items:end;
}
#movimientos .movements-filter-group.hidden{
  display:none;
}
#movimientos .movements-filter-group label{
  display:grid;
  gap:5px;
  min-width:0;
  color:#667085;
  font-size:12px;
  font-weight:650;
}
#movimientos .movements-filter-group input,
#movimientos .movements-filter-group select{
  width:100%;
  min-width:0;
  height:38px;
  padding:7px 10px;
  border:1px solid #cfd9e5;
  border-radius:7px;
  background:#fff;
  color:#1d2939;
  font-size:14px;
}
#movimientos .movements-filter-group input:focus,
#movimientos .movements-filter-group select:focus{
  border-color:#6da5e5;
  outline:3px solid rgba(46,122,210,.12);
}
#movimientos .movements-filter-group .btn{
  min-height:38px;
  padding:7px 13px;
  border-color:#cfd9e5;
  background:#fff;
  color:#475467;
  white-space:nowrap;
}
#movimientos .movements-data-surface{
  min-height:440px;
  overflow:hidden;
  border:1px solid #dfe6ee;
  border-radius:9px;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,.025);
}
#movimientos .movements-summary{
  min-height:52px;
  margin:0;
  padding:14px 18px;
  border-bottom:1px solid #e7ecf2;
  color:#667085;
  font-size:14px;
}
#movimientos .movements-summary b{
  color:#1d2939;
  font-weight:750;
}
#movimientos .movements-table-wrap{
  width:100%;
  min-height:386px;
  overflow-x:auto;
  border:0;
  border-radius:0;
}
#movimientos .movements-table-wrap table{
  min-width:960px;
  background:#fff;
}
#movimientos .movements-table-wrap th{
  height:42px;
  padding:10px 14px;
  border-bottom:1px solid #dfe6ee;
  background:#f7f9fb;
  color:#667085;
  font-size:12px;
  font-weight:650;
  letter-spacing:.015em;
  text-transform:none;
}
#movimientos .movements-table-wrap td{
  height:50px;
  padding:11px 14px;
  border-bottom:1px solid #edf0f4;
  color:#243244;
  font-size:13px;
  vertical-align:middle;
}
#movimientos .movements-table-wrap tbody tr:not(.movement-empty-row):hover td{
  background:#f7faff;
}
#movimientos .movement-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
}
#movimientos .movement-badge-income{
  border-color:#b7e1ca;
  background:#edf9f2;
  color:#177245;
}
#movimientos .movement-badge-shipment{
  border-color:#b9d3f2;
  background:#eef5fd;
  color:#245f9f;
}
#movimientos .movement-empty-row td{
  height:300px;
  padding:48px 20px;
  color:#667085;
  text-align:center;
  white-space:normal;
}
#movimientos .movement-empty-row strong,
#movimientos .movement-empty-row small,
#movimientos .movement-empty-symbol{
  display:block;
}
#movimientos .movement-empty-symbol{
  width:42px;
  height:42px;
  margin:0 auto 13px;
  border:1px solid #d7e0ea;
  border-radius:50%;
  background:#f7f9fb;
  color:#7890aa;
  font-size:25px;
  line-height:38px;
}
#movimientos .movement-empty-row strong{
  margin-bottom:6px;
  color:#25364a;
  font-size:15px;
}
#movimientos .movement-empty-row small{
  font-size:14px;
  line-height:1.45;
}
@media(max-width:1280px){
  #movimientos .movements-filter-group{grid-template-columns:repeat(3,minmax(150px,1fr))}
  #movimientos .movements-filter-group .btn{justify-self:start}
}
@media(max-width:760px){
  #movimientos.movements-workspace{gap:12px}
  #movimientos .movements-toolbar{padding:14px}
  #movimientos .movements-filter-group{grid-template-columns:repeat(2,minmax(0,1fr))}
  #movimientos .movements-filter-group .btn{width:100%;justify-content:center}
  #movimientos .movements-summary{gap:8px;flex-wrap:wrap}
}
@media(max-width:480px){
  #movimientos .movements-filter-group{grid-template-columns:1fr}
  #movimientos .movements-data-surface{min-height:390px}
  #movimientos .movement-empty-row td{height:250px}
}


/* Piloto visual aislado: Configuración > Usuarios */
#usuarios.users-workspace{
  padding-bottom:28px;
}
#usuarios .users-operational-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-items:start;
}
#usuarios .users-editor-panel,
#usuarios .users-data-surface{
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe6ee;
  border-radius:9px;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,.025);
}
#usuarios .users-editor-panel{
  padding:18px;
}
#usuarios .users-editor-head{
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid #e7ecf2;
}
#usuarios .users-editor-head h2,
#usuarios .users-table-toolbar h2{
  margin:0 0 4px;
  color:#172b45;
  font-size:17px;
  font-weight:750;
}
#usuarios .users-editor-head p,
#usuarios .users-table-toolbar p{
  color:#667085;
  font-size:14px;
  line-height:1.4;
}
#usuarios .users-editor-fields{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 16px;
}
#usuarios .users-editor-fields label{
  align-self:start;
  align-content:start;
  gap:5px;
  color:#667085;
  font-size:13px;
  font-weight:600;
}
#usuarios .users-editor-fields input,
#usuarios .users-editor-fields select{
  height:38px;
  min-height:38px;
  padding:7px 10px;
  border-color:#cfd9e5;
  border-radius:8px;
  color:#1d2939;
  font-size:14px;
}
#usuarios .users-editor-fields input:focus,
#usuarios .users-editor-fields select:focus{
  border-color:#6da5e5;
  box-shadow:0 0 0 3px rgba(46,122,210,.12);
}
#usuarios .user-action-permissions-box,
#usuarios .user-permissions-box{
  border-color:#e1e7ee;
  border-radius:8px;
  background:#f8fafc;
  box-shadow:none;
}
#usuarios .user-action-permissions-box{
  display:grid;
  grid-template-columns:minmax(280px,.55fr) minmax(320px,1fr);
  gap:8px 18px;
  align-items:center;
}
#usuarios .user-action-permissions-box>strong{
  grid-column:1/-1;
}
#usuarios .user-action-permissions-box .user-special-permission{
  margin:0;
}
#usuarios .user-action-permissions-box>small{
  color:#667085;
  font-size:13px;
  line-height:1.45;
}
#usuarios .user-permission-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
#usuarios .users-editor-actions{
  padding-top:16px;
  border-top:1px solid #e7ecf2;
}
#usuarios .users-editor-actions #userSaveBtn{
  min-height:40px;
  padding:7px 14px;
  border:1px solid #1268f3;
  border-radius:10px;
  background:#1268f3;
  color:#fff;
  box-shadow:none;
  font-size:14px;
  font-weight:700;
}
#usuarios .users-editor-actions #userSaveBtn:hover{
  background:#0757dc;
}
#usuarios .users-table-toolbar{
  min-height:68px;
  margin:0;
  padding:14px 18px;
  border-bottom:1px solid #e7ecf2;
  background:#fff;
}
#usuarios .users-table-wrap{
  min-height:470px;
  overflow-x:auto;
  border:0;
  border-radius:0;
}
#usuarios .users-table{
  width:100%;
  min-width:760px;
  background:#fff;
}
#usuarios .users-table th{
  height:42px;
  padding:10px 14px;
  border-bottom:1px solid #dfe6ee;
  background:#f7f9fb;
  color:#667085;
  font-size:12px;
  font-weight:650;
}
#usuarios .users-table td{
  height:52px;
  padding:11px 14px;
  border-bottom:1px solid #edf0f4;
  color:#243244;
  font-size:13px;
  vertical-align:middle;
}
#usuarios .users-table tbody tr:not(.users-empty-row):hover td{
  background:#f7faff;
}
#usuarios .role-badge,
#usuarios .status-badge{
  min-height:24px;
  align-items:center;
  padding:3px 8px;
  border:1px solid #d7e0ea;
  border-radius:999px;
  background:#f3f6f9;
  color:#40556d;
  font-size:12px;
  font-weight:700;
}
#usuarios .status-badge.active{
  border-color:#b7e1ca;
  background:#edf9f2;
  color:#177245;
}
#usuarios .status-badge.inactive{
  border-color:#d9dee5;
  background:#f3f4f6;
  color:#596579;
}
#usuarios .action-row{
  flex-wrap:nowrap;
  gap:5px;
}
#usuarios .user-permission-actions{
  align-items:center;
  gap:8px;
}
#usuarios .user-permission-actions .mini-btn,
#usuarios .action-row .mini-btn{
  min-height:38px;
  padding:7px 13px;
  border:1px solid #cfd9e5;
  border-radius:10px;
  background:#fff;
  color:#475467;
  box-shadow:none;
  font-size:13px;
  font-weight:700;
}
#usuarios .user-permission-actions #userClearPermissionsBtn{
  border-color:#cfd9e5;
  background:#fff;
  color:#58708c;
}
#usuarios .user-permission-actions .mini-btn:hover,
#usuarios .action-row .mini-btn:hover{
  border-color:#a9bfd9;
  background:#f3f7fc;
  color:#175ca9;
}
#usuarios .user-permission-actions #userClearPermissionsBtn:hover{
  border-color:#a9bfd9;
  background:#f3f7fc;
  color:#175ca9;
}
#usuarios .user-permission-actions .mini-btn:focus-visible,
#usuarios .action-row .mini-btn:focus-visible{
  outline:3px solid rgba(46,122,210,.2);
  outline-offset:1px;
}
#usuarios .user-permission-actions .mini-btn:disabled,
#usuarios .action-row .mini-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}
#usuarios .action-row .user-edit-btn{
  border-color:#b9d3f2;
  color:#175ca9;
}
#usuarios .users-empty-row td{
  height:330px;
  padding:48px 20px;
  color:#667085;
  text-align:center;
  white-space:normal;
}
#usuarios .users-empty-row strong,
#usuarios .users-empty-row small{
  display:block;
}
#usuarios .users-empty-row strong{
  margin-bottom:6px;
  color:#25364a;
  font-size:14px;
  font-weight:650;
}
#usuarios .users-empty-row small{
  font-size:14px;
  line-height:1.45;
}
@media(max-width:1100px){
  #usuarios .users-editor-fields,
  #usuarios .user-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #usuarios .user-action-permissions-box{grid-template-columns:1fr}
  #usuarios .user-action-permissions-box>strong{grid-column:auto}
}
@media(max-width:680px){
  #usuarios .users-editor-panel{padding:14px}
  #usuarios .users-editor-fields,
  #usuarios .user-permission-grid{grid-template-columns:1fr}
  #usuarios .users-table-toolbar{padding:14px}
  #usuarios .users-editor-actions #userSaveBtn{width:100%}
}

/* Panel Maestro · configuración operativa Stripe */
.master-stripe-card{grid-column:1/-1}.master-stripe-tabs{display:flex;gap:10px;margin:8px 0 16px}.master-stripe-tabs .active{background:var(--gestapp-primary);color:#fff;border-color:var(--gestapp-primary)}.master-stripe-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.master-stripe-card .card-head>div:last-child{text-align:right}.master-stripe-card .card-head>div:last-child strong{display:block;color:var(--gestapp-primary-dark);font-size:18px}.master-stripe-card h3{margin:12px 0 0;color:var(--gestapp-navy)}@media(max-width:600px){.master-stripe-prices{grid-template-columns:1fr}.master-stripe-card .card-head{align-items:flex-start}.master-stripe-card .card-head>div:last-child{text-align:left}}
