:root{
    --bg:#f7f2eb; --card:#fff; --dark:#101010; --dark2:#17110a;
    --line:#ead8bf; --gold:#d0a13a; --gold2:#eed174;
    --muted:#756b61; --green:#16a05d; --red:#d02032; --wine:#821337;
    --shadow:0 22px 70px rgba(42,28,10,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:#111;background:var(--bg)}
a{text-decoration:none;color:inherit}.muted{color:var(--muted)}.mt{margin-top:18px}.hidden{display:none!important}
.crm-inv-shell{min-height:100vh;display:grid;grid-template-columns:292px minmax(0,1fr)}
.crm-inv-sidebar{background:linear-gradient(180deg,var(--dark),var(--dark2));color:#fff;padding:24px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh;overflow:auto}
.crm-inv-brand{display:flex;gap:14px;align-items:center}.crm-inv-logo,.login-logo,.ticket-logo{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold2),var(--gold));font-family:Georgia,serif;font-size:25px;font-weight:900;color:#111;box-shadow:0 18px 40px rgba(208,161,58,.22)}
.crm-inv-brand strong{display:block;font-size:22px;line-height:1}.crm-inv-brand span{display:block;color:#bdb4a9;font-size:12px;margin-top:5px}
.crm-inv-user{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);border-radius:20px;padding:14px}
.crm-inv-user b{display:block}.crm-inv-user span{display:block;color:#c8c0b7;font-size:12px;margin:4px 0 10px}.crm-inv-user em{font-style:normal;font-weight:900;font-size:12px;padding:6px 10px;border-radius:999px;display:inline-flex}.crm-inv-user .ok{background:rgba(22,160,93,.16);color:#7ff0b6}.crm-inv-user .warn{background:rgba(208,32,50,.16);color:#ffb5bd}
.crm-inv-menu{display:grid;gap:7px}.crm-inv-menu a,.crm-inv-sidebar-bottom a{color:rgba(255,255,255,.82);padding:12px 13px;border-radius:14px;font-weight:850;border:1px solid transparent}.crm-inv-menu a:hover,.crm-inv-menu a.active{background:rgba(208,161,58,.18);border-color:rgba(208,161,58,.34);color:#ffe29a}.crm-inv-sidebar-bottom{display:grid;gap:6px;margin-top:auto}.crm-inv-sidebar-bottom .logout{color:#ffb4b4!important}
.crm-inv-main{padding:28px;min-width:0}.crm-inv-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(255,255,255,.78);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:24px;padding:16px 18px;margin-bottom:24px;box-shadow:0 12px 35px rgba(0,0,0,.04)}.crm-inv-topbar span{color:var(--muted);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.crm-inv-topbar strong{display:block;font-size:18px}.crm-inv-top-actions,.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.v2-nav{display:none}
.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.kicker{display:inline-block;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:12px;font-weight:900}.hero h1,.login-card h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,76px);line-height:.9;margin:8px 0}.hero p{color:var(--muted);margin:0;font-size:16px}
.btn{border:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-weight:900;cursor:pointer;font:inherit;min-height:46px}.btn.primary{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#111!important;box-shadow:0 12px 28px rgba(208,161,58,.25)}.btn.ghost{background:#fff;border:1px solid var(--line);color:#111!important}.btn.danger{background:var(--wine);color:#fff}.btn.full{width:100%}.mini-btn{display:inline-flex;padding:8px 13px;border-radius:999px;background:#111;color:#fff!important;font-size:12px;font-weight:900;border:0;cursor:pointer}
.v2-alert{border-radius:16px;padding:13px 15px;margin:0 0 16px;font-weight:900}.v2-alert.success{background:#e8f9ef;color:#08783b;border:1px solid #bde9cd}.v2-alert.error{background:#ffecef;color:var(--red);border:1px solid #ffc6cd}
.status{border-radius:18px;padding:14px 16px;margin:0 0 18px;display:flex;gap:12px;align-items:center;font-weight:850}.status.ok{background:#e8f9ef;color:#08783b;border:1px solid #bde9cd}.status.warn{background:#fff5df;color:#946500;border:1px solid #edd08e}.status a{text-decoration:underline;font-weight:900;margin-left:auto}
.help-card{background:#fff8e8;border:1px solid #ead08c;border-radius:22px;padding:18px;margin-bottom:18px;color:#6d4c00}.help-card h3{margin:0 0 8px;font-size:18px}.help-card p{margin:0;color:#765a18;line-height:1.45}.help-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpis.mini{grid-template-columns:repeat(4,minmax(0,1fr))}.kpis article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 40px rgba(52,33,8,.05);position:relative;overflow:hidden}.kpis article::after{content:"";position:absolute;right:-46px;top:-46px;width:110px;height:110px;background:rgba(208,161,58,.12);border-radius:50%}.kpis span{display:block;color:var(--muted);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.kpis strong{display:block;font-size:28px;margin-top:8px}.kpis small{display:block;color:var(--muted);margin-top:6px;line-height:1.35}.kpi-zero strong{color:#bbb}
.grid.two{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-bottom:18px}.grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}.pos-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:18px}.checkout{align-self:start;position:sticky;top:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:var(--shadow)}.card h2,.card-head h2{font-family:Georgia,serif;font-size:30px;margin:0}.card h3{margin:0 0 10px;font-size:15px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head span,.card-head a{color:var(--gold);font-weight:900}.card-head.sep{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
.module-card{display:grid;gap:8px}.module-card p{margin:0;color:var(--muted);line-height:1.45}.module-card .module-actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.module-badge{display:inline-flex;width:max-content;border-radius:999px;padding:6px 10px;background:#fff5df;color:#946500;font-size:12px;font-weight:900}
.alert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.alert-row{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;margin-bottom:8px;background:#fffaf7;font-weight:850}.alert-row b{color:var(--gold)}.alert-row.danger b,.danger-text{color:var(--red)}
.list{display:grid;gap:8px}.list a{padding:12px;border:1px solid var(--line);border-radius:16px;display:block}.list strong{display:block}.list span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.empty{padding:20px;border-radius:18px;border:1px dashed var(--line);background:#fffaf4;text-align:center;color:var(--muted);font-weight:900;line-height:1.45}.empty b{color:#111}.empty .btn{margin-top:12px}
.filter{background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px;margin-bottom:18px;display:grid;grid-template-columns:1.5fr 1fr auto;gap:12px;align-items:end}.filter.four{grid-template-columns:1.4fr 1fr 1fr auto}
.form{display:grid;gap:14px}.form label,.filter label{font-weight:900;display:block;margin-bottom:7px}.form input,.form select,.form textarea,.filter input,.filter select{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 14px;font:inherit;background:#fff}.form textarea{min-height:110px;resize:vertical}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.check{display:inline-flex!important;align-items:center;gap:8px;font-weight:900}.check input{width:auto!important}.current-img{display:flex;align-items:center;gap:12px}.current-img img{width:90px;height:90px;object-fit:cover;border-radius:18px}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0 10px;min-width:900px}.table.compact{min-width:650px}.table th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:0 12px}.table td{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 12px;vertical-align:middle}.table td:first-child{border-left:1px solid var(--line);border-radius:16px 0 0 16px}.table td:last-child{border-right:1px solid var(--line);border-radius:0 16px 16px 0}.table small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.prod-cell{display:flex;align-items:center;gap:12px}.prod-cell img{width:64px;height:64px;object-fit:cover;border-radius:16px;background:#f8ead8}.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900}.pill.ok{background:#e8f9ef;color:#08783b}.pill.warn{background:#fff5df;color:#946500}.pill.danger{background:#ffecef;color:var(--red)}.pill.gray{background:#f3eee7;color:#6d6258}.pill.blue{background:#eef2ff;color:#3157d4}
.total{border-radius:22px;background:linear-gradient(135deg,#111,#37270c);color:#fff;padding:18px}.total span{display:block;color:#d8c7a9;font-size:12px;font-weight:900;text-transform:uppercase}.total strong{display:block;font-size:38px;margin:6px 0}.total small{display:block;color:#d8c7a9;margin-top:5px}.mixed{display:none}.mixed.show{display:block}
.ticket{width:min(440px,100%);margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.ticket-logo{margin:0 auto 10px}.ticket h2{text-align:center;font-family:Georgia,serif;font-size:32px;margin:0}.ticket p{text-align:center;color:var(--muted)}.ticket-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0}.ticket-row small{display:block;color:var(--muted);font-size:12px}.total-row{font-size:20px;font-weight:900}
.login-body{background:radial-gradient(circle at top left,rgba(208,161,58,.15),transparent 35%),var(--bg);min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(540px,100%);background:#fff;border:1px solid var(--line);border-radius:32px;padding:34px;box-shadow:var(--shadow)}.login-logo{width:64px;height:64px}.login-card h1{font-family:Georgia,serif;font-size:68px;line-height:.9;margin:14px 0 12px}.login-card p{color:var(--muted)}
@media(max-width:1180px){.crm-inv-shell{grid-template-columns:1fr}.crm-inv-sidebar{position:relative;height:auto}.crm-inv-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two,.grid.three,.pos-grid{grid-template-columns:1fr}.checkout{position:relative;top:0}}
@media(max-width:760px){.crm-inv-main{padding:18px}.crm-inv-menu{grid-template-columns:1fr}.hero{display:grid}.hero h1{font-size:46px}.kpis,.kpis.mini,.form-grid.two,.form-grid.three,.form-grid.four,.form-grid.six,.filter,.filter.four,.alert-grid{grid-template-columns:1fr}.crm-inv-topbar{display:grid}.crm-inv-top-actions,.actions{display:grid;grid-template-columns:1fr}.btn{width:100%}.status{display:grid}.status a{margin-left:0}}
@media print{.crm-inv-sidebar,.crm-inv-topbar,.print-hide,.hero,.status{display:none!important}.crm-inv-shell{display:block}.crm-inv-main{padding:0;background:#fff}.ticket{box-shadow:none;border:0;margin:0 auto}}


button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.5)}


.v22-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v22-actions form{display:inline}.btn.small,.mini-btn.danger{padding:8px 12px;font-size:12px}.mini-btn.danger{background:#9b1238}.inline-form{display:inline}.v22-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;z-index:9999}.v22-modal-card{background:#fff;border-radius:24px;max-width:520px;width:92%;padding:24px;border:1px solid #ead8bf;box-shadow:0 22px 70px rgba(0,0,0,.25)}.v22-modal-card h2{font-family:Georgia,serif;font-size:34px;margin:0 0 8px}.v22-modal-actions{display:grid;gap:10px;margin-top:16px}.scan-ok{border-color:#16a05d!important;box-shadow:0 0 0 3px rgba(22,160,93,.12)}.scan-error{border-color:#d02032!important;box-shadow:0 0 0 3px rgba(208,32,50,.12)}


/* ===== Parche logo real Estilos Malu ===== */
.crm-inv-logo-image,.login-logo-image,.ticket-logo-image{background:#fff;padding:0;overflow:hidden;border:1px solid var(--line)}
.crm-inv-logo-image img,.login-logo-image img,.ticket-logo-image img{width:100%;height:100%;object-fit:cover;display:block}
.crm-inv-logo-image{width:72px;height:72px;border-radius:18px}
.login-logo-image{width:96px;height:96px;border-radius:24px;margin:0 auto 12px}
.ticket-logo-image{width:78px;height:78px;border-radius:18px;margin:0 auto 10px}

/* AJUSTE PRESENTACION UI 2026-07-20 INICIO */
/* Oculta el bloque de accesos grandes del panel principal señalado por la usuaria. */
.module-grid{display:none!important;}

/* Espaciado general de tarjetas y columnas nuevas. */
.grid.two{gap:24px;align-items:start;}
.grid.three{gap:20px;align-items:start;}
.card{overflow:hidden;}
.card + .card,.mt{margin-top:22px;}
.card-head{align-items:flex-start;gap:16px;}
.card-head h2{line-height:1.08;}
.card-head span,.card-head a{white-space:nowrap;}
.actions{gap:12px;flex-wrap:wrap;}
.actions .btn{margin:0;}

/* Resumen del rango en pagos a proveedores: separa texto y valores. */
.payment-summary{display:grid;gap:8px;margin:12px 0 18px;}
.payment-summary>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:8px 0;border-bottom:1px solid rgba(210,161,58,.16);}
.payment-summary>div:last-child{border-bottom:0;}
.payment-summary span{color:#5f574e;font-weight:800;}
.payment-summary b{font-weight:950;white-space:nowrap;text-align:right;color:#15110d;}
.help-card{border:1px solid rgba(210,161,58,.28);background:#fff8e6;border-radius:22px;padding:20px 22px;line-height:1.45;}
.help-card h3{margin:0 0 10px;}
.help-card p{margin:0;}

/* Alertas importantes: evita textos pegados y los muestra como lista limpia. */
.alert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 34px;align-items:start;}
.alert-grid>div{min-width:0;}
.alert-grid h3{margin:0 0 8px;font-size:15px;}
.alert-grid a,.alert-grid p{display:block;margin:5px 0;line-height:1.35;word-break:normal;overflow-wrap:anywhere;}
.alert-grid a{text-decoration:none;color:#2c251d;}
.alert-grid a:hover{text-decoration:underline;}

/* Punto de venta: separa los tres botones de caja/venta. */
.sale-action-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:14px;}
.sale-action-grid .btn{width:100%;justify-content:center;margin:0!important;min-height:46px;}
.drawer-note{display:block;line-height:1.35;margin-top:8px;color:#665d53;}
.auto-print-check{margin-top:14px;}
.quick-pay-buttons{gap:8px!important;}
.payment-assignment{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0;color:#5f574e;}

/* Fiados: inputs y botón de abono con aire para que no salgan pegados. */
.v23-credit-form{display:grid;grid-template-columns:minmax(110px,160px) minmax(120px,150px) minmax(150px,1fr) auto;gap:8px;align-items:center;}
.v23-credit-form input,.v23-credit-form select{min-width:0;height:34px;border:1px solid var(--line);border-radius:9px;padding:5px 8px;background:#fff;}
.v23-credit-form .mini-btn{height:36px;padding:7px 14px;white-space:nowrap;margin:0;}

/* Tablas compactas: mejora lectura sin cambiar datos. */
.table td,.table th{vertical-align:middle;}
.table.compact td,.table.compact th{padding:10px 12px;}
.table td small{display:block;color:#6f665d;margin-top:3px;}

@media (max-width: 980px){
  .grid.two,.grid.three{grid-template-columns:1fr!important;}
  .alert-grid{grid-template-columns:1fr;}
  .card-head{flex-direction:column;align-items:flex-start;}
  .card-head span,.card-head a{white-space:normal;}
  .v23-credit-form{grid-template-columns:1fr 1fr;}
  .v23-credit-form .mini-btn{grid-column:1/-1;width:100%;}
}
@media (max-width: 640px){
  .payment-summary>div{grid-template-columns:1fr;gap:2px;}
  .payment-summary b{text-align:left;}
  .v23-credit-form{grid-template-columns:1fr;}
}
/* AJUSTE PRESENTACION UI 2026-07-20 FIN */

/* AJUSTE FACTURA TERMICA 2026-07-20 INICIO */
/* Vista de factura/tirilla: compacta tipo recibo y precios siempre a la derecha. */
.ticket.thermal-ticket{width:min(390px,100%)!important;max-width:390px!important;margin:0 auto 28px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:22px!important;padding:22px 24px!important;box-shadow:var(--shadow)!important;color:#111!important;font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;line-height:1.18!important;}
.thermal-ticket .ticket-logo-image{width:66px!important;height:66px!important;border-radius:16px!important;margin:0 auto 8px!important;}
.thermal-ticket h2{font-family:Georgia,serif!important;font-size:30px!important;line-height:1!important;margin:0!important;text-align:center!important;}
.thermal-ticket .ticket-subtitle{font-size:13px!important;line-height:1.1!important;margin:2px 0 8px!important;text-align:center!important;color:#666!important;}
.thermal-ticket .ticket-rule{border-top:1px dashed #333!important;margin:8px 0!important;height:0!important;}
.thermal-ticket .ticket-meta{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;gap:8px!important;align-items:start!important;padding:1px 0!important;font-size:13px!important;line-height:1.15!important;}
.thermal-ticket .ticket-meta span{color:#222!important;min-width:0!important;}
.thermal-ticket .ticket-meta b{justify-self:end!important;text-align:right!important;white-space:normal!important;overflow-wrap:anywhere!important;font-weight:800!important;}
.thermal-ticket .ticket-item{padding:6px 0!important;line-height:1.15!important;}
.thermal-ticket .ticket-item>strong{display:block!important;font-size:14px!important;line-height:1.18!important;margin-bottom:1px!important;font-weight:900!important;overflow-wrap:anywhere!important;}
.thermal-ticket .ticket-item>div{display:grid!important;grid-template-columns:minmax(0,1fr) 95px!important;gap:8px!important;align-items:start!important;font-size:13px!important;line-height:1.15!important;}
.thermal-ticket .ticket-item span{min-width:0!important;overflow-wrap:anywhere!important;}
.thermal-ticket .ticket-item b{justify-self:end!important;text-align:right!important;white-space:nowrap!important;font-weight:900!important;font-variant-numeric:tabular-nums!important;}
.thermal-ticket .ticket-item small{display:block!important;font-size:12px!important;line-height:1.15!important;margin-top:2px!important;color:#555!important;}
.thermal-ticket .ticket-row{display:grid!important;grid-template-columns:minmax(0,1fr) 118px!important;gap:10px!important;align-items:start!important;padding:5px 0!important;font-size:14px!important;line-height:1.12!important;}
.thermal-ticket .ticket-row span{min-width:0!important;overflow-wrap:anywhere!important;}
.thermal-ticket .ticket-row b{justify-self:end!important;text-align:right!important;white-space:nowrap!important;font-weight:900!important;font-variant-numeric:tabular-nums!important;}
.thermal-ticket .total-row{font-size:18px!important;font-weight:950!important;margin-top:6px!important;}
.thermal-ticket .total-row b{font-size:18px!important;}
.thermal-ticket .ticket-section-title{font-weight:900!important;text-align:left!important;margin:6px 0 2px!important;color:#222!important;}
.thermal-ticket .ticket-thanks{text-align:center!important;font-size:13px!important;font-weight:900!important;margin:10px 0 0!important;color:#555!important;}
@media print{
  @page{size:72mm auto;margin:0!important;}
  html,body{background:#fff!important;margin:0!important;padding:0!important;}
  .ticket.thermal-ticket{width:68mm!important;max-width:68mm!important;margin:0 auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:2mm 2mm 2mm!important;font-size:9pt!important;line-height:1.08!important;}
  .thermal-ticket .ticket-logo-image{width:16mm!important;height:16mm!important;margin-bottom:1mm!important;}
  .thermal-ticket h2{font-size:15pt!important;}
  .thermal-ticket .ticket-subtitle{font-size:8pt!important;margin:0 0 1mm!important;}
  .thermal-ticket .ticket-rule{margin:1mm 0!important;}
  .thermal-ticket .ticket-meta{grid-template-columns:17mm minmax(0,1fr)!important;gap:1mm!important;font-size:8.2pt!important;line-height:1.05!important;padding:.2mm 0!important;}
  .thermal-ticket .ticket-item{padding:.7mm 0!important;}
  .thermal-ticket .ticket-item>strong{font-size:8.8pt!important;line-height:1.05!important;}
  .thermal-ticket .ticket-item>div{grid-template-columns:minmax(0,1fr) 18mm!important;gap:1mm!important;font-size:8.2pt!important;line-height:1.05!important;}
  .thermal-ticket .ticket-item small{font-size:7.2pt!important;line-height:1.05!important;}
  .thermal-ticket .ticket-row{grid-template-columns:minmax(0,1fr) 22mm!important;gap:1mm!important;font-size:8.8pt!important;line-height:1.05!important;padding:.6mm 0!important;}
  .thermal-ticket .total-row,.thermal-ticket .total-row b{font-size:12pt!important;}
  .thermal-ticket .ticket-thanks{font-size:8.5pt!important;margin-top:1mm!important;}
}
/* AJUSTE FACTURA TERMICA 2026-07-20 FIN */


/* ALERTAS COMO PRODUCTOS MAS VENDIDOS 2026-07-20 INICIO */
.card:has(.alert-grid){
  padding:24px 26px!important;
}
.card:has(.alert-grid) .card-head{
  align-items:flex-start!important;
  gap:16px!important;
  margin-bottom:18px!important;
}
.card:has(.alert-grid) .card-head h2{
  font-size:32px!important;
  line-height:1.05!important;
}
.card:has(.alert-grid) .card-head span{
  white-space:nowrap!important;
}
.alert-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.alert-grid>div{
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  align-items:start!important;
  gap:14px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  padding:12px 14px!important;
  box-shadow:0 8px 22px rgba(52,33,8,.035)!important;
}
.alert-grid h3{
  margin:0!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:950!important;
  color:#17120d!important;
}
.alert-grid a,
.alert-grid p{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:100%!important;
  margin:0 8px 7px 0!important;
  font-size:13px!important;
  line-height:1.25!important;
  color:#2c251d!important;
  text-decoration:none!important;
}
.alert-grid a{
  background:#fffaf4!important;
  border:1px solid rgba(210,161,58,.22)!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  font-weight:800!important;
}
.alert-grid p{
  color:#6f665d!important;
  font-weight:650!important;
}
@media(max-width:980px){
  .card:has(.alert-grid){padding:20px!important;}
  .card:has(.alert-grid) .card-head h2{font-size:28px!important;}
  .alert-grid>div{grid-template-columns:1fr!important;gap:7px!important;}
}
/* ALERTAS COMO PRODUCTOS MAS VENDIDOS 2026-07-20 FIN */


/* CAJON MODAL RESTAURADO 2026-07-20 INICIO */
#drawerModal,
#cashDrawerModal,
.drawer-modal,
.cash-drawer-modal,
.apertura-modal,
.modal-cajon{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:rgba(0,0,0,.52)!important;
}
#drawerModal.is-open,
#drawerModal.open,
#drawerModal.active,
#drawerModal[aria-hidden="false"],
#cashDrawerModal.is-open,
#cashDrawerModal.open,
#cashDrawerModal.active,
#cashDrawerModal[aria-hidden="false"],
.drawer-modal.is-open,
.drawer-modal.open,
.drawer-modal.active,
.drawer-modal[aria-hidden="false"],
.cash-drawer-modal.is-open,
.cash-drawer-modal.open,
.cash-drawer-modal.active,
.cash-drawer-modal[aria-hidden="false"],
.apertura-modal.is-open,
.apertura-modal.open,
.apertura-modal.active,
.apertura-modal[aria-hidden="false"],
.modal-cajon.is-open,
.modal-cajon.open,
.modal-cajon.active,
.modal-cajon[aria-hidden="false"]{
  display:flex!important;
}
#drawerModal .modal-card,
#drawerModal .modal-content,
#drawerModal .drawer-panel,
#drawerModal .cash-drawer-panel,
#cashDrawerModal .modal-card,
#cashDrawerModal .modal-content,
#cashDrawerModal .drawer-panel,
#cashDrawerModal .cash-drawer-panel,
.drawer-modal .modal-card,
.drawer-modal .modal-content,
.drawer-modal .drawer-panel,
.drawer-modal .cash-drawer-panel,
.cash-drawer-modal .modal-card,
.cash-drawer-modal .modal-content,
.cash-drawer-modal .drawer-panel,
.cash-drawer-modal .cash-drawer-panel,
.apertura-modal .modal-card,
.apertura-modal .modal-content,
.apertura-modal .drawer-panel,
.apertura-modal .cash-drawer-panel,
.modal-cajon .modal-card,
.modal-cajon .modal-content,
.modal-cajon .drawer-panel,
.modal-cajon .cash-drawer-panel{
  width:min(520px,96vw)!important;
  max-height:92vh!important;
  overflow:auto!important;
  background:#fffaf4!important;
  border:1px solid var(--line)!important;
  border-radius:28px!important;
  padding:26px!important;
  box-shadow:0 28px 80px rgba(0,0,0,.28)!important;
}
#drawerModal form,
#cashDrawerModal form,
.drawer-modal form,
.cash-drawer-modal form,
.apertura-modal form,
.modal-cajon form{
  margin:0!important;
}
body.modal-open{
  overflow:hidden!important;
}
/* CAJON MODAL RESTAURADO 2026-07-20 FIN */


/* PUNTOS CLAVE CAJON 2026-07-20 INICIO */
#drawerModal input[name*="clave"],
#drawerModal input[name*="pin"],
#drawerModal input[type="password"],
#cashDrawerModal input[name*="clave"],
#cashDrawerModal input[name*="pin"],
#cashDrawerModal input[type="password"],
.drawer-modal input[name*="clave"],
.drawer-modal input[name*="pin"],
.drawer-modal input[type="password"],
.cash-drawer-modal input[name*="clave"],
.cash-drawer-modal input[name*="pin"],
.cash-drawer-modal input[type="password"],
.apertura-modal input[name*="clave"],
.apertura-modal input[name*="pin"],
.apertura-modal input[type="password"],
.modal-cajon input[name*="clave"],
.modal-cajon input[name*="pin"],
.modal-cajon input[type="password"],
form[action*="cajon"] input[name*="clave"],
form[action*="cajon"] input[type="password"],
input#drawerPin,
input#cashDrawerPin,
input#cajonClave,
input[name="clave_cajon"],
input[name="clave_apertura"]{
  background:#fff8dc!important;
  border:2px solid #d6a526!important;
  border-radius:18px!important;
  min-height:58px!important;
  text-align:center!important;
  font-size:34px!important;
  font-weight:900!important;
  letter-spacing:14px!important;
  color:#111!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.85), 0 0 0 4px rgba(214,165,38,.12)!important;
  -webkit-text-security:disc!important;
  text-security:disc!important;
  caret-color:#d6a526!important;
}
#drawerModal input[name*="clave"]::placeholder,
#cashDrawerModal input[name*="clave"]::placeholder,
.drawer-modal input[name*="clave"]::placeholder,
.cash-drawer-modal input[name*="clave"]::placeholder,
.apertura-modal input[name*="clave"]::placeholder,
.modal-cajon input[name*="clave"]::placeholder,
form[action*="cajon"] input[name*="clave"]::placeholder{
  color:#b9a779!important;
  letter-spacing:0!important;
  -webkit-text-security:none!important;
}
#drawerModal input[name*="clave"]:focus,
#cashDrawerModal input[name*="clave"]:focus,
.drawer-modal input[name*="clave"]:focus,
.cash-drawer-modal input[name*="clave"]:focus,
.apertura-modal input[name*="clave"]:focus,
.modal-cajon input[name*="clave"]:focus,
form[action*="cajon"] input[name*="clave"]:focus{
  outline:none!important;
  border-color:#c89216!important;
  background:#fff3bf!important;
  box-shadow:0 0 0 5px rgba(214,165,38,.22)!important;
}
/* PUNTOS CLAVE CAJON 2026-07-20 FIN */


/* FONDO CUADRO CAJON 2026-07-20 INICIO */
#drawerModal > form,
#cashDrawerModal > form,
.drawer-modal > form,
.cash-drawer-modal > form,
.apertura-modal > form,
.modal-cajon > form,
#drawerModal form:has(input[name*="clave"]),
#cashDrawerModal form:has(input[name*="clave"]),
.drawer-modal form:has(input[name*="clave"]),
.cash-drawer-modal form:has(input[name*="clave"]),
.apertura-modal form:has(input[name*="clave"]),
.modal-cajon form:has(input[name*="clave"]),
form[action*="cajon"]:has(input[name*="clave"]),
form[action*="abrir"]:has(input[name*="clave"]),
form:has(input[name="clave_apertura"]),
form:has(input[name="clave_cajon"]),
form:has(input#cajonClave),
form:has(input#drawerPin),
form:has(input#cashDrawerPin){
  width:min(560px,94vw)!important;
  max-width:560px!important;
  margin:0 auto!important;
  padding:28px 30px 24px!important;
  background:#fffaf2!important;
  border:1px solid #ead9bd!important;
  border-radius:30px!important;
  box-shadow:0 30px 90px rgba(0,0,0,.34), 0 8px 24px rgba(82,55,15,.12)!important;
  position:relative!important;
  z-index:100000!important;
}
#drawerModal > form::before,
#cashDrawerModal > form::before,
.drawer-modal > form::before,
.cash-drawer-modal > form::before,
.apertura-modal > form::before,
.modal-cajon > form::before,
form[action*="cajon"]:has(input[name*="clave"])::before,
form[action*="abrir"]:has(input[name*="clave"])::before,
form:has(input[name="clave_apertura"])::before,
form:has(input[name="clave_cajon"])::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:30px!important;
  pointer-events:none!important;
  background:linear-gradient(135deg, rgba(255,255,255,.78), rgba(245,219,151,.22))!important;
  z-index:-1!important;
}
/* FONDO CUADRO CAJON 2026-07-20 FIN */


/* TARJETA EMERGENTE CAJON 2026-07-20 INICIO */
body:not(.login-body) form:has(input[type="password"]),
body:not(.login-body) form:has(input[name*="clave"]),
body:not(.login-body) form:has(input[name*="pin"]),
body:not(.login-body) form:has(input#drawerPin),
body:not(.login-body) form:has(input#cashDrawerPin),
body:not(.login-body) form:has(input#cajonClave){
  width:min(560px,94vw)!important;
  max-width:560px!important;
  margin:0 auto!important;
  padding:30px 30px 24px!important;
  background:#fffaf2!important;
  border:1px solid #ecd9b7!important;
  border-radius:30px!important;
  box-shadow:0 34px 95px rgba(0,0,0,.36), 0 8px 24px rgba(96,62,8,.16)!important;
  position:relative!important;
  z-index:100000!important;
}
body:not(.login-body) form:has(input[type="password"])::before,
body:not(.login-body) form:has(input[name*="clave"])::before,
body:not(.login-body) form:has(input[name*="pin"])::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:30px!important;
  pointer-events:none!important;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,231,164,.24))!important;
  z-index:-1!important;
}
body:not(.login-body) form:has(input[type="password"]) h1,
body:not(.login-body) form:has(input[type="password"]) h2,
body:not(.login-body) form:has(input[type="password"]) h3,
body:not(.login-body) form:has(input[name*="clave"]) h1,
body:not(.login-body) form:has(input[name*="clave"]) h2,
body:not(.login-body) form:has(input[name*="clave"]) h3,
body:not(.login-body) form:has(input[name*="pin"]) h1,
body:not(.login-body) form:has(input[name*="pin"]) h2,
body:not(.login-body) form:has(input[name*="pin"]) h3{
  margin-top:0!important;
}
body:not(.login-body) form:has(input[type="password"]) input,
body:not(.login-body) form:has(input[name*="clave"]) input,
body:not(.login-body) form:has(input[name*="pin"]) input,
body:not(.login-body) form:has(input[type="password"]) button,
body:not(.login-body) form:has(input[name*="clave"]) button,
body:not(.login-body) form:has(input[name*="pin"]) button{
  position:relative!important;
  z-index:1!important;
}
/* TARJETA EMERGENTE CAJON 2026-07-20 FIN */


/* DRAWER MODAL CARD REAL 2026-07-20 INICIO */
#drawerPinModal.drawer-modal{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
}
#drawerPinModal.drawer-modal[aria-hidden="false"],
#drawerPinModal.drawer-modal.is-open,
#drawerPinModal.drawer-modal.open,
#drawerPinModal.drawer-modal.active{
  display:flex!important;
}
#drawerPinModal .drawer-modal-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(0,0,0,.58)!important;
  backdrop-filter:blur(2px)!important;
  z-index:0!important;
}
#drawerPinModal .drawer-modal-card{
  position:relative!important;
  z-index:1!important;
  width:min(560px,94vw)!important;
  max-width:560px!important;
  max-height:92vh!important;
  overflow:auto!important;
  margin:auto!important;
  padding:30px 30px 24px!important;
  background:#fffaf2!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,236,184,.32))!important;
  border:1px solid #ead8b9!important;
  border-radius:30px!important;
  box-shadow:0 34px 100px rgba(0,0,0,.38),0 10px 28px rgba(98,63,10,.18)!important;
  color:#17120d!important;
}
#drawerPinModal .drawer-modal-card .kicker,
#drawerPinModal .drawer-modal-card h2,
#drawerPinModal .drawer-modal-card p,
#drawerPinModal .drawer-modal-card label,
#drawerPinModal .drawer-modal-card small{
  position:relative!important;
  z-index:2!important;
}
#drawerPinModal .drawer-modal-close{
  position:absolute!important;
  right:18px!important;
  top:16px!important;
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  border:1px solid #e5cfaa!important;
  background:#fffaf2!important;
  color:#17120d!important;
  font-size:22px!important;
  font-weight:900!important;
  z-index:3!important;
}
#drawerPinModal #drawerPin{
  background:#eef4ff!important;
  border:2px solid #1f8bd6!important;
  border-radius:18px!important;
  min-height:58px!important;
  text-align:center!important;
  font-size:34px!important;
  font-weight:900!important;
  letter-spacing:14px!important;
  color:#111!important;
  box-shadow:0 0 0 4px rgba(31,139,214,.13)!important;
}
#drawerPinModal #drawerReason{
  background:#fff!important;
  border:1px solid #ead8b9!important;
  border-radius:18px!important;
}
#drawerPinModal .sale-action-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin-top:14px!important;
}
@media(max-width:640px){
  #drawerPinModal .drawer-modal-card{padding:26px 20px 22px!important;border-radius:24px!important;}
  #drawerPinModal .sale-action-grid{grid-template-columns:1fr!important;}
}
/* DRAWER MODAL CARD REAL 2026-07-20 FIN */
