:root{
  --bg:#f7f6f2;
  --surface:#ffffff;
  --surface-2:#fbfaf7;
  --surface-3:#f1efe8;
  --ink:#191919;
  --ink-soft:#3d3d3d;
  --muted:#76736d;
  --line:#e6e1d8;
  --line-2:#f0ece4;
  --accent:#202020;
  --accent-2:#8a673a;
  --accent-soft:#f3ede3;
  --success:#28714f;
  --danger:#a43b33;
  --warning:#a56a24;
  --shadow:0 16px 40px rgba(49,43,33,.06);
  --shadow-soft:0 8px 24px rgba(49,43,33,.05);
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"SF Mono","Cascadia Code","Roboto Mono",Consolas,monospace;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{min-height:100%}
body{margin:0;min-height:100%;background:linear-gradient(180deg,#faf9f6 0,#f7f6f2 46%,#f3f1ec 100%);color:var(--ink);font-family:var(--font);font-size:14px;font-weight:400;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{border:0;cursor:pointer}
img{max-width:100%}
button,input,select,textarea,option,[contenteditable]{spellcheck:false}
input::placeholder,textarea::placeholder{color:#aaa49a}

.app-shell{display:grid;grid-template-columns:104px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:18px 12px;border-right:1px solid var(--line);background:rgba(255,255,255,.82);backdrop-filter:blur(20px);z-index:10;overflow:auto}
.brand{width:58px;height:58px;margin:0 auto 17px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#f5f1ea);box-shadow:var(--shadow-soft);display:grid;place-items:center;color:var(--ink)}
.brand svg{width:24px;height:24px;fill:currentColor;opacity:.88}
.side-nav{display:flex;flex-direction:column;gap:6px;align-items:center}
.side-nav a{width:74px;min-height:58px;border-radius:18px;border:1px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#7a766d;position:relative;transition:.16s ease;background:transparent}
.side-nav a .nav-ico{width:21px;height:21px;display:grid;place-items:center;line-height:1}
.side-nav a svg{width:20px;height:20px;fill:currentColor;display:block}
.side-nav a .nav-label{font-size:10px;font-weight:500;line-height:1.05;letter-spacing:-.01em;white-space:nowrap}
.side-nav a:hover{background:#fff;border-color:var(--line);color:var(--ink);box-shadow:0 10px 22px rgba(42,36,28,.05)}
.side-nav a.is-active{background:#fff;border-color:#d9d2c5;color:var(--ink);box-shadow:0 10px 22px rgba(42,36,28,.065)}
.side-nav a.is-active:before{content:"";position:absolute;left:-13px;top:16px;bottom:16px;width:3px;border-radius:0 8px 8px 0;background:var(--accent-2)}

.main{min-width:0;padding:24px 28px 44px;max-width:1540px;width:100%;margin:0 auto}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.topbar>div:first-child{min-width:0}
.eyebrow{display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;color:var(--muted);font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.12em}
.topbar h1{font-size:30px;line-height:1;margin:4px 0 0;letter-spacing:-.055em;font-weight:600;color:var(--ink)}
.notify-link{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:rgba(255,255,255,.85);border-radius:999px;padding:8px 10px;box-shadow:var(--shadow-soft);font-size:12px;font-weight:500;color:#55504a;margin-left:auto}
.notify-link em{font-style:normal;background:#f3efe7;color:#5f584f;border-radius:999px;padding:3px 8px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.02em}
.notify-link.has-unread em{background:#e9f6ee;color:var(--success)}
.user-chip{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:999px;padding:7px 8px;box-shadow:var(--shadow-soft)}
.user-chip .user-name{display:block;font-size:13px;font-weight:500;color:var(--ink)}
.user-chip small{display:block;color:var(--muted);font-family:var(--mono);font-size:9.5px;font-weight:400;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-chip a{font-size:12px;font-weight:500;color:#4f4a43;padding:7px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line-2)}
.avatar{width:32px;height:32px;border-radius:50%;background:#242220;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;letter-spacing:-.04em}
.avatar.big{width:68px;height:68px;border-radius:24px;font-size:24px}

.panel{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:18px;margin-bottom:16px}
.panel.tight,.panel.compact{padding:14px;border-radius:18px;box-shadow:none}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.panel-head h2,.panel h2{font-size:20px;line-height:1.15;margin:4px 0 0;letter-spacing:-.04em;font-weight:600;color:var(--ink)}
.panel-head p,.panel p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.grid{display:grid;gap:16px}
.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}
.align-start{align-items:start}
.metric-card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:22px;padding:17px;box-shadow:var(--shadow-soft);min-height:128px;display:flex;flex-direction:column;justify-content:space-between}
.metric-card span{display:block;color:var(--muted);font-family:var(--mono);font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.metric-card strong{display:block;margin-top:11px;font-size:28px;line-height:1;letter-spacing:-.055em;font-weight:600;color:var(--ink)}
.metric-card small{color:var(--muted);font-size:12px;font-weight:400}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;padding:9px 13px;background:#fff;color:var(--ink);border:1px solid var(--line);font-weight:500;font-size:13px;line-height:1;box-shadow:0 1px 0 rgba(49,43,33,.02);transition:.15s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(49,43,33,.06);border-color:#d2cbbf}
.btn.primary{background:#22201d;color:white;border-color:#22201d}
.btn.danger{background:#fff;color:var(--danger);border-color:#edc6c2}
.btn.danger:hover{background:#fff7f6}
.btn.ghost{background:var(--surface-2)}
.btn.small{padding:7px 10px;border-radius:11px;font-size:12px}
.btn.large{padding:12px 16px;border-radius:15px;font-size:14px}
.btn.full{width:100%}
.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}
.toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.flash{border-radius:15px;padding:11px 13px;margin-bottom:14px;font-size:13px;font-weight:500;border:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:var(--shadow-soft)}
.flash.success{background:#f2fbf5;color:#246d4c;border-color:#ccebd7}
.flash.danger{background:#fff4f2;color:#9b372f;border-color:#f1c5c1}
.flash.warning{background:#fff9ee;color:#8f5f21;border-color:#f3d6a9}
.flash.info{background:#f4f8ff;color:#315d9b;border-color:#cbdcf6}

.form-stack{display:grid;gap:13px}
.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.form-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
label{display:grid;gap:6px;font-weight:500;color:#504b45;font-size:12px;letter-spacing:-.005em}
input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px 11px;color:var(--ink);outline:none;transition:.15s ease;min-height:40px;font-size:13px;font-weight:400}
textarea{min-height:92px;resize:vertical;line-height:1.45}
input:focus,select:focus,textarea:focus{border-color:#b8ad9c;box-shadow:0 0 0 4px rgba(138,103,58,.12)}
input[type="checkbox"]{width:16px;height:16px;min-height:auto}
.check-row{display:flex;gap:9px;align-items:center;font-size:13px;font-weight:400;color:var(--ink)}
.check-row input{width:auto}

.table-scroll{width:100%;overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 1px 0 rgba(49,43,33,.02)}
.admin-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;font-size:13px}
.admin-table th{font-size:10px;text-align:left;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:#fbfaf7;padding:12px 13px;border-bottom:1px solid var(--line);font-family:var(--mono);font-weight:500;white-space:nowrap}
.admin-table td{padding:12px 13px;border-bottom:1px solid var(--line-2);vertical-align:middle;color:#3f3b35}
.admin-table tr:last-child td{border-bottom:0}
.admin-table tr:hover td{background:#fffdf9}
.admin-table small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:2px}
.list-title{font-weight:500;color:var(--ink)}
.empty-cell{text-align:center;color:var(--muted);font-weight:400;padding:30px!important;background:#fffdf9;border-radius:16px}
.status-pill,.presence-pill,.soft-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:5px 9px;background:#fbfaf7;color:#5b564f;font-size:12px;font-weight:500;border:1px solid var(--line);white-space:nowrap}
.status-pill i,.presence-pill i{width:6px;height:6px;border-radius:99px;background:#aaa49a;box-shadow:0 0 0 3px rgba(170,164,154,.12)}
.status-pill.ok i,.presence-pill.online i{background:var(--success);box-shadow:0 0 0 3px rgba(40,113,79,.12)}
.status-pill.warn i{background:#c6892c;box-shadow:0 0 0 3px rgba(198,137,44,.13)}
.status-pill.off i,.presence-pill.offline i{background:#a6a096;box-shadow:0 0 0 3px rgba(166,160,150,.12)}
.status-pill.ok{color:#236449;background:#f2fbf5;border-color:#dcefe4}
.status-pill.warn{color:#84581e;background:#fff8eb;border-color:#f2d8ad}
.status-pill.off{color:#6f6a62;background:#f5f2ec;border-color:#e7dfd4}

.activity-feed{display:grid;gap:9px}
.feed-item{display:grid;grid-template-columns:86px 1fr;gap:12px;padding:11px;border:1px solid var(--line);border-radius:16px;background:#fff}
.feed-item>span{display:inline-flex;align-items:center;justify-content:center;border-radius:11px;background:#fbfaf7;border:1px solid var(--line-2);font-family:var(--mono);font-size:10px;font-weight:500;color:#676158;text-transform:uppercase;letter-spacing:.06em;text-align:center}
.feed-item p{margin:0;font-weight:500;color:var(--ink)}
.feed-item small{color:var(--muted);font-size:12px;font-weight:400}

.login-page,.install-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#fff 0,#f8f6f0 36%,#eee9df 100%)}
.login-card,.install-card{width:min(430px,100%);background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 22px 70px rgba(49,43,33,.09)}
.login-card h1,.install-card h1{margin:7px 0 8px;letter-spacing:-.05em;font-size:29px;font-weight:600}
.login-card p,.install-card p{color:var(--muted);margin:0 0 18px;font-size:13px}
.brand-mark{width:58px;height:58px;border-radius:20px;background:#242220;color:#fff;display:grid;place-items:center;margin-bottom:17px;box-shadow:var(--shadow-soft)}
.brand-mark svg{width:28px;height:28px;fill:currentColor}

/* Caja / arqueo profesional */
.cash-workspace{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}
.cash-sidebar{position:sticky;top:22px;display:grid;gap:12px}
.cash-summary-card{background:#25231f;color:#fff;border-radius:24px;padding:20px;box-shadow:0 22px 55px rgba(37,35,31,.16)}
.cash-summary-card .eyebrow{color:#bdb5a9}
.cash-summary-card h2{margin:6px 0 18px;font-size:19px;letter-spacing:-.035em;font-weight:500;color:#fff}
.cash-total-display{display:grid;gap:5px;margin:8px 0 16px;padding:16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
.cash-total-display span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#c6beb2;font-weight:500}
.cash-total-display strong{font-size:33px;line-height:1;letter-spacing:-.065em;font-weight:600;color:#fff}
.cash-meta-list{display:grid;gap:8px;margin:0 0 16px}
.cash-meta-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:12px;color:#d9d2c9}
.cash-meta-line strong{font-size:12px;font-weight:500;color:#fff;text-align:right}
.cash-summary-card .btn{width:100%;border-color:#fff;background:#fff;color:#242220;margin-top:6px}
.cash-note{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px;color:var(--muted);font-size:13px;box-shadow:var(--shadow-soft)}
.cash-note strong{display:block;color:var(--ink);font-size:13px;font-weight:500;margin-bottom:4px}
.cash-main{display:grid;gap:16px}
.cash-section{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
.cash-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfaf7)}
.cash-section-head h2{font-size:20px;margin:4px 0 0;font-weight:600;letter-spacing:-.04em}
.cash-section-head p{margin:6px 0 0;color:var(--muted);font-size:13px}
.denom-table{display:grid;background:#fff}
.denom-row{display:grid;grid-template-columns:minmax(130px,1fr) 110px 138px;gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line-2);background:#fff;border-radius:0}
.denom-row:last-child{border-bottom:0}
.denom-row:hover{background:#fffdf9}
.denom-row strong{font-size:13px;font-weight:500;color:var(--ink);line-height:1.15}
.denom-row small{color:var(--muted);font-family:var(--mono);font-size:11px;font-weight:500;text-align:right}
.denom-row input{min-height:38px;text-align:right;border-radius:11px;padding:8px 10px;background:#fff}
.denom-row label{gap:4px;font-family:var(--mono);font-size:9.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.denom-row.is-foreign{grid-template-columns:minmax(130px,1fr) 116px 116px 138px}
.denom-head{display:grid;grid-template-columns:minmax(130px,1fr) 110px 138px;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:#fbfaf7;color:var(--muted);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.denom-head.foreign{grid-template-columns:minmax(130px,1fr) 116px 116px 138px}
.denom-head span:last-child{text-align:right}
.cash-observations{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow)}
.cash-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.cash-kpi{padding:13px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.08);border-radius:16px;display:grid;gap:5px}
.cash-kpi span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#c6beb2}
.cash-kpi strong{font-size:19px;font-weight:600;letter-spacing:-.04em;color:#fff}
.close-diff{border-color:rgba(255,255,255,.16)}
.close-diff.ok strong{color:#b4f0cd}.close-diff.warn strong{color:#ffd38d}.close-diff.bad strong{color:#ffb7b2}

.total-box{border:1px solid var(--line);border-radius:18px;background:#fbfaf7;padding:14px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.total-box span{color:var(--muted);font-family:var(--mono);font-weight:500;text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.total-box strong{font-size:22px;letter-spacing:-.04em;font-weight:600;color:var(--ink)}

.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}
.cart-row{display:grid;grid-template-columns:1.7fr 112px 112px 112px 42px;gap:10px;align-items:end;padding:11px;border:1px solid var(--line);border-radius:17px;margin-bottom:9px;background:#fff}
.cart-row .remove{height:40px;border-radius:12px;background:#fff4f2;color:var(--danger);font-weight:500;border:1px solid #f0cbc7}
.payment-row{display:grid;grid-template-columns:1fr 130px;gap:10px;align-items:center;margin-bottom:9px}
.summary-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-2);font-weight:400;color:#4b463f}
.summary-line strong{font-weight:600;color:var(--ink)}
.summary-line.total{font-size:20px;font-weight:600;border-bottom:0;color:var(--ink)}

.print-page{background:#fff;padding:24px;color:#171717}
.print-card{max-width:880px;margin:0 auto;border:1px solid #ddd;border-radius:16px;padding:24px;background:#fff}
.print-head{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #eee;padding-bottom:14px;margin-bottom:16px}
.print-title{font-size:24px;font-weight:600;margin:0;letter-spacing:-.04em}
.kbd{font-family:var(--mono);font-size:12px;background:#f7f4ef;border:1px solid var(--line);border-radius:8px;padding:2px 6px}
.muted{color:var(--muted)}
.text-right{text-align:right}.nowrap{white-space:nowrap}.mb-0{margin-bottom:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.hidden{display:none!important}

@media print{body{background:#fff}.app-shell,.sidebar,.topbar,.no-print{display:none!important}.print-page{display:block}.print-card{border:0;border-radius:0;max-width:none}.admin-table th,.admin-table td{padding:8px}.btn{display:none!important}}
@media (max-width:1180px){.two-col,.three-col,.four-col,.pos-layout,.cash-workspace{grid-template-columns:1fr}.cash-sidebar{position:static}.app-shell{grid-template-columns:88px 1fr}.main{padding:20px}.form-grid-2,.form-grid-3,.form-grid-4{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.notify-link{margin-left:0}.user-chip{width:100%;justify-content:space-between}.denom-row,.denom-row.is-foreign,.denom-head,.denom-head.foreign{grid-template-columns:1fr 110px}.denom-head span:nth-child(3),.denom-head span:nth-child(4){display:none}.denom-row small{grid-column:1/-1}.denom-row label{grid-column:auto}.cart-row{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.app-shell{display:block}.sidebar{position:relative;height:auto;display:block;padding:12px;border-right:0;border-bottom:1px solid var(--line);overflow:auto}.brand{display:none}.side-nav{flex-direction:row;justify-content:flex-start;overflow:auto;padding-bottom:2px}.side-nav a{min-width:72px}.side-nav a.is-active:before{display:none}.main{padding:16px}.cash-kpi-grid{grid-template-columns:1fr}.denom-row,.denom-row.is-foreign,.denom-head,.denom-head.foreign{grid-template-columns:1fr}.denom-head{display:none}.feed-item{grid-template-columns:1fr}.topbar h1{font-size:26px}.metric-card{min-height:110px}}

/* V3 refinamiento visual general */
:root{
  --bg:#f6f4ef;
  --surface:#ffffff;
  --ink:#181715;
  --muted:#807970;
  --line:#e7e1d8;
  --line-2:#f1ece5;
  --accent:#1f1d1a;
  --accent-2:#71583a;
  --shadow:0 12px 34px rgba(35,31,25,.045);
  --shadow-soft:0 6px 18px rgba(35,31,25,.035);
}
body{font-size:13.5px;font-weight:400;letter-spacing:-.006em;background:#f7f5f0;color:var(--ink)}
.main{padding-top:22px}.topbar{margin-bottom:18px}.topbar h1{font-size:27px;font-weight:520;letter-spacing:-.055em}.eyebrow{font-weight:500;letter-spacing:.14em;color:#8a8176}
.panel{border-radius:24px;border-color:#e5ded3;box-shadow:var(--shadow);padding:18px;background:rgba(255,255,255,.96)}
.panel-head h2,.panel h2{font-weight:520;letter-spacing:-.045em}.panel-head p{font-weight:400;color:#777067;max-width:760px}.panel.tight{border-radius:19px;background:#fff;box-shadow:none}
.btn{font-weight:520;border-radius:13px;box-shadow:none;min-height:38px}.btn.primary{background:#201f1c;color:#fff;border-color:#201f1c}.btn.primary:hover{filter:none;background:#111}.btn.ghost{background:#fff;border-color:var(--line);color:#6b635a}.btn.tiny{min-height:28px;padding:5px 9px;font-size:11px;border-radius:10px}.btn.large{min-height:48px;font-size:14px}
input,select,textarea{font-weight:400;border-radius:13px;border-color:#e5ded3;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);min-height:39px}textarea{min-height:80px}label{font-weight:500;color:#4b463f}label small{display:block;margin-top:6px;color:var(--muted);font-weight:400;font-size:11px}.compact-gap{gap:8px}.section-title-mini{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;color:#736b61;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.section-title-mini.with-action{margin-bottom:12px}
.admin-table{font-size:13px}.admin-table th{font-size:10px;font-weight:500;color:#8b8176;background:#fbfaf7}.admin-table td{font-weight:400}.status-pill,.soft-pill{font-weight:500;background:#fbfaf7;border-color:#e8e1d7}
.sidebar{background:rgba(255,255,255,.86)}.side-nav a .nav-label{font-weight:500}.side-nav a.is-active{box-shadow:0 8px 20px rgba(42,36,28,.055)}

/* V3 ventas / POS */
.sales-shell{padding:17px}.sales-head{align-items:center}.tabstrip{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);background:#fbfaf7;border-radius:999px}.tabstrip button{min-height:34px;padding:7px 13px;border-radius:999px;background:transparent;color:#746c61;font-size:12px;font-weight:500}.tabstrip button.is-active{background:#fff;color:#171614;box-shadow:0 5px 14px rgba(35,31,25,.07);border:1px solid #e8e0d5}
.pos-modern-layout{display:grid;grid-template-columns:minmax(0,1fr) 386px;gap:16px;align-items:start}.pos-products-area{display:grid;gap:13px;min-width:0}.pos-search-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fff,#fbfaf7);box-shadow:var(--shadow-soft)}.quick-search-label{display:grid;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#81776d;font-family:var(--mono);font-weight:500}.quick-search-label input{font-family:var(--font);text-transform:none;letter-spacing:0;font-size:14px;font-weight:400;min-height:44px;background:#fff}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:9px;max-height:324px;overflow:auto;padding:1px}.product-grid.compact{max-height:276px}.product-tile{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:9px;border:1px solid #e8e1d7;border-radius:18px;background:#fff;color:var(--ink);transition:.13s ease;min-height:66px}.product-tile:hover{transform:translateY(-1px);border-color:#d7ccbd;box-shadow:0 9px 22px rgba(35,31,25,.055)}.product-thumb{width:46px;height:46px;border-radius:15px;background:#f5f1eb;overflow:hidden;display:block;border:1px solid #eee7de}.product-thumb img{width:100%;height:100%;object-fit:cover;display:block}.product-info{min-width:0;display:grid;gap:3px}.product-info strong{font-size:13px;font-weight:560;letter-spacing:-.025em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-info small{font-size:11px;color:var(--muted);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-price{font-size:12px;font-weight:560;color:#2c2924;background:#f8f5ef;border:1px solid #ece5dc;border-radius:999px;padding:5px 8px;white-space:nowrap}.product-tile[hidden]{display:none}
.cart-card{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft);overflow:hidden}.cart-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line-2);background:#fffdf9}.cart-card-head h3{margin:3px 0 0;font-size:18px;font-weight:520;letter-spacing:-.04em}.cart-empty{padding:28px;text-align:center;color:#8d857a;background:#fff;font-weight:400}
.cart-row.modern{grid-template-columns:minmax(230px,1.7fr) 150px 116px 112px 38px;margin:0;border-width:0 0 1px 0;border-radius:0;padding:11px 13px;align-items:center;box-shadow:none}.cart-row.modern:last-child{border-bottom:0}.cart-product{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center}.cart-product img{width:42px;height:42px;border-radius:14px;object-fit:cover;background:#f3eee6;border:1px solid #eee6dd}.cart-product strong{display:block;font-weight:560;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-product small{display:block;color:var(--muted);font-size:11px;font-weight:400}.qty-control{display:grid;grid-template-columns:32px minmax(62px,1fr) 32px;gap:5px;align-items:center}.qty-control button{height:34px;border-radius:11px;border:1px solid var(--line);background:#fbfaf7;color:#4d463f;font-weight:520}.qty-control input{text-align:center;min-height:34px;padding:7px}.price-field{gap:5px;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:#8a8177}.price-field input{font-family:var(--font);font-size:13px;text-align:right;min-height:34px}.line-total{display:grid;gap:4px;text-align:right}.line-total span{font-family:var(--mono);font-size:9.5px;color:#8a8177;text-transform:uppercase;letter-spacing:.08em}.line-total strong{font-size:13.5px;font-weight:560}.cart-row.modern .remove{width:34px;height:34px;border-radius:12px;background:#fff7f5;color:#a43b33;border:1px solid #efd1cc;font-size:18px;font-weight:400}.qty-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.qty-chips button{border:1px solid #e9e0d7;background:#fbfaf7;color:#655d55;border-radius:999px;font-size:10.5px;padding:3px 7px;font-weight:500}
.checkout-panel{position:sticky;top:18px;display:grid;gap:11px}.checkout-total-card{background:#1f1e1b;color:#fff;border-radius:24px;padding:19px;box-shadow:0 18px 46px rgba(31,30,27,.15)}.checkout-total-card span{display:block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#c6bdb2;margin-bottom:7px}.checkout-total-card strong{display:block;font-size:34px;line-height:1;font-weight:560;letter-spacing:-.065em}.checkout-total-card small{display:block;margin-top:10px;color:#c8c0b6;font-size:12px}.checkout-section{border:1px solid var(--line);border-radius:20px;background:#fff;padding:13px;box-shadow:var(--shadow-soft);display:grid;gap:9px}.checkout-section.is-muted{opacity:.62}.checkout-submit{width:100%}.summary-line{font-weight:400}.summary-line.total{font-size:18px;font-weight:520}.summary-line strong{font-weight:560}.payment-row input{text-align:right;min-height:36px}.payment-row .soft-pill{min-height:33px;justify-content:center}
.delivery-pos{grid-template-columns:minmax(0,1fr) 370px}.delivery-layout{grid-template-columns:minmax(0,1.65fr) minmax(270px,.8fr)}.empty-state{padding:24px;border:1px dashed #d8ccbd;background:#fbfaf7;border-radius:18px;text-align:center}.empty-state strong{display:block;font-size:16px;font-weight:560;margin-bottom:6px}.empty-state p{margin:0 0 14px;color:var(--muted)}

/* Productos */
.product-editor-panel .panel-head p{margin-top:6px}.stock-initial-box{background:#fbfaf7}.product-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.product-list-card{border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:var(--shadow-soft);display:grid;grid-template-columns:96px minmax(0,1fr)}.product-list-card>img{width:96px;height:100%;min-height:176px;object-fit:cover;background:#f4efe8;border-right:1px solid var(--line-2)}.product-list-body{padding:13px;display:grid;gap:8px}.product-list-top{display:flex;gap:6px;align-items:center;justify-content:space-between}.product-list-body h3{margin:0;font-size:16px;font-weight:560;letter-spacing:-.04em}.product-list-body p{margin:0;color:var(--muted);font-size:12px}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mini-metrics span{border:1px solid var(--line-2);border-radius:14px;padding:8px;background:#fbfaf7;display:grid;gap:3px}.mini-metrics small{color:#8d8378;font-size:9.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}.mini-metrics strong{font-size:12px;font-weight:560;color:#25231f}

@media (max-width:1180px){.pos-modern-layout,.delivery-pos,.delivery-layout{grid-template-columns:1fr}.checkout-panel{position:static}.cart-row.modern{grid-template-columns:1fr 150px 110px}.cart-row.modern .line-total,.cart-row.modern .remove{grid-column:auto}.product-grid{max-height:none}}
@media (max-width:760px){.sales-head{align-items:flex-start;flex-direction:column}.pos-search-card{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr}.cart-row.modern{grid-template-columns:1fr}.line-total{text-align:left}.product-list-grid{grid-template-columns:1fr}.product-list-card{grid-template-columns:86px 1fr}.product-list-card>img{width:86px}.checkout-total-card strong{font-size:28px}}

/* V4: correcciones de venta */
.checkout-section[hidden]{display:none!important}
[data-counter-fields][hidden],[data-delivery-fields][hidden]{display:none!important}
.cart-product small .hint{color:var(--muted)}

/* V5 refinamiento funcional */
.filter-bar{padding:12px;border:1px solid var(--line);border-radius:18px;background:#fffdf9;box-shadow:var(--shadow-soft)}
.filter-bar .toolbar-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;width:100%;align-items:end}
.filter-bar label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);gap:5px}
.cash-filter-bar .toolbar-actions{grid-template-columns:150px minmax(170px,1fr) 150px 150px auto}
.cash-filter-bar .btn{min-height:40px}

.money-input{position:relative;display:flex;align-items:center}
.money-input span{position:absolute;left:11px;color:#716a60;font-weight:500;z-index:1}
.money-input input{padding-left:30px!important;text-align:right}

.denom-name{display:grid;grid-template-columns:76px minmax(0,1fr);gap:11px;align-items:center;min-width:0}
.denom-visual{height:42px;border-radius:12px;border:1px solid #d8cfc2;background:linear-gradient(135deg,#fbfaf6,#eee6dc);display:flex;align-items:center;justify-content:space-between;gap:4px;padding:8px 9px;color:#3f3931;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.denom-visual.bill{background:linear-gradient(135deg,#fdfbf5,#e9ddca)}
.denom-visual.coin{width:42px;border-radius:50%;justify-content:center;margin-left:16px;background:linear-gradient(135deg,#fff8dd,#d9b96b)}
.denom-visual.currency{background:linear-gradient(135deg,#f7fbf6,#dfeee0)}
.denom-visual em{font-style:normal;font-size:10px;color:#8a8176;font-family:var(--mono);font-weight:500}
.denom-visual b{font-size:13px;font-weight:560;letter-spacing:-.03em;white-space:nowrap}
.denom-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.pos-search-enhanced{grid-template-columns:minmax(0,1fr) auto;position:relative}.scan-hint{grid-column:1/-1;color:var(--muted);font-size:11px;padding-left:2px}.checkout-submit{font-size:15px}.modal-backdrop{position:fixed;inset:0;background:rgba(29,27,24,.42);backdrop-filter:blur(8px);z-index:200;display:grid;place-items:center;padding:18px}.payment-modal{width:min(520px,100%);max-height:92vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 24px 80px rgba(31,30,27,.22)}.modal-head{display:flex;justify-content:space-between;gap:14px;padding:18px 18px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfaf7)}.modal-head h2{margin:4px 0 0;font-size:22px;font-weight:540;letter-spacing:-.05em}.modal-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.modal-close{width:34px;height:34px;border-radius:12px;border:1px solid var(--line);background:#fff;color:#504a42;font-size:22px;line-height:1}.payment-modal-body{padding:15px;display:grid;gap:12px}.pay-big-total{background:#22201d;color:#fff;border-radius:20px;padding:17px;display:flex;justify-content:space-between;align-items:end;gap:12px}.pay-big-total span{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#c6beb2}.pay-big-total strong{font-size:30px;line-height:1;font-weight:560;letter-spacing:-.06em}.pay-methods{display:grid;gap:8px}.payment-row-modal{margin:0;background:#fbfaf7;border:1px solid var(--line-2);border-radius:15px;padding:8px}.payment-row-modal input{text-align:right;background:#fff}.pay-actions-row{display:flex;gap:8px;flex-wrap:wrap}.pay-status-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:8px 13px}.pay-status-card.is-warn{background:#fff9ee;border-color:#f0d6a8}.pay-status-card.is-ok{background:#f3fbf6;border-color:#d4eadc}.pay-status-card.is-change{background:#f4f8ff;border-color:#cfdbf2}.rounding-check{border:1px dashed var(--line);border-radius:15px;padding:10px 12px;background:#fbfaf7}.modal-actions{display:flex;justify-content:flex-end;gap:9px;align-items:center}.app-alert-card{max-width:440px}.app-alert-card .modal-actions{padding:0 18px 18px}

.expense-panel{grid-column:auto}.expense-items-box{background:#fffdf9}.expense-items-list{display:grid;gap:8px}.expense-item-row{display:grid;grid-template-columns:minmax(180px,1.5fr) 132px 90px 108px 108px 92px 84px 34px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff}.expense-item-row label{font-size:10px;font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.expense-item-row input,.expense-item-row select{min-height:36px;padding:7px 9px}.expense-item-row .line-total{text-align:right;align-self:center}.expense-item-row .remove{width:34px;height:34px;border-radius:12px;background:#fff7f5;color:var(--danger);border:1px solid #efd1cc;font-size:18px}.expense-items-foot{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-2)}.expense-items-foot span{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.expense-items-foot strong{font-size:18px;font-weight:560}

.bulk-price-box{margin-bottom:12px}.bulk-price-controls{display:grid;grid-template-columns:1fr 170px 150px auto;gap:9px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fffdf9}.bulk-price-controls strong{font-weight:520}.product-list-compact{display:grid;gap:8px}.product-row-card{border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow-soft);overflow:hidden}.product-row-card summary{display:grid;grid-template-columns:28px 42px minmax(180px,1fr) auto auto 120px;gap:10px;align-items:center;padding:10px 12px;cursor:pointer;list-style:none}.product-row-card summary::-webkit-details-marker{display:none}.row-check{display:flex;align-items:center;justify-content:center}.product-row-card img{width:42px;height:42px;border-radius:12px;object-fit:cover;background:#f3eee6;border:1px solid var(--line-2)}.product-row-main{display:grid;gap:2px;min-width:0}.product-row-main strong{font-size:13.5px;font-weight:540;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-row-main small{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-row-price{text-align:right;font-weight:560;white-space:nowrap}.product-edit-wrap{padding:12px;border-top:1px solid var(--line-2);background:#fffdf9}.provider-list{display:grid;gap:8px}.provider-row{border:1px solid var(--line);background:#fff;border-radius:16px;padding:0;overflow:hidden}.provider-row summary{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;cursor:pointer}.provider-row summary strong{font-weight:540}.provider-row summary small{color:var(--muted)}.provider-row form{padding:12px;border-top:1px solid var(--line-2);background:#fffdf9}

/* V6: ticket térmico 80mm, monocromo tipo supermercado */
.ticket-body{background:#fff;padding:0;margin:0;color:#000;font-family:"Courier New",Courier,monospace;font-size:11px;line-height:1.18}
.thermal-ticket{width:72mm;max-width:72mm;margin:0 auto;padding:3mm 2.5mm;background:#fff;color:#000;font-family:"Courier New",Courier,monospace}
.ticket-line{border-top:1px dashed #000;margin:5px 0}
.ticket-header{text-align:center;padding:0 0 4px;margin:0}.ticket-header strong{display:block;font-size:15px;line-height:1.05;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.ticket-header span,.ticket-header small{display:block;font-size:10.5px;line-height:1.18}
.ticket-type{display:block;text-align:center;border-top:1px dashed #000;border-bottom:1px dashed #000;padding:4px 0;margin:5px 0;font-size:12px;font-weight:700;letter-spacing:.12em}.ticket-copy{text-align:center;font-size:10px;margin:-2px 0 4px}.ticket-meta{display:grid;gap:1px;margin:0 0 5px}.ticket-meta div,.ticket-totals div,.ticket-payments div{display:flex;justify-content:space-between;gap:8px}.ticket-meta span{font-weight:400}.ticket-meta strong{font-weight:400;text-align:right}.ticket-items{width:100%;border-collapse:collapse;margin:4px 0 5px;table-layout:fixed}.ticket-items th{border-top:1px solid #000;border-bottom:1px solid #000;padding:3px 0;font-size:10px;font-weight:700;text-align:left}.ticket-items th:nth-child(2),.ticket-items td:nth-child(2){text-align:right;width:17mm}.ticket-items th:last-child,.ticket-items td:last-child{text-align:right;width:20mm}.ticket-items td{padding:3px 0 4px;border-bottom:1px dotted #999;vertical-align:top;font-size:10.7px}.ticket-items .item-name{display:block;word-break:break-word}.ticket-items small{display:block;font-size:9.5px;color:#000;line-height:1.15}.ticket-totals{border-top:1px dashed #000;border-bottom:1px dashed #000;padding:4px 0;display:grid;gap:2px}.ticket-totals span,.ticket-totals strong{font-size:11px}.ticket-total span,.ticket-total strong{font-size:15px!important;font-weight:700!important}.ticket-payments{padding:4px 0;border-bottom:1px dashed #000}.ticket-payments>strong{display:block;margin-bottom:2px;font-size:10.5px}.ticket-payments p{margin:0}.ticket-footer{text-align:center;padding-top:6px;font-size:10.5px}.ticket-footer span{display:block;font-weight:700;text-transform:uppercase}.ticket-footer small{display:block;margin-top:4px}.ticket-actions{display:flex;justify-content:center;gap:8px;margin:14px auto;font-family:var(--font)}.ticket-actions .btn{font-family:var(--font)}.print-card{display:none}
@media print{html,body{width:80mm;margin:0!important;padding:0!important;background:#fff!important}.ticket-body{padding:0!important}.thermal-ticket{width:72mm;max-width:72mm;margin:0!important;padding:2.5mm!important;box-shadow:none!important}.ticket-actions,.no-print{display:none!important}@page{size:80mm auto;margin:0}}

@media (max-width:1180px){.cash-filter-bar .toolbar-actions,.bulk-price-controls{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.expense-item-row{grid-template-columns:1fr 1fr 1fr}.expense-item-row .remove{justify-self:end}.product-row-card summary{grid-template-columns:28px 42px minmax(0,1fr) auto}.product-row-card .status-pill,.product-row-card .product-row-price{justify-self:start}}
@media (max-width:760px){.filter-bar .toolbar-actions{grid-template-columns:1fr}.expense-item-row{grid-template-columns:1fr}.bulk-price-controls{grid-template-columns:1fr}.product-row-card summary{grid-template-columns:28px 38px 1fr}.product-row-card .soft-pill,.product-row-card .status-pill,.product-row-card .product-row-price{grid-column:3}.modal-backdrop{align-items:end;padding:8px}.payment-modal{border-radius:24px 24px 14px 14px}}

/* V6 refinamientos generales */
.report-filter-bar .toolbar-actions{grid-template-columns:150px 150px minmax(180px,1fr) auto}
.product-filter-bar .toolbar-actions{grid-template-columns:minmax(220px,1fr) 190px 150px auto}
.products-list-first .panel-head{align-items:center}
.product-list-slim{gap:6px}.product-list-slim .product-row-card{border-radius:15px;box-shadow:none}.product-list-slim .product-row-card summary{min-height:58px;padding:8px 10px;grid-template-columns:26px 38px minmax(170px,1fr) auto auto 112px}.product-list-slim .product-row-card img{width:38px;height:38px;border-radius:10px}.product-list-slim .product-row-main strong{font-size:13px;font-weight:520}.product-list-slim .product-row-main small{font-size:11px}.edit-product-grid{display:grid;grid-template-columns:174px minmax(0,1fr);gap:16px;align-items:start}.product-edit-photo{border:1px solid var(--line);border-radius:18px;background:#fff;padding:10px;display:grid;gap:10px}.product-edit-photo>img{width:100%;height:132px;object-fit:cover;border-radius:14px;background:#f3eee6;border:1px solid var(--line-2)}.category-mini-list{display:flex;flex-wrap:wrap;gap:6px}.form-note{display:block;color:var(--muted);font-size:12px;margin-top:-6px}.expense-workspace .panel-head{align-items:center}.expense-form-grid{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(180px,1.2fr);gap:12px}.expense-form-grid.four{grid-template-columns:150px minmax(150px,1fr) 150px minmax(210px,1.2fr)}.expense-new-category{max-width:360px}.expense-items-cards{display:grid;gap:8px}.expense-item-row.expense-item-card{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(360px,1.6fr) 92px 34px;gap:10px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff}.expense-item-main{display:grid;grid-template-columns:minmax(180px,1.4fr) 132px;gap:8px}.expense-item-numbers{display:grid;grid-template-columns:80px 104px 104px 88px;gap:8px}.expense-item-total{display:grid;gap:4px;text-align:right;align-self:center}.expense-item-total span{font-family:var(--mono);font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.expense-item-total strong{font-weight:560}.expense-item-card label{font-size:10px;font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.expense-item-card input,.expense-item-card select{min-height:36px;padding:7px 9px}.expense-item-card .remove{width:34px;height:34px;border-radius:12px;background:#fff7f5;color:var(--danger);border:1px solid #efd1cc;font-size:18px}.expense-items-foot{flex-wrap:wrap}
@media (max-width:1180px){.report-filter-bar .toolbar-actions,.product-filter-bar .toolbar-actions,.expense-form-grid,.expense-form-grid.four{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.expense-item-row.expense-item-card{grid-template-columns:1fr}.expense-item-main,.expense-item-numbers{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.expense-item-total{text-align:left}.edit-product-grid{grid-template-columns:1fr}.product-edit-photo{max-width:240px}.product-list-slim .product-row-card summary{grid-template-columns:26px 38px minmax(0,1fr) auto}}
@media (max-width:760px){.products-list-first .panel-head,.expense-workspace .panel-head{align-items:flex-start;flex-direction:column}.product-list-slim .product-row-card summary{grid-template-columns:24px 36px minmax(0,1fr)}.product-list-slim .soft-pill,.product-list-slim .status-pill,.product-list-slim .product-row-price{grid-column:3;justify-self:start}.ticket-actions{flex-direction:column;padding:0 12px}}

/* V7: productos/stock/proveedores con modales y listas compactas */
.stock-bell{width:40px;height:40px;border:1px solid var(--line);background:rgba(255,255,255,.9);border-radius:50%;display:inline-grid;place-items:center;position:relative;box-shadow:var(--shadow-soft);color:#625c54;margin-left:auto;flex:0 0 auto}
.stock-bell svg{width:18px;height:18px;fill:currentColor}.stock-bell.has-alerts{color:#7b4c11;background:#fff9ed;border-color:#ead1a8}.stock-bell em{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#191919;color:#fff;font-style:normal;font-size:10px;font-weight:600;display:grid;place-items:center;border:2px solid #fff}

.wide-modal{width:min(980px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 30px 90px rgba(35,29,20,.18);padding:18px}.modal-tabs{margin:4px 0 16px}.modal-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.edit-modal-grid{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px;align-items:start}.product-edit-photo.clean{box-shadow:none}.product-edit-photo.clean small{color:var(--muted);font-size:11px}.modal-backdrop{z-index:200}.modal-close{background:#fff;border:1px solid var(--line);width:34px;height:34px;border-radius:12px;color:#6f675e;font-size:18px;line-height:1}

.product-list-table,.stock-list-large{display:grid;gap:6px}.product-list-head,.product-line-row{display:grid;grid-template-columns:34px minmax(260px,1.8fr) minmax(120px,.8fr) minmax(130px,.8fr) 92px 120px 120px 78px;gap:10px;align-items:center}.product-list-head,.stock-list-head{padding:0 10px 6px;color:var(--muted);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.product-line-row{background:#fff;border:1px solid var(--line);border-radius:15px;padding:8px 10px;min-height:56px;box-shadow:0 4px 14px rgba(49,43,33,.025)}.product-line-row:hover{border-color:#d8d0c4;box-shadow:var(--shadow-soft)}.product-cell-main,.stock-product-main{display:flex;align-items:center;gap:10px;min-width:0}.product-cell-main img,.stock-product-main img{width:38px;height:38px;border-radius:11px;object-fit:cover;background:#f3eee6;border:1px solid var(--line-2);flex:0 0 auto}.product-cell-main span,.stock-product-main span{min-width:0}.product-cell-main strong,.stock-product-main strong{display:block;font-size:13px;font-weight:520;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-cell-main small,.stock-product-main small{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mono-cell{font-family:var(--mono);font-size:11px;color:#57524b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-cell{font-weight:560;text-align:right;white-space:nowrap}.row-check{display:flex;align-items:center;justify-content:center}

.compact-provider-list{display:grid;gap:7px}.provider-line-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) 120px 80px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;background:#fff;padding:10px 12px}.provider-line-row strong{display:block;font-weight:540}.provider-line-row small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.provider-line-row>span:not(.status-pill){color:#5e5850;font-size:13px}

.stock-metrics .metric-card{min-height:110px}.metric-card.metric-warn{background:#fffaf1;border-color:#ecd3aa}.stock-filter-bar .toolbar-actions{display:grid;grid-template-columns:210px 180px minmax(220px,1fr) 150px auto;width:100%}.stock-main-panel .panel-head{align-items:center}.stock-list-head,.stock-line-row{display:grid;grid-template-columns:minmax(280px,2fr) minmax(130px,.8fr) minmax(130px,.8fr) 120px 110px 130px;gap:10px;align-items:center}.stock-line-row{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 12px}.stock-line-row.is-low{background:#fffaf1;border-color:#ecd3aa}.stock-qty{font-size:20px;letter-spacing:-.04em;font-weight:600;color:var(--ink)}

@media (max-width:1180px){.product-list-head{display:none}.product-line-row{grid-template-columns:34px minmax(0,1fr) auto;align-items:center}.product-line-row>.mono-cell,.product-line-row>span:not(.soft-pill):not(.status-pill),.product-line-row>.price-cell{grid-column:2}.product-line-row>.soft-pill,.product-line-row>.status-pill{justify-self:start}.modal-form-grid,.edit-modal-grid{grid-template-columns:1fr}.stock-filter-bar .toolbar-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stock-list-head{display:none}.stock-line-row{grid-template-columns:minmax(0,1fr) auto}.stock-line-row>*{grid-column:auto}.stock-qty{font-size:18px}.provider-line-row{grid-template-columns:1fr auto}}
@media (max-width:760px){.topbar{flex-wrap:wrap}.stock-bell{margin-left:0}.wide-modal,.payment-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:22px;padding:14px}.product-line-row{grid-template-columns:28px minmax(0,1fr)}.product-line-row .btn{grid-column:2;justify-self:start}.provider-line-row{grid-template-columns:1fr}.stock-line-row{grid-template-columns:1fr}.modal-form-grid{gap:10px}}
/* V7: estabiliza ítems de gastos para que no desborden */
.expense-item-row.expense-item-card{grid-template-columns:minmax(220px,1.2fr) minmax(260px,1.4fr) 100px 34px;max-width:100%;overflow:hidden}.expense-item-main,.expense-item-numbers{min-width:0}.expense-item-main>*{min-width:0}.expense-item-numbers{grid-template-columns:repeat(4,minmax(76px,1fr))}.expense-items-box{overflow:hidden}.expense-items-list{max-width:100%}
@media (max-width:980px){.expense-item-row.expense-item-card{grid-template-columns:1fr}.expense-item-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V8: modales, stock, campana y denominaciones refinadas */
.modal-body{padding:16px 18px 18px;display:grid;gap:14px}.small-modal{width:min(620px,calc(100vw - 28px));padding:0;overflow:hidden}.clean-modal .modal-tabs{margin:0 0 14px;width:max-content}.clean-modal .form-stack{gap:12px}.check-card{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:16px;background:#fbfaf7;padding:11px 12px}.check-card input{margin-top:3px;flex:0 0 auto}.check-card strong{display:block;font-size:13px;font-weight:540;color:var(--ink)}.check-card small{display:block;margin-top:2px;color:var(--muted);font-weight:400;font-size:12px}.stock-action-modal .modal-body{padding-top:18px}.stock-action-modal select{min-width:0}
.stock-metrics{margin:0 0 22px}.stock-main-panel{margin-top:4px}.stock-main-panel .panel-head{gap:18px}.stock-main-panel .toolbar-actions .btn{height:40px}.stock-line-row.stock-state-ok{border-color:#dce9df;background:linear-gradient(90deg,#fbfffc,#fff)}.stock-line-row.stock-state-min{border-color:#ead8ad;background:linear-gradient(90deg,#fffbf2,#fff)}.stock-line-row.stock-state-under{border-color:#edc7c0;background:linear-gradient(90deg,#fff7f5,#fff)}.stock-line-row.stock-state-none{border-color:#e1ded7;background:linear-gradient(90deg,#f8f7f4,#fff)}
.stock-mini-pill{display:inline-flex;align-items:center;gap:7px;width:max-content;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:520;border:1px solid var(--line);background:#fff;color:#5c574f;white-space:nowrap}.stock-mini-pill i{width:6px;height:6px;border-radius:50%;display:block;background:#a8a29a}.stock-mini-pill.stock-ok{color:#28674b;background:#f4fbf6;border-color:#d4ecdc}.stock-mini-pill.stock-ok i{background:#2f8a5c}.stock-mini-pill.stock-min{color:#7b571e;background:#fff9ed;border-color:#ecd6aa}.stock-mini-pill.stock-min i{background:#c58b2e}.stock-mini-pill.stock-under{color:#91382f;background:#fff5f3;border-color:#efc9c4}.stock-mini-pill.stock-under i{background:#b8473b}.stock-mini-pill.stock-none{color:#6a655e;background:#f7f5f1;border-color:#e3ded5}.stock-mini-pill.stock-none i{background:#9a9388}
.product-list-head,.product-line-row{grid-template-columns:34px minmax(250px,1.7fr) minmax(112px,.8fr) minmax(125px,.8fr) 86px 110px 118px 112px 78px}.product-line-row .stock-mini-pill{justify-self:start}
.stock-bell{margin-left:0}.stock-bell.is-seen{color:#716b63;background:rgba(255,255,255,.9);border-color:var(--line)}.stock-alert-layer{z-index:230}.stock-alert-card{width:min(560px,calc(100vw - 28px));padding:0;overflow:hidden}.stock-alert-list{display:grid;gap:8px}.stock-alert-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:16px;border:1px solid var(--line);background:#fff}.stock-alert-item strong{display:block;font-size:13px;font-weight:540}.stock-alert-item small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.stock-alert-item b{font-family:var(--mono);font-size:13px;font-weight:600;white-space:nowrap}.stock-alert-item.min{border-color:#ecd6aa;background:#fffaf0}.stock-alert-item.under{border-color:#efc9c4;background:#fff6f4}.stock-alert-item.zero{border-color:#ded9d0;background:#f7f6f2}.stock-alert-actions{padding:0 18px 18px}
.denom-name{grid-template-columns:86px minmax(0,1fr)}.denom-visual{position:relative;height:44px;border-radius:10px;overflow:hidden;background:#f7f4ed;border-color:#d3c9b9;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75)}.denom-visual.bill{background:linear-gradient(135deg,#fbfaf4 0,#ede2cf 100%)}.denom-visual.bill:before{content:"";position:absolute;inset:7px 10px;border:1px solid rgba(85,72,52,.18);border-radius:7px}.denom-visual.bill:after{content:"";position:absolute;right:10px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;border:1px solid rgba(85,72,52,.16);background:rgba(255,255,255,.32)}.denom-visual.bill em{position:absolute;left:10px;top:8px}.denom-visual.bill b{position:absolute;left:10px;bottom:7px;z-index:1}.denom-visual.coin{width:46px;height:46px;margin-left:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff4c7 0,#e3c36d 42%,#b78b31 100%);border-color:#c8a451;box-shadow:inset 0 0 0 4px rgba(255,255,255,.28),0 3px 8px rgba(78,58,22,.12)}.denom-visual.coin em{display:none}.denom-visual.coin b{font-size:11px;color:#4b3917}.denom-visual.currency{background:linear-gradient(135deg,#f8fbf6,#e4eee0);border-color:#cdddc7}.denom-visual.currency:before{content:"";position:absolute;inset:7px;border:1px solid rgba(50,88,52,.15);border-radius:8px}.denom-visual.currency em,.denom-visual.currency b{z-index:1}.denom-row{grid-template-columns:minmax(190px,1fr) 110px 138px}.denom-head{grid-template-columns:minmax(190px,1fr) 110px 138px}.denom-row.is-foreign{grid-template-columns:minmax(190px,1fr) 116px 116px 138px}.denom-head.foreign{grid-template-columns:minmax(190px,1fr) 116px 116px 138px}
@media (max-width:1180px){.product-list-head{display:none}.product-line-row{grid-template-columns:34px minmax(0,1fr) auto}.product-line-row>.stock-mini-pill{grid-column:2;justify-self:start}.small-modal{width:min(620px,calc(100vw - 18px))}.stock-main-panel .panel-head{align-items:flex-start;flex-direction:column}.denom-row,.denom-head{grid-template-columns:1fr 110px}.denom-row.is-foreign,.denom-head.foreign{grid-template-columns:1fr 110px}}
@media (max-width:760px){.modal-body{padding:14px}.stock-alert-actions{padding:0 14px 14px}.clean-modal .modal-tabs{width:100%;overflow:auto}.product-line-row>.stock-mini-pill{grid-column:2}.denom-name{grid-template-columns:58px minmax(0,1fr)}.denom-visual.bill{width:58px}.denom-visual.coin{margin-left:4px}}

/* V10: apertura/cierre de caja — denominaciones sin fotos, minimalistas y estables */
.cash-section .denom-table{display:grid;gap:7px;padding:0 14px 14px}
.denom-head{padding:0 14px 8px;color:var(--muted);font-size:10px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}
.denom-row{min-height:68px;border-radius:17px;border:1px solid var(--line);background:#fff;box-shadow:0 4px 14px rgba(49,43,33,.025);padding:8px 12px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.denom-row:hover{border-color:#d8d0c4;box-shadow:0 10px 24px rgba(49,43,33,.055);transform:translateY(-1px)}
.denom-name{grid-template-columns:126px minmax(0,1fr)!important;gap:14px!important;align-items:center!important}
.denom-card{position:relative;isolation:isolate;width:116px;height:54px;border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:8px 10px;overflow:hidden;border:1px solid #ddd6cb;background:#f8f6f1;color:#2d2924;box-shadow:inset 0 1px 0 rgba(255,255,255,.78)}
.denom-card:before{content:"";position:absolute;inset:6px;border-radius:10px;border:1px solid rgba(57,48,35,.09);z-index:-1}
.denom-card:after{content:"";position:absolute;right:-18px;top:-22px;width:64px;height:92px;border-radius:999px;border:1px solid rgba(57,48,35,.08);background:rgba(255,255,255,.20);transform:rotate(12deg);z-index:-1}
.denom-card-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1}
.denom-card em,.denom-card i{font-style:normal;font-family:var(--mono);font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:rgba(45,41,36,.50);white-space:nowrap}
.denom-card b{font-size:17px;font-weight:570;letter-spacing:-.045em;line-height:1;color:#2d2924;white-space:nowrap}
.denom-card-bottom{font-size:8px;font-weight:500;line-height:1;color:rgba(45,41,36,.46);white-space:nowrap}
.denom-card.bill.v10{background:linear-gradient(135deg,#faf5ea,#ece1ce);border-color:#dacbb4}
.denom-card.bill.v20{background:linear-gradient(135deg,#fff1f4,#f1dbe2);border-color:#e1c2cc}
.denom-card.bill.v50{background:linear-gradient(135deg,#f2f8ef,#dfead8);border-color:#cadbbd}
.denom-card.bill.v100{background:linear-gradient(135deg,#f5eefb,#e6d9f0);border-color:#d4c2e4}
.denom-card.bill.v200{background:linear-gradient(135deg,#eef7fd,#d8e8f5);border-color:#bfd7e7}
.denom-card.bill.v500{background:linear-gradient(135deg,#f0f8ed,#dcebd0);border-color:#c6dbaa}
.denom-card.bill.v1000{background:linear-gradient(135deg,#fff3df,#f1d4a4);border-color:#dfb977}
.denom-card.bill.v2000{background:linear-gradient(135deg,#f7f5f5,#e8dde1);border-color:#d7c4cb}
.denom-card.bill.v10000{background:linear-gradient(135deg,#edf8fa,#d3ecef);border-color:#b8dce2}
.denom-card.bill.v20000{background:linear-gradient(135deg,#f2f8ef,#dbead0);border-color:#c5dcae}
.denom-card.coin{background:linear-gradient(135deg,#faf8f1,#ebe5d6);border-color:#d9d0bf}
.denom-card.coin:after{right:-18px;top:50%;width:52px;height:52px;transform:translateY(-50%);border-radius:50%;background:rgba(255,255,255,.24)}
.denom-card.coin b{font-size:15px}
.denom-card.coin .denom-card-bottom{display:none}
.denom-card.currency{background:linear-gradient(135deg,#f8f6f1,#ebe4d9);border-color:#d8cdbc}
.denom-card.currency.usd{background:linear-gradient(135deg,#f1f8f1,#dcebdc);border-color:#c5dcc5}
.denom-card.currency.brl{background:linear-gradient(135deg,#eff8f3,#d3eadf);border-color:#bfe0cd}
.denom-card.currency.pyg{background:linear-gradient(135deg,#faf3ed,#eadbcf);border-color:#d8c2b2}
.denom-card.currency b{font-size:18px}
.denom-card.currency .denom-card-bottom{font-size:8px;max-width:92px;overflow:hidden;text-overflow:ellipsis}
.denom-row input[data-qty],.denom-row input[data-rate]{height:42px;text-align:right;font-family:var(--mono);font-size:13px;border-radius:13px;background:#fbfaf7}
.denom-row small[data-subtotal]{font-family:var(--mono);font-size:13px;font-weight:600;color:#322e28;text-align:right;white-space:nowrap}
@media (max-width:1180px){
  .denom-row,.denom-head{grid-template-columns:1fr 110px!important}
  .denom-row.is-foreign,.denom-head.foreign{grid-template-columns:1fr 110px!important}
  .denom-row small[data-subtotal]{grid-column:1 / -1;justify-self:end}
}
@media (max-width:760px){
  .denom-name{grid-template-columns:98px minmax(0,1fr)!important;gap:10px!important}
  .denom-card{width:92px;height:50px;border-radius:13px;padding:8px}
  .denom-card b{font-size:13px}
  .denom-card em,.denom-card i,.denom-card-bottom{font-size:7px}
  .denom-card.currency b{font-size:14px}
}

/* V11: denominaciones con imágenes recortadas y layout estable */
.denom-name{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:12px;min-width:0}
.denom-name strong{display:block;min-width:0;font-size:13px;font-weight:540;line-height:1.25;color:var(--ink)}
.denom-media{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border:1px solid #ddd6cb;box-shadow:0 5px 14px rgba(49,43,33,.05), inset 0 1px 0 rgba(255,255,255,.8)}
.denom-media.bill,.denom-media.currency{width:108px;height:56px;border-radius:14px}
.denom-media.coin{width:60px;height:60px;border-radius:50%;margin-left:26px;background:#fcfbf8}
.denom-media img{display:block;width:100%;height:100%;object-fit:cover}
.denom-media.coin img{object-fit:contain;padding:4px}
.denom-fallback{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:7px 8px;border-radius:inherit;background:linear-gradient(135deg,#fcfbf7,#efe8dc);color:#3f3931}
.denom-fallback.coin{align-items:center;justify-content:center;text-align:center;padding:6px;background:radial-gradient(circle at 34% 28%,#fff4c9 0,#e7ca7c 45%,#c9a14e 100%)}
.denom-fallback.coin .denom-fallback-top,.denom-fallback.coin .denom-fallback-bottom{display:none}
.denom-fallback.coin b{font-size:12px;color:#4d3a18}
.denom-fallback-top{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:9px;color:#7f766c;font-family:var(--mono)}
.denom-fallback-top em,.denom-fallback-top i{font-style:normal}
.denom-fallback b{display:block;font-size:14px;font-weight:600;letter-spacing:-.03em;white-space:nowrap}
.denom-fallback-bottom{font-size:9px;color:#7f766c;line-height:1.2}
.denom-fallback.currency-tile{background:linear-gradient(135deg,#f8fbf7,#e6efe7)}
.denom-fallback.currency-tile.usd{background:linear-gradient(135deg,#f7faf5,#dfebdf)}
.denom-fallback.currency-tile.brl{background:linear-gradient(135deg,#f5fbf7,#dceddf)}
.denom-fallback.currency-tile.pyg{background:linear-gradient(135deg,#fbf8f4,#eee4db)}
.denom-row{grid-template-columns:minmax(236px,1fr) 110px 138px;gap:12px;align-items:center}
.denom-head{grid-template-columns:minmax(236px,1fr) 110px 138px;gap:12px}
.denom-row.is-foreign{grid-template-columns:minmax(236px,1fr) 116px 116px 138px}
.denom-head.foreign{grid-template-columns:minmax(236px,1fr) 116px 116px 138px}
@media (max-width:1180px){
  .denom-row,.denom-head{grid-template-columns:minmax(0,1fr) 110px 138px}
  .denom-row.is-foreign,.denom-head.foreign{grid-template-columns:minmax(0,1fr) 110px 110px 138px}
}
@media (max-width:760px){
  .denom-name{grid-template-columns:86px minmax(0,1fr);gap:10px}
  .denom-media.bill,.denom-media.currency{width:78px;height:44px;border-radius:12px}
  .denom-media.coin{width:46px;height:46px;margin-left:14px}
  .denom-fallback{padding:5px 6px}.denom-fallback b{font-size:11px}.denom-fallback-bottom,.denom-fallback-top{font-size:8px}
  .denom-row,.denom-head{grid-template-columns:minmax(0,1fr) 96px 96px;gap:8px}
  .denom-row.is-foreign,.denom-head.foreign{grid-template-columns:minmax(0,1fr) 96px 96px 96px}
}

/* V13: historial de ventas, corrección de medios y ajustes visuales */
.sales-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.sales-filter-bar .toolbar-actions{display:grid;grid-template-columns:150px 150px minmax(190px,1fr) 150px 150px auto;gap:10px;align-items:end;width:100%}.sales-history-panel .panel-head{align-items:center}.sales-ledger-table td{vertical-align:top}.sale-detail-row td{background:#fbfaf7!important;border-top:0!important;padding-top:0!important}.sale-detail-items{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 8px 0}.sale-detail-items span{font-size:11px;color:#6f675e;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 8px}.is-muted-row{opacity:.62}.danger-soft{background:#fff5f3!important;border-color:#efc8c2!important;color:#9b3d33!important}.sales-edit-payment-modal .pay-big-total{margin-bottom:2px}.sales-edit-payment-modal .payment-modal-body{gap:10px}@media (max-width:1180px){.sales-filter-bar .toolbar-actions{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sales-head-actions{justify-content:flex-start}}

/* V14 cuentas corrientes */
.account-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fbfaf7}.account-payment-summary div{min-width:0}.account-payment-summary span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.account-payment-summary strong{display:block;font-size:13px;font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accounts-panel .admin-table td:last-child{white-space:nowrap}@media(max-width:760px){.account-payment-summary{grid-template-columns:1fr}}


/* V18: administración de categorías de producto, campana y limpieza visual */
.page-tabstrip.product-admin-tabs{margin:0 0 16px;width:max-content}
.categories-list-panel{margin-top:0}
.category-line-table{display:grid;gap:8px}
.category-line-head,.category-line-row{display:grid;grid-template-columns:minmax(240px,1.4fr) 120px 100px 120px minmax(180px,.9fr);gap:12px;align-items:center}
.category-line-head{padding:0 12px 4px;color:var(--muted);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.category-line-row{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 12px;box-shadow:0 4px 14px rgba(49,43,33,.025)}
.category-line-row strong{display:block;font-size:13px;font-weight:540;color:var(--ink)}
.category-line-row small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.category-line-row code{display:inline-flex;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;border:1px solid var(--line);border-radius:999px;background:#fbfaf7;padding:5px 9px;font-family:var(--mono);font-size:11px;color:#4f4942}
.category-line-row .row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.inline-form{display:inline;margin:0}
.stock-bell.has-alerts{color:#8d2d24;background:#fff5f3;border-color:#efc6bf}
.stock-bell.has-alerts em{background:#d9362b;color:#fff;border-color:#fff}
@media (max-width:980px){
  .category-line-head{display:none}
  .category-line-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .category-line-row>*{grid-column:auto}
  .category-line-row .row-actions{grid-column:1 / -1;justify-content:flex-start}
}

/* V24: ayuda visual para SKU automático */
.sku-live-hint{display:block;margin-top:6px;color:#766d62;font-size:11px;text-transform:none;letter-spacing:0;font-family:var(--font)}

/* V28: auditoría más legible */
.audit-list{display:grid;gap:10px}.audit-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 4px 16px rgba(49,43,33,.025)}.audit-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#f7f2ea;color:#6d6256;font-family:var(--mono);font-size:12px;font-weight:600}.audit-main{min-width:0}.audit-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.audit-title strong{font-size:13px;font-weight:560;color:var(--ink)}.audit-title span{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:#6f665c;background:#fbfaf7}.audit-main p{margin:4px 0 0;color:#4c4740;font-size:13px;line-height:1.35}.audit-main small{display:block;margin-top:4px;color:#8a8177;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audit-meta{display:grid;gap:3px;text-align:right;color:#8a8177;font-size:11px}.audit-meta b{font-weight:520;color:#5b554d}@media(max-width:760px){.audit-item{grid-template-columns:34px minmax(0,1fr)}.audit-meta{grid-column:2;text-align:left}.audit-icon{width:32px;height:32px;border-radius:12px}}


/* V29: ventas más compactas y acciones alineadas */
.sales-history-panel .panel-head{align-items:center}
.sales-ledger-table th,.sales-ledger-table td{padding:8px 9px;vertical-align:middle}
.sales-ledger-table .list-title{font-size:12px;font-weight:560}
.sales-ledger-table small{font-size:10.5px;line-height:1.25}
.sales-ledger-table .btn.small{min-height:28px;padding:5px 8px;font-size:11px}
.sales-ledger-table .sale-detail-row td{padding:4px 9px 8px}
.sale-detail-items{gap:5px}
.sale-detail-items span{font-size:10.5px;padding:4px 7px}
.provider-line-row .row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.expense-category-item{align-items:center}
.expense-category-item .form-grid-3{align-items:center}
.stock-bell.is-seen{color:#7d756c;background:#fff;border-color:var(--line)}

/* V38: logo real en login */
.login-logo-wrap{
  width:138px;
  height:116px;
  display:grid;
  place-items:center;
  margin:0 auto 14px;
  border-radius:28px;
  background:linear-gradient(180deg,#fff,#fbfaf7);
  border:1px solid var(--line);
  box-shadow:0 18px 44px rgba(49,43,33,.08);
  overflow:hidden;
}
.login-logo{
  width:118px;
  height:100px;
  object-fit:contain;
  display:block;
}
.login-card{text-align:left}
.login-card .login-logo-wrap + .eyebrow{display:block;text-align:center}
.login-card h1{text-align:center}


/* V39: logo de login sin contenedor blanco */
.login-logo-wrap{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  width:auto !important;
  height:auto !important;
  margin:0 auto 10px !important;
  border-radius:0 !important;
  overflow:visible !important;
}
.login-logo-standalone{
  display:block;
  width:min(168px,54%);
  height:auto;
  object-fit:contain;
  margin:0 auto 12px;
  filter:drop-shadow(0 12px 22px rgba(49,43,33,.10));
}
.login-card .login-logo-standalone + .eyebrow{
  display:block;
  text-align:center;
}

/* V40: logo real en sidebar y login simplificado */
.app-logo-brand{background:transparent;border:0;box-shadow:none;border-radius:0;width:68px;height:58px;margin:0 auto 16px;padding:0;display:grid;place-items:center;overflow:visible}
.app-logo-brand img{width:64px;height:54px;object-fit:contain;display:block;filter:drop-shadow(0 8px 13px rgba(49,43,33,.12))}
.login-card .login-logo-standalone{margin-bottom:14px}
.login-card .login-logo-standalone + .eyebrow{margin-bottom:10px}

/* V40: ítems de compra con categoría/SKU/código de barras */
.expense-item-main-v40{grid-template-columns:minmax(180px,1.4fr) minmax(145px,.9fr) minmax(130px,.75fr) minmax(150px,.85fr);align-items:start}
.expense-item-main-v40 label small{display:block;margin-top:5px;color:var(--muted);font-size:10.5px;line-height:1.2;min-height:13px}
@media (max-width:980px){.expense-item-main-v40{grid-template-columns:1fr 1fr}.expense-item-numbers{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.expense-item-main-v40,.expense-item-numbers{grid-template-columns:1fr}}

/* V41: proveedores, cuentas y cheques */
.provider-hub .provider-tabs{margin:10px 0 16px}
.provider-tabs a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-size:12px;color:var(--muted)}
.provider-tabs a.is-active{background:#202020;color:#fff;border-color:#202020}
.provider-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.provider-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px;align-items:start;box-shadow:var(--shadow-soft)}
.provider-card-main{display:grid;gap:4px;min-width:0}
.provider-card-main strong{font-size:14px;font-weight:600}
.provider-card-main small,.provider-card-main span{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.provider-card-side{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.provider-card-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;align-items:center;border-top:1px solid var(--line-2);padding-top:10px}
.nested-panel{box-shadow:none;background:#fbfaf7}
.account-payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.account-payment-summary>div{border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}
.account-payment-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.account-payment-summary strong{font-size:13px}
.check-list{display:grid;gap:8px}
.check-entry{display:grid;grid-template-columns:1fr 1fr 110px 140px 140px auto;gap:8px;align-items:end;border:1px solid var(--line);border-radius:16px;background:#fff;padding:10px}
.check-entry label{margin:0}
.daily-chart{width:100%;max-width:100%;height:auto;border:1px solid var(--line);border-radius:18px;background:#fff;padding:8px}
.compact-table th,.compact-table td{padding:8px 9px}
@media (max-width:980px){
  .check-entry{grid-template-columns:1fr 1fr}
  .account-payment-summary{grid-template-columns:1fr}
}

/* V42: presentaciones, puntas y conciliación */
.price-option-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:10px;align-items:end;margin-top:8px}
.price-option-field select{min-width:150px}
.product-price-options-box{background:#fbfaf7;box-shadow:none}
[data-reconcile-input]{max-width:150px}
.stock-tip-note{font-size:12px;color:var(--muted)}
@media (max-width:900px){.price-option-grid{grid-template-columns:1fr}.price-option-field select{min-width:0;width:100%}}


/* V43: carrito de venta con presentación sin romper layout */
.product-grid[data-default-limit="6"]{max-height:252px}
.product-grid-empty{grid-column:1/-1}
.cart-row.modern{
  grid-template-columns:minmax(190px,1.45fr) minmax(138px,.9fr) 112px 108px 108px 34px;
  gap:8px;
  align-items:center;
}
.cart-row.modern .price-option-field{
  margin:0;
  display:grid;
  gap:5px;
  font-family:var(--mono);
  font-size:9.5px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8a8177;
  min-width:0;
}
.cart-row.modern .price-option-field select{
  width:100%;
  min-width:0;
  min-height:34px;
  padding:7px 28px 7px 9px;
  font-family:var(--font);
  font-size:12.5px;
  text-transform:none;
  letter-spacing:0;
  color:var(--ink);
}
.cart-row.modern .cart-product small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:1260px){
  .cart-row.modern{
    grid-template-columns:minmax(0,1fr) minmax(132px,.8fr) 104px 96px 96px 32px;
  }
}
@media (max-width:860px){
  .cart-row.modern{
    grid-template-columns:1fr 1fr;
    align-items:end;
  }
  .cart-row.modern .cart-product{grid-column:1/-1}
  .cart-row.modern .line-total{text-align:left}
  .cart-row.modern .remove{justify-self:end}
}


/* V44: carrito ventas ordenado en bloque de controles */
.cart-row.modern.v48{
  display:grid;
  grid-template-columns:minmax(235px,1.08fr) minmax(175px,.92fr) minmax(142px,.72fr) minmax(118px,.58fr) minmax(102px,.5fr) 38px;
  gap:10px;
  align-items:stretch;
  padding:14px 16px;
  overflow:hidden;
}
.cart-row.modern.v48 .cart-product{
  min-width:0;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.cart-row.modern.v48 .cart-product img{width:40px;height:40px;object-fit:cover}
.cart-row.modern.v48 .cart-product strong{
  display:block;
  font-size:13px;
  line-height:1.18;
  margin-bottom:2px;
}
.cart-row.modern.v48 .cart-product small{
  display:block;
  color:#7b7268;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cart-row.modern.v48 .cart-cell{min-width:0;align-self:stretch}
.cart-row.modern.v48 .price-option-field,
.cart-row.modern.v48 .price-field,
.cart-row.modern.v48 .qty-block{margin:0;min-width:0}
.cart-row.modern.v48 .price-option-field,
.cart-row.modern.v48 .price-field,
.cart-row.modern.v48 .qty-block,
.cart-row.modern.v48 .line-total{display:grid;gap:6px;align-content:start;height:100%}
.cart-row.modern.v48 .price-option-field,
.cart-row.modern.v48 .price-field,
.cart-row.modern.v48 .qty-block>span,
.cart-row.modern.v48 .presentation-static>span,
.cart-row.modern.v48 .line-total span{
  display:block;
  font-family:var(--mono);
  font-size:9.5px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8a8177;
  margin-bottom:6px;
}
.cart-row.modern.v48 .price-option-field select,
.cart-row.modern.v48 .price-field input{display:block;width:100%;min-width:0}
.cart-row.modern.v48 .price-option-field select{padding-right:34px}
.cart-row.modern.v48 .presentation-static{
  min-height:54px;
  border:1px solid var(--line);
  background:#fbfaf7;
  border-radius:14px;
  padding:8px 11px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.cart-row.modern.v48 .presentation-static strong{
  display:block;
  font-size:13px;
  font-weight:500;
  color:var(--ink);
}
.cart-row.modern.v48 .qty-control{
  display:grid;
  grid-template-columns:30px minmax(66px,1fr) 30px;
  gap:6px;
  align-items:center;
}
.cart-row.modern.v48 .qty-control button{
  min-width:30px;
  width:30px;
  height:40px;
  padding:0;
}
.cart-row.modern.v48 .qty-control input{
  min-width:0;
  text-align:center;
  padding-left:6px;
  padding-right:6px;
  height:40px;
}
.cart-row.modern.v48 .price-field input{
  padding-left:10px;
  padding-right:10px;
  height:40px;
  text-align:right;
  max-width:124px;
  justify-self:stretch;
}
.cart-row.modern.v48 .line-total{
  text-align:right;
  white-space:nowrap;
  min-width:0;
  justify-items:end;
}
.cart-row.modern.v48 .line-total strong{
  display:block;
  white-space:nowrap;
  font-size:14px;
  line-height:1.18;
}
.cart-row.modern.v48 .total-cell{display:flex;justify-self:end;align-self:stretch;align-items:stretch;padding-bottom:0}
.cart-row.modern.v48 .remove-cell{display:flex;justify-self:end;align-self:stretch;align-items:center;padding-bottom:0}
.cart-row.modern.v48 .remove{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin-top:14px;
}
@media (max-width:1360px){
  .cart-row.modern.v48{
    grid-template-columns:minmax(220px,1fr) minmax(170px,.9fr) minmax(136px,.68fr) minmax(114px,.56fr) minmax(96px,.48fr) 36px;
    gap:8px;
  }
}
@media (max-width:1180px){
  .cart-row.modern.v48{
    grid-template-columns:1fr 1fr;
    align-items:start;
  }
  .cart-row.modern.v48 .cart-product{grid-column:1/-1}
  .cart-row.modern.v48 .remove-cell{justify-self:end;align-self:end}
  .cart-row.modern.v48 .total-cell{justify-self:end}
}
@media (max-width:760px){
  .cart-row.modern.v48{
    grid-template-columns:1fr;
  }
  .cart-row.modern.v48 .total-cell,.cart-row.modern.v48 .remove-cell{justify-self:start}
  .cart-row.modern.v48 .line-total{text-align:left}
}

/* V51: alineación fina de encabezados y controles del carrito */
.cart-row.modern.v48 .presentation-cell,
.cart-row.modern.v48 .qty-cell,
.cart-row.modern.v48 .price-cell,
.cart-row.modern.v48 .total-cell{padding-top:2px}
.cart-row.modern.v48 .presentation-cell .price-option-field,
.cart-row.modern.v48 .qty-cell .qty-block,
.cart-row.modern.v48 .price-cell .price-field,
.cart-row.modern.v48 .total-cell .line-total{margin:0}
.cart-row.modern.v48 .price-cell .price-field input{max-width:118px}
.cart-row.modern.v48 .total-cell .line-total span{margin-bottom:6px}
.cart-row.modern.v48 .total-cell .line-total strong{padding-top:2px}


/* V53: responsive general para uso real en celular/tablet */
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{max-width:100%}
input,select,textarea,button{max-width:100%}
body{overflow-x:hidden}
.main{min-width:0}
.panel,.metric-card,.checkout-section,.cart-card,.wide-modal,.payment-modal,.app-alert-card{max-width:100%}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-table{min-width:720px}
.admin-table.compact-table{min-width:620px}
.modal-backdrop{padding:14px;overflow:auto}
.wide-modal,.payment-modal,.app-alert-card{width:min(980px,100%)}
.form-grid-2,.form-grid-3,.form-grid-4,.modal-form-grid,.grid.two-col,.grid.three-col,.grid.four-col{min-width:0}
.toolbar-actions{min-width:0}
.toolbar-actions label{min-width:0}
.toolbar-actions input,.toolbar-actions select{width:100%}
.pos-modern-layout,.delivery-layout{min-width:0}
.pos-products-area,.checkout-panel{min-width:0}
.product-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.product-tile{min-width:0}
.product-info strong,.product-info small{min-width:0}
.cart-card{overflow:hidden}
.cart-row.modern.v48{max-width:100%}
.product-list-table,.category-line-table,.stock-list-large{overflow-x:auto;-webkit-overflow-scrolling:touch}
.product-line-row,.product-list-head{min-width:920px}
.category-line-row,.category-line-head{min-width:680px}
.stock-line-row,.stock-list-head{min-width:780px}
.provider-card,.product-list-card,.metric-card{min-width:0}
.account-payment-summary{min-width:0}
.check-entry{min-width:0}

@media (max-width:980px){
  .app-shell{display:block}
  .sidebar{
    position:sticky;
    top:0;
    height:auto;
    max-height:96px;
    display:block;
    padding:10px 10px 8px;
    border-right:0;
    border-bottom:1px solid var(--line);
    overflow-x:auto;
    overflow-y:hidden;
    z-index:50;
  }
  .brand{display:none}
  .side-nav{
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    min-width:max-content;
    padding-bottom:2px;
  }
  .side-nav a{
    width:auto;
    min-width:72px;
    min-height:54px;
    padding:7px 9px;
    flex:0 0 auto;
  }
  .side-nav a.is-active:before{display:none}
  .side-nav a .nav-label{font-size:10px}
  .main{padding:14px}
  .topbar{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-bottom:14px;
  }
  .topbar h1{font-size:25px;line-height:1.08}
  .user-chip,.notify-link{width:100%;justify-content:space-between;margin-left:0}
  .grid.two-col,.grid.three-col,.grid.four-col,.two-col,.three-col,.four-col,.cash-workspace,.delivery-layout{
    grid-template-columns:1fr!important;
  }
  .panel{border-radius:18px}
  .panel-head{
    flex-direction:column;
    align-items:flex-start!important;
    gap:10px;
  }
  .panel-head .toolbar-actions,.sales-head-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .form-grid-2,.form-grid-3,.form-grid-4,.modal-form-grid,.filter-bar .toolbar-actions,.cash-filter-bar .toolbar-actions{
    grid-template-columns:1fr!important;
  }
  .pos-modern-layout{grid-template-columns:1fr!important}
  .checkout-panel{position:static}
  .pos-search-card{grid-template-columns:1fr!important}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}
  .product-tile{grid-template-columns:42px minmax(0,1fr);align-items:center}
  .product-price{grid-column:2;justify-self:start;margin-top:4px}
  .cart-row.modern.v48{
    grid-template-columns:1fr 1fr!important;
    gap:12px;
    align-items:start;
  }
  .cart-row.modern.v48 .cart-product{grid-column:1/-1}
  .cart-row.modern.v48 .presentation-cell{grid-column:1/-1}
  .cart-row.modern.v48 .qty-cell,.cart-row.modern.v48 .price-cell{grid-column:auto}
  .cart-row.modern.v48 .total-cell{justify-self:start}
  .cart-row.modern.v48 .remove-cell{justify-self:end;align-self:end}
  .payment-modal-body,.modal-body{max-height:none}
  .account-payment-summary{grid-template-columns:1fr}
  .check-entry{grid-template-columns:1fr 1fr}
}

@media (max-width:640px){
  .main{padding:10px}
  .topbar h1{font-size:22px}
  .eyebrow{font-size:9px}
  .btn{min-height:38px}
  label{font-size:11px}
  input,select,textarea{font-size:16px!important;min-height:42px}
  .panel,.cart-card,.checkout-section,.metric-card{border-radius:16px}
  .metric-card strong{font-size:22px}
  .product-grid{grid-template-columns:1fr}
  .product-tile{min-height:62px}
  .cart-card-head{padding:12px}
  .cart-row.modern.v48{
    grid-template-columns:1fr!important;
    padding:12px;
  }
  .cart-row.modern.v48 .cart-product,
  .cart-row.modern.v48 .presentation-cell,
  .cart-row.modern.v48 .qty-cell,
  .cart-row.modern.v48 .price-cell,
  .cart-row.modern.v48 .total-cell,
  .cart-row.modern.v48 .remove-cell{
    grid-column:1/-1;
    justify-self:stretch;
  }
  .cart-row.modern.v48 .qty-control{grid-template-columns:42px minmax(80px,1fr) 42px}
  .cart-row.modern.v48 .qty-control button{width:42px;height:42px}
  .cart-row.modern.v48 .line-total{text-align:left;justify-items:start}
  .cart-row.modern.v48 .remove-cell{justify-self:end}
  .cart-row.modern.v48 .remove{margin-left:auto}
  .pay-methods,.payment-row,.payment-row-modal{grid-template-columns:1fr!important}
  .payment-row input,.payment-row-modal input{text-align:left}
  .cash-kpi-grid{grid-template-columns:1fr!important}
  .denom-row,.denom-row.is-foreign,.denom-head,.denom-head.foreign{grid-template-columns:1fr!important}
  .denom-head span:not(:first-child){display:none}
  .denom-row label,.denom-row small{grid-column:auto!important}
  .table-scroll{border-radius:14px}
  .admin-table{font-size:12px;min-width:650px}
  .admin-table th,.admin-table td{padding:9px 10px}
  .product-line-row,.product-list-head{min-width:780px}
  .stock-line-row,.stock-list-head{min-width:700px}
  .category-line-row,.category-line-head{min-width:620px}
  .wide-modal,.payment-modal,.app-alert-card{
    border-radius:18px;
    width:100%;
    margin:0;
  }
  .modal-backdrop{padding:8px}
  .login-card{width:min(100%,420px);padding:22px}
}

@media (max-width:420px){
  .side-nav a{min-width:64px}
  .side-nav a .nav-label{font-size:9px}
  .main{padding:8px}
  .panel-head h2,.cart-card-head h3{font-size:18px}
  .checkout-total-card strong{font-size:26px}
  .product-thumb{width:40px;height:40px}
  .product-tile{grid-template-columns:40px minmax(0,1fr);padding:8px}
  .product-price{font-size:11px}
  .qty-chips button{font-size:10px;padding:3px 6px}
}
