:root{
  --bg:#f6f8fb;--panel:#ffffff;--text:#111827;--muted:#64748b;--line:#e6ebf2;
  --primary:#2563eb;--primary2:#1d4ed8;--softPrimary:#eef5ff;--danger:#dc2626;--ok:#16a34a;
  --dark:#0f172a;--shadow:0 12px 34px rgba(15,23,42,.07);--shadow2:0 20px 60px rgba(15,23,42,.18)
}
*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}.boot{height:100vh;display:grid;place-content:center;text-align:center;background:#f8fafc;color:#111827;font-size:24px}.boot small{font-size:13px;color:#64748b}.app{height:100vh;display:grid;grid-template-columns:236px 1fr;grid-template-rows:74px 1fr;overflow:hidden;background:radial-gradient(circle at top right,#eef5ff 0,#f6f8fb 34%,#f6f8fb 100%)}
.topbar{grid-column:2;grid-row:1;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand b{display:block;font-size:15px;letter-spacing:.1px}.brand small{display:block;color:#64748b;font-size:11px;letter-spacing:.16em;font-weight:800}.brandLogo{width:38px;height:38px;border-radius:12px;object-fit:contain;background:#fff;padding:4px;border:1px solid var(--line)}.mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,#0f172a,#1e3a8a);color:#fff;font-weight:900;display:grid;place-items:center;box-shadow:0 12px 24px rgba(37,99,235,.18)}.topmeta{display:flex;align-items:center;gap:10px}.topmeta select,.topmeta span{height:42px;border:1px solid var(--line);background:#fff;color:#111827;border-radius:12px;padding:0 12px;font-weight:800;box-shadow:0 1px 0 rgba(15,23,42,.02)}
.tabs{grid-column:1;grid-row:1/3;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px;padding:118px 14px 16px;overflow:hidden;position:relative}.tabs:before{content:'CONTROL PRO\A EMPRESAS';white-space:pre;position:absolute;top:32px;left:26px;font-size:16px;line-height:1.1;font-weight:950;letter-spacing:.12em;color:#0f172a}.tabs:after{content:'Admin  •  conectado';position:absolute;bottom:18px;left:14px;right:14px;height:50px;border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;padding-left:16px;color:#334155;font-weight:800;background:#fbfdff;box-shadow:0 4px 18px rgba(15,23,42,.04)}.tabs button{height:46px;border:0;background:transparent;padding:0 14px;border-radius:13px;white-space:nowrap;color:#334155;font-weight:850;cursor:pointer;text-align:left;font-size:14px;transition:.16s}.tabs button:hover{background:#f3f7fe;color:#111827}.tabs button.active{background:var(--softPrimary);color:#1d4ed8;box-shadow:inset 3px 0 0 #2563eb}.tabs button:nth-child(1)::before{content:'🛒 ';}.tabs button:nth-child(2)::before{content:'📦 ';}.tabs button:nth-child(3)::before{content:'👤 ';}.tabs button:nth-child(4)::before{content:'💼 ';}.tabs button:nth-child(5)::before{content:'🧮 ';}.tabs button:nth-child(6)::before{content:'🔒 ';}.tabs button:nth-child(7)::before{content:'↘ ';}.tabs button:nth-child(8)::before{content:'📊 ';}.tabs button:nth-child(9)::before{content:'✈ ';}.tabs button:nth-child(10)::before{content:'🧾 ';}.tabs button:nth-child(11)::before{content:'⚙ ';}.status{position:fixed;right:22px;top:88px;background:#111827;color:#fff;padding:11px 14px;border-radius:12px;z-index:20;box-shadow:var(--shadow2);cursor:pointer}main{grid-column:2;grid-row:2;padding:18px 22px 24px;overflow:auto}.grid{display:grid;gap:16px}.sale-grid{grid-template-columns:minmax(0,1fr) 410px;align-items:start}.two{grid-template-columns:400px minmax(0,1fr)}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.panel.wide{min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}h2{font-size:18px;margin:0;color:#0f172a;letter-spacing:-.02em}h3{font-size:12px;text-transform:uppercase;color:#64748b;margin:20px 0 10px;letter-spacing:.08em}.actions{display:flex;gap:8px;align-items:center}.actions.wrap{flex-wrap:wrap}button{height:38px;border:1px solid var(--line);background:#fff;color:#182230;border-radius:11px;padding:0 13px;font-weight:850;cursor:pointer;transition:.16s}button:hover{border-color:#c7d2e1;transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 10px 20px rgba(37,99,235,.18)}.primary:hover{background:var(--primary2);border-color:var(--primary2)}.dangerBtn{background:var(--danger);border-color:var(--danger);color:#fff}.big{height:52px;font-size:15px}.cobrar{background:linear-gradient(135deg,#16a34a,#0f9f58);border:0;letter-spacing:.06em}.printBtn{height:44px}.searchbar{display:flex;gap:10px;margin:14px 0 12px}.searchbar input{flex:1;height:56px;font-size:17px;border-radius:15px;padding-left:18px}.searchbar button{height:56px;border-radius:15px;background:#0f172a;color:#fff;border-color:#0f172a}input,select{height:40px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:#fff;color:#111827;min-width:0;outline:none}input:focus,select:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,.12)}input[type=file]{padding:9px;height:auto}.chips{display:flex;gap:8px;margin-bottom:12px;overflow:auto}.chips button{height:36px;background:#fff}.chips .activeChip{background:#111827;color:#fff;border-color:#111827}.kpiRow{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin:0 0 12px}.kpiRow>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 14px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.kpiRow span{display:block;color:#64748b;font-size:12px;font-weight:800}.kpiRow b{display:block;font-size:20px;margin-top:4px;letter-spacing:-.03em}.kpiRow small{display:block;color:#64748b;margin-top:2px}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}th{background:#f8fafc;color:#64748b;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em}td,th{padding:13px 14px;border-bottom:1px solid #edf1f6;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdff}td b{display:block}td small,.cart-row small,.totals small,.cards small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.checkout{display:flex;flex-direction:column;gap:12px;position:sticky;top:0}.checkout>h2{font-size:20px}.cart{border:1px solid var(--line);border-radius:16px;min-height:260px;max-height:360px;overflow:auto;padding:10px;background:#fcfdff}.cart-row{display:grid;grid-template-columns:1fr 72px 38px;gap:8px;align-items:center;border-bottom:1px solid #edf0f5;padding:10px 0}.cart-row:last-child{border-bottom:0}.cart-row input{height:36px;text-align:center}.cart-row button{height:36px;padding:0}.totals{border-top:2px solid #111827;padding-top:14px;display:flex;justify-content:space-between;align-items:flex-start;font-size:18px}.totals>span{font-size:15px;color:#64748b;font-weight:900;text-transform:uppercase}.totals b{font-size:26px;letter-spacing:-.04em}.muted{color:var(--muted)}.danger{color:var(--danger);font-weight:900}.form{display:grid;gap:11px}.form.small{max-width:580px;grid-template-columns:repeat(3,1fr);align-items:center}.form.checks{max-width:560px}.check{display:flex;align-items:center;gap:9px;height:auto;font-weight:750;color:#334155}.check input{width:18px;height:18px}.cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:8px 0 14px}.cards>div,.preview>div{border:1px solid var(--line);background:#f8fafc;border-radius:15px;padding:15px}.cards b,.preview b{display:block;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.cards strong,.preview strong{display:block;font-size:25px;margin-top:5px}.audit{display:grid;grid-template-columns:170px 190px;gap:10px;align-items:center;max-width:590px;margin-bottom:12px}.audit span{font-weight:850;color:#475569}.span{grid-column:1/-1}.filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.modal{position:fixed;inset:0;background:rgba(15,23,42,.40);z-index:50;display:grid;place-items:center;padding:18px;backdrop-filter:blur(6px)}.modalBox{background:#fff;border-radius:20px;border:1px solid var(--line);width:min(580px,100%);padding:18px;box-shadow:var(--shadow2)}.preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.logoPreview{height:64px;max-width:190px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#fff;padding:7px}@media(max-width:1120px){.app{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.tabs{grid-column:1;grid-row:2;position:static;height:auto;flex-direction:row;padding:10px;overflow:auto}.tabs:before,.tabs:after{display:none}.topbar{grid-column:1;grid-row:1;height:auto;min-height:64px;align-items:flex-start;flex-direction:column;padding:12px}.topmeta{width:100%;overflow:auto}main{grid-column:1;grid-row:3}.sale-grid,.two,.three{grid-template-columns:1fr}.kpiRow,.cards{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media print{.topbar,.tabs,.status,button{display:none!important}body{background:#fff}.panel{box-shadow:none;border:0}}

/* v0.5 REDISEÑO VISUAL PRO */
button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
button svg,.tabs svg{flex:0 0 auto}.topbar{padding:0 26px}.screen-title{display:flex;flex-direction:column;gap:2px;min-width:210px}.screen-title b{font-size:18px;letter-spacing:-.03em;color:#0f172a}.screen-title small{font-size:12px;color:#64748b;font-weight:800}.rate-pill{background:#0f172a!important;color:#fff!important;border-color:#0f172a!important;box-shadow:0 8px 18px rgba(15,23,42,.12)}.topmeta button{height:42px;border-radius:12px;background:#fff}.tabs{padding:22px 14px 88px;gap:8px}.tabs:before,.tabs:after{display:none!important;content:none!important}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:12px 10px 22px;margin-bottom:8px;border-bottom:1px solid var(--line)}.sidebar-brand b{display:block;font-size:15px;letter-spacing:.10em;color:#0f172a;font-weight:950}.sidebar-brand small{display:block;color:#64748b;letter-spacing:.28em;font-size:10px;font-weight:900}.tabs button{display:flex;align-items:center;gap:12px;text-align:left;font-size:14px}.tabs button:before{display:none!important;content:none!important}.tabs button.active{background:linear-gradient(135deg,#eaf2ff,#f6faff);box-shadow:inset 4px 0 0 #2563eb,0 8px 20px rgba(37,99,235,.08)}.sidebar-user{position:absolute;left:14px;right:14px;bottom:16px;height:58px;border:1px solid var(--line);border-radius:18px;background:#fbfdff;display:flex;align-items:center;gap:12px;padding:10px;box-shadow:0 6px 18px rgba(15,23,42,.05)}.sidebar-user span{width:36px;height:36px;border-radius:50%;background:#e2e8f0;display:grid;place-items:center;font-weight:900}.sidebar-user b{display:block}.sidebar-user small{display:block;color:#64748b}.sidebar-user i{margin-left:auto;width:8px;height:8px;background:#16a34a;border-radius:50%}.kpiRow{grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px;margin-bottom:16px}.kpiRow .kpi{position:relative;overflow:hidden;color:#fff;border:0;box-shadow:0 16px 32px rgba(15,23,42,.10);padding:18px 18px 16px;min-height:112px}.kpiRow .kpi:after{content:'';position:absolute;right:-32px;top:-32px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.16)}.kpi svg{position:absolute;right:18px;top:18px;opacity:.90}.kpi span,.kpi small{color:rgba(255,255,255,.82)}.kpi b{font-size:24px;color:#fff}.kpi.green{background:linear-gradient(135deg,#16a34a,#059669)}.kpi.blue{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.kpi.orange{background:linear-gradient(135deg,#f97316,#ea580c)}.kpi.purple{background:linear-gradient(135deg,#7c3aed,#5b21b6)}.panel{padding:18px;border-radius:22px}.panel-head{margin-bottom:16px}.sale-grid{grid-template-columns:minmax(0,1fr) 430px;gap:18px}.checkout{gap:14px}.checkout-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkout-actions .cobrar{grid-column:1/-1;height:56px}.creditBtn{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8;height:48px}.dangerOutline{border-color:#fecaca;background:#fff;color:#dc2626;height:48px}.printBtn{height:48px}.miniAction{height:36px;border-radius:10px;color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.searchbar{gap:12px;margin:16px 0}.searchbar input{box-shadow:0 8px 24px rgba(15,23,42,.04)}.chips{gap:10px;margin-bottom:16px}td,th{padding:14px 16px}.status{top:auto;bottom:24px;right:24px}.settings-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px}.settings-menu{background:#fff;border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;height:max-content}.settings-menu button{justify-content:flex-start;height:46px;border:0;background:transparent;color:#334155}.settings-menu button.active{background:#0f172a;color:#fff;box-shadow:0 10px 22px rgba(15,23,42,.12)}.settings-panel{min-height:620px}.settings-grid{display:grid;grid-template-columns:minmax(320px,520px) minmax(260px,1fr);gap:22px;align-items:start}.form label:not(.check){font-size:12px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:-4px}.rateInput{height:58px;font-size:28px;font-weight:900;color:#0f172a}.brand-preview,.print-preview-mini,.preview-card{border-radius:22px;padding:22px;box-shadow:0 18px 38px rgba(15,23,42,.10)}.brand-preview{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafc);display:flex;flex-direction:column;gap:10px}.brand-preview strong{font-size:22px}.bigMark{width:76px;height:76px;font-size:24px}.preview-card{min-height:190px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;position:relative;overflow:hidden}.preview-card:after{content:'';position:absolute;right:-55px;top:-55px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.18)}.preview-card span{font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.8)}.preview-card strong{font-size:30px;letter-spacing:-.04em}.preview-card small{color:rgba(255,255,255,.82)}.solid-blue{background:linear-gradient(135deg,#2563eb,#1e40af)}.solid-purple{background:linear-gradient(135deg,#7c3aed,#581c87)}.solid-green{background:linear-gradient(135deg,#16a34a,#047857)}.solid-orange{background:linear-gradient(135deg,#f97316,#c2410c)}.solid-dark{background:linear-gradient(135deg,#0f172a,#334155)}.print-preview-mini{background:#f8fafc;border:1px solid var(--line)}.mini-ticket{width:210px;min-height:330px;background:#fff;margin:18px auto 0;padding:16px 14px 44px;border:1px solid #cbd5e1;box-shadow:0 20px 40px rgba(15,23,42,.14);text-align:center;font-size:12px}.mini-ticket strong,.mini-ticket b{display:block}.mini-ticket span{display:block;margin-top:16px;font-weight:900}.mini-ticket hr{border:0;border-top:1px dashed #94a3b8;margin:14px 0}.ticket-margin-label{margin-top:44px;border-top:1px dashed #cbd5e1;color:#94a3b8;font-size:10px;padding-top:8px}.actions.wrap button{height:44px}.modalBox{border-radius:24px}.preview>div{border-radius:18px}.cards>div:nth-child(1){background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.cards>div:nth-child(2){background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.cards>div:nth-child(3){background:linear-gradient(135deg,#16a34a,#047857);color:#fff}.cards>div:nth-child(4){background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff}.cards>div b,.cards>div small{color:rgba(255,255,255,.80)}.cards>div strong{color:#fff}@media(max-width:1120px){.settings-layout,.settings-grid{grid-template-columns:1fr}.sidebar-user{display:none}.tabs{padding:10px}.sidebar-brand{display:none}.sale-grid{grid-template-columns:1fr}.kpiRow{grid-template-columns:repeat(2,minmax(150px,1fr))}}

/* v0.6 MENÚ COMPACTO + BÚSQUEDA VIVA */
.app{grid-template-columns:88px 1fr}
.tabs.compactTabs{padding:14px 12px 78px;align-items:center;gap:9px;overflow:visible}
.compactBrand{width:56px;height:56px;border:0!important;margin:0 0 8px!important;padding:0!important;justify-content:center;background:linear-gradient(135deg,#f8fbff,#eef6ff);border-radius:18px;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.compactBrand .mark,.compactBrand img{width:42px;height:42px;max-width:42px;max-height:42px}
.tabs.compactTabs button{width:58px;height:48px;justify-content:center;padding:0;border-radius:16px;gap:0;position:relative}
.tabs.compactTabs button span{position:absolute;left:68px;top:50%;transform:translateY(-50%);background:#0f172a;color:#fff;border-radius:11px;padding:8px 11px;font-size:12px;font-weight:900;box-shadow:0 12px 26px rgba(15,23,42,.22);opacity:0;pointer-events:none;white-space:nowrap;z-index:80;transition:.14s}
.tabs.compactTabs button span:before{content:'';position:absolute;left:-5px;top:50%;transform:translateY(-50%) rotate(45deg);width:10px;height:10px;background:#0f172a}
.tabs.compactTabs button:hover span{opacity:1;left:72px}
.tabs.compactTabs button.active{box-shadow:inset 0 -4px 0 #2563eb,0 10px 24px rgba(37,99,235,.12)}
.compactUser{left:13px!important;right:13px!important;height:50px!important;border-radius:17px!important;justify-content:center;padding:0!important}
.compactUser div,.compactUser i{display:none!important}.compactUser span{margin:0!important}
main{padding:18px 24px 24px}.topbar{padding:0 24px}
.sale-grid{grid-template-columns:minmax(0,1fr) 420px}.panel.wide{overflow:hidden}.productTableWrap{max-width:100%;overflow:auto;border-radius:16px;border:1px solid var(--line);background:#fff}.productTable{border:0;border-radius:0;min-width:760px;table-layout:fixed}.productTable th:nth-child(1),.productTable td:nth-child(1){width:130px}.productTable th:nth-child(3),.productTable td:nth-child(3){width:78px;text-align:center}.productTable th:nth-child(4),.productTable td:nth-child(4){width:160px}.productTable th:nth-child(5),.productTable td:nth-child(5){width:126px}.codeCell{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#475569;font-weight:800}.nameCell b{white-space:normal;overflow-wrap:anywhere}.priceCell b{font-size:14px;white-space:nowrap}.priceCell small{font-size:11px;white-space:nowrap}.actionCell{text-align:right}.miniAction{width:100%;padding:0 10px}.liveSearch{margin-bottom:8px}.liveHint{display:flex;align-items:center;gap:8px;margin:0 0 13px;padding:10px 12px;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;border-radius:14px;font-weight:850}.liveHint small{margin-left:auto;color:#64748b;font-weight:800}.kpiRow{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpiRow .kpi{min-width:0;min-height:102px;padding:16px}.kpi b{font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 36px)}.kpi small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.panel-head .actions button{height:38px}.checkout{min-width:0}.cart-row{grid-template-columns:minmax(0,1fr) 68px 36px}.cart-row b,.cart-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.totals{gap:12px}.totals b{font-size:24px;white-space:nowrap}@media(max-width:1120px){.app{grid-template-columns:1fr}.tabs.compactTabs{align-items:stretch;overflow:auto}.tabs.compactTabs button{width:auto;min-width:58px}.tabs.compactTabs button span{display:none}.productTable{min-width:720px}.liveHint{align-items:flex-start;flex-direction:column}.liveHint small{margin-left:0}.sale-grid{grid-template-columns:1fr}}

/* v0.7 VENTA RÁPIDA PULIDA */
.tabs{z-index:120}.tabs.compactTabs{z-index:120}.tabs.compactTabs button span{z-index:5000;top:50%;bottom:auto}.tabs.compactTabs button[title]::after{display:none!important}.topbar{z-index:60}.kpiRow{position:relative;z-index:1}.ventaPanel{display:flex;flex-direction:column;min-height:0}.compactHead{margin-bottom:12px}.compactChips{margin-bottom:10px}.compactChips button{height:32px;padding:0 12px;font-size:12px}.productTableWrap.compactProducts{overflow:hidden;max-height:none}.compactProducts .productTable{min-width:0;width:100%;table-layout:fixed}.compactProducts td,.compactProducts th{padding:8px 10px}.compactProducts th{font-size:10px}.compactProducts tbody tr{height:48px}.compactProducts .productTable th:nth-child(1),.compactProducts .productTable td:nth-child(1){width:108px}.compactProducts .productTable th:nth-child(3),.compactProducts .productTable td:nth-child(3){width:58px}.compactProducts .productTable th:nth-child(4),.compactProducts .productTable td:nth-child(4){width:132px}.compactProducts .productTable th:nth-child(5),.compactProducts .productTable td:nth-child(5){width:52px}.compactProducts .nameCell b{font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compactProducts .nameCell small{font-size:10px;line-height:1.1}.compactProducts .codeCell{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compactProducts .priceCell b{font-size:13px}.compactProducts .priceCell small{font-size:10px}.iconOnly{width:34px!important;height:34px!important;padding:0!important}.iconOnly svg{margin:0}.cartHeader{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.cartHeader .cartIcon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#0f172a,#2563eb);color:#fff;box-shadow:0 12px 24px rgba(37,99,235,.18)}.cartHeader small{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.cartHeader b{display:block;font-size:17px;color:#0f172a}.ghostBtn{margin-left:auto;background:#f8fafc;color:#64748b;border-color:#e5e7eb;height:36px;padding:0 10px}.customerBox{display:grid;gap:7px}.customerBox label{font-size:11px;font-weight:950;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.customerLine{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.customerLine select{height:42px}.addCustomerBtn{height:42px;border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.checkout .cart{min-height:196px;max-height:258px}.cart-row{padding:8px 0;grid-template-columns:minmax(0,1fr) 58px 34px}.cart-row input{height:32px}.cart-row button{height:32px;border-radius:10px}.totals{padding-top:11px}.totals b{font-size:22px}.checkout-actions{gap:9px}.checkout-actions .cobrar{height:52px}.printBtn,.creditBtn,.dangerOutline{height:44px}.quickClient{width:min(460px,100%)}.quickClient .actions{justify-content:flex-end;margin-top:6px}.quickClient input{height:44px}.modalBox.quickClient{padding:20px}.liveHint{padding:8px 11px;margin-bottom:10px}.searchbar.liveSearch{margin:12px 0 8px}.searchbar.liveSearch input,.searchbar.liveSearch button{height:50px}.panel.checkout{position:sticky;top:0}@media(max-height:760px){.kpiRow .kpi{min-height:86px;padding:12px}.kpi b{font-size:18px}.compactProducts td,.compactProducts th{padding:6px 9px}.compactProducts tbody tr{height:42px}.checkout .cart{max-height:210px}.searchbar.liveSearch input,.searchbar.liveSearch button{height:46px}.compactChips button{height:30px}.panel{padding:14px}.sale-grid{gap:14px}}

/* v0.8 PRODUCTOS + REPORTES PREMIUM */
.kpi svg{width:38px!important;height:38px!important;opacity:.95;filter:drop-shadow(0 8px 14px rgba(0,0,0,.12))}.kpi span{font-size:11px;letter-spacing:.09em}.kpi b{font-size:23px}.kpi{position:relative;overflow:hidden}.kpi:after{content:'';position:absolute;right:-28px;top:-28px;width:92px;height:92px;border-radius:999px;background:rgba(255,255,255,.16)}
.products-page{display:grid;grid-template-columns:minmax(430px,500px) minmax(0,1fr);gap:18px;align-items:start}.product-editor{position:sticky;top:0}.product-form{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:start}.product-photo-box{border:1px dashed #cbd5e1;background:linear-gradient(180deg,#f8fafc,#fff);border-radius:22px;padding:12px;min-height:228px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.product-photo-box img{width:126px;height:126px;border-radius:18px;object-fit:cover;box-shadow:0 14px 28px rgba(15,23,42,.13)}.photo-empty{width:126px;height:126px;border-radius:18px;background:#eaf2ff;color:#2563eb;display:grid;place-items:center;gap:5px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.upload-btn{height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:13px;background:#0f172a;color:#fff;font-weight:950;cursor:pointer}.upload-btn input{display:none}.product-photo-box button{height:34px;padding:0 12px}.product-fields{display:grid;gap:12px}.form-section{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:14px}.form-section>b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#475569;margin-bottom:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compactForm input,.compactForm select,.compactForm textarea{height:40px}.compactForm textarea{height:74px;resize:none}.span2{grid-column:span 2}.catalog-switches{display:flex;gap:10px;flex-wrap:wrap}.catalog-switches .check{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px}.inventory-panel{min-width:0}.miniSearch{height:38px;min-width:220px}.inventory-table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:18px;background:#fff}.inventory-table{min-width:860px;border:0}.inventory-table th{font-size:10px}.inventory-table td,.inventory-table th{padding:9px 10px}.prod-thumb{width:44px;height:44px;border-radius:12px;object-fit:cover;display:grid;place-items:center;background:#eef6ff;color:#2563eb}.prod-thumb.empty{border:1px solid #dbeafe}.pill{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-weight:950;font-size:11px}.pill.ok{background:#dcfce7;color:#166534}.reports-page{display:grid;gap:18px}.report-hero{padding-bottom:16px}.reportFilters{margin:0;grid-template-columns:repeat(4,minmax(0,1fr))}.reportCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.report-card{min-height:142px;border-radius:24px;padding:18px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;box-shadow:0 18px 36px rgba(15,23,42,.13);position:relative;overflow:hidden}.report-card:after{content:'';position:absolute;right:-42px;top:-42px;width:140px;height:140px;border-radius:999px;background:rgba(255,255,255,.16)}.report-card svg{position:absolute;top:18px;left:18px;color:rgba(255,255,255,.92)}.report-card span{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.78)}.report-card strong{font-size:27px;line-height:1;letter-spacing:-.04em}.report-card small{color:rgba(255,255,255,.82)}.report-card.green{background:linear-gradient(135deg,#16a34a,#047857)}.report-card.blue{background:linear-gradient(135deg,#2563eb,#1e40af)}.report-card.orange{background:linear-gradient(135deg,#f97316,#c2410c)}.report-card.purple{background:linear-gradient(135deg,#7c3aed,#5b21b6)}.report-grid{grid-template-columns:minmax(360px,460px) minmax(0,1fr)}.clean-table th,.clean-table td{padding:11px 12px}.report-table{max-height:430px;overflow:auto;border:1px solid #e5e7eb;border-radius:18px}.report-table table{border:0}.report-table th{position:sticky;top:0;z-index:2}@media(max-width:1200px){.products-page,.report-grid{grid-template-columns:1fr}.product-editor{position:relative}.reportCards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.product-form{grid-template-columns:1fr}.form-grid,.reportFilters{grid-template-columns:1fr}.span2{grid-column:auto}.reportCards{grid-template-columns:1fr}}

/* v1.0 ICONOS Y ESTADÍSTICAS */
.kpiRow .kpi{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:12px;align-items:center;padding:14px 15px;min-height:96px}.kpiIcon{grid-row:1/4;width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.20);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 12px 24px rgba(15,23,42,.12)}.kpiIcon svg{width:30px!important;height:30px!important;filter:none!important}.kpi>svg{display:none}.kpi span{align-self:end;font-size:10px!important;color:rgba(255,255,255,.78)}.kpi b{font-size:18px!important;line-height:1.06;max-width:100%!important;letter-spacing:-.04em}.kpi small{font-size:11px;line-height:1.15;color:rgba(255,255,255,.82)}.report-card{padding:18px 18px 16px 18px;min-height:138px}.reportIcon{position:absolute;top:16px;left:16px;width:54px;height:54px;border-radius:18px;background:rgba(255,255,255,.20);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.report-card>svg{display:none}.reportIcon svg{position:static!important;color:#fff!important}.report-card strong{font-size:22px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.report-card span{margin-top:48px}.chartsGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chartPanel{min-height:300px}.chartPanel .panel-head{align-items:flex-start}.chartPanel .panel-head small{font-size:12px;color:#64748b;font-weight:850}.barList{display:grid;gap:12px;margin-top:12px}.barRow{display:grid;grid-template-columns:72px minmax(0,1fr) 120px;align-items:center;gap:12px}.barRow span{font-size:12px;font-weight:950;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.barRow b{font-size:12px;text-align:right;color:#0f172a;white-space:nowrap}.barTrack{height:14px;border-radius:999px;background:#eef2f7;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(148,163,184,.14)}.barTrack i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#14b8a6);min-width:6px}.barRow.pay .barTrack i{background:linear-gradient(90deg,#7c3aed,#f97316)}@media(max-width:1200px){.chartsGrid{grid-template-columns:1fr}.kpiRow .kpi{grid-template-columns:auto minmax(0,1fr)}}@media(max-width:760px){.barRow{grid-template-columns:58px minmax(0,1fr);}.barRow b{grid-column:2;text-align:left}}

/* v1.1: restaurado estilo de media luna + gráficas reales */
.kpiRow .kpi{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  gap:4px!important;
  padding:17px 18px 15px!important;
  min-height:106px!important;
  position:relative!important;
  overflow:hidden!important;
}
.kpiRow .kpi:after,
.report-card:after,
.preview-card:after{
  content:'';
  position:absolute;
  right:-34px;
  top:-34px;
  width:112px;
  height:112px;
  border-radius:999px;
  background:rgba(255,255,255,.17);
  z-index:0;
}
.kpiIcon{
  position:absolute!important;
  right:14px!important;
  top:12px!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  z-index:2!important;
  color:#fff!important;
  opacity:.94!important;
  pointer-events:none!important;
}
.kpiIcon svg{
  width:42px!important;
  height:42px!important;
  filter:drop-shadow(0 10px 15px rgba(0,0,0,.14))!important;
}
.kpi span,.kpi b,.kpi small{position:relative;z-index:1;max-width:calc(100% - 54px)!important}
.kpi span{font-size:10px!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:rgba(255,255,255,.76)!important}
.kpi b{font-size:17px!important;line-height:1.06!important;letter-spacing:-.035em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#fff!important}
.kpi small{font-size:10.5px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:rgba(255,255,255,.82)!important}

.report-card{
  padding:18px!important;
  min-height:138px!important;
  position:relative!important;
  overflow:hidden!important;
  justify-content:flex-end!important;
}
.reportIcon{
  position:absolute!important;
  right:17px!important;
  top:15px!important;
  left:auto!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  z-index:2!important;
  pointer-events:none!important;
}
.reportIcon svg{
  position:static!important;
  width:42px!important;
  height:42px!important;
  color:#fff!important;
  filter:drop-shadow(0 10px 15px rgba(0,0,0,.15))!important;
}
.report-card span,.report-card strong,.report-card small{position:relative;z-index:1;max-width:calc(100% - 44px)!important}
.report-card span{margin-top:0!important;font-size:10.5px!important;letter-spacing:.09em!important}
.report-card strong{font-size:20px!important;line-height:1.08!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.report-card small{font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

.chartsGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.chartPanel{min-height:322px;overflow:hidden}.lineChartWrap{width:100%;padding:8px 0 0;color:#2563eb}.lineChart{width:100%;height:235px;display:block}.gridLine{stroke:#e5e7eb;stroke-width:1}.chartArea{fill:url(#lineArea);color:#2563eb}.chartLine{fill:none;stroke:#2563eb;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chartDot{fill:#fff;stroke:#2563eb;stroke-width:3}.lineChart text{font-size:11px;fill:#64748b;font-weight:800}.lineChart .chartValue{fill:#0f172a;font-weight:950;font-size:12px}.donutLayout{display:grid;grid-template-columns:168px minmax(0,1fr);gap:18px;align-items:center;margin-top:8px}.donutChart{width:168px;height:168px;transform:rotate(-90deg)}.donutBase{fill:none;stroke:#eef2f7;stroke-width:18}.donutSeg{fill:none;stroke-width:18;stroke-linecap:round;transition:.2s}.donutTotal,.donutLabel{transform:rotate(90deg);transform-origin:74px 74px;fill:#0f172a;font-weight:950}.donutTotal{font-size:23px}.donutLabel{font-size:10px;fill:#64748b;text-transform:uppercase;letter-spacing:.08em}.seg0{stroke:#2563eb;background:#2563eb}.seg1{stroke:#16a34a;background:#16a34a}.seg2{stroke:#f97316;background:#f97316}.seg3{stroke:#7c3aed;background:#7c3aed}.seg4{stroke:#0f172a;background:#0f172a}.seg5{stroke:#14b8a6;background:#14b8a6}.donutLegend{display:grid;gap:10px;min-width:0}.legendRow{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:9px;font-size:12px}.legendRow i{width:10px;height:10px;border-radius:99px}.legendRow span{font-weight:900;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legendRow b{font-size:12px;color:#0f172a;white-space:nowrap}.barList,.barRow,.barTrack{display:none!important}
@media(max-width:1200px){.chartsGrid{grid-template-columns:1fr}.donutLayout{grid-template-columns:160px minmax(0,1fr)}}
@media(max-width:760px){.donutLayout{grid-template-columns:1fr}.donutChart{margin:auto}.kpi span,.kpi b,.kpi small,.report-card span,.report-card strong,.report-card small{max-width:100%!important}}

/* v1.2 limpieza visual + exportaciones */
.clean-panel h2{display:none}.panel-head.noTitle{margin-bottom:14px}.sectionLabel{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:950;color:#0f172a;letter-spacing:.01em}.sectionLabel svg{color:#2563eb}.metricGrid{display:grid;gap:16px;margin-bottom:18px}.metricGrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.solidCard{position:relative;overflow:hidden;border-radius:24px;min-height:132px;padding:18px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;box-shadow:0 18px 36px rgba(15,23,42,.13)}.solidCard:after{content:'';position:absolute;right:-34px;top:-34px;width:112px;height:112px;border-radius:999px;background:rgba(255,255,255,.18);z-index:0}.solidIcon{position:absolute;right:17px;top:15px;z-index:2;color:#fff}.solidIcon svg{width:42px;height:42px;filter:drop-shadow(0 10px 15px rgba(0,0,0,.15))}.solidCard span,.solidCard strong,.solidCard small{position:relative;z-index:1;max-width:calc(100% - 52px)}.solidCard span{font-size:10.5px;font-weight:950;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.78)}.solidCard strong{font-size:21px;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solidCard small{font-size:11px;color:rgba(255,255,255,.84);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solidCard.green{background:linear-gradient(135deg,#16a34a,#047857)}.solidCard.blue{background:linear-gradient(135deg,#2563eb,#1e40af)}.solidCard.orange{background:linear-gradient(135deg,#f97316,#c2410c)}.solidCard.purple{background:linear-gradient(135deg,#7c3aed,#5b21b6)}.solidCard.dark{background:linear-gradient(135deg,#334155,#0f172a)}.cash-page,.audit-page,.close-page{display:grid;gap:18px}.cashStatus{display:grid;gap:8px;padding:18px;border-radius:18px;background:#f8fafc;border:1px solid #e5e7eb}.cashStatus b{font-size:18px}.cashStatus span{font-weight:950}.auditGrid{align-items:start}.auditTwoCols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.auditBox{padding:16px;border:1px solid #e5e7eb;border-radius:18px;background:#fbfdff;display:grid;gap:10px}.auditBox span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:950}.auditBox b{font-size:24px}.auditBox label{font-size:12px;font-weight:950;color:#334155}.auditBox small{font-weight:950;color:#16a34a}.wideBtn{width:100%;justify-content:center}.emptyState{min-height:260px;display:grid;place-items:center;text-align:center;gap:8px}.emptyState svg{color:#94a3b8}.emptyState b{font-size:20px}.closeLayout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.closeRows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.closeLine{border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;padding:14px;display:grid;gap:5px}.closeLine span{font-size:11px;font-weight:950;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.closeLine b{font-size:19px}.closeForm{align-content:start;border-left:1px solid #e5e7eb;padding-left:18px}.backupBox .backupActions{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.uploadBackup{display:inline-flex;align-items:center;gap:8px;border:1px solid #dbe3ef;border-radius:12px;padding:10px 12px;font-weight:950;cursor:pointer;background:#fff}.uploadBackup input{display:none}.customers-page .tableWrap,.cash-page .tableWrap,.audit-page .tableWrap{max-height:380px;overflow:auto}.reportCards{grid-template-columns:repeat(4,minmax(0,1fr))}.reportCards .solidCard{min-height:140px}.preview-card{position:relative;overflow:hidden}.preview-card:after{content:'';position:absolute;right:-34px;top:-34px;width:112px;height:112px;border-radius:999px;background:rgba(255,255,255,.17);z-index:0}.preview-card span,.preview-card strong,.preview-card small{position:relative;z-index:1}.settings-panel .panel-head h2{font-size:0}.settings-panel .panel-head h2:after{content:'Ajustes';font-size:19px}@media(max-width:1200px){.metricGrid.three{grid-template-columns:1fr}.closeLayout{grid-template-columns:1fr}.closeForm{border-left:0;padding-left:0}.auditTwoCols{grid-template-columns:1fr}.reportCards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.reportCards{grid-template-columns:1fr}.closeRows{grid-template-columns:1fr}.solidCard span,.solidCard strong,.solidCard small{max-width:100%}}

/* v1.3: corrección cards Venta Rápida + media luna global */
.kpiRow{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.kpiRow .kpi,
.solidCard,
.reportCards .solidCard,
.preview-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:24px!important;
  box-shadow:0 18px 36px rgba(15,23,42,.13)!important;
}
.kpiRow .kpi{
  min-height:102px!important;
  padding:16px 18px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  gap:4px!important;
}
.kpiRow .kpi:after,
.solidCard:after,
.reportCards .solidCard:after,
.preview-card:after{
  content:''!important;
  position:absolute!important;
  right:-38px!important;
  top:-38px!important;
  width:122px!important;
  height:122px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.18)!important;
  z-index:0!important;
  pointer-events:none!important;
}
.kpiRow .kpi:before,
.solidCard:before,
.reportCards .solidCard:before,
.preview-card:before{
  content:''!important;
  position:absolute!important;
  right:-26px!important;
  top:-26px!important;
  width:88px!important;
  height:88px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  z-index:0!important;
  pointer-events:none!important;
}
.kpiIcon,
.solidIcon,
.reportCards .solidIcon{
  position:absolute!important;
  right:15px!important;
  top:14px!important;
  z-index:2!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  pointer-events:none!important;
}
.kpiIcon svg,
.solidIcon svg,
.reportCards .solidIcon svg{
  width:40px!important;
  height:40px!important;
  filter:drop-shadow(0 10px 15px rgba(0,0,0,.16))!important;
}
.kpi span,.kpi b,.kpi small,
.solidCard span,.solidCard strong,.solidCard small,
.reportCards .solidCard span,.reportCards .solidCard strong,.reportCards .solidCard small,
.preview-card span,.preview-card strong,.preview-card small{
  position:relative!important;
  z-index:1!important;
  max-width:calc(100% - 58px)!important;
}
.kpi span,
.solidCard span,
.reportCards .solidCard span{
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  color:rgba(255,255,255,.78)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.kpi b{
  font-size:18px!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.kpi small,
.solidCard small,
.reportCards .solidCard small{
  font-size:10.5px!important;
  line-height:1.15!important;
  color:rgba(255,255,255,.84)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.solidCard strong,
.reportCards .solidCard strong{
  font-size:20px!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:1280px){
  .kpiRow{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .kpiRow{grid-template-columns:1fr!important}
  .kpi span,.kpi b,.kpi small,.solidCard span,.solidCard strong,.solidCard small{max-width:100%!important}
}

/* v1.4: cards coloridas más compactas y estéticas */
.metricGrid{gap:12px!important;margin-bottom:14px!important}
.solidCard,
.reportCards .solidCard,
.preview-card{
  min-height:104px!important;
  padding:14px 15px 13px!important;
  border-radius:20px!important;
  gap:3px!important;
  box-shadow:0 12px 26px rgba(15,23,42,.11)!important;
}
.reportCards .solidCard{min-height:108px!important}
.solidCard:after,
.reportCards .solidCard:after,
.preview-card:after{
  right:-34px!important;
  top:-34px!important;
  width:108px!important;
  height:108px!important;
}
.solidCard:before,
.reportCards .solidCard:before,
.preview-card:before{
  right:-24px!important;
  top:-24px!important;
  width:78px!important;
  height:78px!important;
}
.solidIcon,
.reportCards .solidIcon{
  right:13px!important;
  top:12px!important;
}
.solidIcon svg,
.reportCards .solidIcon svg{
  width:34px!important;
  height:34px!important;
}
.solidCard span,
.reportCards .solidCard span{
  font-size:9.5px!important;
  letter-spacing:.075em!important;
}
.solidCard strong,
.reportCards .solidCard strong{
  font-size:18px!important;
  line-height:1.03!important;
  max-width:calc(100% - 46px)!important;
}
.solidCard small,
.reportCards .solidCard small{
  font-size:10px!important;
  max-width:calc(100% - 46px)!important;
}
.kpiRow{gap:12px!important;margin-bottom:12px!important}
.kpiRow .kpi{
  min-height:92px!important;
  padding:14px 15px 12px!important;
  border-radius:20px!important;
}
.kpiRow .kpi:after{
  right:-34px!important;
  top:-34px!important;
  width:110px!important;
  height:110px!important;
}
.kpiRow .kpi:before{
  right:-24px!important;
  top:-24px!important;
  width:80px!important;
  height:80px!important;
}
.kpiIcon{right:13px!important;top:12px!important}
.kpiIcon svg{width:34px!important;height:34px!important}
.kpi b{font-size:17px!important;max-width:calc(100% - 48px)!important}
.kpi span,.kpi small{max-width:calc(100% - 48px)!important}

/* v1.6: FIX EXACTO - solo 4 cards de Venta Rápida + compactar coloridas globales */
/* Regla: una sola media luna, icono dentro, texto separado y sin pisarse. */
.kpiRow{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0 0 14px!important;
}
.kpiRow .kpi{
  position:relative!important;
  overflow:hidden!important;
  min-height:104px!important;
  padding:17px 18px 15px!important;
  border:0!important;
  border-radius:22px!important;
  box-shadow:0 15px 30px rgba(15,23,42,.12)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  gap:4px!important;
  color:#fff!important;
}
.kpiRow .kpi:before{display:none!important;content:none!important;}
.kpiRow .kpi:after{
  content:''!important;
  position:absolute!important;
  right:-32px!important;
  top:-32px!important;
  width:112px!important;
  height:112px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.17)!important;
  z-index:0!important;
  pointer-events:none!important;
}
.kpiIcon{
  position:absolute!important;
  right:17px!important;
  top:16px!important;
  z-index:2!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  pointer-events:none!important;
}
.kpiIcon svg{
  width:38px!important;
  height:38px!important;
  color:#fff!important;
  opacity:.96!important;
  filter:drop-shadow(0 9px 13px rgba(0,0,0,.15))!important;
}
.kpiRow .kpi > svg{display:none!important;}
.kpi span,.kpi b,.kpi small{
  position:relative!important;
  z-index:1!important;
  max-width:calc(100% - 58px)!important;
  display:block!important;
  text-align:left!important;
}
.kpi span{
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.085em!important;
  color:rgba(255,255,255,.78)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.kpi b{
  font-size:19px!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  margin:0!important;
  color:#fff!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.kpi small{
  font-size:10.5px!important;
  line-height:1.15!important;
  color:rgba(255,255,255,.84)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
/* Las demás cards coloridas: solo compactar altura, sin tocar estructura ni duplicar lunas */
.solidCard,
.reportCards .solidCard,
.preview-card{
  min-height:112px!important;
  padding:15px 16px 14px!important;
  border-radius:21px!important;
  gap:4px!important;
  box-shadow:0 14px 28px rgba(15,23,42,.12)!important;
}
.solidCard:before,
.reportCards .solidCard:before,
.preview-card:before{display:none!important;content:none!important;}
.solidCard:after,
.reportCards .solidCard:after,
.preview-card:after{
  right:-32px!important;
  top:-32px!important;
  width:112px!important;
  height:112px!important;
}
.solidIcon,
.reportCards .solidIcon{
  right:16px!important;
  top:15px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.solidIcon svg,
.reportCards .solidIcon svg{
  width:36px!important;
  height:36px!important;
}
.solidCard span,
.reportCards .solidCard span{font-size:10px!important;}
.solidCard strong,
.reportCards .solidCard strong{
  font-size:19px!important;
  max-width:calc(100% - 52px)!important;
}
.solidCard small,
.reportCards .solidCard small{max-width:calc(100% - 52px)!important;}
@media(max-width:1280px){.kpiRow{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.kpiRow{grid-template-columns:1fr!important}.kpi span,.kpi b,.kpi small{max-width:100%!important}}

/* v3.0 FINAL: cards coloridas limpias, compactas y legibles */
.kpiRow{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin-bottom:16px!important;
}
.kpiRow .kpi{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  min-height:84px!important;
  height:84px!important;
  padding:16px 78px 12px 18px!important;
  border-radius:18px!important;
  box-shadow:0 14px 28px rgba(15,23,42,.12)!important;
}
.kpiRow .kpi:before{display:none!important;content:none!important;}
.kpiRow .kpi:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  right:-26px!important;
  top:-28px!important;
  width:92px!important;
  height:92px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  z-index:0!important;
}
.kpiIcon{
  position:absolute!important;
  right:18px!important;
  top:17px!important;
  z-index:3!important;
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.kpiIcon svg{width:34px!important;height:34px!important;color:#fff!important;stroke-width:2.15!important;filter:drop-shadow(0 8px 12px rgba(0,0,0,.15))!important;}
.kpi span,.kpi b,.kpi small{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.kpi span{
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  color:rgba(255,255,255,.82)!important;
  margin-bottom:8px!important;
}
.kpi b{
  font-size:19px!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
  color:#fff!important;
  margin-bottom:5px!important;
}
.kpi small{
  font-size:10.5px!important;
  line-height:1.1!important;
  font-weight:800!important;
  color:rgba(255,255,255,.86)!important;
}

/* Cards coloridas generales más compactas y con el mismo criterio */
.solidCard,
.reportCards .solidCard{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  min-height:104px!important;
  height:auto!important;
  padding:17px 78px 14px 18px!important;
  border-radius:18px!important;
  box-shadow:0 14px 28px rgba(15,23,42,.11)!important;
}
.reportCards .solidCard{min-height:102px!important;}
.solidCard:before,
.reportCards .solidCard:before{display:none!important;content:none!important;}
.solidCard:after,
.reportCards .solidCard:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  right:-28px!important;
  top:-28px!important;
  width:92px!important;
  height:92px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  z-index:0!important;
}
.solidIcon,
.reportCards .solidIcon{
  position:absolute!important;
  right:18px!important;
  top:17px!important;
  z-index:3!important;
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.solidIcon svg,.reportCards .solidIcon svg{width:34px!important;height:34px!important;color:#fff!important;stroke-width:2.15!important;filter:drop-shadow(0 8px 12px rgba(0,0,0,.15))!important;}
.solidCard span,.solidCard strong,.solidCard small,
.reportCards .solidCard span,.reportCards .solidCard strong,.reportCards .solidCard small{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  max-width:100%!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.solidCard span,.reportCards .solidCard span{
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:rgba(255,255,255,.82)!important;
  margin-bottom:8px!important;
}
.solidCard strong,.reportCards .solidCard strong{
  font-size:20px!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
  margin-bottom:5px!important;
}
.solidCard small,.reportCards .solidCard small{
  font-size:10.5px!important;
  line-height:1.1!important;
  color:rgba(255,255,255,.86)!important;
}
@media(max-width:1280px){.kpiRow{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.kpiRow{grid-template-columns:1fr!important}.kpiRow .kpi,.solidCard,.reportCards .solidCard{padding-right:70px!important}}

/* v3.1 — cards sólidas sin media luna + reportes funcionales */
.kpiRow{grid-template-columns:repeat(4,minmax(150px,1fr))!important;gap:14px!important;margin:0 0 16px!important;}
.kpiRow .kpi,
.solidCard,
.reportCards .solidCard,
.preview-card{
  position:relative!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:20px!important;
  min-height:96px!important;
  padding:16px 78px 14px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:4px!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(15,23,42,.12)!important;
}
.kpiRow .kpi:before,.kpiRow .kpi:after,
.solidCard:before,.solidCard:after,
.reportCards .solidCard:before,.reportCards .solidCard:after,
.preview-card:before,.preview-card:after{display:none!important;content:none!important;}
.kpiIcon,.solidIcon,.reportCards .solidIcon{
  position:absolute!important;
  top:14px!important;
  right:16px!important;
  width:44px!important;
  height:44px!important;
  border-radius:15px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  z-index:3!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.20)!important;
}
.kpiIcon svg,.solidIcon svg,.reportCards .solidIcon svg{
  width:25px!important;
  height:25px!important;
  color:#fff!important;
  filter:none!important;
  stroke-width:2.25!important;
}
.kpiRow .kpi > svg{display:none!important;}
.kpi span,.kpi b,.kpi small,
.solidCard span,.solidCard strong,.solidCard small,
.reportCards .solidCard span,.reportCards .solidCard strong,.reportCards .solidCard small,
.preview-card span,.preview-card strong,.preview-card small{
  position:relative!important;
  z-index:2!important;
  max-width:100%!important;
  text-align:left!important;
}
.kpi span,.solidCard span,.reportCards .solidCard span,.preview-card span{
  order:1!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.10em!important;
  color:rgba(255,255,255,.78)!important;
  margin:0 0 5px!important;
}
.kpi b,.solidCard strong,.reportCards .solidCard strong,.preview-card strong{
  order:2!important;
  display:block!important;
  font-size:20px!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
  max-width:calc(100% + 30px)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  margin:0!important;
}
.kpi small,.solidCard small,.reportCards .solidCard small,.preview-card small{
  order:3!important;
  display:block!important;
  font-size:11px!important;
  line-height:1.2!important;
  color:rgba(255,255,255,.84)!important;
  max-width:calc(100% + 30px)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  margin:1px 0 0!important;
}
.solidCard{min-height:94px!important;}
.reportCards{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin:16px 0!important;}
.reportCards .solidCard{min-height:98px!important;}
.preview-card{min-height:100px!important;}
.kpi.green,.solidCard.green,.preview-card.solid-green{background:linear-gradient(135deg,#16a34a,#047857)!important;}
.kpi.blue,.solidCard.blue,.preview-card.solid-blue{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;}
.kpi.orange,.solidCard.orange,.preview-card.solid-orange{background:linear-gradient(135deg,#f97316,#dc2626)!important;}
.kpi.purple,.solidCard.purple,.preview-card.solid-purple{background:linear-gradient(135deg,#7c3aed,#4f46e5)!important;}
.solidCard.dark,.preview-card.solid-dark{background:linear-gradient(135deg,#334155,#0f172a)!important;}
.reportHeroPro{padding:14px 16px!important;}
.reportHeaderLine{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;}
.reportHeaderLine b{display:block;font-size:18px;color:#0f172a;letter-spacing:-.02em;}
.reportHeaderLine small{display:block;font-size:12px;color:#64748b;font-weight:800;margin-top:2px;}
.compactReportFilters{grid-template-columns:160px 160px 210px auto!important;max-width:none!important;align-items:center;}
.reportBottomGrid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)!important;align-items:start;}
.topProductsList{display:grid;gap:10px;}
.topProduct{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;border:1px solid #e5e7eb;background:#fbfdff;border-radius:14px;padding:10px 12px;}
.topProduct span{width:28px;height:28px;border-radius:10px;background:#eef2ff;color:#2563eb;display:grid;place-items:center;font-weight:950;}
.topProduct b{display:block;color:#0f172a;font-size:13px;}
.topProduct small{display:block;color:#64748b;font-size:11px;margin-top:2px;}
.topProduct strong{font-size:13px;color:#0f172a;white-space:nowrap;}
.clean-table td small{display:block;color:#64748b;font-size:11px;margin-top:2px;}
@media(max-width:1280px){.kpiRow,.reportCards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.reportBottomGrid{grid-template-columns:1fr!important}.compactReportFilters{grid-template-columns:1fr 1fr!important}}
@media(max-width:760px){.kpiRow,.reportCards{grid-template-columns:1fr!important}.compactReportFilters{grid-template-columns:1fr!important}.kpi b,.solidCard strong,.reportCards .solidCard strong{font-size:18px!important}}

/* v3.2 UI POLISH - alertas premium livianas, iconos y cards sólidas sin media luna */
.kpiRow{grid-template-columns:repeat(4,minmax(145px,1fr))!important;gap:14px!important;margin:0 0 16px!important}
.kpiRow .kpi,.solidCard,.reportCards .solidCard,.preview-card{
  position:relative!important;overflow:hidden!important;border-radius:18px!important;
  min-height:92px!important;padding:14px 70px 13px 15px!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:5px!important;
  box-shadow:0 12px 24px rgba(15,23,42,.12)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.kpiRow .kpi:hover,.solidCard:hover,.reportCards .solidCard:hover,.preview-card:hover{transform:translateY(-1px)!important;box-shadow:0 16px 30px rgba(15,23,42,.15)!important;filter:saturate(1.04)!important}
.kpiRow .kpi:before,.kpiRow .kpi:after,.solidCard:before,.solidCard:after,.reportCards .solidCard:before,.reportCards .solidCard:after,.preview-card:before,.preview-card:after{display:none!important;content:none!important}
.kpiIcon,.solidIcon,.reportCards .solidIcon{
  position:absolute!important;right:14px!important;top:13px!important;z-index:2!important;color:#fff!important;
  width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border-radius:14px!important;
  background:rgba(255,255,255,.16)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)!important;pointer-events:none!important;
}
.kpiIcon svg,.solidIcon svg,.reportCards .solidIcon svg{width:25px!important;height:25px!important;filter:none!important;stroke-width:2.2!important}
.kpi span,.kpi b,.kpi small,.solidCard span,.solidCard strong,.solidCard small,.reportCards .solidCard span,.reportCards .solidCard strong,.reportCards .solidCard small,.preview-card span,.preview-card strong,.preview-card small{position:relative!important;z-index:1!important;max-width:100%!important;text-align:left!important}
.kpi span,.solidCard span,.reportCards .solidCard span,.preview-card span{order:1!important;font-size:10px!important;line-height:1!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:rgba(255,255,255,.78)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:0!important}
.kpi b,.solidCard strong,.reportCards .solidCard strong,.preview-card strong{order:2!important;font-size:19px!important;line-height:1.03!important;font-weight:950!important;letter-spacing:-.035em!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:0!important;max-width:100%!important}
.kpi small,.solidCard small,.reportCards .solidCard small,.preview-card small{order:3!important;font-size:10.5px!important;line-height:1.16!important;font-weight:800!important;color:rgba(255,255,255,.84)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:0!important;max-width:100%!important}.metricGrid{gap:12px!important;margin-bottom:14px!important}.reportCards{gap:14px!important;margin:14px 0 16px!important}.reportCards .solidCard,.metricGrid .solidCard{min-height:86px!important}.solidCardGrid{align-items:stretch!important}
.status{position:fixed!important;right:22px!important;top:76px!important;left:auto!important;bottom:auto!important;z-index:9998!important;min-width:260px!important;max-width:min(390px,calc(100vw - 40px))!important;padding:13px 16px 13px 44px!important;border:1px solid rgba(37,99,235,.16)!important;border-radius:16px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 20px 45px rgba(15,23,42,.18)!important;color:#0f172a!important;font-size:13px!important;font-weight:850!important;backdrop-filter:none!important;cursor:pointer!important;animation:toastIn .18s ease-out!important}.status:before{content:'✓';position:absolute;left:14px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:#16a34a;color:#fff;font-weight:950;font-size:13px}.status:after{content:'clic para cerrar';display:block;color:#64748b;font-size:10px;font-weight:850;margin-top:2px;text-transform:uppercase;letter-spacing:.06em}
.toastHost{position:fixed;right:22px;top:76px;z-index:10000;display:grid;gap:10px;width:min(390px,calc(100vw - 40px));pointer-events:none}.appToast{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 24px;gap:11px;align-items:center;padding:13px 12px 15px;border-radius:17px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 22px 50px rgba(15,23,42,.18);pointer-events:auto;overflow:hidden;animation:toastIn .18s ease-out}.appToast.toastOut{animation:toastOut .16s ease-in forwards}.toastIcon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:950}.appToast.success .toastIcon{background:#16a34a}.appToast.error .toastIcon{background:#dc2626}.appToast.warning .toastIcon{background:#f97316}.appToast.info .toastIcon{background:#2563eb}.toastText{display:grid;gap:2px;min-width:0}.toastText b{font-size:13px;color:#0f172a}.toastText small{font-size:12px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toastClose{width:24px;height:24px;border:0;background:#f1f5f9;border-radius:8px;color:#475569;font-weight:950;cursor:pointer}.toastBar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#2563eb;animation:toastTimer 3.5s linear forwards}.appToast.success .toastBar{background:#16a34a}.appToast.error .toastBar{background:#dc2626}.appToast.warning .toastBar{background:#f97316}
button,.miniAction,.printBtn,.creditBtn,.dangerOutline,.primary{transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease!important}button:hover,.miniAction:hover,.printBtn:hover,.creditBtn:hover,.dangerOutline:hover,.primary:hover{transform:translateY(-1px)}button:active,.miniAction:active,.printBtn:active,.creditBtn:active,.dangerOutline:active,.primary:active{transform:translateY(0)}.panel,.modalBox,.tableWrap{animation:softAppear .18s ease-out}.emptyState{border:1px dashed #cbd5e1;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:18px}
@keyframes toastIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{to{opacity:0;transform:translateY(-6px) scale(.98)}}@keyframes toastTimer{from{width:100%}to{width:0}}@keyframes softAppear{from{opacity:.72;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1280px){.kpiRow,.reportCards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.kpiRow,.reportCards{grid-template-columns:1fr!important}.kpiRow .kpi,.solidCard,.reportCards .solidCard{padding-right:64px!important}.toastHost,.status{right:12px!important;top:66px!important;width:calc(100vw - 24px)!important;max-width:none!important}}

/* v3.3 ESTABILIDAD SQLITE + PRODUCTOS PRO */
.kpiRow .kpi,.solidCard,.reportCards .solidCard,.preview-card{
  padding:15px 66px 13px 16px!important;
  min-height:90px!important;
  border-radius:18px!important;
  background-image:none!important;
}
.kpiRow .kpi:before,.kpiRow .kpi:after,.solidCard:before,.solidCard:after,.reportCards .solidCard:before,.reportCards .solidCard:after,.preview-card:before,.preview-card:after{display:none!important;content:none!important;background:none!important}
.kpiIcon,.solidIcon,.reportCards .solidIcon{
  right:16px!important;top:15px!important;width:auto!important;height:auto!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;border:0!important;opacity:.9!important;
}
.kpiIcon svg,.solidIcon svg,.reportCards .solidIcon svg{width:30px!important;height:30px!important;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18))!important;stroke-width:2.15!important}
.kpi span,.solidCard span,.reportCards .solidCard span,.preview-card span{font-size:10.2px!important;letter-spacing:.10em!important;margin-bottom:5px!important}
.kpi b,.solidCard strong,.reportCards .solidCard strong,.preview-card strong{font-size:20px!important;margin-bottom:2px!important;max-width:100%!important}
.kpi small,.solidCard small,.reportCards .solidCard small,.preview-card small{font-size:10.8px!important;max-width:100%!important}
.product-editor-pro{padding:18px!important;border-radius:22px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important}
.product-editor-head{border-bottom:1px solid #edf1f6;padding-bottom:14px;margin-bottom:16px!important}.product-editor-head h2{font-size:20px}.product-editor-head small{display:block;margin-top:3px;color:#64748b;font-weight:800}.product-form{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}.product-photo-box{border:1px dashed #cbd5e1;border-radius:20px;background:#f8fafc;padding:12px;display:grid;gap:10px;align-content:start}.product-photo-box img,.photo-empty{width:100%;height:190px;border-radius:16px;object-fit:cover;background:#fff;border:1px solid #e5e7eb}.photo-empty{display:grid!important;place-items:center!important;color:#64748b;font-weight:900}.upload-btn{height:40px;border-radius:12px;background:#0f172a;color:#fff;display:grid;place-items:center;font-weight:900;cursor:pointer}.upload-btn input{display:none}.product-fields-pro{display:grid;gap:12px}.product-block{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:13px!important}.blockTitle{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#0f172a}.blockTitle svg{color:#2563eb}.blockTitle b{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.labeledGrid label{display:grid;gap:5px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:950}.labeledGrid label.span2{grid-column:1/-1}.labeledGrid input,.labeledGrid select,.labeledGrid textarea{width:100%;font-size:13px;color:#0f172a;text-transform:none;letter-spacing:0}.labeledGrid textarea{min-height:68px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;resize:vertical;outline:none}.labeledGrid textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,.12)}.product-money-row{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px}.product-price-preview{border-radius:18px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;padding:15px;display:grid;align-content:center;min-height:112px}.product-price-preview span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:950;color:rgba(255,255,255,.72)}.product-price-preview strong{font-size:24px;letter-spacing:-.04em;margin-top:3px}.product-price-preview small{color:rgba(255,255,255,.82);font-weight:800}.catalog-switches-pro{display:flex!important;gap:10px;flex-wrap:wrap;padding:4px 2px}.catalog-switches-pro .check{border:1px solid #dbeafe;background:#eff6ff;border-radius:14px;padding:10px 12px;color:#1d4ed8}.inventory-panel{margin-top:14px}.status:before{content:'i';background:#2563eb}.appToast{will-change:transform,opacity}@media(max-width:1200px){.product-form,.product-money-row{grid-template-columns:1fr}.product-photo-box img,.photo-empty{height:150px}}@media(max-width:760px){.product-form{gap:12px}.product-editor-head{align-items:flex-start;flex-direction:column}.product-editor-head .actions{width:100%;justify-content:flex-end}}

/* v3.4 Productos Pro + utilidad */
.products-page.products-pro{grid-template-columns:1fr;gap:16px}.pro-editor{position:relative!important}.pro-product-form{grid-template-columns:210px minmax(0,1fr)!important;gap:18px}.pro-photo{min-height:unset!important}.pro-fields{display:grid;gap:12px}.productGrid label{display:grid;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:950}.productGrid label span{white-space:nowrap}.productGrid input,.productGrid select{height:42px}.productGrid input,.productGrid select,.productGrid textarea{text-transform:none;letter-spacing:0;color:#0f172a;font-weight:800}.money-section{background:linear-gradient(180deg,#ffffff,#f8fbff)}.pricePreview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.pricePreview>div{border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:12px;display:grid;gap:4px;min-height:86px}.pricePreview span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#64748b;font-weight:950}.pricePreview b{font-size:18px;letter-spacing:-.035em;color:#0f172a}.pricePreview small{font-size:11px;color:#64748b;font-weight:850}.product-admin-row{grid-template-columns:minmax(360px,1fr) minmax(320px,.85fr);gap:16px}.category-create{display:flex;gap:8px;margin-bottom:10px}.category-create input{flex:1}.category-list{display:grid;gap:8px}.category-row{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:9px}.category-row span{font-weight:950;color:#0f172a}.category-row small{color:#64748b;font-weight:850}.category-row input{min-width:180px}.category-row button{height:34px;padding:0 10px}.product-help p{margin:0 0 12px;color:#475569;font-weight:750;line-height:1.45}.help-grid{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;border:1px solid #e5e7eb;border-radius:16px;padding:12px;background:#f8fafc}.help-grid span{font-size:11px;text-transform:uppercase;color:#64748b;font-weight:950}.help-grid b{color:#0f172a}.inventory-table{min-width:1120px}.inventory-table td small{display:block;margin-top:3px;color:#64748b;font-weight:800}.inventory-table td b.danger,.danger{color:#dc2626!important}.pill.ok{background:#dcfce7;color:#166534}@media(max-width:1200px){.pro-product-form,.product-admin-row{grid-template-columns:1fr!important}.pricePreview{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-photo{max-width:260px}}@media(max-width:760px){.pricePreview{grid-template-columns:1fr}.category-row{grid-template-columns:1fr 1fr}.productGrid label span{white-space:normal}}


/* v3.5 PUNTO BRANDING + MENU LIMPIO */
:root{
  --primary:#ff6a00;
  --primary2:#ea580c;
  --softPrimary:#fff3e8;
}
body,.app{background:radial-gradient(circle at top right,#fff1e6 0,#f7f8fb 32%,#f6f8fb 100%)}
.boot{font-weight:950;color:#ff6a00;background:radial-gradient(circle at center,#fff1e8 0,#fff 58%)}
.mark{background:linear-gradient(145deg,#ff7a1a,#ea580c);box-shadow:0 12px 24px rgba(249,115,22,.20)}
.brandLogo.puntoLogo{background:transparent;border:0;padding:0;border-radius:12px;object-fit:cover;box-shadow:0 10px 24px rgba(249,115,22,.14)}
.logoPreview.puntoPreview{height:86px;max-width:86px;border:0;background:transparent;padding:0;border-radius:20px;box-shadow:0 14px 32px rgba(249,115,22,.16)}
.rate-pill,.settings-menu button.active{background:#141820!important;border-color:#141820!important;color:#fff!important}
.tabs.compactTabs button.active{background:#fff4e8!important;color:#ea580c!important;box-shadow:inset 4px 0 0 #ff6a00,0 8px 20px rgba(249,115,22,.10)!important}
.tabs.compactTabs button.active svg,.sectionLabel svg,.miniAction,.creditBtn{color:#ea580c!important}
.miniAction{background:#fff7ed!important;border-color:#fed7aa!important}.primary{background:#ff6a00!important;border-color:#ff6a00!important;box-shadow:0 10px 20px rgba(249,115,22,.18)!important}.primary:hover{background:#ea580c!important;border-color:#ea580c!important}
input:focus,select:focus{border-color:#fdba74!important;box-shadow:0 0 0 4px rgba(249,115,22,.13)!important}
.cashUnified{display:grid;gap:16px}.cashUnifiedHead{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px 16px;box-shadow:var(--shadow)}.cashUnifiedHead h2{font-size:19px}.cashUnifiedHead small{display:block;margin-top:3px;color:#64748b;font-weight:800}.cashSubTabs{display:flex;gap:8px;flex-wrap:wrap}.cashSubTabs button{height:42px;border-radius:13px}.cashSubTabs button.active{background:#141820;color:#fff;border-color:#141820;box-shadow:0 10px 22px rgba(15,23,42,.12)}.cashSubTabs button.active svg{color:#ffb86b}.cashUnifiedBody .cash-page,.cashUnifiedBody .audit-page,.cashUnifiedBody .close-page{margin:0}.cashUnifiedBody .panel.clean-panel.emptyState{min-height:420px}.settings-menu button:nth-child(4){color:#ea580c}.settings-menu button:nth-child(5){color:#7c3aed}.settings-menu button.active:nth-child(4),.settings-menu button.active:nth-child(5){color:#fff}
@media(max-width:760px){.cashUnifiedHead{align-items:flex-start;flex-direction:column}.cashSubTabs{width:100%}.cashSubTabs button{flex:1}.brandLogo.puntoLogo{width:40px;height:40px}}

/* v3.6 Producto limpio + Inventario separado */
.products-clean{display:grid!important;gap:16px!important;grid-template-columns:1fr!important}
.products-clean .panel-head small,.products-clean .product-help{display:none!important}
.products-clean .pro-editor{padding:18px!important}
.products-clean .clean-product-form{grid-template-columns:190px minmax(0,1fr)!important;gap:16px!important}
.products-clean .compact-section{padding:12px!important;border-radius:16px!important;border:1px solid #e8edf4!important;background:#fff!important}
.products-clean .compact-section>b{display:block;margin-bottom:10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#0f172a}
.products-clean .money-input-grid{display:grid!important;grid-template-columns:repeat(4,minmax(130px,1fr))!important;gap:10px!important}
.products-clean .money-input{background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:16px!important;padding:10px!important;gap:7px!important}
.products-clean .money-input span{font-size:11px!important;color:#64748b!important;text-transform:uppercase!important;font-weight:950!important;letter-spacing:.07em!important}
.products-clean .money-input input{height:52px!important;border:0!important;background:transparent!important;padding:0!important;font-size:27px!important;font-weight:950!important;letter-spacing:-.04em!important;box-shadow:none!important;color:#0f172a!important}
.products-clean .money-input.sale-price{border-color:rgba(255,107,26,.35)!important;background:rgba(255,107,26,.07)!important}
.products-clean .money-input.sale-price input{color:#f97316!important}
.number-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.number-preview>div{border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:11px 12px;min-height:74px}
.number-preview span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:950;margin-bottom:5px}
.number-preview b{display:block;font-size:18px;letter-spacing:-.035em;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.number-preview small{display:block;color:#64748b;font-weight:850;margin-top:2px}.number-preview .profit-box{border-color:rgba(22,163,74,.25);background:rgba(22,163,74,.06)}.number-preview .profit-box b{color:#16a34a}
.compact-switches{padding:0!important;margin-top:2px!important}.compact-switches .check{font-size:12px!important;background:#fff7ed!important;border:1px solid #fed7aa!important;border-radius:12px!important;padding:8px 10px!important;color:#9a3412!important}
.products-clean .categories-panel{max-width:760px}.products-clean .categories-panel .panel-head{margin-bottom:10px!important}.products-clean .category-row{grid-template-columns:minmax(0,1fr) auto auto auto!important}
.inventory-page{display:grid;gap:16px}.inventory-kpis{margin-bottom:0!important}.standalone-inventory{margin-top:0!important}.numbers-table th{text-align:left!important}.numbers-table td{padding:12px 14px!important}.num-cell b,.stock-strong b{font-size:18px!important;letter-spacing:-.03em!important;color:#0f172a!important}.sale-num b{color:#f97316!important}.profit-num b{font-size:21px!important;color:#16a34a!important}.profit-num small{color:#15803d!important;font-weight:900!important}.stock-strong b{font-size:22px!important;color:#0f172a!important}.smallBtn{height:34px!important;padding:0 11px!important;border-radius:10px!important}.stock-modal{max-width:460px}.stock-modal .totalBox{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:12px}.stock-modal .totalBox span{display:block;font-size:11px;text-transform:uppercase;color:#64748b;font-weight:950}.stock-modal .totalBox b{font-size:30px;letter-spacing:-.04em;color:#0f172a}
@media(max-width:1200px){.products-clean .clean-product-form{grid-template-columns:1fr!important}.products-clean .money-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.number-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.products-clean .pro-photo{max-width:220px}.inventory-table{min-width:1180px!important}}
@media(max-width:760px){.products-clean .money-input-grid,.number-preview{grid-template-columns:1fr!important}.products-clean .money-input input{font-size:24px!important}.products-clean .category-row{grid-template-columns:1fr 1fr!important}}


/* v3.7 FIX: cards con color siempre visible + logo Punto en arranque */
.kpiRow .kpi,
.solidCard,
.reportCards .solidCard,
.preview-card{
  background:linear-gradient(135deg,#ff7a1a,#ea580c)!important;
  color:#fff!important;
  border:0!important;
}
.kpiRow .kpi.green,.solidCard.green,.reportCards .solidCard.green,.preview-card.solid-green{background:linear-gradient(135deg,#16a34a,#047857)!important;}
.kpiRow .kpi.blue,.solidCard.blue,.reportCards .solidCard.blue,.preview-card.solid-blue{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;}
.kpiRow .kpi.orange,.solidCard.orange,.reportCards .solidCard.orange,.preview-card.solid-orange{background:linear-gradient(135deg,#ff7a1a,#ea580c)!important;}
.kpiRow .kpi.purple,.solidCard.purple,.reportCards .solidCard.purple,.preview-card.solid-purple{background:linear-gradient(135deg,#7c3aed,#4f46e5)!important;}
.kpiRow .kpi.dark,.solidCard.dark,.reportCards .solidCard.dark,.preview-card.solid-dark{background:linear-gradient(135deg,#111827,#334155)!important;}
.kpiRow .kpi:not(.green):not(.blue):not(.orange):not(.purple):not(.dark),
.solidCard:not(.green):not(.blue):not(.orange):not(.purple):not(.dark),
.reportCards .solidCard:not(.green):not(.blue):not(.orange):not(.purple):not(.dark),
.preview-card:not(.solid-green):not(.solid-blue):not(.solid-orange):not(.solid-purple):not(.solid-dark){
  background:linear-gradient(135deg,#ff7a1a,#ea580c)!important;
}
.kpiIcon,.solidIcon,.reportCards .solidIcon{
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  opacity:.95!important;
}
.kpiIcon svg,.solidIcon svg,.reportCards .solidIcon svg{color:#fff!important;filter:drop-shadow(0 8px 14px rgba(0,0,0,.16))!important;}
.kpi span,.kpi b,.kpi small,
.solidCard span,.solidCard strong,.solidCard small,
.reportCards .solidCard span,.reportCards .solidCard strong,.reportCards .solidCard small,
.preview-card span,.preview-card strong,.preview-card small{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.08)!important;}
.kpi span,.solidCard span,.reportCards .solidCard span,.preview-card span{color:rgba(255,255,255,.82)!important;}
.kpi small,.solidCard small,.reportCards .solidCard small,.preview-card small{color:rgba(255,255,255,.88)!important;}
/* Evita tarjetas grises con letra blanca en paneles normales: si no debe ser card de color, usa texto oscuro */
.cards>div:not(.preview-card):not(.solidCard){background:#fff!important;color:#0f172a!important;border:1px solid #e2e8f0!important;}
.cards>div:not(.preview-card):not(.solidCard) b,
.cards>div:not(.preview-card):not(.solidCard) strong{color:#0f172a!important;}
.cards>div:not(.preview-card):not(.solidCard) small{color:#64748b!important;}

/* v3.8: alineación final de cards + anulación gerente + animación de venta */
.kpiRow .kpi,
.solidCard,
.reportCards .solidCard,
.inventory-kpis .solidCard{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  grid-template-rows:auto auto auto!important;
  grid-template-areas:
    "label icon"
    "value icon"
    "small icon"!important;
  align-content:start!important;
  align-items:start!important;
  justify-items:start!important;
  text-align:left!important;
  padding:15px 15px 13px 16px!important;
  gap:4px 12px!important;
  min-height:88px!important;
}
.kpiRow .kpi .kpiIcon,
.solidCard .solidIcon,
.reportCards .solidCard .solidIcon,
.inventory-kpis .solidCard .solidIcon{
  grid-area:icon!important;
  position:static!important;
  justify-self:end!important;
  align-self:start!important;
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  opacity:.96!important;
  margin:0!important;
}
.kpiRow .kpi .kpiIcon svg,
.solidCard .solidIcon svg,
.reportCards .solidCard .solidIcon svg,
.inventory-kpis .solidCard .solidIcon svg{
  width:30px!important;
  height:30px!important;
  color:#fff!important;
  filter:drop-shadow(0 8px 13px rgba(0,0,0,.16))!important;
}
.kpiRow .kpi span,
.solidCard span,
.reportCards .solidCard span,
.inventory-kpis .solidCard span{
  grid-area:label!important;
  justify-self:start!important;
  align-self:start!important;
  text-align:left!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
.kpiRow .kpi b,
.solidCard strong,
.reportCards .solidCard strong,
.inventory-kpis .solidCard strong{
  grid-area:value!important;
  justify-self:start!important;
  text-align:left!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
.kpiRow .kpi small,
.solidCard small,
.reportCards .solidCard small,
.inventory-kpis .solidCard small{
  grid-area:small!important;
  justify-self:start!important;
  text-align:left!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
.checkout-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.checkout-actions .cobrar{grid-column:1/-1!important}.managerVoid{border-color:#fecaca!important;background:#fff1f2!important;color:#be123c!important}.managerVoid svg{color:#be123c!important}
.saleSuccessOverlay{position:fixed;inset:0;z-index:11000;pointer-events:none;display:grid;place-items:center;background:rgba(15,23,42,.06);animation:successFade .28s ease-out forwards}.successCard{position:relative;width:min(320px,calc(100vw - 42px));border:1px solid rgba(22,163,74,.18);border-radius:28px;background:#fff;box-shadow:0 28px 70px rgba(15,23,42,.24);display:grid;place-items:center;text-align:center;padding:26px 20px 24px;animation:successPop 1.65s cubic-bezier(.18,1.16,.28,1) forwards}.successCheck{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#16a34a,#059669);color:#fff;font-size:42px;font-weight:950;box-shadow:0 16px 34px rgba(22,163,74,.34);animation:checkPulse .72s ease-out}.successCard b{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#64748b;margin-top:16px}.successCard strong{font-size:36px;letter-spacing:-.05em;color:#0f172a;line-height:1.05;margin-top:3px}.successCard small{font-size:13px;color:#475569;font-weight:850;margin-top:5px}.successBurst{position:fixed;inset:0;display:grid;place-items:center}.successBurst i{position:absolute;width:9px;height:9px;border-radius:99px;background:#ff6a00;animation:burst 1.1s ease-out forwards}.successBurst i:nth-child(2){background:#16a34a;transform:rotate(60deg)}.successBurst i:nth-child(3){background:#2563eb;transform:rotate(120deg)}.successBurst i:nth-child(4){background:#7c3aed;transform:rotate(180deg)}.successBurst i:nth-child(5){background:#f97316;transform:rotate(240deg)}.successBurst i:nth-child(6){background:#0f172a;transform:rotate(300deg)}
@keyframes successPop{0%{opacity:0;transform:translateY(12px) scale(.86)}16%{opacity:1;transform:translateY(0) scale(1.03)}72%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-10px) scale(.96)}}
@keyframes successFade{0%{opacity:0}14%{opacity:1}78%{opacity:1}100%{opacity:0}}
@keyframes checkPulse{0%{transform:scale(.4);opacity:0}55%{transform:scale(1.13);opacity:1}100%{transform:scale(1)}}
@keyframes burst{0%{opacity:0;transform:translate(0,0) scale(.2)}22%{opacity:1}100%{opacity:0;transform:translate(0,-150px) scale(1.15)}}

/* v3.9 ajustes: sin animación central de venta, cards limpias y gastos/trabajadores */
.saleSuccessOverlay,.successCard,.successBurst{display:none!important}
.expensesPro{display:grid;gap:16px}.expenseTabs{display:flex;gap:8px;flex-wrap:wrap}.expenseTabs button{display:inline-flex;align-items:center;gap:8px}.expenseTabs button.active{background:#111827;color:#fff;border-color:#111827}.autoBs{border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;padding:10px 12px;display:grid;gap:4px}.autoBs span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:950}.autoBs b{font-size:20px;color:#0f172a}.workerList{display:grid;gap:10px}.workerRow{display:grid;grid-template-columns:minmax(0,1fr) 110px 88px;gap:10px;align-items:center;border:1px solid #e5e7eb;border-radius:15px;background:#fbfdff;padding:12px}.workerRow b{display:block;color:#0f172a}.workerRow small{display:block;color:#64748b;font-size:12px;margin-top:3px}.workerRow strong{font-size:18px;text-align:right;color:#0f172a}.smallBtn{height:34px;padding:0 10px;border-radius:10px}
/* Mantener números completos en venta rápida */
.kpiRow .kpi b{font-size:16px!important;letter-spacing:-.04em!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:calc(100% - 46px)!important}.kpiRow .kpi{min-height:100px!important}.kpi span,.kpi small{max-width:calc(100% - 46px)!important}.reportCards .solidCard strong{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:18px!important;max-width:calc(100% - 52px)!important}
@media(max-width:760px){.workerRow{grid-template-columns:1fr}.workerRow strong{text-align:left}.kpiRow .kpi b,.reportCards .solidCard strong{white-space:normal!important;max-width:100%!important}.kpi span,.kpi small{max-width:100%!important}}

/* v4.0 Gastos ordenados + nómina */
.expenseTabs{position:sticky;top:0;z-index:3;background:rgba(244,247,251,.9);backdrop-filter:blur(8px);padding:4px 0 6px}
.expenseTabs button{border-radius:14px!important;font-weight:900!important;min-height:38px!important}
.expenseForm .moneyInput,.moneyInput{font-size:22px!important;font-weight:950!important;color:#0f172a!important;letter-spacing:-.02em!important}
.formSplit{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.categoryList{display:grid;gap:10px;max-height:420px;overflow:auto}
.categoryRow{display:grid;grid-template-columns:minmax(0,1fr) 140px 92px;gap:10px;align-items:center;border:1px solid #e5e7eb;border-radius:15px;background:#fbfdff;padding:12px}
.categoryRow b{font-size:14px;color:#0f172a}.categoryRow small{font-size:11px;color:#64748b;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.categoryRow button{height:34px;padding:0 10px;border-radius:10px;font-size:12px}
.workerRow.payrollWorker{grid-template-columns:minmax(0,1fr) 110px 78px 42px}.ghostIcon{width:36px;height:34px;display:grid;place-items:center;padding:0;border-radius:10px;background:#fff;color:#64748b;border:1px solid #e5e7eb}.ghostIcon:hover{color:#dc2626;border-color:#fecaca;background:#fff7f7}.emptyLine{padding:18px;text-align:center}
@media(max-width:760px){.formSplit,.categoryRow,.workerRow.payrollWorker{grid-template-columns:1fr}.categoryRow button{width:100%}}

/* v4.1 Telegram dentro de configuración */
.telegramSettings .form{gap:10px}
.telegramActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.telegramActions button{min-height:38px}
.telegramHelp{align-items:flex-start;text-align:left}
.telegramCommands{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.14);width:100%}
.telegramCommands small{font-weight:800;color:rgba(255,255,255,.94);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* v4.3 Fiado + Proveedores + Etiquetas */
.credits-page,.labels-page{display:grid;gap:16px}.suppliers-page .span2{grid-column:1/-1}.solidCardGrid.mini{grid-template-columns:repeat(2,minmax(180px,1fr));margin:12px 0}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-weight:800;font-size:11px;text-transform:uppercase}.pill.ok{background:#dcfce7;color:#166534}.pill.warn{background:#fff7ed;color:#9a3412}.miniQty{width:76px}.creditBtn.active{background:#fff7ed!important;border-color:#fb923c!important;color:#9a3412!important;box-shadow:0 0 0 3px rgba(249,115,22,.12)}.labels-page .clean-table input[type="checkbox"]{width:18px;height:18px;accent-color:#ff6a00}.suppliers-page .form input,.suppliers-page .form select{min-height:42px}.credits-page .reportCards,.suppliers-page .reportCards{margin-top:14px}.numbers-table td small{display:block;color:#64748b;font-size:11px;margin-top:3px}.numbers-table td b{font-size:14px}.profit-num b{color:#15803d}.tableWrap .muted{text-align:center;padding:22px}.actions .miniQty{border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:#fff}.credits-page h2,.suppliers-page h2,.labels-page h2{margin:0}

/* v4.5 Imágenes de producto + catálogo visual */
.imageTools{position:relative;width:100%;display:grid;gap:8px}.imageSearchBtn{width:100%;justify-content:center;border-style:dashed!important;background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important}.imageSearchPanel{position:absolute;left:0;right:0;top:44px;z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.18);padding:14px;display:grid;gap:10px;text-align:left}.imageSearchHead{display:flex;align-items:center;justify-content:space-between}.imageSearchHead b{font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:#0f172a}.imageSearchHead button{width:34px;height:34px;padding:0;display:grid;place-items:center}.imageSearchPanel label{display:grid;gap:6px}.imageSearchPanel label span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:950}.imageSearchPanel input{min-height:38px;border:1px solid #e5e7eb;border-radius:12px;padding:0 10px;font-weight:800}.googleImageLink{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:12px;background:#111827;color:#fff;text-decoration:none;font-weight:950}.remotePreview{border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;display:grid;place-items:center;padding:10px;gap:5px}.remotePreview img{max-width:120px;max-height:92px;object-fit:contain}.imageSearchActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.withThumb{display:flex!important;align-items:center;gap:10px}.miniThumb{width:34px;height:34px;border-radius:10px;object-fit:cover;background:#fff;border:1px solid #e5e7eb;flex:0 0 auto}.miniThumb.ghost{display:grid;place-items:center;color:#94a3b8;background:#f8fafc}.product-photo-box img{object-fit:contain;background:#fff}.catalog-switches{align-items:center}.catalog-switches:after{content:'Imagen usada en catálogo Telegram si el producto está publicado';display:block;grid-column:1/-1;font-size:11px;color:#64748b;font-weight:800;margin-top:2px}
@media(max-width:760px){.imageSearchPanel{position:fixed;left:16px;right:16px;top:90px}.imageSearchActions{grid-template-columns:1fr}}


/* v4.6 Imagen online visible + proveedores ancho */
.photo-actions-row{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}
.photo-actions-row .upload-btn,.photo-actions-row .imageTools>.imageSearchBtn{min-height:42px;width:100%;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;border-radius:13px;font-weight:950;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.photo-actions-row .upload-btn{background:#111827!important;color:#fff!important;border:1px solid #111827!important;cursor:pointer}
.photo-actions-row .upload-btn input{display:none}
.photo-actions-row .imageTools{display:block;position:relative;width:100%}
.photo-actions-row .imageSearchBtn{background:#fff7ed!important;color:#9a3412!important;border:1px dashed #fb923c!important}
.photo-actions-row .imageSearchPanel{top:50px;min-width:390px}
.suppliers-page.grid.two{grid-template-columns:1fr!important}
.suppliers-page .panel{min-width:0}
.suppliers-page .solidCardGrid.mini{grid-template-columns:repeat(2,minmax(260px,1fr))!important;gap:12px;margin:14px 0 16px}
.suppliers-page .solidCard{min-height:112px!important;padding:18px 72px 16px 18px!important}
.suppliers-page .solidCard span,.suppliers-page .solidCard strong,.suppliers-page .solidCard small{max-width:100%!important;text-align:left!important}
.suppliers-page .solidCard strong{font-size:26px!important;line-height:1.05!important;letter-spacing:-.04em!important}
.suppliers-page .solidIcon{right:18px!important;top:18px!important}
.suppliers-page .form{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;gap:10px}
.suppliers-page .form label,.suppliers-page .form button{grid-column:1/-1}
@media(max-width:760px){.photo-actions-row,.suppliers-page .solidCardGrid.mini,.suppliers-page .form{grid-template-columns:1fr!important}.photo-actions-row .imageSearchPanel{position:fixed;left:16px;right:16px;top:90px;min-width:0}}

/* v4.7 - Selector de imagen tipo Google, liviano */
.googleMark{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 45%,#fbbc05 0 65%,#ea4335 0 85%,#4285f4 0);color:#fff;font-weight:1000;font-family:Arial,sans-serif;box-shadow:0 6px 14px rgba(15,23,42,.12);flex:0 0 auto}.googleMark i{font-style:normal;background:#fff;border-radius:50%;width:15px;height:15px;display:grid;place-items:center;font-size:11px;color:#1d4ed8;line-height:1}.photo-actions-row .googleImageBtn{min-height:42px;width:100%;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;border-radius:13px;font-weight:950;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border:1px solid #e5e7eb!important;background:#fff!important;color:#0f172a!important;box-shadow:0 10px 24px rgba(15,23,42,.07)}.photo-actions-row .googleImageBtn:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(15,23,42,.1);border-color:#fb923c!important}.googlePickerPanel{min-width:560px;max-width:660px;padding:16px!important}.googleSearchLine{display:grid;grid-template-columns:1fr auto;gap:8px}.googleSearchLine input{min-height:42px;border:1px solid #e5e7eb;border-radius:13px;padding:0 12px;font-weight:850}.imageLoading,.emptyImages{min-height:160px;border:1px dashed #e5e7eb;border-radius:16px;background:#f8fafc;display:grid;place-items:center;text-align:center;color:#64748b;padding:18px}.imageLoading span{width:34px;height:34px;border-radius:50%;border:3px solid #fed7aa;border-top-color:#f97316;animation:spinFast .8s linear infinite}.imageLoading b,.emptyImages b{color:#111827}.emptyImages small{display:block;margin-top:5px}.imagePickerGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-height:360px;overflow:auto;padding:3px}.imagePickCard{position:relative;border:1px solid #e5e7eb;background:#fff;border-radius:16px;min-height:126px;padding:8px;display:grid;place-items:center;overflow:hidden;box-shadow:0 8px 20px rgba(15,23,42,.06)}.imagePickCard:hover{transform:translateY(-2px);border-color:#fb923c;box-shadow:0 18px 40px rgba(15,23,42,.14)}.imagePickCard img{width:100%;height:96px;object-fit:contain;border-radius:12px;background:#f8fafc}.imagePickCard span{position:absolute;left:8px;right:8px;bottom:8px;min-height:26px;border-radius:10px;background:rgba(15,23,42,.88);color:#fff;font-size:10px;font-weight:950;display:grid;place-items:center;opacity:0;transition:.16s ease}.imagePickCard:hover span{opacity:1}.googlePickerPanel .imageSearchActions{grid-template-columns:1fr auto;align-items:center}.googlePickerPanel .googleImageLink{background:#111827;color:#fff;gap:8px}.sourceNote{font-size:11px;font-weight:900;color:#64748b;white-space:nowrap}@keyframes spinFast{to{transform:rotate(360deg)}}@media(max-width:760px){.googlePickerPanel{position:fixed!important;left:14px!important;right:14px!important;top:84px!important;min-width:0!important;max-height:80vh;overflow:auto}.imagePickerGrid{grid-template-columns:repeat(2,1fr)}.googleSearchLine{grid-template-columns:1fr}.googlePickerPanel .imageSearchActions{grid-template-columns:1fr}.sourceNote{text-align:center}}

/* v4.8 - Imagen Google: botones sin desborde y selector interno más limpio */
.product-photo-box .photo-actions-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
}
.product-photo-box .photo-actions-row>*{min-width:0!important;width:100%!important;}
.photo-actions-row .upload-btn,
.photo-actions-row .googleImageBtn{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:0 10px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  border-radius:14px!important;
}
.googleImageTools{position:static!important;display:block!important;width:100%!important;}
.googleImageBtn .googleMark{flex:0 0 auto!important;}
.googlePickerPanel{
  position:fixed!important;
  left:50%!important;
  top:76px!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(760px,calc(100vw - 36px))!important;
  min-width:0!important;
  max-width:760px!important;
  max-height:calc(100vh - 104px)!important;
  overflow:auto!important;
  z-index:9999!important;
  border-radius:22px!important;
  box-shadow:0 30px 90px rgba(15,23,42,.26)!important;
}
.googlePickerPanel:before{
  content:'';
  position:fixed;
  inset:0;
  transform:translateX(50%);
  pointer-events:none;
}
.googleSearchLine{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;}
.googleSearchLine input{min-width:0!important;}
.imagePickerGrid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important;gap:12px!important;}
.imagePickCard{min-width:0!important;}
.imagePickCard img{object-fit:cover!important;background:#f8fafc!important;}
.imageSearchActions{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;}
.googleImageLink{min-width:0!important;white-space:nowrap!important;}
@media(max-width:760px){
  .product-photo-box .photo-actions-row{grid-template-columns:1fr!important;}
  .googlePickerPanel{top:64px!important;width:calc(100vw - 24px)!important;max-height:calc(100vh - 82px)!important;}
  .googleSearchLine,.imageSearchActions{grid-template-columns:1fr!important;}
  .sourceNote{text-align:center!important;white-space:normal!important;}
}

/* v4.9 ajuste venta actual */
.cartHeader .ghostBtn{
  background:linear-gradient(135deg,#ffedd5,#fed7aa)!important;
  border-color:#fb923c!important;
  color:#c2410c!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(249,115,22,.16)!important;
}
.cartHeader .ghostBtn svg{color:#ea580c!important}
.cartHeader .ghostBtn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(249,115,22,.22)!important}
.checkout-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.checkout-actions .cobrar{grid-column:1/-1!important}


/* v5.0 - miniaturas visibles en Inventario */
.inventoryProductCell{min-width:260px;display:flex!important;align-items:center;gap:12px}
.inventoryProductCell>div{min-width:0;display:grid;gap:2px}
.inventoryProductCell b{display:block;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inventoryThumb{width:46px;height:46px;border-radius:13px;object-fit:cover;background:#fff;border:1px solid #e5e7eb;box-shadow:0 8px 18px rgba(15,23,42,.08);flex:0 0 46px}
.inventoryThumb.ghost{display:grid;place-items:center;background:#fff7ed;color:#f97316;border-color:#fed7aa;box-shadow:none}
.inventory-table th:nth-child(2),.inventory-table td:nth-child(2){min-width:280px}
@media(max-width:760px){.inventoryProductCell b{max-width:170px}.inventoryThumb{width:42px;height:42px;flex-basis:42px}}

/* v5.2: miniaturas reales en inventario + búsqueda de clientes */
.inventoryProductCell.withThumb{display:flex!important;align-items:center;gap:12px;min-width:250px}.inventoryProductCell>div{min-width:0}.inventoryProductCell b{display:block;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventoryProductCell small{display:block;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b}.productThumbImg{display:block!important}.inventoryThumb,.miniThumb{object-fit:cover;overflow:hidden}.inventoryThumb.ghost,.miniThumb.ghost{display:grid!important;place-items:center}.productThumbFallback svg{opacity:.95}.clientes-list-panel{min-width:0}.clientHead{align-items:flex-start;gap:12px}.clientActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.clientSearchBox{height:38px;min-width:300px;max-width:420px;flex:1;display:flex;align-items:center;gap:8px;border:1px solid #dbe3ef;background:#fff;border-radius:14px;padding:0 10px;box-shadow:0 8px 20px rgba(15,23,42,.04)}.clientSearchBox svg{color:#f97316;flex:0 0 auto}.clientSearchBox input{border:0!important;outline:0!important;height:34px;min-width:180px;flex:1;background:transparent!important;font-weight:850}.clientSearchBox button{width:28px;height:28px;padding:0;border-radius:9px}.clientCounter{display:inline-flex;align-items:center;gap:5px;margin:-3px 0 10px;color:#64748b;font-size:12px;font-weight:900}.clientCounter b{color:#f97316;font-size:18px}.emptyInline{height:90px;display:grid;place-items:center;gap:6px;color:#64748b;font-weight:900}.emptyInline svg{color:#f97316}@media(max-width:900px){.clientActions{width:100%;justify-content:stretch}.clientSearchBox{min-width:100%;max-width:100%}}

/* v5.4 Catalogo Pro */
.catalogProPage{display:flex;flex-direction:column;gap:16px}.catalogHero{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(135deg,#ff6a00,#ff8b2b);color:white;border:0}.catalogHero h2{margin:4px 0 6px;font-size:26px}.catalogHero p{margin:0;opacity:.92;max-width:680px}.eyebrow{font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:11px;opacity:.85}.catalogTabs,.expenseTabs{display:flex;gap:10px;flex-wrap:wrap}.catalogTabs button,.expenseTabs button{display:inline-flex;align-items:center;gap:8px;border:1px solid #e6e9f0;background:#fff;border-radius:14px;padding:10px 14px;font-weight:800;color:#334155}.catalogTabs button.active,.expenseTabs button.active{background:#111827;color:#fff;border-color:#111827;box-shadow:0 10px 26px rgba(0,0,0,.12)}.catalogProductList{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto;padding-right:4px}.catalogProductRow{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;border:1px solid #edf0f6;background:#fff;border-radius:16px;padding:10px}.catalogProductRow b{display:block}.catalogProductRow small{display:block;color:#667085;margin-top:3px}.catalogThumb{width:46px;height:46px;border-radius:12px;object-fit:cover;background:#fff2e8;color:#ff6a00;display:grid;place-items:center}.phoneMock{max-width:330px;margin:auto;background:#f4f6fb;border:10px solid #111827;border-radius:34px;padding:12px;box-shadow:0 20px 60px rgba(0,0,0,.18)}.phoneTop{background:#ff6a00;color:#fff;font-weight:900;border-radius:18px;padding:11px;text-align:center}.botBubble{background:#fff;border-radius:16px;padding:12px;margin:12px 0;box-shadow:0 8px 20px #0001}.botButtons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:8px}.botButtons span{background:#fff;color:#ff6a00;border:1px solid #ffd9bd;border-radius:12px;padding:8px;text-align:center;font-size:12px;font-weight:900}.botProduct{display:grid;grid-template-columns:40px 1fr;gap:8px;background:#fff;border-radius:14px;padding:8px;margin-top:8px}.botProductImg{width:40px;height:40px;border-radius:10px;object-fit:cover;background:#fff4ec;color:#ff6a00;display:grid;place-items:center}.catalogTextArea{width:100%;min-height:430px;border:1px solid #e6e9f0;border-radius:18px;padding:14px;font-family:ui-monospace,Consolas,monospace;line-height:1.5;resize:vertical;background:#fbfcff}.catalogPreview{display:flex;flex-direction:column;gap:18px}.catalogCategory h3{margin:0 0 10px}.catalogCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.catalogCard{background:#fff;border:1px solid #edf0f6;border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:5px;box-shadow:0 8px 24px rgba(17,24,39,.05)}.catalogCardImg{width:100%;height:96px;border-radius:14px;object-fit:cover;background:#fff4ec;color:#ff6a00;display:grid;place-items:center}.catalogCard b{font-size:14px;min-height:34px}.catalogCard small{color:#667085}.catalogCard strong{font-size:20px;color:#111827}.catalogCard span{color:#ff6a00;font-weight:900}.catalogPrintGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.catalogPrintItem{display:grid;grid-template-columns:76px 1fr;gap:10px;border:1px solid #ddd;border-radius:14px;padding:10px;break-inside:avoid}.catalogPrintItem img,.catalogPrintItem .noimg{width:76px;height:76px;border-radius:10px;object-fit:cover;background:#fff1e8;color:#ff6a00;display:grid;place-items:center;font-weight:900}.catalogPrintItem b,.catalogPrintItem strong,.catalogPrintItem span,.catalogPrintItem small{display:block}.storePreview{overflow:hidden}.metricGrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1000px){.metricGrid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogHero{flex-direction:column;align-items:flex-start}.catalogPrintGrid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.catalogCards,.catalogPrintGrid{grid-template-columns:1fr}.catalogProductRow{grid-template-columns:42px 1fr}.catalogProductRow button{grid-column:1/-1}.phoneMock{max-width:100%}}

/* v6.1 Restaurante / Mesas */
.restaurantGrid{display:grid;grid-template-columns:1.05fr 1.45fr 1.1fr;gap:18px;align-items:start}
.restaurantTables,.restaurantOrder,.restaurantProducts{min-height:420px}
.inlineCreate{display:flex;gap:10px;margin:14px 0 16px}.inlineCreate input{flex:1}.inlineCreate button{white-space:nowrap}
.tableCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tableCard{border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px;text-align:left;display:grid;gap:5px;min-height:116px;box-shadow:0 10px 28px rgba(15,23,42,.06);transition:.18s ease;position:relative;overflow:hidden}.tableCard:before{content:'';position:absolute;right:-24px;top:-24px;width:86px;height:86px;border-radius:999px;background:rgba(255,106,0,.08)}.tableCard:hover{transform:translateY(-2px);border-color:rgba(255,106,0,.35)}.tableCard.active{border-color:var(--brand,#ff6a00);box-shadow:0 16px 36px rgba(255,106,0,.16)}.tableCard b{font-size:18px;color:#111827}.tableCard span{font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#64748b}.tableCard strong{font-size:22px;color:#111827}.tableCard.ocupada span,.tableCard.pendiente span{color:#dc2626}.tableCard.libre span{color:#16a34a}.tableCard.reservada span{color:#2563eb}
.restaurantTotals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.restaurantTotals>div{border-radius:18px;background:linear-gradient(135deg,#111827,#1f2937);color:#fff;padding:16px;display:grid;gap:4px}.restaurantTotals span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;opacity:.76}.restaurantTotals b{font-size:25px}.restaurantTotals small{opacity:.78}.qtySmall{width:70px;text-align:center;font-weight:900}.restaurantActions{margin-top:14px}.restaurantProductList{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}.restaurantProductList button{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;padding:10px;transition:.16s ease}.restaurantProductList button:hover{border-color:rgba(255,106,0,.36);transform:translateY(-1px)}.restaurantProductList b{display:block;color:#111827}.restaurantProductList small{display:block;color:#64748b}.restaurantProductList strong{font-size:15px;color:#111827}.restaurantProductList .miniThumb{width:42px;height:42px;border-radius:12px;object-fit:cover;background:#fff3e8;color:var(--brand,#ff6a00);display:grid;place-items:center}
@media(max-width:1180px){.restaurantGrid{grid-template-columns:1fr}.tableCards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.tableCards{grid-template-columns:repeat(2,minmax(0,1fr))}.inlineCreate{flex-direction:column}.restaurantTotals{grid-template-columns:1fr}}

/* v6.2 Restaurante más cómodo */
.restaurantGridPro{grid-template-columns:1fr 1.25fr 1.35fr;gap:18px}
.restaurantProducts .panel-head{gap:12px;align-items:flex-start}
.restaurantProductList.proList{max-height:610px;display:grid;grid-template-columns:1fr;gap:8px;overflow:auto;padding:2px 6px 2px 0}
.restaurantProductList.proList button{grid-template-columns:54px minmax(0,1fr) auto auto;gap:12px;padding:12px 14px;border-radius:16px;min-height:72px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.045)}
.restaurantProductList.proList button:hover{box-shadow:0 12px 26px rgba(255,106,0,.12)}
.restaurantProductList.proList .miniThumb{width:54px;height:54px;border-radius:14px}
.restaurantProductList.proList b{font-size:14px;line-height:1.15;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.restaurantProductList.proList small{font-size:11px;margin-top:5px}
.restaurantProductList.proList strong{font-size:16px;min-width:76px;text-align:right;color:#111827}
.restaurantProductList.proList em{font-style:normal;border-radius:999px;background:rgba(255,106,0,.09);color:var(--brand,#ff6a00);padding:7px 10px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.tipBox{display:grid;grid-template-columns:1fr 116px auto;gap:10px;align-items:center;margin:10px 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fff7ed}
.tipBox label{display:flex;align-items:center;gap:8px;font-weight:900;color:#111827}.tipBox input[type="checkbox"]{width:18px;height:18px;accent-color:var(--brand,#ff6a00)}.tipBox>div{display:flex;align-items:center;gap:6px}.tipBox input[type="number"]{width:78px;text-align:center;font-weight:900}.tipBox strong{font-size:17px;color:#111827;text-align:right}
@media(max-width:1260px){.restaurantGridPro{grid-template-columns:1fr}.restaurantProductList.proList{max-height:420px}.restaurantProductList.proList button{grid-template-columns:54px 1fr auto auto}}
@media(max-width:720px){.restaurantProductList.proList button{grid-template-columns:46px 1fr auto}.restaurantProductList.proList em{display:none}.tipBox{grid-template-columns:1fr}.tipBox strong{text-align:left}.restaurantProductList.proList .miniThumb{width:46px;height:46px}}

/* v6.4 Restaurante: lista cómoda de productos y menú con icono acorde */
.restaurantGridPro{grid-template-columns:minmax(280px,340px) minmax(420px,1fr) minmax(420px,560px);align-items:start}
.restaurantProducts{min-width:0}.restaurantProducts .panel-head{gap:12px}.restaurantProducts .searchbar{margin:10px 0 14px}.restaurantProducts .searchbar input{height:48px;font-size:14px}
.restaurantProductList.proList{max-height:calc(100vh - 310px);min-height:360px;display:flex;flex-direction:column;gap:12px;overflow:auto;padding:4px 8px 4px 2px}
.restaurantProductList.proList button{width:100%;display:grid;grid-template-columns:64px minmax(0,1fr) 92px 92px;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 10px 22px rgba(15,23,42,.055);min-height:86px}
.restaurantProductList.proList button:hover{border-color:rgba(255,106,0,.42);box-shadow:0 16px 34px rgba(255,106,0,.14);transform:translateY(-1px)}
.restaurantProductList.proList .miniThumb{width:64px;height:64px;border-radius:16px;object-fit:cover;background:#fff3e8;color:var(--brand,#ff6a00);font-size:20px}
.restaurantProductList.proList b{font-size:15px;line-height:1.2;color:#111827;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.restaurantProductList.proList small{font-size:12px;margin-top:6px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.restaurantProductList.proList strong{font-size:17px;min-width:86px;text-align:right;color:#111827;font-weight:950}
.restaurantProductList.proList em{justify-self:end;font-style:normal;border-radius:999px;background:var(--brand,#ff6a00);color:#fff;padding:10px 13px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 8px 18px rgba(255,106,0,.22)}
@media(max-width:1320px){.restaurantGridPro{grid-template-columns:1fr}.restaurantProductList.proList{max-height:430px;min-height:260px}.restaurantProductList.proList button{grid-template-columns:60px minmax(0,1fr) 90px 86px}}
@media(max-width:720px){.restaurantProductList.proList button{grid-template-columns:52px minmax(0,1fr) auto}.restaurantProductList.proList em{display:none}.restaurantProductList.proList .miniThumb{width:52px;height:52px}}

/* Caja apertura tipo toggle */
.cashToggleBox,.cashOpenIntro{display:flex;align-items:center;gap:14px;padding:14px;border-radius:18px;background:#fff7ed;border:1px solid #fed7aa}
.cashToggleBox b,.cashOpenIntro b{display:block;font-size:16px;color:#111827}
.cashToggleBox span,.cashOpenIntro small{display:block;color:#64748b;font-weight:700;margin-top:2px}
.cashToggleVisual{width:62px;height:34px;border-radius:999px;background:#e5e7eb;position:relative;box-shadow:inset 0 2px 8px #0001;flex:0 0 auto}
.cashToggleVisual span{position:absolute;width:28px;height:28px;border-radius:50%;background:white;left:3px;top:3px;box-shadow:0 4px 12px #0002;transition:.18s ease}
.cashToggleVisual.on{background:#16a34a}
.cashToggleVisual.on span{left:31px}
.cashOpenBox{display:grid;gap:14px}
.cashOpenForm{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
.cashOpenForm .toggleOpenBtn{grid-column:1/-1}
.toggleOpenBtn{border:0;border-radius:14px;padding:12px 16px;background:#ff6a00;color:white;font-weight:900;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 12px 24px rgba(255,106,0,.22)}
.toggleOpenBtn:hover{transform:translateY(-1px)}
.toggleMini{width:38px;height:22px;border-radius:999px;background:#ffffff44;display:inline-flex;align-items:center;padding:2px}
.toggleMini i{width:18px;height:18px;background:white;border-radius:50%;display:block;transform:translateX(14px)}
@media(max-width:720px){.cashOpenForm{grid-template-columns:1fr}}

/* v7.0: panel de afiliados dentro de Configuración */
.settings-affiliates{display:block;margin-top:4px;}
.settings-affiliates .affiliates-page{display:grid!important;gap:16px!important;}
.settings-affiliates .panel{box-shadow:none;border:1px solid var(--line);}
.settings-affiliates .report-hero{background:linear-gradient(180deg,#fff,#fff7ed);}
.settings-affiliates .panel-head h2{font-size:20px!important;}
.settings-affiliates .panel-head h2:after{content:none!important;}
.settings-affiliates .form{max-width:none;}
.settings-affiliates .reportCards{grid-template-columns:repeat(4,minmax(150px,1fr))!important;}
@media(max-width:1120px){.settings-affiliates .reportCards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.settings-affiliates .reportCards{grid-template-columns:1fr!important}}


/* v7.1 Afiliados compacto dentro de Configuración */
.settings-affiliates{min-width:0;overflow:hidden;}
.settings-affiliates .affiliates-page{gap:12px!important;min-width:0;}
.settings-affiliates .panel{padding:12px!important;border-radius:16px!important;min-width:0;overflow:hidden;}
.settings-affiliates .report-hero{padding:12px!important;}
.settings-affiliates .panel-head{align-items:flex-start!important;gap:10px!important;margin-bottom:10px!important;flex-wrap:wrap;}
.settings-affiliates .panel-head h2{font-size:17px!important;line-height:1.1!important;}
.settings-affiliates .panel-head small{font-size:11px!important;line-height:1.25!important;}
.settings-affiliates .actions{gap:6px!important;flex-wrap:wrap!important;}
.settings-affiliates .actions button,
.settings-affiliates button{height:34px!important;min-height:34px!important;padding:0 10px!important;border-radius:10px!important;font-size:12px!important;white-space:nowrap;}
.settings-affiliates .reportCards{gap:10px!important;grid-template-columns:repeat(4,minmax(132px,1fr))!important;}
.settings-affiliates .solidCard{min-height:104px!important;padding:13px!important;border-radius:17px!important;}
.settings-affiliates .solidCard .solidIcon{right:12px!important;top:12px!important;width:34px!important;height:34px!important;}
.settings-affiliates .solidCard span{font-size:10px!important;padding-right:42px!important;}
.settings-affiliates .solidCard strong{font-size:21px!important;line-height:1.05!important;padding-right:42px!important;}
.settings-affiliates .solidCard small{font-size:10px!important;line-height:1.2!important;}
.settings-affiliates .grid.two{grid-template-columns:repeat(2,minmax(260px,1fr))!important;gap:12px!important;}
.settings-affiliates .miniGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
.settings-affiliates .form{gap:8px!important;max-width:none!important;}
.settings-affiliates .form label{font-size:10px!important;margin:0!important;letter-spacing:.06em!important;}
.settings-affiliates input,
.settings-affiliates select,
.settings-affiliates textarea{height:36px!important;min-height:36px!important;padding:8px 10px!important;border-radius:10px!important;font-size:12px!important;min-width:0!important;width:100%!important;}
.settings-affiliates .tableWrap{overflow:auto!important;max-width:100%;border-radius:14px;}
.settings-affiliates table{min-width:820px!important;}
.settings-affiliates .clean-table th,
.settings-affiliates .clean-table td{padding:8px 9px!important;font-size:12px!important;vertical-align:middle!important;}
.settings-affiliates .clean-table td small{font-size:10px!important;}
.settings-affiliates td.actions{display:flex!important;gap:6px!important;justify-content:flex-end!important;min-width:150px!important;}
.settings-affiliates .pill{height:24px!important;font-size:10px!important;padding:0 8px!important;}
@media(max-width:1180px){.settings-affiliates .reportCards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.settings-affiliates .grid.two{grid-template-columns:1fr!important}}
@media(max-width:720px){.settings-affiliates .reportCards{grid-template-columns:1fr!important}.settings-affiliates .miniGrid{grid-template-columns:1fr!important}.settings-affiliates .panel-head .actions{width:100%;justify-content:flex-start}.settings-affiliates .actions button{flex:1 1 auto}}

/* v7.2 logo placeholder fix */
.logoSlot{width:46px;height:46px;border:1px dashed #cbd5e1;background:#fff;border-radius:14px;display:grid;place-items:center;cursor:pointer;padding:0;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease, background-color .15s ease;overflow:hidden;flex:0 0 auto}
.logoSlot:hover{transform:translateY(-1px);border-color:var(--brand);box-shadow:0 10px 22px rgba(249,115,22,.14);background:#fff7ed}
.logoSlot.hasLogo{border-style:solid;border-color:var(--line);background:#fff}
.logoSlot .brandLogo{width:100%;height:100%;object-fit:contain;border:0;background:transparent;padding:5px;border-radius:12px;box-shadow:none}
.noLogoMark{width:28px;height:28px;border-radius:10px;background:#fff7ed;color:var(--brand);display:grid;place-items:center}
.emptyLogoPreview{height:92px;max-width:180px;border:1px dashed #cbd5e1;border-radius:18px;background:#fff7ed;color:#f97316;padding:10px;display:grid!important;place-items:center;text-align:center;gap:2px;font-weight:900}
.emptyLogoPreview span{font-size:12px;color:#0f172a}.emptyLogoPreview small{font-size:11px;color:#64748b}.logoPreview{object-fit:contain}
@media(max-width:760px){.logoSlot{width:40px;height:40px}.noLogoMark{width:26px;height:26px}}


/* Catálogo: planes comerciales */
.catalogPlansPanel{display:grid;gap:16px}
.planHero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff7ed,#ffffff)!important;border:1px solid #fed7aa!important}
.planHero h2{margin:6px 0 8px;font-size:28px;letter-spacing:-.03em}
.planHero p{margin:0;color:#475569;max-width:760px;line-height:1.5}
.planEyebrow{display:inline-flex;align-items:center;border-radius:999px;background:#ffedd5;color:#9a3412;font-weight:900;font-size:12px;padding:7px 10px;text-transform:uppercase;letter-spacing:.08em}
.planPriceBubble{min-width:142px;border-radius:24px;background:#111827;color:white;padding:18px;text-align:center;box-shadow:0 18px 38px #1118272e}
.planPriceBubble small,.planPriceBubble span{display:block;color:#cbd5e1;font-weight:800}
.planPriceBubble strong{display:block;font-size:34px;line-height:1;margin:5px 0;color:#fff}
.planCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.planCard{background:#fff;border:1px solid #e5e7eb;border-radius:26px;padding:20px;box-shadow:0 14px 36px #0f172a12;position:relative;overflow:hidden}
.planCard.featured{border-color:#fdba74;box-shadow:0 18px 45px #ff6a0021}
.planCard.featured:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#ff6a00,#111827)}
.planTop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.planTop span{background:#f1f5f9;color:#475569;border-radius:999px;padding:6px 9px;font-weight:800;font-size:12px}
.planTop b{font-size:18px}
.planPrice{display:block;font-size:38px;letter-spacing:-.04em;color:#111827;margin-bottom:10px}
.planPrice small{font-size:14px;color:#64748b;margin-left:4px}
.planCard p{color:#475569;line-height:1.5;min-height:68px;margin:0 0 14px}
.planCard ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.planCard li{display:flex;align-items:center;gap:8px;color:#334155;font-weight:700}
.planFooter{margin-top:16px;border-top:1px solid #eef2f7;padding-top:12px;display:flex;justify-content:space-between;color:#64748b;font-weight:800}
.planFooter b{color:#16a34a}
.compactGuide .guideSteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.guideSteps span{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:12px;font-weight:800;color:#334155}
@media(max-width:900px){.planHero{display:block}.planPriceBubble{margin-top:14px}.planCards,.compactGuide .guideSteps{grid-template-columns:1fr}.planCard p{min-height:auto}}
.domainBuilder{display:flex;align-items:center;gap:0;border:1px solid #dbe3ee;border-radius:14px;overflow:hidden;background:#fff}
.domainBuilder span{padding:11px 12px;background:#f8fafc;color:#475569;font-weight:800;border-right:1px solid #e5e7eb;white-space:nowrap}
.domainBuilder input{border:0!important;border-radius:0!important;flex:1;min-width:120px}
textarea{resize:vertical}

.update-chip{background:#111827!important;color:#fff!important;border-color:#111827!important;font-weight:950;box-shadow:0 10px 24px rgba(15,23,42,.18)}
.affiliateHeroVisible{background:linear-gradient(135deg,#fff7ed,#ffffff 52%,#eef6ff)!important;border:1px solid #fed7aa!important;box-shadow:0 18px 44px rgba(249,115,22,.16)!important}
.affiliateAutoNotice{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;align-items:center;border:1px solid #fdba74!important;background:linear-gradient(135deg,#fffbeb,#fff7ed)!important;box-shadow:0 18px 38px rgba(249,115,22,.12)}
.affiliateAutoNotice h3{margin:6px 0 8px;font-size:22px;letter-spacing:-.03em}.affiliateAutoNotice p{margin:0;color:#475569;line-height:1.5}.noticeTag{display:inline-flex;height:28px;align-items:center;border-radius:999px;padding:0 11px;background:#f97316;color:#fff;font-weight:950;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.integrationPanel{border:1px dashed #93c5fd!important;background:linear-gradient(180deg,#eff6ff,#fff)!important}.apiBox{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 14px;border-radius:16px;background:#0f172a;color:#fff}.apiBox b{font-family:ui-monospace,Menlo,Consolas,monospace}.apiBox span{color:#cbd5e1;font-size:12px;text-align:right}@media(max-width:860px){.affiliateAutoNotice{grid-template-columns:1fr}.apiBox{align-items:flex-start;flex-direction:column}.apiBox span{text-align:left}}

/* v7.8 Afiliados automáticos */
.autoAffiliatePage .affiliateFlow{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;align-items:center;background:linear-gradient(135deg,#111827,#1f2937);color:#fff;border:0;box-shadow:0 18px 40px rgba(17,24,39,.18)}
.autoAffiliatePage .affiliateFlow h3{margin:0 0 6px;font-size:22px}.autoAffiliatePage .affiliateFlow p{margin:0;color:#d1d5db}.autoAffiliatePage .flowLine{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.autoAffiliatePage .flowLine span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:12px;font-weight:800;text-align:center}.affiliateCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.affiliateCard{background:#fff;border:1px solid #e8edf5;border-radius:22px;padding:14px;box-shadow:0 14px 34px rgba(15,23,42,.07);display:grid;gap:10px}.affiliateCard b,.affiliateCard small{display:block}.affiliateCard small{color:#64748b}.codeBox,.linkBox{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f8fafc;border:1px solid #e8edf5;border-radius:16px;padding:10px}.codeBox span{font-weight:950;letter-spacing:.08em;color:#111827}.codeBox button,.linkBox button{border:0;border-radius:12px;background:#111827;color:#fff;font-weight:900;padding:8px 10px;cursor:pointer;white-space:nowrap}.linkBox small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.affiliateNums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.affiliateNums span{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:10px;text-align:center}.affiliateNums b{font-size:18px;color:#ff5a00}.techDetails{border-style:dashed}.techDetails summary{font-weight:950;cursor:pointer;color:#334155}.noticeTag{display:inline-flex;align-items:center;width:max-content;border-radius:999px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;padding:5px 10px;font-size:12px;font-weight:950;margin-bottom:8px}
@media(max-width:900px){.autoAffiliatePage .affiliateFlow{grid-template-columns:1fr}.autoAffiliatePage .flowLine{grid-template-columns:1fr 1fr}.affiliateCards{grid-template-columns:1fr}}
.publicLinkPreview{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;margin:8px 0 12px;font-weight:900;color:#111827}
.publicLinkPreview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155}
.publicLinkPreview button{border:0;background:#111827;color:#fff;border-radius:10px;padding:8px 12px;font-weight:900;cursor:pointer}
.compactAffiliates .linkBox{display:none!important}
.affiliateSummaryPanel .affiliateCard{min-height:auto}
.emptyAffiliateState{border:1px dashed #cbd5e1;border-radius:18px;padding:18px;background:#f8fafc;color:#334155;display:grid;gap:5px;text-align:center}
.emptyAffiliateState b{font-size:15px;color:#0f172a}.emptyAffiliateState small{color:#64748b}

/* v8.4 afiliados compacto */
.affiliateCompactPage{display:flex;flex-direction:column;gap:14px}.affiliateTopCompact{padding:14px!important}.miniKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.miniKpis>div{border:1px solid #e7ebf2;background:#fff;border-radius:16px;padding:12px}.miniKpis span,.miniKpis small{display:block;color:#64748b;font-size:12px;font-weight:800}.miniKpis b{display:block;font-size:22px;color:#111827;margin-top:2px}.affiliateMainGrid{display:grid;grid-template-columns:minmax(300px,430px) 1fr;gap:14px}.affiliateFormCompact,.affiliateListCompact{min-height:0}.compactForm{gap:9px}.compactForm label{font-size:11px}.compactForm input,.compactForm textarea,.compactForm select{min-height:38px}.affiliateRows{display:grid;gap:10px}.affiliateRowCard{display:grid;grid-template-columns:minmax(180px,1.05fr) minmax(310px,1.4fr) minmax(150px,.55fr);gap:12px;align-items:center;border:1px solid #e7ebf2;background:#fff;border-radius:18px;padding:12px}.affIdentity b{display:block;color:#111827}.affIdentity small,.affPayBox small{display:block;color:#64748b;font-size:12px}.affCode{display:inline-flex;align-items:center;gap:6px;margin-top:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:5px}.affCode span{font-weight:900;color:#111827;padding:0 4px}.affCode button{border:0;background:#111827;color:white;border-radius:9px;padding:6px 9px;font-size:11px;font-weight:900;cursor:pointer}.affStats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.affStats span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:9px;text-align:center}.affStats b{display:block;font-size:15px;color:#111827}.affStats small{display:block;color:#64748b;font-size:11px;font-weight:800}.affPayBox{display:grid;gap:8px;justify-items:stretch}.affPayBox button:disabled{opacity:.45;cursor:not-allowed}.commissionHistory .clean-table td,.commissionHistory .clean-table th{padding-top:9px;padding-bottom:9px}.compactEmpty{padding:24px;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px}.compactHead h2{font-size:18px}.compactHead small{font-size:12px}@media(max-width:1100px){.affiliateMainGrid{grid-template-columns:1fr}.affiliateRowCard{grid-template-columns:1fr}.affStats{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.miniKpis{grid-template-columns:repeat(2,1fr)}.affStats{grid-template-columns:repeat(2,1fr)}.affiliateRowCard{padding:10px}.compactForm .miniGrid{grid-template-columns:1fr!important}}

/* v8.5 - Afiliados compacto y catálogo preview */
.catalogTopGrid{display:grid;grid-template-columns:1fr 180px;gap:14px;align-items:center;margin-top:14px}.catalogSearch{width:100%;border:1px solid #e5e7eb;border-radius:16px;padding:13px 14px;background:#fff}.catalogStatus{background:#111827;color:#fff;border-radius:18px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px}.catalogStatus b{font-size:24px}.catalogStatus span{font-size:12px;color:#d1d5db}.catalogTabs{display:flex;gap:8px;margin:12px 0;overflow:auto}.catalogTabs button{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer;white-space:nowrap}.catalogTabs button.active{background:#111827;color:#fff;border-color:#111827}.catalogPreviewModal{z-index:999}.catalogPreviewBox{width:min(1180px,96vw);height:min(860px,92vh);max-width:none;display:flex;flex-direction:column}.catalogPreviewBox iframe{width:100%;flex:1;border:1px solid #e5e7eb;border-radius:18px;background:#fff}.catalogSettingsHint p{margin:0;color:#64748b}.affiliatesClean{display:grid;gap:14px;min-width:0}.affiliateHeroClean{overflow:hidden}.affiliateLayoutFixed{display:grid;grid-template-columns:minmax(300px,430px) minmax(0,1fr);gap:14px;align-items:start}.affiliateFormFixed,.affiliateCardsFixed{min-width:0;overflow:hidden}.affFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.affFormGrid label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#475569;min-width:0}.affFormGrid label.full{grid-column:1/-1}.affFormGrid input{width:100%;min-width:0;border:1px solid #e5e7eb;border-radius:14px;padding:11px 12px;background:#fff;color:#111827}.affCardsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.affCard{border:1px solid #e5e7eb;background:#fff;border-radius:20px;padding:14px;box-shadow:0 12px 28px rgba(15,23,42,.06);min-width:0}.affCardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.affCardTop b,.affCardTop small{display:block}.affCardTop small{color:#64748b;font-size:12px}.affBadge{background:#111827;color:#fff;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900;white-space:nowrap}.affNumbers{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:13px 0}.affNumbers div{background:#f8fafc;border:1px solid #eef2f7;border-radius:14px;padding:8px;text-align:center;min-width:0}.affNumbers b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.affNumbers span{font-size:10px;color:#64748b}.affMeta{display:grid;gap:4px;min-height:34px}.affMeta small{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.affActions{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;margin-top:12px}.affActions button{min-width:0;border-radius:13px;padding:9px 10px;font-weight:850}.affiliateKpis{grid-template-columns:repeat(4,minmax(0,1fr))}.commissionHistory{min-width:0;overflow:hidden}@media(max-width:1050px){.affiliateLayoutFixed{grid-template-columns:1fr}.catalogTopGrid{grid-template-columns:1fr}.affiliateKpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.affFormGrid{grid-template-columns:1fr}.affCardsGrid{grid-template-columns:1fr}.affNumbers{grid-template-columns:repeat(2,1fr)}.affActions{grid-template-columns:1fr}.catalogPreviewBox{width:100vw;height:100vh;border-radius:0}.catalogTabs{padding-bottom:4px}}

/* v8.7 inventario: edición y estado */
.inventoryFilters{margin:0 0 12px;display:flex;flex-wrap:wrap;gap:8px}.inactiveRow{opacity:.62;background:#f8fafc}.rowActions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:260px}.rowActions .smallBtn{padding:8px 10px;font-size:12px;white-space:nowrap}.productEditModal{max-width:880px;width:min(96vw,880px)}.editProductGrid{display:grid;grid-template-columns:220px 1fr;gap:16px}.smallPhoto{min-height:220px}.editProductFields label{font-size:12px;font-weight:800;color:#475569}.editProductFields input,.editProductFields select{width:100%;box-sizing:border-box;margin-top:5px}.editProductFields .primary{margin-top:10px;width:100%}@media(max-width:780px){.editProductGrid{grid-template-columns:1fr}.rowActions{min-width:0}.inventory-table-wrap{overflow-x:auto}.productEditModal{width:94vw}.smallPhoto{min-height:180px}}
.fixedDomainBox{width:100%;min-height:46px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#0f172a}
.fixedDomainBox b{font-size:14px;letter-spacing:.2px}.fixedDomainBox small{color:#64748b;font-size:11px;white-space:nowrap}
@media(max-width:720px){.fixedDomainBox{align-items:flex-start;flex-direction:column;gap:2px}.fixedDomainBox small{white-space:normal}}

/* v8.9 orden visual y catálogo confiable */
.panel,.preview-card,.report-card,.kpi,.form-section,.catalogStatus,.affiliateCard,.catalogCard{
  overflow:hidden;
}
.panel-head{
  align-items:flex-start;
  flex-wrap:wrap;
}
.panel-head .actions,
.actions.wrap,
.telegramActions,
.backupActions{
  flex-wrap:wrap;
  gap:10px;
}
.actions button,
.telegramActions button,
.backupActions button,
.product-row-actions button,
.inventory-actions button{
  white-space:nowrap;
}
.form input,.form select,.form textarea,
.settings-grid input,.settings-grid select,
.catalogSearch,.miniSearch{
  max-width:100%;
}
.settings-grid,.catalogTopGrid,.affiliateCompactGrid,.affiliateCards,.catalogCards{
  min-width:0;
}
.catalog-pro-page{
  display:grid;
  gap:16px;
}
.catalogTopGrid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 170px;
  gap:12px;
  align-items:center;
}
.catalogSearch{
  width:100%;
  height:46px;
  border-radius:15px;
}
.catalogStatus{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px 14px;
  text-align:center;
}
.catalogStatus b{
  display:block;
  font-size:24px;
  letter-spacing:-.04em;
}
.catalogStatus span{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:850;
}
.catalogTabs{
  display:flex;
  gap:8px;
  overflow:auto;
  padding:3px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
}
.catalogTabs button{
  flex:0 0 auto;
  height:40px;
}
.catalogTabs button.active{
  background:#111827;
  color:#fff;
  border-color:#111827;
}
.catalogPreview{
  display:grid;
  gap:18px;
}
.catalogCategory h3{
  margin:4px 0 10px;
}
.catalogCards{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:12px;
}
.catalogCard{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:12px;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  display:flex;
  flex-direction:column;
  gap:5px;
}
.catalogCardImg{
  width:100%;
  height:126px;
  border-radius:15px;
  margin-bottom:4px;
}
.catalogCard b{
  line-height:1.2;
}
.catalogCard strong{
  font-size:18px;
  color:var(--primary);
}
.catalogCard span{
  color:#475569;
  font-size:12px;
  font-weight:800;
}
.catalogPreviewModal .catalogPreviewBox{
  width:min(1180px,96vw);
  height:min(850px,92vh);
  display:flex;
  flex-direction:column;
}
.catalogPreviewModal iframe{
  width:100%;
  flex:1;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.fixedDomainBox,.publicLinkPreview{
  min-width:0;
}
.publicLinkPreview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:15px;
  padding:10px 12px;
}
.publicLinkPreview span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:900;
}
.inventory-table-wrap{
  max-width:100%;
}
.inventory-table td:last-child{
  min-width:260px;
}
.inventory-table td:last-child .actions,
.inventory-table td:last-child{
  gap:6px;
}
.smallBtn{
  height:34px;
  padding:0 10px;
  border-radius:10px;
  font-size:12px;
}
.affiliateCompactGrid,
.affiliateCards{
  display:grid;
  gap:12px;
}
.affiliateCards{
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
}
.affiliateCard{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.affiliateCard .actions{
  margin-top:10px;
}
@media(max-width:760px){
  main{padding:12px;}
  .panel{padding:13px;border-radius:16px;}
  .panel-head{gap:10px;}
  .panel-head .actions,.actions.wrap{width:100%;}
  .panel-head .actions button,.actions.wrap button{flex:1 1 150px;}
  .catalogTopGrid{grid-template-columns:1fr;}
  .catalogCards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .catalogCardImg{height:108px;}
  .settings-grid,.miniGrid,.grid.two{grid-template-columns:1fr!important;}
  .publicLinkPreview{align-items:stretch;flex-direction:column;}
  .publicLinkPreview button{width:100%;}
  .inventory-table td:last-child{min-width:220px;}
}
@media(max-width:420px){
  .catalogCards{grid-template-columns:1fr;}
}

/* Catálogo/Pedidos */
.catalogSettingsClean .cleanCatalogForm{gap:14px}
.sectionMiniTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc}
.sectionMiniTitle b{font-size:15px;color:#111827}
.sectionMiniTitle small{color:#64748b;text-align:right;max-width:320px}
.publicSlugCard{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;padding:12px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}
.publicSlugCard .publicLinkPreview{margin:0;min-width:260px;align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:10px}
@media(max-width:850px){.publicSlugCard{grid-template-columns:1fr}.publicSlugCard .publicLinkPreview{min-width:0}.sectionMiniTitle{display:block}.sectionMiniTitle small{text-align:left;display:block;margin-top:4px}}


.catalogCompactPanel{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:16px;box-shadow:0 18px 50px rgba(15,23,42,.06);max-width:1040px}
.catalogCompactHead{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #edf2f7;padding-bottom:12px;margin-bottom:12px}
.catalogCompactHead b{display:block;font-size:16px;color:#111827}
.catalogCompactHead small{display:block;color:#64748b;margin-top:3px;font-size:12px}
.switchLine{display:flex;align-items:center;gap:9px;border:1px solid #e5e7eb;border-radius:999px;padding:8px 12px;font-weight:900;color:#111827;background:#f8fafc;white-space:nowrap}
.switchLine input{width:16px;height:16px;accent-color:#ff5a00}
.catalogCompactGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.compactField{min-width:0}
.compactField label{display:block;font-size:11px;font-weight:900;color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.compactField input{width:100%;height:42px;border:1px solid #dbe3ee;border-radius:12px;padding:0 12px;outline:none;background:#fff;font-weight:700;color:#111827}
.compactField input:focus{border-color:#ff7a1a;box-shadow:0 0 0 4px rgba(255,106,0,.10)}
.compactField.span2{grid-column:1/-1}
.slugInline{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:8px}
.slugInline input{background:#fff}
.slugInline span{font-weight:900;color:#111827;border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:11px 12px;white-space:nowrap}
.slugInline button{height:42px;border:0;border-radius:12px;background:#111827;color:#fff;font-weight:900;padding:0 16px;cursor:pointer}
.catalogOptionsCompact{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.catalogOptionsCompact label{display:flex;align-items:center;gap:7px;border:1px solid #e5e7eb;border-radius:999px;padding:9px 12px;background:#fff;font-size:12px;font-weight:900;color:#334155}
.catalogOptionsCompact input{width:15px;height:15px;accent-color:#ff5a00}
.catalogCompactActions{display:flex;justify-content:flex-end;border-top:1px solid #edf2f7;padding-top:12px}
.catalogCompactActions .primary{min-width:220px;max-width:280px;height:42px;border-radius:12px}
@media(max-width:900px){.catalogCompactGrid{grid-template-columns:1fr}.slugInline{grid-template-columns:1fr}.slugInline span{white-space:normal}.catalogCompactHead{align-items:flex-start;flex-direction:column}.catalogCompactActions .primary{width:100%;max-width:none}.catalogOptionsCompact label{flex:1 1 145px;justify-content:center}}

/* ===== Punto license activation / renewal ===== */
.licenseGate{
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:24px;
  background:radial-gradient(circle at 20% 10%,rgba(249,115,22,.18),transparent 34%),linear-gradient(135deg,#0f172a,#111827 52%,#020617);
}
.licenseCard{
  width:min(520px,100%);
  padding:28px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 34px 90px rgba(0,0,0,.35);
  display:grid;
  gap:16px;
}
.licenseBrand{display:flex;align-items:center;gap:12px}.licenseBrand img{width:46px;height:46px;object-fit:contain}.licenseBrand b{display:block;font-size:18px;color:#0f172a}.licenseBrand small{display:block;color:#64748b;font-weight:850}.licenseBadge{justify-self:start;min-height:30px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;background:#ecfdf3;color:#047857;font-weight:950;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.licenseBadge.danger{background:#fff1f2;color:#be123c}.licenseCard h1{margin:0;font-size:38px;line-height:1;letter-spacing:-.055em;color:#0f172a}.licenseCard p{margin:0;color:#475569;line-height:1.55;font-weight:750}.licenseCurrent{padding:14px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;display:grid;gap:4px}.licenseCurrent small,.licenseMachine small{color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.licenseCurrent b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#0f172a;word-break:break-word}.licenseCurrent span{color:#64748b;font-weight:800}.licenseForm{display:grid;gap:9px}.licenseForm label{font-weight:950;color:#334155}.licenseForm input{height:52px;border:1px solid #cbd5e1;border-radius:16px;padding:0 14px;font-weight:950;letter-spacing:.04em}.licenseForm button{height:52px;border:0;border-radius:16px;background:#ff6a00;color:#fff;font-weight:950;cursor:pointer}.licenseForm button:disabled{opacity:.65;cursor:not-allowed}.licenseActions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.licenseActions button{height:44px;border-radius:14px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;font-weight:950;cursor:pointer}.licenseMachine{padding:12px;border-radius:16px;background:#fff7ed;border:1px solid #fed7aa;display:grid;gap:4px}.licenseMachine b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#9a3412;word-break:break-word}.licenseMessage{padding:12px 14px;border-radius:14px;background:#eff6ff;color:#1d4ed8;font-weight:900}.licenseError{color:#be123c;font-weight:850;line-height:1.45}.licenseRenewBanner{margin:10px 16px 0;padding:12px 14px;border-radius:16px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;display:flex;align-items:center;gap:10px;box-shadow:0 10px 28px rgba(249,115,22,.1)}.licenseRenewBanner b{font-weight:950}.licenseRenewBanner span{font-weight:850;color:#c2410c}.licenseRenewBanner button{margin-left:auto;border:0;border-radius:12px;background:#ff6a00;color:#fff;height:36px;padding:0 14px;font-weight:950;cursor:pointer}@media(max-width:640px){.licenseCard{padding:22px;border-radius:24px}.licenseCard h1{font-size:32px}.licenseActions{grid-template-columns:1fr}.licenseRenewBanner{align-items:flex-start;flex-direction:column}.licenseRenewBanner button{margin-left:0;width:100%}}

/* ===== Clean license access screen ===== */
.cleanLicenseCard{
  width:min(430px,calc(100% - 28px));
  padding:28px;
  gap:18px;
  border-radius:28px;
}
.cleanLicenseBrand{
  justify-content:center;
  text-align:center;
  flex-direction:column;
  gap:10px;
}
.cleanLicenseBrand img{
  width:82px;
  height:82px;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  object-fit:contain;
}
.cleanLicenseBrand b{
  font-size:20px;
}
.cleanLicenseBrand small{
  font-size:13px;
}
.licenseHeader{
  text-align:center;
  display:grid;
  justify-items:center;
  gap:10px;
}
.cleanLicenseCard .licenseBadge{
  min-height:28px;
  padding:0 11px;
  font-size:11px;
  letter-spacing:.05em;
}
.cleanLicenseCard h1{
  font-size:34px;
  letter-spacing:-.05em;
}
.cleanLicenseCard p{
  max-width:310px;
  margin:auto;
  color:#64748b;
  font-weight:750;
}
.cleanLicenseCard .licenseForm{
  gap:10px;
}
.cleanLicenseCard .licenseForm label{
  font-size:13px;
  color:#475569;
}
.cleanLicenseCard .licenseForm input{
  height:50px;
  text-align:center;
}
.cleanLicenseCard .licenseForm button{
  height:50px;
  font-size:16px;
}
.cleanLicenseCard .licenseActions{
  grid-template-columns:1fr 1fr;
}
.cleanLicenseCard .licenseActions button:first-child{
  background:#101828;
  border-color:#101828;
  color:#fff;
}
.licenseTech{
  border:1px solid #e2e8f0;
  background:#f8fafc;
  border-radius:14px;
  padding:10px 12px;
  color:#64748b;
}
.licenseTech summary{
  cursor:pointer;
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.licenseTech div{
  margin-top:9px;
  display:grid;
  gap:3px;
}
.licenseTech small{
  color:#94a3b8;
  font-weight:900;
}
.licenseTech b{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  color:#334155;
  word-break:break-word;
}
.cleanLicenseCard .licenseCurrent{
  text-align:center;
}
.cleanLicenseCard .licenseError{
  text-align:center;
}
@media(max-width:640px){
  .cleanLicenseCard{padding:22px;}
  .cleanLicenseBrand img{width:72px;height:72px;}
  .cleanLicenseCard .licenseActions{grid-template-columns:1fr;}
}



.license-dashboard{display:grid;gap:16px;min-width:0}.licensePanelHero{background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa}.licenseStatsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.licenseStatsGrid>div,.licenseDetailList>div{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:14px;min-width:0}.licenseStatsGrid span,.licenseDetailList span{display:block;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:950}.licenseStatsGrid b,.licenseDetailList b{display:block;color:#0f172a;font-size:20px;margin-top:4px;word-break:break-word}.licenseStatsGrid small{display:block;color:#64748b;font-weight:800;margin-top:4px}.licenseDetailList{display:grid;gap:10px;margin:12px 0}.licenseBadge.warn{background:#fff7ed;color:#c2410c}.catalogCompactActions{gap:8px;flex-wrap:wrap}.catalogPreviewModal .actions{flex-wrap:wrap}@media(max-width:900px){.licenseStatsGrid{grid-template-columns:1fr}.license-dashboard .grid.two{grid-template-columns:1fr!important}}

.serviceMetaBox{margin:10px 0 12px;padding:12px;border:1px solid rgba(15,23,42,.10);border-radius:18px;background:linear-gradient(135deg,#fff7ed,#ffffff);box-shadow:0 10px 25px rgba(15,23,42,.06)}
.serviceMetaTitle{display:flex;align-items:center;gap:8px;color:#9a3412;margin-bottom:8px}
.serviceMetaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.serviceMetaGrid label{font-size:12px;color:#475569;font-weight:800;display:flex;flex-direction:column;gap:4px}
.serviceMetaGrid input,.serviceMetaGrid select{border:1px solid #e5e7eb;border-radius:12px;padding:9px 10px;background:#fff;min-width:0}
.telegramReportButtons{margin-top:12px;padding:12px;border-radius:16px;background:#f8fafc;border:1px solid #e5e7eb;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.telegramReportButtons b{width:100%;font-size:13px;color:#334155}
.telegramReportButtons button{padding:8px 10px;border-radius:12px}
@media(max-width:760px){.serviceMetaGrid{grid-template-columns:1fr}.telegramReportButtons button{flex:1 1 40%}}


.tabs button svg:has(+ *){opacity:.95}.memberships-pro{display:grid;gap:16px}.memberships-hero{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;background:linear-gradient(135deg,#fff,#f8fbff)}.memberships-hero h2{margin:0;font-size:24px;letter-spacing:-.04em}.membershipHeroIcon{width:54px;height:54px;border-radius:18px;background:#fff3e8;color:#ea580c;display:grid;place-items:center;box-shadow:0 12px 26px rgba(249,115,22,.16)}.compactKpis{margin-bottom:0}.membershipTopGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.membershipCard{min-height:100%}.panel-head.tight{margin-bottom:12px}.membershipForm{display:grid;gap:12px}.membershipDuePreview{border:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#fff);border-radius:16px;padding:12px;display:grid;gap:3px}.membershipDuePreview span,.planMiniCard span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#64748b;font-weight:950}.membershipDuePreview b{font-size:20px;color:#0f172a}.membershipLists{display:grid;grid-template-columns:410px minmax(0,1fr);gap:16px}.plansGrid{display:grid;gap:10px}.planMiniCard{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.planMiniCard b{font-size:15px;color:#0f172a}.planMiniCard small{display:block;color:#64748b;font-weight:800;margin-top:2px}.planMiniCard strong{font-size:18px;color:#0f172a}.planMiniCard em{font-style:normal;width:max-content;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:950}.planMiniCard em.ok{background:#dcfce7;color:#166534}.planMiniCard em.bad{background:#fee2e2;color:#991b1b}.miniActions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.miniActions button,.membershipsTable .smallBtn{height:34px;padding:0 10px;border-radius:10px}.membersPanel .panel-head{align-items:flex-start}.membershipsTable{min-width:980px}.membershipsTable td small{display:block;color:#64748b;font-weight:800;margin-top:3px}.pill.warn{background:#ffedd5;color:#9a3412}.pill.bad{background:#fee2e2;color:#991b1b}.proCategoryPanel{max-width:940px!important}.proCategoryPanel .panel-head{align-items:center}.categoryCounter{background:#f1f5f9;color:#334155;border-radius:999px;padding:7px 10px;font-weight:950;font-size:12px}.proCategoryCreate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:12px}.categoryCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px}.category-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e5e7eb;border-radius:18px;padding:12px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 8px 20px rgba(15,23,42,.04)}.categoryIcon{width:38px;height:38px;border-radius:14px;background:#eef2ff;color:#2563eb;display:grid;place-items:center}.categoryInfo b{display:block;color:#0f172a;font-size:14px}.categoryInfo small{display:block;color:#64748b;font-weight:800}.categoryActions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.categoryActions button{height:32px;border-radius:10px;padding:0 9px}.category-edit-line{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.fiscalSettings .fiscalForm{max-width:620px}.fiscalHelp strong{font-size:26px}.fiscalHelp small{position:relative;z-index:1}.settings-menu{max-height:calc(100vh - 140px);overflow:auto}@media(max-width:1180px){.membershipTopGrid,.membershipLists{grid-template-columns:1fr}.plansPanel{order:2}.membersPanel{order:1}}@media(max-width:760px){.memberships-hero{align-items:flex-start}.memberships-hero .actions{width:100%}.memberships-hero .actions button{flex:1}.proCategoryCreate,.category-edit-line{grid-template-columns:1fr}.category-card{grid-template-columns:auto 1fr}.categoryActions{grid-column:1/-1;justify-content:flex-start}.membershipTopGrid{gap:12px}}


.proLogin{
  min-height:100vh;
  padding:34px;
  display:grid;
  grid-template-columns:minmax(280px,460px) minmax(340px,520px);
  align-items:center;
  justify-content:center;
  gap:34px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 18%, rgba(249,115,22,.22), transparent 32%),
    radial-gradient(circle at 88% 12%, rgba(15,23,42,.16), transparent 30%),
    linear-gradient(135deg,#fff7ed 0%,#f8fafc 46%,#eef2ff 100%);
}
.loginDecor{position:absolute;border-radius:999px;filter:blur(2px);opacity:.65;pointer-events:none}
.loginDecor.one{width:220px;height:220px;left:-70px;bottom:8%;background:rgba(249,115,22,.18)}
.loginDecor.two{width:180px;height:180px;right:-40px;top:9%;background:rgba(15,23,42,.10)}
.loginWelcome,.roleLoginCard{position:relative;z-index:1}
.loginWelcome{color:#0f172a;padding:16px;max-width:460px}
.loginLogoMark{width:82px;height:82px;border-radius:28px;background:linear-gradient(135deg,#fb923c,#111827);display:grid;place-items:center;color:white;font-size:38px;font-weight:1000;box-shadow:0 24px 55px rgba(249,115,22,.28);margin-bottom:18px}
.loginEyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(249,115,22,.24);background:rgba(255,255,255,.72);border-radius:999px;padding:8px 12px;color:#9a3412;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.loginWelcome h1{font-size:44px;line-height:1.02;letter-spacing:-.055em;margin:16px 0 12px;color:#0f172a}
.loginWelcome p{font-size:16px;line-height:1.55;color:#475569;margin:0 0 18px;max-width:420px}
.loginRolePreview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}
.loginRolePreview div{border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.70);backdrop-filter:blur(12px);border-radius:20px;padding:13px;box-shadow:0 16px 34px rgba(15,23,42,.07)}
.loginRolePreview svg{color:#ea580c;margin-bottom:8px}.loginRolePreview b{display:block;font-size:13px;color:#0f172a}.loginRolePreview small{display:block;font-size:11px;color:#64748b;font-weight:800;margin-top:2px}
.roleLoginCard{width:100%;border:1px solid rgba(255,255,255,.74);background:rgba(255,255,255,.86);backdrop-filter:blur(20px);border-radius:34px;padding:24px;box-shadow:0 30px 90px rgba(15,23,42,.18);display:grid;gap:15px}
.loginCardHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:2px}
.loginCardHead span{display:block;color:#ea580c;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.loginCardHead h2{margin:4px 0 0;color:#0f172a;font-size:28px;letter-spacing:-.045em}
.loginRoleBadge{border-radius:999px;padding:8px 11px;font-size:12px;font-weight:950;background:#f1f5f9;color:#334155;white-space:nowrap}.loginRoleBadge.role-gerente,.loginRoleBadge.role-admin,.loginRoleBadge.role-manager{background:#111827;color:#fff}.loginRoleBadge.role-caja{background:#dcfce7;color:#166534}.loginRoleBadge.role-visitante{background:#e0e7ff;color:#3730a3}
.userPicker{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:10px}
.userPickCard{border:1px solid #e5e7eb;background:#fff;border-radius:20px;padding:12px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"avatar name" "avatar role";gap:2px 10px;text-align:left;align-items:center;cursor:pointer;transition:.18s ease;min-height:74px;color:#0f172a;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.userPickCard:hover{transform:translateY(-1px);border-color:#fed7aa;box-shadow:0 16px 32px rgba(249,115,22,.12)}.userPickCard.active{border-color:#fb923c;background:linear-gradient(135deg,#fff7ed,#fff);box-shadow:0 18px 34px rgba(249,115,22,.17)}
.avatarDot{grid-area:avatar;width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#0f172a;color:white;font-weight:1000;font-size:16px}.userPickCard.role-caja .avatarDot{background:#16a34a}.userPickCard.role-visitante .avatarDot{background:#4f46e5}.userPickCard.role-gerente .avatarDot,.userPickCard.role-admin .avatarDot,.userPickCard.role-manager .avatarDot{background:#0f172a}
.userPickCard strong{grid-area:name;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.userPickCard small{grid-area:role;color:#64748b;font-size:12px;font-weight:900}
.pinLabel{font-size:12px;font-weight:950;color:#475569;text-transform:uppercase;letter-spacing:.07em;margin-top:2px}.pinField{display:flex;align-items:center;gap:10px;border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:0 14px;height:54px;box-shadow:inset 0 1px 0 rgba(15,23,42,.03)}.pinField svg{color:#94a3b8}.pinField input{border:0;outline:0;background:transparent;flex:1;height:100%;font-size:18px;font-weight:900;letter-spacing:.12em;min-width:0}.pinField input::placeholder{font-size:14px;font-weight:800;letter-spacing:0;color:#94a3b8}
.roleInfoBox{border:1px solid #e5e7eb;background:#f8fafc;border-radius:18px;padding:12px 14px;display:grid;gap:2px}.roleInfoBox b{color:#0f172a;font-size:14px}.roleInfoBox small{color:#64748b;font-weight:800;line-height:1.35}.loginSubmit{height:54px;border-radius:18px;font-size:16px;box-shadow:0 18px 35px rgba(249,115,22,.23)}.loginFootnote{display:block;text-align:center;color:#64748b;font-weight:800;line-height:1.35}.roleLoginCard .loginError{border-radius:16px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:11px 12px;font-weight:900}
@media(max-width:900px){.proLogin{grid-template-columns:1fr;padding:22px;gap:18px;align-items:start}.loginWelcome{max-width:none;text-align:left;padding-top:8px}.loginWelcome h1{font-size:34px}.loginRolePreview{grid-template-columns:1fr 1fr 1fr}.roleLoginCard{border-radius:28px;padding:18px}}
@media(max-width:560px){.proLogin{padding:14px}.loginWelcome h1{font-size:29px}.loginRolePreview{display:none}.loginLogoMark{width:66px;height:66px;border-radius:22px;font-size:30px}.userPicker{grid-template-columns:1fr}.loginCardHead{align-items:center}.loginCardHead h2{font-size:23px}.roleLoginCard{border-radius:24px}.pinField{height:52px}}

/* Login limpio: solo card de inicio de sesión */
.loginOnlyCard{grid-template-columns:minmax(360px,640px);justify-content:center;align-items:center;min-height:100vh;padding:24px;overflow-y:auto}
.loginOnlyCard .loginDecor{opacity:.45}
.compactLoginCard{width:min(640px,calc(100vw - 32px));max-width:640px;padding:28px;border-radius:30px;box-sizing:border-box}
.cleanLoginHead{margin-bottom:18px;align-items:center}
.cleanLoginHead h2{font-size:28px;margin-top:4px}
.compactUserPicker{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:18px;width:100%;max-height:280px;overflow-y:auto;padding:2px;box-sizing:border-box}
.compactUserPicker .userPickCard{padding:14px 15px;border-radius:20px;min-height:72px;min-width:0;width:100%;box-sizing:border-box}
.compactUserPicker .avatarDot{width:42px;height:42px;border-radius:15px;font-size:15px;flex:0 0 auto}
.compactUserPicker strong{font-size:14px;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compactUserPicker small{font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.loginOnlyCard{grid-template-columns:1fr;padding:16px}.compactLoginCard{width:100%;max-width:520px;padding:22px}.compactUserPicker{grid-template-columns:1fr;max-height:330px}.cleanLoginHead{gap:10px}.loginRoleBadge{font-size:11px;padding:7px 10px}.cleanLoginHead h2{font-size:24px}}
@media(max-width:380px){.compactLoginCard{padding:18px;border-radius:24px}.cleanLoginHead{align-items:flex-start;flex-direction:column}.compactUserPicker .userPickCard{padding:12px}.pinField{padding:0 12px}}


.payrollPage{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.payrollHero{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:14px!important;
  padding:16px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#ffffff,#f8fbff)!important;
}
.payrollHero h2{font-size:22px!important;margin:0 0 3px!important;letter-spacing:-.03em!important}
.payrollHero small{font-size:12px!important;color:#64748b!important;line-height:1.35!important}
.payrollHero .actions.wrap{gap:8px!important;justify-content:flex-end!important}
.payrollHero .actions.wrap button{height:34px!important;padding:0 11px!important;border-radius:10px!important;font-size:12px!important;white-space:nowrap!important}
.payrollKpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0!important}
.payrollKpis .kpi{min-height:82px!important;padding:13px 14px!important;border-radius:18px!important}
.payrollKpis .kpi b{font-size:22px!important;margin-top:2px!important}
.payrollTopGrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
  width:100%!important;
}
.payrollCard{
  padding:14px!important;
  border-radius:20px!important;
  min-width:0!important;
}
.payrollCard .panel-head.tight,
.payrollListPanel .panel-head.tight{
  margin-bottom:10px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid #eef2f7!important;
  align-items:flex-start!important;
  gap:10px!important;
}
.payrollCard .panel-head h2,
.payrollListPanel .panel-head h2{font-size:17px!important;line-height:1.1!important;margin:0!important}
.payrollCard .panel-head small,
.payrollListPanel .panel-head small{font-size:12px!important;line-height:1.25!important;color:#64748b!important}
.payrollForm{gap:9px!important}
.payrollForm .miniGrid{gap:9px!important}
.payrollForm label{
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  color:#64748b!important;
  font-weight:950!important;
}
.payrollForm input,
.payrollForm select{
  height:38px!important;
  border-radius:11px!important;
  font-size:13px!important;
  margin-top:4px!important;
}
.payrollForm textarea{
  min-height:56px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  padding:10px 12px!important;
  resize:vertical!important;
  outline:none!important;
  margin-top:4px!important;
}
.payrollForm textarea:focus{border-color:#93c5fd!important;box-shadow:0 0 0 4px rgba(59,130,246,.12)!important}
.payrollForm button.primary{height:38px!important;border-radius:11px!important;margin-top:2px!important}
.payrollLists{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:14px!important;
  width:100%!important;
}
.payrollListPanel{padding:14px!important;border-radius:20px!important;min-width:0!important}
.payrollListPanel .tableWrap{border-radius:16px!important;overflow:auto!important;max-width:100%!important}
.payrollListPanel table{font-size:13px!important;border-radius:16px!important;min-width:760px!important}
.payrollListPanel th{font-size:10px!important;padding:10px 11px!important}
.payrollListPanel td{padding:10px 11px!important;vertical-align:middle!important}
.payrollListPanel td small{font-size:11px!important;margin-top:2px!important;color:#64748b!important;display:block!important}
.payrollListPanel .rowActions{display:flex!important;gap:6px!important;justify-content:flex-end!important;flex-wrap:nowrap!important}
.payrollListPanel .smallBtn{height:30px!important;padding:0 9px!important;border-radius:10px!important;font-size:12px!important;white-space:nowrap!important}
@media(max-width:1180px){
  .payrollHero{flex-wrap:wrap!important}
  .payrollHero .actions.wrap{justify-content:flex-start!important;width:100%!important}
  .payrollTopGrid{grid-template-columns:1fr!important}
}
@media(max-width:720px){
  .payrollPage{gap:12px!important;margin:0!important}
  .payrollHero,.payrollCard,.payrollListPanel{padding:12px!important;border-radius:18px!important}
  .payrollKpis{grid-template-columns:1fr!important}
  .payrollForm .miniGrid{grid-template-columns:1fr!important}
  .payrollHero .actions.wrap button{flex:1 1 150px!important}
  .payrollListPanel .rowActions{justify-content:flex-start!important;flex-wrap:wrap!important}
}


.product-summary-kpis{margin-bottom:0!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.product-summary-kpis .kpi{min-height:112px!important;align-items:flex-start!important}
.product-summary-kpis .kpi span{font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:950!important;opacity:.9!important}
.product-summary-kpis .kpi b{font-size:27px!important;letter-spacing:-.045em!important;line-height:1.05!important}
.product-summary-kpis .kpi small{font-weight:850!important;opacity:.9!important}
.products-clean .proCategoryPanel{width:100%!important;max-width:none!important}
@media(max-width:1100px){.product-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.product-summary-kpis{grid-template-columns:1fr!important}.product-summary-kpis .kpi{min-height:96px!important}}



.loginDefaultHint{display:block;margin-top:8px;color:#64748b;font-size:12px;line-height:1.35}.loginDefaultHint b{color:#111827}.companySettingsGrid{align-items:start}.companyForm{gap:10px}.socialConfigBox{border:1px solid var(--line);background:#f8fafc;border-radius:18px;padding:12px;display:grid;gap:10px}.socialConfigBox b{font-size:14px}.companyPreview .previewSocials{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.companyPreview .previewSocials span{display:inline-grid;place-items:center;min-width:34px;height:28px;border-radius:10px;background:#111827;color:#fff;font-weight:900;font-size:11px}.catalogCompactGrid .span2,.socialConfigBox .span2{grid-column:1/-1}.publicLinkPreview span{word-break:break-all}.slugInline span{word-break:break-all;line-height:1.35}.catalogCompactPanel .muted{display:block;margin-top:10px}


/* Empresa / catálogo compacto */
.companySettingsCompact{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr)!important;gap:16px!important;align-items:start!important}
.companyFormCompact{gap:9px!important;padding:14px!important}
.formSectionTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:2px}
.formSectionTitle b{font-size:15px;color:#0f172a}
.formSectionTitle small{font-size:11px;color:#64748b;font-weight:800;max-width:260px;text-align:right}
.companyFormCompact label{font-size:11px;font-weight:950;color:#475569;text-transform:uppercase;letter-spacing:.05em;display:grid;gap:5px}
.companyFormCompact input{min-height:38px!important;border-radius:12px!important;padding:9px 11px!important;font-size:13px!important;font-weight:800!important}
.mapConfigRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.mapPickBtn{min-height:38px;border:1px solid #fed7aa!important;background:#fff7ed!important;color:#9a3412!important;border-radius:12px!important;padding:0 12px!important;font-weight:950!important;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.socialConfigCompact{padding:10px!important;border-radius:16px!important;background:#fff!important;gap:8px!important}
.socialConfigHead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.socialConfigHead b{font-size:13px!important;color:#0f172a}
.compactIcons{display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-top:0!important}
.compactIcons a,.compactIcons span{width:34px!important;height:34px!important;min-width:34px!important;border-radius:11px!important;background:#0f172a!important;color:#fff!important;display:inline-grid!important;place-items:center!important;border:0!important;padding:0!important;cursor:pointer!important;text-decoration:none!important;box-shadow:0 8px 18px rgba(15,23,42,.12)!important}
.compactIcons svg{width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.compactCompanyPreview{padding:16px!important;gap:7px!important;align-self:start!important}
.compactCompanyPreview .logoPreview{max-height:110px!important}
.compactCompanyPreview .previewFoot{margin-top:6px;color:#f97316!important;font-weight:950!important}
@media(max-width:900px){.companySettingsCompact{grid-template-columns:1fr!important}.formSectionTitle{display:grid}.formSectionTitle small{text-align:left;max-width:none}.mapConfigRow{grid-template-columns:1fr}.mapPickBtn{width:100%}}

.mapConfigBox{display:grid!important;gap:6px!important;margin:8px 0 10px!important}
.mapConfigBox .muted{font-size:11px!important;line-height:1.35!important;margin:0!important}
.socialMiniGrid label span{display:inline-flex!important;align-items:center!important;gap:6px!important;font-weight:850!important;color:#344054!important}
.socialMiniGrid label span svg{width:15px!important;height:15px!important;fill:currentColor!important;stroke:none!important}
.compactIcons a,.compactIcons span{background:#fff!important;color:#111827!important;border:1px solid #e5e7eb!important;box-shadow:0 8px 18px rgba(15,23,42,.08)!important}
.compactIcons svg{width:18px!important;height:18px!important;fill:currentColor!important;stroke:none!important}
.compactIcons a[title="Instagram"],.compactIcons span:has(svg){color:#111827!important}
.previewSocials a[title="Instagram"],.socialMiniGrid label:has(input[value]) span{color:inherit!important}
a[title="Instagram"]{color:#E4405F!important}a[title="Facebook"]{color:#1877F2!important}a[title="TikTok"]{color:#111827!important}a[title="X"]{color:#111827!important}a[title="Sitio web"]{color:#ff6a00!important}a[title="Ubicación"]{color:#EA4335!important}
.previewFoot{font-weight:900!important;color:#667085!important}


.mapApiGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:10px;align-items:end;margin-top:10px}
.mapApiGrid label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#475569}.mapApiGrid input{width:100%;border:1px solid #e5e7eb;border-radius:14px;padding:11px 12px;background:#fff;color:#111827}.mapApiGrid small{align-self:center}.mapPickerOverlay{z-index:1200}.mapPickerModal{width:min(980px,94vw);height:min(760px,92vh);background:#fff;border-radius:24px;padding:16px;box-shadow:0 28px 90px rgba(15,23,42,.28);display:flex;flex-direction:column;gap:12px}.mapPickerHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2f7;padding-bottom:10px}.mapPickerHead b{display:block;font-size:20px;color:#111827}.mapPickerHead small{display:block;color:#64748b;margin-top:3px}.mapPickerHead button{width:38px;height:38px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;font-size:24px;line-height:1}.mapSearchInput{width:100%;border:1px solid #dfe5ee;border-radius:16px;padding:13px 15px;font-size:15px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.mapCanvas{flex:1;min-height:360px;border:1px solid #e5e7eb;border-radius:20px;overflow:hidden;background:#f8fafc;display:grid;place-items:center;color:#64748b}.mapPickedBar{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #edf2f7;border-radius:18px;padding:12px;background:#fbfcff}.mapPickedBar b,.mapPickedBar small{display:block}.mapPickedBar small{color:#64748b;margin-top:3px}.mapPickedBar button{min-width:160px}.mapPickerError{display:grid;gap:10px;border:1px solid #fecaca;background:#fff7f7;color:#991b1b;border-radius:18px;padding:16px}.mapPickerError b,.mapPickerError span{display:block}.mapPickerError button{justify-self:start;border-radius:12px;padding:10px 14px}
@media(max-width:760px){.mapApiGrid{grid-template-columns:1fr}.mapPickerModal{width:100vw;height:100vh;border-radius:0}.mapPickedBar{align-items:stretch;flex-direction:column}.mapPickedBar button{width:100%}}

/* Catálogo público conectado a API */
.publicCatalogBar{margin-top:12px;padding:12px 14px;border:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#fff);border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.publicCatalogBar b{display:block;color:#0f172a;font-weight:950}
.publicCatalogBar small{display:block;color:#64748b;font-weight:800;word-break:break-all;margin-top:2px}
.publicCatalogBar .pill{white-space:nowrap}
@media(max-width:720px){.publicCatalogBar{align-items:flex-start;flex-direction:column}.publicCatalogBar .pill{align-self:flex-start}}

.licenseCycleHint{margin-top:14px;padding:14px;border:1px solid #fed7aa;background:#fff7ed;border-radius:16px;display:grid;gap:4px;color:#7c2d12}
.licenseCycleHint b{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#9a3412}
.licenseCycleHint span{font-weight:900;color:#111827}
.licenseCycleHint small{color:#9a3412;line-height:1.35}


.groupedTabs{gap:10px;align-items:stretch;overflow:auto;padding-bottom:10px}
.navGroup{display:flex;flex-direction:column;gap:5px;padding:7px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:rgba(255,255,255,.58);box-shadow:0 10px 30px rgba(15,23,42,.05)}
.navGroupTitle{display:flex;align-items:center;gap:7px;padding:5px 8px;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#64748b}
.navGroup button{width:100%;justify-content:flex-start;border-radius:13px;min-height:34px}
.rowActions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.rowActions .smallBtn{padding:7px 9px;font-size:12px;min-height:30px}
.assistant-page{display:grid;gap:16px}
.aiHero{background:linear-gradient(135deg,rgba(255,122,0,.12),rgba(59,130,246,.08)),#fff}
.aiHero h2{display:flex;align-items:center;gap:10px}
.aiAsk{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}
.aiAsk input{font-size:16px;border-radius:18px;padding:15px 16px}
.aiExamples{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.aiExamples button{border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.1);font-weight:800;color:#334155}
.aiAnswer p{font-size:18px;line-height:1.55;margin:10px 0 16px;color:#0f172a;font-weight:700}
.aiDetails{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;border-radius:16px;padding:12px;font-size:12px;overflow:auto}
@media(max-width:900px){.aiAsk{grid-template-columns:1fr}.navGroup{min-width:180px}.groupedTabs{align-items:stretch}}


.app.sidebarCollapsed{grid-template-columns:86px 1fr}.app.sidebarCollapsed .topbar{left:86px}.groupedTabs{transition:width .2s ease, padding .2s ease;overflow:auto}.sidebar-brand.compactBrand{position:relative}.menuCollapseBtn{margin-left:auto;width:34px;height:34px;border-radius:12px;border:1px solid rgba(15,23,42,.12);background:#fff;color:#0f172a;font-size:22px;font-weight:900;display:grid;place-items:center;box-shadow:0 8px 20px rgba(15,23,42,.06)}.quickNav{display:grid;grid-template-columns:1fr;gap:8px;margin:0 0 12px;padding:0 2px 12px;border-bottom:1px solid rgba(15,23,42,.08)}.quickNav button{width:100%;min-height:42px;border-radius:15px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);font-weight:900}.quickNav button.active{background:#0f172a!important;color:#fff!important;box-shadow:0 12px 24px rgba(15,23,42,.14)!important;inset:auto}.navGroup{display:flex!important;flex-direction:column;gap:0;padding:6px!important;border:1px solid rgba(15,23,42,.08)!important;border-radius:18px!important;background:rgba(255,255,255,.72)!important;box-shadow:0 10px 30px rgba(15,23,42,.05)!important;overflow:hidden}.navGroup+.navGroup{margin-top:8px}.navGroupTitle{width:100%;display:flex!important;align-items:center!important;gap:9px!important;justify-content:flex-start!important;padding:9px 10px!important;min-height:38px!important;border:0!important;background:transparent!important;color:#64748b!important;text-transform:uppercase;letter-spacing:.06em;font-size:11px!important;font-weight:950!important;border-radius:14px!important}.navGroupTitle b{margin-left:auto;width:22px;height:22px;border-radius:8px;background:#f1f5f9;color:#0f172a;display:grid;place-items:center;font-size:16px;line-height:1}.navGroupTitle.activeGroup{color:#0f172a!important;background:#f8fafc!important}.navGroupBody{display:none;flex-direction:column;gap:5px;padding:4px 2px 2px}.navGroup.open .navGroupBody{display:flex}.navGroupBody button{width:100%;justify-content:flex-start;border-radius:13px!important;min-height:38px!important;padding:0 10px!important;border:0!important;background:transparent}.navGroupBody button.active{background:linear-gradient(135deg,#fff7ed,#ffedd5)!important;color:#9a3412!important;box-shadow:inset 4px 0 0 #f97316,0 8px 20px rgba(249,115,22,.12)!important}.sidebarCollapsed .sidebar-brand{padding:10px 4px 16px;justify-content:center}.sidebarCollapsed .sidebar-brand .brandText,.sidebarCollapsed .sidebar-brand b,.sidebarCollapsed .sidebar-brand small{display:none}.sidebarCollapsed .menuCollapseBtn{position:absolute;right:-8px;top:12px;width:28px;height:28px;font-size:20px}.sidebarCollapsed .quickNav button span,.sidebarCollapsed .navGroupTitle span,.sidebarCollapsed .navGroupTitle b,.sidebarCollapsed .navGroupBody button span,.sidebarCollapsed .sidebar-user div,.sidebarCollapsed .logoutMini{display:none!important}.sidebarCollapsed .quickNav{padding-bottom:10px}.sidebarCollapsed .quickNav button,.sidebarCollapsed .navGroupBody button{justify-content:center!important;padding:0!important}.sidebarCollapsed .navGroupTitle{justify-content:center!important;padding:9px 0!important}.sidebarCollapsed .navGroup{padding:5px!important}.sidebarCollapsed .navGroupBody{display:none}.sidebarCollapsed .navGroup.open .navGroupBody{display:flex}.sidebarCollapsed .sidebar-user{left:12px;right:12px;justify-content:center;padding:8px}.sidebarCollapsed .topbar{padding-left:18px}@media(max-width:1120px){.app.sidebarCollapsed{grid-template-columns:1fr}.app.sidebarCollapsed .topbar{left:0}.quickNav{display:flex;overflow:auto;padding-bottom:10px}.quickNav button{min-width:130px}.menuCollapseBtn{display:none}.navGroupTitle b{display:grid}.navGroupBody{display:none}.navGroup.open .navGroupBody{display:flex}.sidebarCollapsed .quickNav button span,.sidebarCollapsed .navGroupTitle span,.sidebarCollapsed .navGroupTitle b,.sidebarCollapsed .navGroupBody button span{display:inline!important}.sidebarCollapsed .navGroupBody button{justify-content:flex-start!important;padding:0 10px!important}}


.catalogCrashPanel,.catalogInlineAlert{
  border:1px solid rgba(249,115,22,.32);
  background:linear-gradient(135deg,rgba(255,247,237,.96),rgba(255,255,255,.96));
  color:#7c2d12;
  border-radius:18px;
  padding:14px 16px;
  margin:12px 0;
  box-shadow:0 14px 32px rgba(249,115,22,.12);
}
.catalogInlineAlert{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  max-width:100%;
}
.catalogInlineAlert b,.catalogInlineAlert small{display:block;}
.catalogInlineAlert small{color:#9a3412;font-weight:700;}
@media(max-width:720px){.catalogInlineAlert{display:block}}



.moduleCrash{border:1px solid #fecaca!important;background:#fff7f7!important;color:#7f1d1d;max-width:900px;margin:auto}
.moduleCrash h2{margin:0 0 8px;color:#991b1b}.moduleCrash pre{white-space:pre-wrap;word-break:break-word;background:#fee2e2;border-radius:14px;padding:12px;max-height:220px;overflow:auto}
.aiAsk{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.aiAsk input{min-width:0}.aiAnswer p{white-space:pre-line;line-height:1.55}.aiDetails{white-space:pre-wrap;word-break:break-word;max-height:190px;overflow:auto;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px;color:#475569}
.catalog-pro-page,.settings-layout,.settings-panel,.catalogCompactPanel,.catalogPreview,.catalogCards,.tableWrap{min-width:0;max-width:100%}.catalogCard,.catalogCategory,.settings-grid>*{min-width:0}.catalogCard b,.catalogCard small,.catalogCard strong,.catalogCard span{overflow-wrap:anywhere}.publicCatalogBar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.publicCatalogBar small{display:block;word-break:break-all}.catalogInlineAlert{border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:16px;padding:12px 14px;display:grid;gap:3px}.catalogInlineAlert small{color:#9a3412}.settings-menu button{min-width:0}.settings-menu button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:980px){.aiAsk{grid-template-columns:1fr}.aiAsk button{width:100%}.catalogTopGrid{grid-template-columns:1fr}.publicCatalogBar{align-items:flex-start;flex-direction:column}.settings-layout{grid-template-columns:1fr!important}.settings-menu{position:relative;max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-menu button{height:auto;min-height:42px}.settings-grid{grid-template-columns:1fr!important}.catalogCards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}}
@media(max-width:620px){.settings-menu{grid-template-columns:1fr}.panel-head,.catalogCompactHead{align-items:flex-start!important;flex-direction:column}.actions.wrap{width:100%}.actions.wrap button{flex:1 1 140px}.catalogCards{grid-template-columns:1fr!important}}

.aiPowered{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(124,58,237,.18);background:linear-gradient(135deg,rgba(124,58,237,.10),rgba(14,165,233,.08),rgba(255,122,0,.08));color:#312e81;border-radius:999px;padding:8px 12px;font-weight:900;font-size:12px;white-space:nowrap;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.aiGem{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7c3aed,#0ea5e9);color:#fff;font-size:14px;box-shadow:0 8px 18px rgba(124,58,237,.25)}
.aiText{font-size:17px;line-height:1.62;margin:10px 0 16px;color:#0f172a;font-weight:650;white-space:pre-line}
.aiAnswer .panel-head{align-items:flex-start}
@media(max-width:720px){.aiPowered{width:100%;justify-content:center}.aiAnswer .panel-head,.aiHero .panel-head{gap:10px}}


.aiHeaderBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px!important;padding:0 12px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;color:#182230!important;font-weight:850!important;white-space:nowrap;box-shadow:0 1px 0 rgba(15,23,42,.02)!important}
.aiHeaderBtn:hover{background:#f8fafc!important;border-color:#c7d2e1!important;color:#111827!important;transform:translateY(-1px)}
.aiHeaderBtn.active{background:#fff4e8!important;border-color:#fdba74!important;color:#ea580c!important;box-shadow:0 8px 18px rgba(249,115,22,.10)!important}
.aiHeaderBtn svg{color:inherit!important;flex:0 0 auto}
.aiHeaderBtn span{display:inline-block;white-space:nowrap}
.aiSoftNotice{display:flex;align-items:center;gap:9px;margin:0 0 12px;padding:10px 12px;border:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff);color:#9a3412;border-radius:14px;font-weight:850;font-size:13px}
.pill.soft{background:#fef3c7!important;color:#92400e!important}
.aiAnswer .panel-head small{max-width:720px;display:block;line-height:1.35;color:#64748b!important;font-weight:800!important}
.aiDetails{display:none}
.aiDetailsBox summary{cursor:pointer;color:#64748b;font-size:12px;font-weight:900}
.topbar{min-height:64px;height:auto!important;align-items:center!important}
.topmeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;row-gap:8px;min-width:0;max-width:100%}
.topmeta button,.topmeta select,.topmeta .userPill{flex:0 0 auto}
.aiPowered{border-color:#e5e7eb!important;background:#f8fafc!important;color:#475569!important;box-shadow:none!important;font-size:12px!important;padding:7px 10px!important}
.aiPowered .aiGem{display:none!important}
@media(max-width:1280px){.userPill{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topmeta button{padding-left:10px!important;padding-right:10px!important}}
@media(max-width:1120px){.topmeta{justify-content:flex-start}.aiHeaderBtn{order:0;width:auto!important}}
@media(max-width:760px){.screen-title{min-width:0;flex:1 1 100%}.topmeta{justify-content:flex-start;width:100%}.aiHeaderBtn{width:auto!important}.topmeta button{height:40px!important}}



.topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;min-height:64px!important;height:auto!important;flex-wrap:wrap!important;overflow:visible!important}
.screen-title{min-width:180px!important;flex:1 1 210px!important}
.topmeta{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;row-gap:8px!important;flex-wrap:wrap!important;min-width:0!important;max-width:100%!important;overflow:visible!important}
.topmeta>select,.topmeta>.userPill,.topmeta>span{height:42px;border:1px solid var(--line);background:#fff;color:#111827;border-radius:12px;padding:0 12px;font-weight:800;box-shadow:0 1px 0 rgba(15,23,42,.02)}
.aiHeaderBtn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;height:42px!important;min-width:138px!important;max-width:none!important;width:auto!important;padding:0 13px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;color:#182230!important;font-weight:850!important;white-space:nowrap!important;box-shadow:0 1px 0 rgba(15,23,42,.02)!important;overflow:hidden!important}
.aiHeaderBtn:hover{background:#f8fafc!important;border-color:#c7d2e1!important;color:#111827!important;transform:translateY(-1px)!important}
.aiHeaderBtn.active{background:#111827!important;border-color:#111827!important;color:#fff!important;box-shadow:0 8px 18px rgba(15,23,42,.14)!important}
.aiHeaderBtn span,.aiHeaderBtn .aiHeaderText,.aiHeaderBtn .geminiMark{height:auto!important;min-height:0!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;color:inherit!important}
.aiHeaderBtn .geminiMark{width:24px!important;height:24px!important;min-width:24px!important;border-radius:9px!important;display:grid!important;place-items:center!important;background:conic-gradient(from 210deg,#7c3aed,#2563eb,#06b6d4,#f97316,#7c3aed)!important;color:#fff!important;font-size:14px!important;font-weight:950!important;line-height:1!important;flex:0 0 24px!important}
.aiHeaderBtn .aiHeaderText{display:inline-block!important;font-size:14px!important;line-height:1!important;white-space:nowrap!important;font-weight:850!important}
.aiHeaderBtn.active .geminiMark{background:conic-gradient(from 210deg,#a78bfa,#60a5fa,#22d3ee,#fdba74,#a78bfa)!important;color:#111827!important}
@media(max-width:1120px){.topmeta{justify-content:flex-start!important;width:100%!important}.screen-title{flex:1 1 100%!important}.aiHeaderBtn{min-width:136px!important}}
@media(max-width:760px){.topbar{align-items:flex-start!important}.topmeta button,.topmeta select,.topmeta .userPill{height:40px!important}.aiHeaderBtn{height:40px!important;min-width:132px!important}.aiHeaderBtn .geminiMark{width:22px!important;height:22px!important;min-width:22px!important}.aiHeaderBtn .aiHeaderText{font-size:13px!important}}


.assistant-page{gap:12px!important}
.aiHero{padding:16px!important}
.aiAnswer{padding:14px 16px!important}
.aiAnswer .panel-head{margin-bottom:6px!important}
.aiAnswer .panel-head h3{font-size:16px!important;margin:0!important}
.aiAnswer .panel-head small{font-size:11px!important}
.aiText{font-size:14px!important;line-height:1.45!important;margin:6px 0 10px!important;font-weight:650!important;white-space:pre-line!important}
.aiAnswer .reportCards.solidCardGrid.mini{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:8px!important;margin-top:8px!important}
.aiAnswer .solidCard{padding:10px!important;border-radius:14px!important}
.aiAnswer .solidCard b,.aiAnswer .solidCard strong{font-size:16px!important}
.aiAnswer .solidCard small{font-size:11px!important}
.aiExamples{gap:7px!important}
.aiExamples button{padding:8px 10px!important;font-size:12px!important}


.mapCanvasWrap{position:relative;min-height:360px;border-radius:18px;overflow:hidden;background:#f8fafc;border:1px solid var(--line)}
.mapCanvasWrap .mapCanvas{width:100%;height:360px;min-height:360px;border:0!important;border-radius:0!important;background:#f8fafc!important}
.mapCanvasLoading{position:absolute;inset:auto 14px 14px auto;z-index:2;padding:8px 11px;border-radius:999px;background:rgba(15,23,42,.86);color:#fff;font-size:12px;font-weight:900;box-shadow:0 10px 24px rgba(15,23,42,.18)}


.stock-modal .qtyStepper{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;border:1.5px solid #fed7aa;border-radius:14px;background:#fff;padding:6px;box-shadow:0 0 0 3px rgba(249,115,22,.08)}
.stock-modal .qtyStepper input{height:42px;border:0!important;background:transparent!important;text-align:center;font-size:24px;font-weight:950;color:#0f172a;outline:0;padding:0!important;box-shadow:none!important}
.stock-modal .qtyStepper input::-webkit-outer-spin-button,.stock-modal .qtyStepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stock-modal .qtyStepper input[type=number]{-moz-appearance:textfield}
.stock-modal .qtyStepBtn{height:42px;width:42px;border-radius:12px!important;border:1px solid #e2e8f0!important;background:#f8fafc!important;color:#111827!important;display:inline-flex;align-items:center;justify-content:center;padding:0!important;font-weight:950!important}
.stock-modal .qtyStepBtn.plus{background:#fff7ed!important;border-color:#fdba74!important;color:#ea580c!important}
.stock-modal .qtyStepBtn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.08)}
.stock-modal .qtyStepBtn svg:first-child:last-child{display:block}
.stock-modal .stockPreviewBox{display:grid!important;grid-template-columns:1fr 28px 1fr;align-items:center;text-align:center;gap:8px;padding:12px 14px!important}
.stock-modal .stockPreviewBox div{min-width:0}.stock-modal .stockPreviewBox em{font-style:normal;color:#64748b;font-weight:950;font-size:20px}.stock-modal .stockPreviewBox b{font-size:26px!important}

/* Punto App v0.1 - selector de ubicación siempre en modal */
.modalOverlay.mapPickerOverlay,
.mapPickerOverlay{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:rgba(15,23,42,.52)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.mapPickerModal{
  position:relative!important;
  width:min(980px,94vw)!important;
  max-width:94vw!important;
  height:min(760px,92vh)!important;
  max-height:92vh!important;
  margin:0!important;
  overflow:hidden!important;
}
.mapPickerModal .mapCanvasWrap{
  flex:1 1 auto!important;
  min-height:360px!important;
}
.mapPickerModal .mapCanvas{
  width:100%!important;
  height:100%!important;
  min-height:360px!important;
}
body:has(.mapPickerOverlay){overflow:hidden!important;}
@media(max-width:760px){
  .modalOverlay.mapPickerOverlay,.mapPickerOverlay{padding:0!important;align-items:stretch!important;justify-content:stretch!important;}
  .mapPickerModal{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;}
}

/* Punto v0.1 - Catálogo web mejorado */
.catalogStoreBuilder{display:grid;gap:14px;min-width:0}.catalogBuilderHero{background:linear-gradient(135deg,#111827 0%,#1f2937 42%,#ff6a00 115%);color:#fff;border:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:18px;align-items:end;overflow:hidden;position:relative}.catalogBuilderHero:after{content:"";position:absolute;right:-110px;top:-140px;width:330px;height:330px;border-radius:999px;background:rgba(255,255,255,.12)}.catalogBuilderCopy,.catalogBuilderStats{position:relative;z-index:1}.catalogBuilderCopy h2{font-size:32px;line-height:1;margin:4px 0 8px}.catalogBuilderCopy p{margin:0;color:#f3f4f6;max-width:720px}.catalogBuilderStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.catalogBuilderStats div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:14px;backdrop-filter:blur(8px);min-width:0}.catalogBuilderStats b{display:block;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalogBuilderStats span{display:block;color:#e5e7eb;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;margin-top:4px}.catalogBuilderPanel{display:grid;gap:12px}.catalogMainActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.catalogMainActions>button,.catalogMoreActions>summary{min-height:42px;border-radius:14px;font-weight:900}.catalogMoreActions{position:relative}.catalogMoreActions summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;background:#fff;padding:10px 14px;cursor:pointer}.catalogMoreActions summary::-webkit-details-marker{display:none}.catalogMoreActions[open] summary{background:#111827;color:#fff;border-color:#111827}.catalogMoreActions div{position:absolute;right:0;top:48px;z-index:40;width:min(330px,88vw);background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:10px;box-shadow:0 24px 60px rgba(15,23,42,.18);display:grid;gap:8px}.catalogMoreActions div button{justify-content:flex-start;border-radius:13px}.telegramOrdersPanel .panel-head{align-items:center}.orderActionsMini{display:flex;gap:6px;flex-wrap:wrap}.orderActionsMini button{padding:7px 9px;border-radius:11px;font-size:12px;font-weight:850}.clean-table .pill.danger{background:#fee2e2;color:#991b1b}.catalogCard{transition:transform .16s ease,box-shadow .16s ease}.catalogCard:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(15,23,42,.10)}.catalogSearch:focus{outline:none;border-color:#ff6a00;box-shadow:0 0 0 4px rgba(255,106,0,.12)}@media(max-width:980px){.catalogBuilderHero{grid-template-columns:1fr}.catalogBuilderStats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.catalogBuilderStats{grid-template-columns:1fr}.catalogBuilderCopy h2{font-size:27px}.catalogMoreActions{width:100%}.catalogMoreActions summary{width:100%}.catalogMoreActions div{position:static;width:100%;margin-top:8px}.catalogMainActions>button{flex:1 1 145px}.orderActionsMini{display:grid;grid-template-columns:1fr}.orderActionsMini button{width:100%}}

/* Catálogo: se conserva el encabezado clásico del módulo y se deja visible despublicar/eliminar */
.catalogClassicHead .panel-head{align-items:flex-start;gap:14px}
.catalogPrimaryActions{justify-content:flex-end}
.dangerSoft{background:#fff1f2!important;border-color:#fecdd3!important;color:#be123c!important}
.dangerSoft:hover{background:#ffe4e6!important}
@media(max-width:760px){.catalogPrimaryActions{justify-content:flex-start}.catalogPrimaryActions>button,.catalogPrimaryActions details{flex:1 1 150px}.catalogPrimaryActions .catalogMoreActions summary{width:100%}}

/* Fix IA input after catalog HTML update */
.aiAsk textarea{min-width:0;width:100%;resize:vertical;font-size:16px;border-radius:18px;padding:14px 16px;border:1px solid #e5e7eb;background:#fff;color:#0f172a;outline:none;line-height:1.35;min-height:54px}
.aiAsk textarea:focus{border-color:#ffd400;box-shadow:0 0 0 4px rgba(255,212,0,.18)}

/* Catálogo: vista previa más responsiva */
.catalogPreviewModal .catalogPreviewBox{width:min(1180px,96vw)!important;height:min(850px,92vh)!important;max-width:none!important;overflow:hidden!important}
.catalogPreviewModal .panel-head{gap:10px!important;align-items:flex-start!important}
.catalogPreviewModal .panel-head .actions{flex-wrap:wrap!important;justify-content:flex-end!important}
.catalogPreviewModal iframe{min-height:0!important}
@media(max-width:760px){.catalogPreviewModal .catalogPreviewBox{width:100vw!important;height:100dvh!important;border-radius:0!important;padding:12px!important}.catalogPreviewModal .panel-head{display:grid!important;grid-template-columns:1fr!important}.catalogPreviewModal .panel-head .actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}.catalogPreviewModal .panel-head .actions button{width:100%!important}.catalogPreviewModal .panel-head .actions button:first-child{grid-column:1/-1!important}.catalogPreviewModal iframe{border-radius:14px!important}}

/* ===== Reportes, cuentas por cobrar y recordatorios v0.1 ===== */
.bellBtn{position:relative;min-width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;padding:0!important;background:#fff;border:1px solid rgba(15,23,42,.10);box-shadow:0 8px 24px rgba(15,23,42,.06)}
.bellBtn span,.bellBtn small{position:absolute;right:-5px;top:-6px;background:#ff6a00;color:#fff;border-radius:999px;min-width:19px;height:19px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;border:2px solid #fff}
.bellBtn small{background:#0f172a}.bellBtn.due{background:#fff7ed;color:#ea580c;border-color:#fed7aa;animation:pulseBell 1.8s infinite}@keyframes pulseBell{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
.reminderModal{max-width:760px}.reminderList{display:flex;flex-direction:column;gap:10px}.reminderItem{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.reminderItem.due{border-color:#fed7aa;background:#fff7ed}.reminderItem b,.reminderItem small{display:block}.reminderItem small{color:#64748b}.reminderIcon{width:42px;height:42px;border-radius:14px;background:#f8fafc;display:flex;align-items:center;justify-content:center;color:#ff6a00}.miniSectionTitle{font-size:14px;margin:18px 0 8px;color:#475569}.emptyState.small{padding:26px;text-align:center;border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc}.emptyState.small svg{margin:auto;color:#ff6a00}
.dailyCloseSummary{border:1px solid rgba(15,23,42,.08)}.dailySummaryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dailySummaryGrid>div{padding:14px;border:1px solid #e5e7eb;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc)}.dailySummaryGrid b,.dailySummaryGrid span,.dailySummaryGrid small{display:block}.dailySummaryGrid b{font-size:12px;text-transform:uppercase;color:#64748b;letter-spacing:.04em}.dailySummaryGrid span{font-size:18px;font-weight:900;color:#0f172a;margin-top:4px}.dailySummaryGrid small{color:#64748b;margin-top:3px}.creditsHeroPro{overflow:hidden}.creditTicker{display:flex;align-items:center;gap:10px;border:1px solid #fed7aa;background:linear-gradient(90deg,#fff7ed,#fff);border-radius:16px;padding:10px 12px;margin:12px 0;color:#9a3412}.creditTicker>svg{flex:0 0 auto}.creditTicker>div{display:flex;gap:8px;overflow:auto;scrollbar-width:thin}.creditTicker span{white-space:nowrap;background:#fff;border:1px solid #ffedd5;border-radius:999px;padding:7px 10px;color:#334155}.creditTicker b{color:#111827}.creditsTable td{vertical-align:middle}.creditsTable .rowActions{gap:6px}.creditsTable .smallBtn{min-height:34px;border-radius:11px}.payModal{max-width:430px}.payModal label{font-weight:800;margin-top:10px;display:block}.payModal input,.payModal select{width:100%;margin-top:6px}.payPreview{margin:14px 0;padding:14px;border-radius:16px;background:#f8fafc;border:1px solid #e5e7eb}.payPreview span,.payPreview b,.payPreview small{display:block}.payPreview b{font-size:24px;color:#0f172a}.payPreview small{color:#64748b}
@media(max-width:980px){.dailySummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.reminderItem{grid-template-columns:auto 1fr}.reminderItem .rowActions{grid-column:1/-1;justify-content:flex-end}.creditsTable .rowActions{flex-wrap:wrap}}
@media(max-width:640px){.dailySummaryGrid{grid-template-columns:1fr}.creditTicker{align-items:flex-start}.creditTicker>div{flex-direction:column;width:100%}.creditTicker span{white-space:normal}.payModal,.reminderModal{max-width:calc(100vw - 22px)}.bellBtn{height:38px;min-width:38px}.creditsTable th:nth-child(3),.creditsTable td:nth-child(3),.creditsTable th:nth-child(4),.creditsTable td:nth-child(4){display:none}}

/* Punto recordatorios pro: cobros, pagos, membresías, nómina y stock */
.reminderPro{max-width:980px}
.reminderPro .modalHead h2{display:flex;align-items:center;gap:10px}
.reminderSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.reminderSummary>div{background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.reminderSummary b{font-size:24px;color:#111827}.reminderSummary small{color:#64748b;font-weight:700}
.reminderCreate{display:grid;grid-template-columns:150px 1fr 150px 120px;gap:10px;align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:20px;padding:12px;margin-bottom:14px}
.reminderCreate input,.reminderCreate select{height:42px;border:1px solid #e2e8f0;border-radius:14px;padding:0 12px;background:#fff;color:#111827;font-weight:700;min-width:0}
.reminderCreate .span2{grid-column:2 / span 2}.reminderCreate button{height:42px;border-radius:14px;white-space:nowrap}
.reminderFilters{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.reminderFilters button{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;color:#475569;display:inline-flex;align-items:center;gap:6px}
.reminderFilters button.active{background:#111827;color:#fff;border-color:#111827}
.reminderList{display:flex;flex-direction:column;gap:10px}.reminderItem{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:12px;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.reminderItem.due{border-color:#fb923c;background:#fff7ed}.reminderIcon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#ffedd5;color:#c2410c}.reminderItem b{display:block;color:#0f172a}.reminderItem small{display:block;color:#64748b;margin-top:3px}.miniTag{display:inline-flex;align-items:center;background:#eef2ff;color:#3730a3;border-radius:999px;padding:2px 8px;font-weight:900;margin-right:4px}.reminderList.done .reminderItem{opacity:.78;background:#f8fafc}.smallBtn svg{vertical-align:-2px;margin-right:4px}
@media(max-width:820px){.reminderSummary{grid-template-columns:1fr}.reminderCreate{grid-template-columns:1fr}.reminderCreate .span2{grid-column:auto}.reminderItem{grid-template-columns:auto 1fr}.reminderItem .rowActions{grid-column:1 / -1;justify-content:flex-start}.reminderPro{max-width:calc(100vw - 22px)}}

/* Punto App v0.1 - FIX modal recordatorios: overlay completo y panel limpio */
.modalBackdrop{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  display:grid!important;
  place-items:center!important;
  padding:22px!important;
  background:rgba(15,23,42,.46)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  overflow:auto!important;
}
.modalBackdrop>.modal{
  position:relative!important;
  inset:auto!important;
  z-index:10000!important;
  display:block!important;
  place-items:initial!important;
  width:min(720px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 44px)!important;
  overflow:auto!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:24px!important;
  padding:18px!important;
  box-shadow:0 26px 80px rgba(15,23,42,.28)!important;
  color:#0f172a!important;
}
.modalBackdrop>.modal.wide,
.modalBackdrop>.modal.reminderModal,
.modalBackdrop>.modal.reminderPro{
  width:min(980px,calc(100vw - 32px))!important;
  max-width:none!important;
}
.modalBackdrop .modalHead{
  position:sticky;
  top:0;
  z-index:3;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin:-18px -18px 16px;
  padding:18px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #eef2f7;
  backdrop-filter:blur(10px);
}
.modalBackdrop .modalHead h2{margin:0;font-size:20px;letter-spacing:-.03em}
.modalBackdrop .modalHead small{display:block;margin-top:4px;color:#64748b;font-weight:750;line-height:1.35}
.modalBackdrop .modalHead button{width:42px;height:42px;padding:0;border-radius:14px;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.reminderPro .reminderNotifyBar,
.reminderPro .reminderSummary,
.reminderPro .reminderCreate,
.reminderPro .reminderFilters,
.reminderPro .reminderList{max-width:100%}
.reminderPro .reminderCreate{grid-template-columns:150px minmax(180px,1fr) 150px 120px;align-items:center}
.reminderPro .reminderCreate .span2{grid-column:2 / 5}
.reminderPro .reminderFilters{overflow:auto;padding-bottom:2px}
.reminderPro .reminderItem{min-width:0}
.reminderPro .reminderItem>div:nth-child(2){min-width:0}
.reminderPro .reminderItem b{white-space:normal;overflow-wrap:anywhere}
.reminderPro .reminderItem small{line-height:1.35;overflow-wrap:anywhere}
@media(max-width:820px){
  .modalBackdrop{padding:12px!important;align-items:end!important;place-items:end center!important}
  .modalBackdrop>.modal,
  .modalBackdrop>.modal.wide,
  .modalBackdrop>.modal.reminderModal,
  .modalBackdrop>.modal.reminderPro{
    width:100%!important;
    max-height:calc(100vh - 24px)!important;
    border-radius:22px 22px 0 0!important;
  }
  .reminderPro .reminderCreate{grid-template-columns:1fr!important}
  .reminderPro .reminderCreate .span2{grid-column:auto!important}
  .reminderPro .reminderNotifyBar{align-items:flex-start!important;flex-direction:column!important}
}

/* Notificaciones limpias */
.reminderPro .reminderTopbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #eef2f7;border-radius:18px;background:#fffdf8;margin-bottom:14px}
.reminderPro .reminderStatus b,.reminderPro .reminderStatus small{display:block}.reminderPro .reminderStatus small{color:#64748b;font-weight:700;margin-top:3px}.cleanEmpty{background:#fff!important;border-color:#e5e7eb!important}.notificationOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.notificationOptions>b{grid-column:1/-1;color:#0f172a}.notificationsSettings .check{gap:10px}.notificationsSettings .check svg{color:#ff6a00;flex:0 0 auto}@media(max-width:820px){.reminderPro .reminderTopbar{align-items:flex-start;flex-direction:column}.notificationOptions{grid-template-columns:1fr}.reminderPro .reminderItem{grid-template-columns:auto 1fr}.reminderPro .reminderItem .rowActions{grid-column:1/-1;justify-content:flex-end}}


/* Punto App Web - responsive mobile drawer and compact layout */
.mobileMenuBtn,.mobileMenuShade{display:none}
.aiHeaderText{display:none!important}.aiHeaderBtn{width:42px!important;min-width:42px!important;padding:0!important;justify-content:center!important}.geminiMark{font-size:18px;line-height:1}
@media(max-width:860px){
  html,body,#root{min-height:100%;height:auto;overflow-x:hidden}
  body.mobile-menu-open{overflow:hidden}
  .app{height:auto;min-height:100vh;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important;overflow:visible!important;background:#f6f8fb}
  .topbar{grid-column:1!important;grid-row:1!important;position:sticky!important;top:0;z-index:60;min-height:58px!important;padding:8px 10px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important;align-items:center!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid #e5e7eb!important;box-shadow:0 8px 22px rgba(15,23,42,.06)}
  .mobileMenuBtn{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;height:42px!important;min-width:42px;border-radius:14px!important;background:#0f172a!important;color:#fff!important;border-color:#0f172a!important;padding:0 10px!important;box-shadow:0 10px 22px rgba(15,23,42,.14)!important;z-index:2}
  .mobileMenuBtn span{font-size:22px;line-height:1}.mobileMenuBtn b{font-size:12px;letter-spacing:.02em}
  .screen-title{min-width:0!important;overflow:hidden}.screen-title b{font-size:16px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen-title small{font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topmeta{grid-column:1/-1;width:100%!important;display:grid!important;grid-template-columns:1fr auto auto!important;gap:7px!important;overflow:visible!important;align-items:center!important}.topmeta select{width:100%;min-width:0;height:38px!important}.topmeta .userPill{display:none!important}.topmeta button{height:38px!important;min-width:38px!important;padding:0 9px!important;border-radius:12px!important}.aiHeaderText,.topmeta button:not(.rate-pill):not(.bellBtn):not(.aiHeaderBtn) svg+span{display:none!important}.rate-pill{font-size:12px!important;white-space:nowrap}.aiHeaderBtn{width:40px!important;padding:0!important}.bellBtn{width:40px!important;padding:0!important}
  .tabs{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:min(72vw,248px)!important;height:100vh!important;z-index:90!important;grid-column:auto!important;grid-row:auto!important;display:flex!important;flex-direction:column!important;gap:6px!important;padding:14px 10px 18px!important;overflow-y:auto!important;overflow-x:hidden!important;background:#fff!important;border-right:1px solid #e5e7eb!important;box-shadow:24px 0 60px rgba(15,23,42,.24)!important;transform:translateX(-110%)!important;transition:transform .2s ease!important}.tabs:before,.tabs:after{display:none!important}.tabs button{height:39px!important;min-height:39px!important;border-radius:13px!important;padding:0 10px!important;display:flex!important;align-items:center!important;gap:8px!important;font-size:12.5px!important}.tabs button span{overflow:hidden;text-overflow:ellipsis}.sidebar-brand{position:sticky;top:0;z-index:1;background:#fff;margin:0 0 8px!important;padding:8px 6px 12px!important;border-bottom:1px solid #e5e7eb!important}.sidebar-user{position:static!important;margin-top:10px!important;left:auto!important;right:auto!important;bottom:auto!important}.mobileMenuShade{position:fixed;display:none;inset:0;z-index:80;background:rgba(15,23,42,.42);border:0;border-radius:0;padding:0}.mobile-menu-open .tabs{transform:translateX(0)!important}.mobile-menu-open .mobileMenuShade{display:block!important}
  main{grid-column:1!important;grid-row:2!important;padding:10px!important;overflow:visible!important;min-width:0!important}.panel{border-radius:16px!important;padding:12px!important}.panel-head{gap:8px!important;margin-bottom:10px!important}.panel-head h2{font-size:16px!important}.actions{gap:6px!important;flex-wrap:wrap}.actions button{height:36px!important;padding:0 10px!important;font-size:12px!important}
  .sale-grid,.two,.three,.membershipTopGrid,.membershipLists,.catalogTopGrid,.settings-layout{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.checkout{position:static!important;top:auto!important}.kpiRow,.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.kpiRow>div,.cards>div{padding:10px!important;border-radius:14px!important}.kpiRow b,.cards strong{font-size:18px!important}.kpiRow span,.cards b{font-size:11px!important}.searchbar{gap:6px!important;margin:10px 0!important}.searchbar input{height:46px!important;font-size:15px!important;border-radius:13px!important}.searchbar button{height:46px!important;padding:0 10px!important}.chips{gap:6px!important;margin-bottom:8px!important}.chips button{height:32px!important;padding:0 10px!important;font-size:12px!important}.tableWrap,.productTableWrap{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.productTable,table{min-width:620px}.cart{min-height:140px!important;max-height:250px!important}.cart-row{grid-template-columns:minmax(0,1fr) 60px 34px!important}.totals{font-size:15px!important}.totals b{font-size:21px!important}.checkout-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.checkout-actions .cobrar{grid-column:1/-1!important}.modal{padding:8px!important;align-items:start!important}.modalBox,.modal.wide,.modal{max-width:100%!important}.modalBox{border-radius:16px!important}.form.small{grid-template-columns:1fr!important;max-width:none!important}.settings-menu{grid-template-columns:1fr 1fr!important;max-height:none!important}.settings-grid{grid-template-columns:1fr!important}.publicCatalogBar{flex-direction:column!important;align-items:flex-start!important}
}
@media(max-width:520px){
  .topmeta{grid-template-columns:1fr auto auto!important}.mobileMenuBtn b{display:inline!important}.rate-pill{max-width:118px;overflow:hidden;text-overflow:ellipsis}.kpiRow,.cards{grid-template-columns:1fr 1fr!important}.kpiRow small{display:none!important}.checkout-actions{grid-template-columns:1fr!important}.checkout-actions .cobrar{grid-column:auto!important}.settings-menu{grid-template-columns:1fr!important}.productTable,table{min-width:560px}.panel{padding:10px!important}td,th{padding:10px!important}.customerLine{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.customerLine button{width:100%}.cartHeader{gap:8px!important}.cartHeader .ghostBtn{padding:0 9px!important}.status{left:10px!important;right:10px!important;top:72px!important;text-align:center}.licenseRenewBanner{left:10px!important;right:10px!important;top:76px!important;flex-direction:column!important;align-items:flex-start!important}
}

@media(max-width:520px){.tabs{width:min(74vw,238px)!important}.tabs button{font-size:12px!important}.mobileMenuBtn{min-width:72px!important}.mobileMenuBtn b{display:inline!important}.aiHeaderBtn{width:38px!important;min-width:38px!important}.geminiMark{font-size:17px}}

/* FIX MOBILE MENU 20260604: menú angosto, nombres visibles y cierre tocando fuera */
@media(max-width:860px){
  body.mobile-menu-open{overflow:hidden!important;touch-action:none!important}
  .mobileMenuShade{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    display:none!important;
    z-index:110!important;
    background:rgba(15,23,42,.42)!important;
    border:0!important;
    border-radius:0!important;
    padding:0!important;
    margin:0!important;
    cursor:pointer!important;
    transform:none!important;
  }
  .mobile-menu-open .mobileMenuShade{display:block!important}
  .tabs.compactTabs{
    width:min(64vw,220px)!important;
    max-width:220px!important;
    min-width:202px!important;
    z-index:120!important;
    padding:12px 8px 16px!important;
    gap:5px!important;
  }
  .mobile-menu-open .tabs.compactTabs{transform:translateX(0)!important}
  .tabs.compactTabs button{
    width:100%!important;
    justify-content:flex-start!important;
    gap:9px!important;
    height:39px!important;
    min-height:39px!important;
    padding:0 9px!important;
  }
  .tabs.compactTabs button svg{
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
    flex:0 0 17px!important;
  }
  .tabs.compactTabs button span{
    display:inline-block!important;
    visibility:visible!important;
    opacity:1!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:160px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:12.5px!important;
    line-height:1.1!important;
  }
  .tabs.compactTabs .sidebar-brand{padding:8px 5px 10px!important;margin-bottom:6px!important}
  .tabs.compactTabs .sidebar-user{display:flex!important}
}
@media(max-width:520px){
  .tabs.compactTabs{width:min(68vw,214px)!important;max-width:214px!important;min-width:196px!important}
  .tabs.compactTabs button span{font-size:12px!important;max-width:148px!important}
}

/* FIX MOBILE COMPACT 20260604: nombres simples junto al icono, menos estilo de botón y cards 2 columnas cuando caben */
@media(max-width:860px){
  body, input, select, textarea, button{font-size:13px!important}
  main{font-size:13px!important;padding:8px!important}
  .topbar{min-height:54px!important;padding:7px 9px!important;gap:7px!important}
  .screen-title b{font-size:15px!important}
  .screen-title small{font-size:10.5px!important}
  .mobileMenuBtn{height:38px!important;min-width:64px!important;border-radius:12px!important;padding:0 9px!important;gap:5px!important}
  .mobileMenuBtn span{font-size:20px!important}.mobileMenuBtn b{font-size:11.5px!important}
  .tabs.compactTabs{width:min(62vw,208px)!important;max-width:208px!important;min-width:188px!important;padding:10px 7px 14px!important;gap:3px!important}
  .tabs.compactTabs button{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:#334155!important;
    border-radius:10px!important;
    min-height:34px!important;
    height:34px!important;
    padding:0 8px!important;
    gap:8px!important;
    font-size:12px!important;
    font-weight:850!important;
  }
  .tabs.compactTabs button:hover{background:#f8fafc!important}
  .tabs.compactTabs button.active{
    background:#fff7ed!important;
    color:#9a3412!important;
    box-shadow:inset 3px 0 0 #f97316!important;
  }
  .tabs.compactTabs button svg{width:16px!important;height:16px!important;min-width:16px!important;flex:0 0 16px!important}
  .tabs.compactTabs button span{font-size:12px!important;max-width:142px!important;font-weight:850!important}
  .tabs.compactTabs .sidebar-brand{padding:6px 4px 8px!important;margin-bottom:4px!important}
  .tabs.compactTabs .sidebar-user{min-height:46px!important;height:auto!important;padding:7px!important;border-radius:14px!important}
  .tabs.compactTabs .sidebar-user span{width:30px!important;height:30px!important}.tabs.compactTabs .sidebar-user b{font-size:12px!important}.tabs.compactTabs .sidebar-user small{font-size:10px!important}
  .panel{padding:10px!important;border-radius:14px!important}.panel-head h2{font-size:15px!important}.panel-head small{font-size:11px!important}
  .kpiRow,.cards,.catalogCards,.compactKpis,.reminderSummary,.notificationOptions{
    grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;
    gap:7px!important;
  }
  .kpiRow>div,.cards>div,.catalogCards>div,.compactKpis>div,.reminderSummary>div{padding:9px!important;border-radius:13px!important;min-width:0!important}
  .kpiRow b,.cards strong,.catalogCards strong,.compactKpis b{font-size:17px!important}
  .kpiRow span,.cards b,.catalogCards b,.compactKpis span{font-size:10.5px!important}
  .kpiRow small,.cards small,.catalogCards small,.compactKpis small{font-size:10px!important;line-height:1.2!important}
  .actions button,.chips button{height:32px!important;font-size:11.5px!important;padding:0 8px!important;border-radius:10px!important}
  input, select, textarea{min-height:40px!important;border-radius:11px!important}
  td,th{padding:8px!important;font-size:12px!important}
}
@media(max-width:380px){
  .kpiRow,.cards,.catalogCards,.compactKpis,.reminderSummary,.notificationOptions{grid-template-columns:1fr 1fr!important}
  .tabs.compactTabs{width:min(70vw,202px)!important;min-width:184px!important}
  .tabs.compactTabs button span{max-width:130px!important}
}

/* FIX 20260604: menú móvil limpio sin cards/badges y tablas de productos sin apilar */
@media(max-width:860px){
  .tabs.compactTabs{
    background:#fff!important;
    border-right:1px solid #e5e7eb!important;
    box-shadow:18px 0 42px rgba(15,23,42,.18)!important;
  }
  .tabs.compactTabs button,
  .tabs.compactTabs button:hover,
  .tabs.compactTabs button:focus,
  .tabs.compactTabs button.active{
    background:transparent!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
    color:#334155!important;
    border-radius:0!important;
    min-height:32px!important;
    height:32px!important;
    padding:0 6px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:0!important;
  }
  .tabs.compactTabs button.active{color:#ea580c!important;font-weight:950!important}
  .tabs.compactTabs button.active::before,
  .tabs.compactTabs button::before,
  .tabs.compactTabs button::after{display:none!important;content:none!important}
  .tabs.compactTabs button svg{color:currentColor!important;width:16px!important;height:16px!important;min-width:16px!important}
  .tabs.compactTabs button span{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
    color:currentColor!important;
    font-size:12px!important;
    font-weight:inherit!important;
    line-height:1.1!important;
    max-width:145px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .tabs.compactTabs .sidebar-brand,
  .tabs.compactTabs .sidebar-user{
    background:transparent!important;
    box-shadow:none!important;
  }

  .productTableWrap,
  .productTableWrap.compactProducts,
  .inventory-table-wrap,
  .tableWrap{
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    max-width:100%!important;
  }
  .compactProducts .productTable,
  .productTable,
  .inventory-table{
    min-width:720px!important;
    width:720px!important;
    table-layout:fixed!important;
    border-collapse:separate!important;
  }
  .compactProducts .productTable th,
  .compactProducts .productTable td,
  .productTable th,
  .productTable td,
  .inventory-table th,
  .inventory-table td{
    white-space:nowrap!important;
    vertical-align:middle!important;
    padding:8px 9px!important;
    line-height:1.2!important;
  }
  .compactProducts .nameCell b,
  .productTable .nameCell b,
  .inventory-table td b{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    display:block!important;
    max-width:100%!important;
  }
  .compactProducts .nameCell small,
  .productTable .nameCell small,
  .inventory-table td small{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    display:block!important;
    max-width:100%!important;
  }
  .productTable .actionCell,
  .compactProducts .actionCell,
  .inventory-table .actionCell{text-align:center!important}
}
@media(max-width:380px){
  .tabs.compactTabs button span{max-width:128px!important}
}

/* FIX 20260604: menú móvil texto limpio, sin puntos y con icono pegado al nombre */
@media(max-width:860px){
  .tabs.compactTabs,
  .tabs.compactTabs *{
    list-style:none!important;
  }
  .tabs.compactTabs *::marker{display:none!important;content:''!important}
  .tabs.compactTabs button,
  .tabs.compactTabs button:hover,
  .tabs.compactTabs button:focus,
  .tabs.compactTabs button.active{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:4px!important;
    column-gap:4px!important;
    padding:0 5px!important;
    background:transparent!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    margin:0!important;
    color:#334155!important;
    text-indent:0!important;
  }
  .tabs.compactTabs button::before,
  .tabs.compactTabs button::after,
  .tabs.compactTabs button span::before,
  .tabs.compactTabs button span::after{
    display:none!important;
    content:''!important;
    width:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .tabs.compactTabs button.active{
    color:#ea580c!important;
    font-weight:900!important;
  }
  .tabs.compactTabs button svg{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    flex:0 0 15px!important;
    margin:0!important;
    padding:0!important;
    color:currentColor!important;
  }
  .tabs.compactTabs button span{
    display:inline!important;
    flex:0 1 auto!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:currentColor!important;
    font-size:12px!important;
    font-weight:inherit!important;
    letter-spacing:0!important;
    line-height:1!important;
    text-indent:0!important;
    max-width:154px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

/* FIX 20260604: menú móvil icono y nombre pegados, sin espaciado raro */
@media(max-width:860px){
  .tabs.compactTabs button,
  .tabs.compactTabs button:hover,
  .tabs.compactTabs button:focus,
  .tabs.compactTabs button.active{
    display:grid!important;
    grid-template-columns:16px max-content!important;
    justify-content:start!important;
    justify-items:start!important;
    align-items:center!important;
    column-gap:3px!important;
    gap:3px!important;
    padding:0 4px!important;
    width:100%!important;
    text-align:left!important;
    letter-spacing:0!important;
    word-spacing:0!important;
    font-kerning:normal!important;
  }
  .tabs.compactTabs button svg{
    grid-column:1!important;
    display:block!important;
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    max-width:15px!important;
    flex:none!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  .tabs.compactTabs button span{
    grid-column:2!important;
    display:block!important;
    width:auto!important;
    max-width:150px!important;
    min-width:0!important;
    flex:none!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    letter-spacing:0!important;
    word-spacing:0!important;
    white-space:nowrap!important;
    line-height:1!important;
  }
}

/* Punto IA: sugerencias ocultas por defecto, limpias y compactas */
.aiSuggestBar{margin-top:10px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.aiSuggestToggle{height:34px!important;padding:0 10px!important;border-radius:10px!important;background:#fff!important;color:#334155!important;border:1px solid rgba(15,23,42,.10)!important;box-shadow:none!important;font-size:12px!important;font-weight:850!important}
.aiSuggestToggle:hover{background:#f8fafc!important;color:#0f172a!important}
.aiSuggestBar .aiExamples{margin-top:0!important;width:100%;display:flex;flex-wrap:wrap;gap:7px}
.aiSuggestBar .aiExamples button{height:32px!important;padding:0 10px!important;font-size:12px!important;border-radius:999px!important;background:#fff!important;color:#334155!important;border:1px solid rgba(15,23,42,.10)!important;box-shadow:none!important}
@media (max-width:860px){.assistant-page .aiSuggestBar{margin-top:8px}.assistant-page .aiSuggestToggle{height:32px!important;font-size:11.5px!important}.assistant-page .aiExamples{max-height:180px;overflow:auto;padding-bottom:2px}.assistant-page .aiExamples button{height:30px!important;font-size:11.5px!important;padding:0 9px!important}.assistant-page .aiAnswer{margin-top:10px!important}.assistant-page .reportCards.solidCardGrid.mini{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}}

/* FIX 20260604: header limpio dentro del menú desplegable móvil */
@media(max-width:860px){
  .topbar{
    padding-top:calc(9px + env(safe-area-inset-top,0px))!important;
    min-height:60px!important;
  }
  main{
    padding-top:12px!important;
  }
  .tabs.compactTabs{
    padding-top:calc(14px + env(safe-area-inset-top,0px))!important;
  }
  .tabs.compactTabs .sidebar-brand.compactBrand{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    height:auto!important;
    min-height:54px!important;
    margin:0 0 8px!important;
    padding:5px 4px 10px!important;
    border-bottom:1px solid #eef2f7!important;
    background:#fff!important;
    border-radius:0!important;
    box-shadow:none!important;
    position:sticky!important;
    top:0!important;
    z-index:2!important;
  }
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    flex:0 0 36px!important;
    border-radius:12px!important;
    padding:0!important;
  }
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot .brandLogo,
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot img{
    width:100%!important;
    height:100%!important;
    max-width:36px!important;
    max-height:36px!important;
    object-fit:contain!important;
  }
  .drawerBrandText{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:1px!important;
    line-height:1.1!important;
  }
  .drawerBrandText b{
    display:block!important;
    color:#0f172a!important;
    font-size:13px!important;
    font-weight:950!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
  }
  .drawerBrandText small{
    display:block!important;
    color:#64748b!important;
    font-size:10px!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:145px!important;
  }
  .tabs.compactTabs > button:first-of-type{
    margin-top:2px!important;
  }
}


/* FIX 20260604: drawer header empresa arriba, Punto App abajo + configuración móvil compacta */
@media(max-width:860px){
  .tabs.compactTabs .drawerBrandText b{
    max-width:150px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    letter-spacing:-.02em!important;
    font-size:13.5px!important;
  }
  .tabs.compactTabs .drawerBrandText small{
    color:#f97316!important;
    text-transform:none!important;
    letter-spacing:.01em!important;
    font-size:10.5px!important;
    font-weight:900!important;
  }
  .settings-layout{gap:8px!important;}
  .settings-menu{
    position:sticky!important;
    top:66px!important;
    z-index:20!important;
    display:flex!important;
    flex-direction:row!important;
    gap:6px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:7px 6px!important;
    margin:0 0 8px!important;
    border-radius:15px!important;
    border:1px solid #e5e7eb!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
    scrollbar-width:none!important;
  }
  .settings-menu::-webkit-scrollbar{display:none!important;}
  .settings-menu button{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    min-width:max-content!important;
    width:auto!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    border:1px solid #e5e7eb!important;
    background:#fff!important;
    color:#334155!important;
    box-shadow:none!important;
    font-size:11.5px!important;
    font-weight:850!important;
    white-space:nowrap!important;
  }
  .settings-menu button svg{width:14px!important;height:14px!important;}
  .settings-menu button.active{
    background:#fff7ed!important;
    border-color:#fed7aa!important;
    color:#c2410c!important;
    box-shadow:none!important;
  }
  .settings-panel{min-height:auto!important;}
  .settings-panel .panel-head{
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
    margin-bottom:10px!important;
  }
  .settings-panel .panel-head .primary{height:36px!important;padding:0 10px!important;font-size:12px!important;}
}
@media(max-width:420px){
  .settings-menu button{height:32px!important;font-size:11px!important;padding:0 9px!important;}
  .settings-menu button svg{width:13px!important;height:13px!important;}
}


/* FIX 20260604: encabezado del drawer solo en teléfono; desktop mantiene solo logo de empresa */
@media (min-width:861px){
  .tabs.compactTabs .sidebar-brand.compactBrand{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    padding:8px 0 12px!important;
    margin:0 0 6px!important;
    border-bottom:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .tabs.compactTabs .sidebar-brand.compactBrand .drawerBrandText{
    display:none!important;
  }
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border-radius:14px!important;
  }
}
@media (max-width:860px){
  .tabs.compactTabs .sidebar-brand.compactBrand{
    display:flex!important;
  }
  .tabs.compactTabs .sidebar-brand.compactBrand .drawerBrandText{
    display:flex!important;
  }
}

/* FIX 20260605: encabezado móvil más compacto y menos cargado */
@media (max-width:860px){
  .topbar{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    min-height:50px!important;
    padding:6px 8px!important;
    gap:7px!important;
    flex-wrap:nowrap!important;
    overflow:visible!important;
  }
  .mobileMenuBtn{
    width:42px!important;
    min-width:42px!important;
    height:38px!important;
    padding:0!important;
    border-radius:12px!important;
    gap:0!important;
  }
  .mobileMenuBtn span{font-size:20px!important;line-height:1!important}
  .mobileMenuBtn b{display:none!important}
  .screen-title{min-width:0!important;display:flex!important;flex-direction:column!important;gap:0!important;line-height:1.08!important}
  .screen-title b{font-size:14.5px!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .screen-title small{font-size:9.5px!important;line-height:1.05!important;max-width:120px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .topmeta{
    grid-column:3!important;
    grid-row:1!important;
    width:auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:5px!important;
    overflow:visible!important;
  }
  .topmeta .userPill{display:none!important}
  .topmeta > button:not(.rate-pill):not(.bellBtn):not(.aiHeaderBtn){display:none!important}
  .topmeta select{
    width:74px!important;
    max-width:74px!important;
    height:34px!important;
    min-width:0!important;
    padding:0 7px!important;
    font-size:11px!important;
    border-radius:11px!important;
  }
  .rate-pill{
    width:78px!important;
    max-width:78px!important;
    height:34px!important;
    min-width:0!important;
    padding:0 7px!important;
    font-size:10.5px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    border-radius:11px!important;
  }
  .bellBtn,.aiHeaderBtn{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    padding:0!important;
    border-radius:11px!important;
  }
  .bellBtn svg,.aiHeaderBtn svg{width:16px!important;height:16px!important}
  .geminiMark{font-size:16px!important}
  main{padding-top:8px!important}
}
@media (max-width:520px){
  .topbar{
    min-height:46px!important;
    padding:5px 7px!important;
    gap:6px!important;
  }
  .topmeta select,.rate-pill{display:none!important}
  .screen-title small{display:none!important}
  .screen-title b{font-size:14px!important}
  .mobileMenuBtn{
    width:38px!important;
    min-width:38px!important;
    height:36px!important;
    border-radius:11px!important;
  }
  .bellBtn,.aiHeaderBtn{
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    border-radius:10px!important;
  }
  .status{top:58px!important}
  .licenseRenewBanner{top:60px!important}
}

/* FIX 20260605: logo más visible en móviles */
@media (max-width:860px){
  .tabs.compactTabs .sidebar-brand.compactBrand{
    min-height:64px!important;
    gap:10px!important;
  }
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    flex:0 0 50px!important;
    border-radius:15px!important;
  }
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot .brandLogo,
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot img{
    width:100%!important;
    height:100%!important;
    max-width:50px!important;
    max-height:50px!important;
    object-fit:contain!important;
    padding:4px!important;
  }
  .drawerBrandText b{font-size:14px!important;line-height:1.05!important;}
  .drawerBrandText small{font-size:11px!important;line-height:1.05!important;}
  .cleanLicenseBrand img{width:96px!important;height:96px!important;}
}
@media (max-width:420px){
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    flex-basis:46px!important;
  }
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot .brandLogo,
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot img{
    max-width:46px!important;
    max-height:46px!important;
  }
  .cleanLicenseBrand img{width:90px!important;height:90px!important;}
}

/* FIX 20260605: logo del menu móvil realmente más grande y proporcionado */
@media (max-width: 860px){
  .tabs.compactTabs .sidebar-brand.compactBrand{
    min-height: 78px !important;
    padding: 10px 8px 12px !important;
    gap: 12px !important;
    align-items: center !important;
  }

  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot,
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot.hasLogo,
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot.emptyLogo{
    width: 62px !important;
    height: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    flex: 0 0 62px !important;
    border-radius: 18px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot .brandLogo,
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot img{
    width: 100% !important;
    height: 100% !important;
    min-width: 62px !important;
    min-height: 62px !important;
    max-width: 62px !important;
    max-height: 62px !important;
    padding: 3px !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 18px !important;
  }

  .tabs.compactTabs .sidebar-brand.compactBrand .noLogoMark{
    width: 46px !important;
    height: 46px !important;
    border-radius: 15px !important;
  }

  .tabs.compactTabs .sidebar-brand.compactBrand .drawerBrandText{
    min-width: 0 !important;
    max-width: 155px !important;
  }

  .tabs.compactTabs .sidebar-brand.compactBrand .drawerBrandText b{
    font-size: 15px !important;
    line-height: 1.05 !important;
    max-width: 155px !important;
  }

  .tabs.compactTabs .sidebar-brand.compactBrand .drawerBrandText small{
    font-size: 11.5px !important;
    line-height: 1.05 !important;
    max-width: 155px !important;
  }
}

@media (max-width: 420px){
  .tabs.compactTabs .sidebar-brand.compactBrand{
    min-height: 74px !important;
    gap: 10px !important;
  }

  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot,
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot.hasLogo,
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot.emptyLogo{
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    flex-basis: 58px !important;
  }

  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot .brandLogo,
  .tabs.compactTabs .sidebar-brand.compactBrand .logoSlot img{
    min-width: 58px !important;
    min-height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;
  }
}

/* Admin + sync + estadísticas */
.adminPage{display:flex;flex-direction:column;gap:18px}.adminHero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff8f1,#ffffff);border:1px solid rgba(255,106,0,.18)}.adminHero h2{margin:6px 0 8px;font-size:clamp(25px,3vw,40px)}.adminHero p{margin:0;color:#5f6470;max-width:760px}.adminGrid{align-items:stretch}.adminStatusCard{height:100%}.statusRows{display:grid;gap:10px;margin-top:12px}.statusRows div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:#f7f8fb;border:1px solid rgba(18,24,38,.06)}.statusRows span{color:#697184;font-size:13px}.statusRows b{color:#111827;text-align:right;word-break:break-word}.statusRows.small div{padding:9px 12px}.syncBadge{display:flex;align-items:end;gap:8px;margin:8px 0 4px}.syncBadge b{font-size:48px;line-height:.9;color:#ff6a00}.syncBadge span{font-weight:800;color:#1f2937}.adminStatsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.adminStatsGrid>div{padding:16px;border-radius:20px;background:#111827;color:white;box-shadow:0 12px 34px rgba(17,24,39,.12)}.adminStatsGrid b{display:block;font-size:22px}.adminStatsGrid span{display:block;font-weight:800;margin-top:4px}.adminStatsGrid small{display:block;color:rgba(255,255,255,.74);margin-top:3px}.adminTopList{border:1px solid rgba(18,24,38,.08);border-radius:22px;padding:14px;background:#fff}.adminTopList h3{margin:2px 0 12px}@media(max-width:900px){.adminHero{display:block}.adminHero .actions{margin-top:14px}.adminStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.adminStatsGrid{grid-template-columns:1fr}.statusRows div{display:block}.statusRows b{display:block;text-align:left;margin-top:3px}}


/* FIX 20260703: header móvil en orden correcto y fijo
   Orden obligatorio: [sandwich] [título] [campana/IA]
*/
@media (max-width: 860px){
  .topbar{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    grid-template-rows: 44px !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 56px !important;
    height: 56px !important;
    padding: 6px 10px !important;
    background: rgba(255,255,255,.97) !important;
    border-bottom: 1px solid #e5e7eb !important;
    box-shadow: 0 8px 22px rgba(15,23,42,.07) !important;
    direction: ltr !important;
    overflow: visible !important;
  }
  .mobileMenuBtn{
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 13px !important;
    background: #0f172a !important;
    color: #fff !important;
    border-color: #0f172a !important;
    box-shadow: 0 10px 22px rgba(15,23,42,.16) !important;
    transform: none !important;
  }
  .mobileMenuBtn span{font-size: 22px !important;line-height:1 !important;display:block !important;}
  .mobileMenuBtn b{display:none !important;}
  .screen-title{
    grid-column: 2 !important;
    grid-row: 1 !important;
    order: 2 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 1px !important;
    text-align: left !important;
    line-height: 1.05 !important;
    overflow: hidden !important;
    direction: ltr !important;
  }
  .screen-title b{
    font-size: 15px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
  .screen-title small{
    display: block !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
  .topmeta{
    grid-column: 3 !important;
    grid-row: 1 !important;
    order: 3 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    margin: 0 !important;
    overflow: visible !important;
    direction: ltr !important;
  }
  .topmeta .userPill,
  .topmeta select,
  .topmeta .rate-pill,
  .topmeta > button:not(.bellBtn):not(.aiHeaderBtn){display:none !important;}
  .bellBtn,.aiHeaderBtn{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    margin: 0 !important;
  }
  main{padding-top: 66px !important;}
  .settings-menu{top: 64px !important;}
  .status{top: 66px !important;}
  .licenseRenewBanner{top: 68px !important;}
}
@media (max-width: 420px){
  .topbar{grid-template-columns: 40px minmax(0, 1fr) auto !important;height:54px!important;min-height:54px!important;padding:6px 8px!important;gap:7px!important;}
  .mobileMenuBtn{width:40px!important;min-width:40px!important;height:40px!important;}
  .bellBtn,.aiHeaderBtn{width:34px!important;min-width:34px!important;height:34px!important;}
  .screen-title b{font-size:14px!important;}
  main{padding-top:64px!important;}
}

/* FIX 20260703: Cobro móvil en 2 columnas reales
   Evita que Nota/PDF/Imprimir/Crédito vuelvan a una sola columna en pantallas pequeñas. */
@media (max-width: 860px){
  .checkout-actions{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  .checkout-actions > button{
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 8px !important;
    border-radius: 13px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
  }
  .checkout-actions > button svg{
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
  }
  .checkout-actions .cobrar{
    grid-column: 1 / -1 !important;
    height: 48px !important;
    min-height: 48px !important;
    font-size: 13px !important;
    font-weight: 950 !important;
  }
  .checkout-actions .managerVoid,
  .checkout-actions .dangerOutline{
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 520px){
  .checkout-actions{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .checkout-actions .cobrar,
  .checkout-actions .managerVoid,
  .checkout-actions .dangerOutline{
    grid-column: 1 / -1 !important;
  }
  .checkout-actions .printBtn,
  .checkout-actions .creditBtn{
    grid-column: auto !important;
  }
}

/* v3.9 FIX móvil: Números administrativos compacto en pantallas pequeñas */
@media (max-width: 760px){
  .products-clean .pro-editor{
    padding: 12px !important;
    border-radius: 16px !important;
  }
  .products-clean .compact-section{
    padding: 10px !important;
    border-radius: 14px !important;
  }
  .products-clean .compact-section>b{
    font-size: 11px !important;
    margin-bottom: 8px !important;
  }
  .products-clean .money-input-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: stretch !important;
  }
  .products-clean .money-input{
    min-height: 76px !important;
    padding: 8px 9px !important;
    border-radius: 13px !important;
    display: grid !important;
    align-content: center !important;
  }
  .products-clean .money-input span{
    font-size: 9.5px !important;
    line-height: 1.15 !important;
    letter-spacing: .055em !important;
  }
  .products-clean .money-input input{
    height: 32px !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }
  .products-clean .money-input-grid > label:not(.money-input){
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 12px !important;
  }
  .products-clean .money-input-grid > label:not(.money-input) input,
  .products-clean .money-input-grid > label:not(.money-input) select{
    height: 38px !important;
    border-radius: 12px !important;
  }
  .products-clean .money-input-grid > label.check.stockCheck{
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 6px !important;
    white-space: nowrap !important;
    font-size: 12px !important;
  }
  .products-clean .money-input-grid > label:has(input[placeholder="Opcional"]){
    grid-column: 1 / -1 !important;
  }
  .number-preview{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 9px !important;
  }
  .number-preview>div{
    min-height: 60px !important;
    padding: 9px 10px !important;
    border-radius: 13px !important;
  }
  .number-preview span{
    font-size: 9.5px !important;
    margin-bottom: 3px !important;
  }
  .number-preview b{
    font-size: 16px !important;
  }
}

@media (max-width: 390px){
  .products-clean .money-input{
    min-height: 70px !important;
    padding: 7px 8px !important;
  }
  .products-clean .money-input input{
    font-size: 20px !important;
  }
  .products-clean .money-input-grid{
    gap: 7px !important;
  }
}

/* Punto App - Membresías: ocultar icono grande del módulo y mejorar inputs */
.memberships-page .membershipHeroIcon{display:none!important}
.memberships-page .memberships-hero{gap:12px!important}
.memberships-page .memberships-hero>div:nth-child(2){flex:1 1 260px!important;min-width:0!important}
.memberships-page .membershipForm label,
.memberships-page .membersPanel .actions label{display:flex;flex-direction:column;gap:6px;min-width:0;color:#334155;font-weight:850;font-size:12px}
.memberships-page .membershipForm input,
.memberships-page .membershipForm select,
.memberships-page .membersPanel input,
.memberships-page .membersPanel select{width:100%!important;max-width:100%!important;box-sizing:border-box!important;height:44px!important;border-radius:13px!important;border:1px solid #dbe3ee!important;background:#fff!important;color:#0f172a!important;font-weight:800!important;font-size:14px!important;padding:0 12px!important;box-shadow:0 1px 0 rgba(15,23,42,.02)!important}
.memberships-page .membershipForm input:focus,
.memberships-page .membershipForm select:focus,
.memberships-page .membersPanel input:focus,
.memberships-page .membersPanel select:focus{border-color:#f59e0b!important;box-shadow:0 0 0 4px rgba(245,158,11,.16)!important;outline:none!important}
.memberships-page .membershipForm input[readonly]{background:#f8fafc!important;color:#475569!important}
.memberships-page .membershipForm .miniGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.memberships-page .membershipCard{overflow:hidden!important}
.memberships-page .membershipCard .panel-head.tight{align-items:flex-start!important;gap:10px!important}
.memberships-page .membershipCard .panel-head.tight button{height:34px!important;border-radius:11px!important;padding:0 10px!important;white-space:nowrap!important}
.memberships-page .membershipDuePreview{padding:10px 12px!important;border-radius:14px!important}
.memberships-page .membersPanel .actions.wrap{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(120px,.55fr)!important;gap:8px!important;width:min(100%,430px)!important}
.memberships-page .membersPanel .miniSearch{min-width:0!important}
@media(max-width:640px){
  .memberships-page .memberships-hero{display:grid!important;grid-template-columns:1fr!important;padding:12px!important}
  .memberships-page .memberships-hero h2{font-size:20px!important}
  .memberships-page .memberships-hero .actions.wrap{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}
  .memberships-page .memberships-hero .actions.wrap button{width:100%!important;min-width:0!important;height:36px!important;padding:0 9px!important;font-size:12px!important}
  .memberships-page .membershipForm .miniGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .memberships-page .membershipForm input,
  .memberships-page .membershipForm select,
  .memberships-page .membersPanel input,
  .memberships-page .membersPanel select{height:40px!important;font-size:13px!important;border-radius:12px!important;padding:0 10px!important}
  .memberships-page .membersPanel .panel-head.tight{display:grid!important;grid-template-columns:1fr!important}
  .memberships-page .membersPanel .actions.wrap{width:100%!important;grid-template-columns:1fr 120px!important}
}
@media(max-width:380px){
  .memberships-page .membershipForm .miniGrid{grid-template-columns:1fr!important}
  .memberships-page .membersPanel .actions.wrap{grid-template-columns:1fr!important}
}

/* Punto App - Reportes v2: seccion compacta, clara y segura en móvil */
.reportsPageV2{display:flex!important;flex-direction:column!important;gap:14px!important;padding-bottom:28px!important}
.reportHeroV2{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:22px!important;box-shadow:0 14px 32px rgba(15,23,42,.08)!important;padding:16px!important;overflow:hidden!important;position:relative!important}
.reportHeroV2:before{content:'';position:absolute;right:-60px;top:-90px;width:190px;height:190px;border-radius:999px;background:radial-gradient(circle,rgba(249,115,22,.16),rgba(249,115,22,0) 67%);pointer-events:none!important}
.reportHeroTopV2{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:start!important;position:relative!important;z-index:1!important}
.reportTitleV2{min-width:0!important}.reportEyebrow{display:inline-flex!important;align-items:center!important;gap:7px!important;color:#f97316!important;font-size:11px!important;font-weight:950!important;letter-spacing:.1em!important;text-transform:uppercase!important;margin-bottom:5px!important}.reportEyebrow svg{width:15px!important;height:15px!important}
.reportTitleV2 h2{margin:0!important;color:#0f172a!important;font-size:24px!important;line-height:1.04!important;letter-spacing:-.045em!important;font-weight:950!important}.reportTitleV2 p{margin:5px 0 0!important;color:#64748b!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.reportModePills{display:flex!important;align-items:center!important;background:#eef2f7!important;border:1px solid #e2e8f0!important;border-radius:999px!important;padding:4px!important;gap:3px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important}.reportModePills button{height:34px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#475569!important;padding:0 13px!important;font-size:12px!important;font-weight:950!important;box-shadow:none!important;white-space:nowrap!important}.reportModePills button.active{background:linear-gradient(135deg,#ff7a1a,#ea580c)!important;color:#fff!important;box-shadow:0 8px 16px rgba(234,88,12,.22)!important}
.reportFiltersV2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(170px,.75fr) auto!important;gap:9px!important;align-items:end!important;margin-top:14px!important;position:relative!important;z-index:1!important}.reportFiltersV2 label{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0!important}.reportFiltersV2 label span{font-size:10px!important;color:#64748b!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.08em!important}.reportFiltersV2 input,.reportFiltersV2 select{height:42px!important;width:100%!important;box-sizing:border-box!important;border:1px solid #dbe3ee!important;border-radius:14px!important;background:#fff!important;color:#0f172a!important;padding:0 12px!important;font-size:13px!important;font-weight:850!important;outline:none!important;box-shadow:0 1px 0 rgba(15,23,42,.03)!important}.reportFiltersV2 input:focus,.reportFiltersV2 select:focus{border-color:#fb923c!important;box-shadow:0 0 0 4px rgba(251,146,60,.14)!important}.reportSearchBtn{height:42px!important;border-radius:14px!important;padding:0 16px!important;font-size:13px!important;font-weight:950!important;white-space:nowrap!important}
.reportActionGridV2{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(165px,.8fr)!important;gap:9px!important;margin-top:10px!important;position:relative!important;z-index:1!important}.reportActionGridV2 button{height:40px!important;border-radius:14px!important;justify-content:center!important;font-size:12.5px!important;font-weight:950!important;padding:0 10px!important;white-space:nowrap!important}.reportActionGridV2 button:disabled{opacity:.48!important;filter:grayscale(.1)!important}.reportSummaryBtn{background:linear-gradient(135deg,#ff7a1a,#ea580c)!important;color:#fff!important}
.reportSkeletonV2{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.reportSkeletonV2 span{display:block!important;height:92px!important;border-radius:20px!important;background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7)!important;background-size:220% 100%!important;animation:puntoSkeleton 1.15s infinite linear!important;border:1px solid #e2e8f0!important}@keyframes puntoSkeleton{0%{background-position:100% 0}100%{background-position:-100% 0}}
.reportsPageV2 .reportCardsV2{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0!important;gap:12px!important}.reportsPageV2 .reportCardsV2 .solidCard{min-height:92px!important;border-radius:20px!important;padding:14px 62px 13px 14px!important}.reportsPageV2 .reportCardsV2 .solidCard strong{font-size:19px!important}.reportsPageV2 .reportCardsV2 .solidCard small{white-space:normal!important;line-height:1.2!important}.reportsInsightGrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.reportInsightCard{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:18px!important;padding:13px 14px!important;box-shadow:0 10px 24px rgba(15,23,42,.055)!important;min-width:0!important}.reportInsightCard small{display:block!important;color:#f97316!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:10px!important;font-weight:950!important;margin-bottom:7px!important}.reportInsightCard b{display:block!important;color:#0f172a!important;font-size:15px!important;line-height:1.15!important;letter-spacing:-.02em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.reportInsightCard span{display:block!important;color:#64748b!important;font-size:12px!important;font-weight:800!important;margin-top:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.reportInsightCard.highlight{background:linear-gradient(135deg,#0f172a,#1e293b)!important;border-color:transparent!important}.reportInsightCard.highlight small{color:#fdba74!important}.reportInsightCard.highlight b,.reportInsightCard.highlight span{color:#fff!important}
.reportEmptyStateV2{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:6px!important;padding:22px 16px!important;border-style:dashed!important}.reportEmptyStateV2>div{width:48px!important;height:48px!important;border-radius:18px!important;background:#fff7ed!important;color:#f97316!important;display:grid!important;place-items:center!important}.reportEmptyStateV2 svg{width:25px!important;height:25px!important}.reportEmptyStateV2 b{color:#0f172a!important;font-size:17px!important}.reportEmptyStateV2 p{margin:0!important;max-width:420px!important;color:#64748b!important;font-weight:750!important}
.reportsChartsGridV2{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;gap:12px!important}.reportChartBox{border-radius:20px!important;overflow:hidden!important}.reportChartBox .panel-head{padding-bottom:8px!important}.reportBottomGridV2{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)!important;gap:12px!important;align-items:start!important}.reportDataPanel{border-radius:20px!important;overflow:hidden!important}.reportDataPanel .panel-head{gap:10px!important}.reportDataPanel .actions button{height:34px!important;border-radius:12px!important;font-size:12px!important;padding:0 10px!important}.reportTableMobile{max-height:440px!important;overflow:auto!important}.reportTableMobile table{min-width:680px!important}.reportTableMobile td small{display:block!important;color:#64748b!important;font-size:11px!important;margin-top:3px!important}.reportTopList{display:flex!important;flex-direction:column!important;gap:8px!important}.reportTopList .topProduct{border:1px solid #e2e8f0!important;border-radius:16px!important;padding:10px!important;background:#fff!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important}.reportTopList .topProduct>span{width:30px!important;height:30px!important;border-radius:11px!important;background:#fff7ed!important;color:#f97316!important;display:grid!important;place-items:center!important;font-weight:950!important}.reportTopList .topProduct b{color:#0f172a!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.reportTopList .topProduct small{display:block!important;color:#64748b!important;font-weight:750!important;margin-top:2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.reportTopList .topProduct strong{color:#0f172a!important;font-size:13px!important;white-space:nowrap!important}.reportEmptyCell{text-align:center!important;padding:18px!important}
@media(max-width:1180px){.reportsPageV2 .reportCardsV2,.reportsInsightGrid,.reportSkeletonV2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.reportsChartsGridV2,.reportBottomGridV2{grid-template-columns:1fr!important}.reportFiltersV2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.reportRegisterField{grid-column:1 / -1!important}.reportSearchBtn{width:100%!important}.reportActionGridV2{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:640px){.reportHeroV2{border-radius:18px!important;padding:12px!important}.reportHeroTopV2{grid-template-columns:1fr!important;gap:10px!important}.reportTitleV2 h2{font-size:21px!important}.reportTitleV2 p{font-size:11.5px!important}.reportModePills{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;border-radius:16px!important}.reportModePills button{height:34px!important;padding:0 8px!important}.reportFiltersV2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.reportRegisterField{grid-column:1 / -1!important}.reportSearchBtn{grid-column:1 / -1!important;width:100%!important}.reportActionGridV2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.reportActionGridV2 .reportSummaryBtn{grid-column:1 / -1!important}.reportsPageV2 .reportCardsV2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.reportsPageV2 .reportCardsV2 .solidCard{min-height:82px!important;border-radius:17px!important;padding:11px 42px 10px 10px!important}.reportsPageV2 .reportCardsV2 .solidIcon{right:9px!important;top:10px!important;width:30px!important;height:30px!important}.reportsPageV2 .reportCardsV2 .solidIcon svg{width:18px!important;height:18px!important}.reportsPageV2 .reportCardsV2 .solidCard span{font-size:8.7px!important;letter-spacing:.06em!important}.reportsPageV2 .reportCardsV2 .solidCard strong{font-size:15px!important;line-height:1.04!important}.reportsPageV2 .reportCardsV2 .solidCard small{font-size:9.4px!important;line-height:1.12!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.reportsInsightGrid{grid-template-columns:1fr!important;gap:8px!important}.reportInsightCard{padding:11px 12px!important;border-radius:16px!important}.reportsChartsGridV2{gap:10px!important}.reportDataPanel .panel-head{display:grid!important;grid-template-columns:1fr!important}.reportDataPanel .actions.wrap{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}.reportDataPanel .actions button{width:100%!important}.reportTableMobile table,.reportTableMobile thead,.reportTableMobile tbody,.reportTableMobile th,.reportTableMobile td,.reportTableMobile tr{display:block!important;min-width:0!important}.reportTableMobile thead{display:none!important}.reportTableMobile table{width:100%!important}.reportTableMobile tr{border:1px solid #e2e8f0!important;border-radius:16px!important;margin-bottom:9px!important;padding:9px!important;background:#fff!important}.reportTableMobile td{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:10px!important;border:0!important;padding:5px 0!important;text-align:right!important;color:#0f172a!important;font-weight:850!important}.reportTableMobile td:before{content:attr(data-label)!important;color:#64748b!important;font-size:11px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.05em!important;text-align:left!important}.reportTableMobile td small{font-size:10px!important}.reportTopList .topProduct{grid-template-columns:30px minmax(0,1fr)!important}.reportTopList .topProduct strong{grid-column:2!important;color:#f97316!important}.reportSkeletonV2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.reportSkeletonV2 span{height:82px!important;border-radius:17px!important}}
@media(max-width:374px){.reportFiltersV2{grid-template-columns:1fr!important}.reportsPageV2 .reportCardsV2{grid-template-columns:1fr 1fr!important}.reportActionGridV2{grid-template-columns:1fr!important}.reportActionGridV2 .reportSummaryBtn{grid-column:auto!important}}

/* Punto App - Responsive global seguro v20260704
   Solo CSS: no toca login, API, caché ni observers. Objetivo: que todas las pantallas respiren mejor en 360-430px. */
html,body,#root{max-width:100%;overflow-x:hidden!important}
*{min-width:0}
img,svg,video,canvas{max-width:100%}
main,.panel,.modalBox,.tableWrap,.productTableWrap,.inventory-table-wrap,.reportsPageV2,.products-clean,.catalog-pro-page,.memberships-page,.settings-panel,.restaurantGridPro,.cash-page,.audit-page,.close-page,.customers-page,.credits-page,.suppliers-page,.payrollPage,.labels-page,.adminPage,.license-dashboard{min-width:0!important}
textarea{width:100%;max-width:100%;min-height:92px;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;color:#0f172a;resize:vertical;font:inherit;font-weight:750;outline:none}
textarea:focus{border-color:#fb923c;box-shadow:0 0 0 4px rgba(251,146,60,.14)}
.tableWrap,.productTableWrap,.inventory-table-wrap,.customers-page .tableWrap,.cash-page .tableWrap,.audit-page .tableWrap,.creditsTable,.membershipsTable{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;max-width:100%!important}
.tableWrap table,.productTableWrap table,.inventory-table-wrap table,.clean-table table{min-width:680px}
.panel-head>div{min-width:0}.panel-head h2,.panel-head small,.screen-title b,.screen-title small{overflow:hidden;text-overflow:ellipsis}.panel-head small,.screen-title small{max-width:100%}
button,input,select,textarea{max-width:100%}button{min-width:0}button svg{flex:0 0 auto}
.emptyState,.cleanEmpty,.emptyInline{border-radius:18px!important;padding:18px!important}
.toastHost{left:12px!important;right:12px!important;bottom:12px!important}.appToast{max-width:100%!important}

@media(max-width:980px){
  main{padding:14px 14px 22px!important}
  .grid,.products-clean,.catalog-pro-page,.memberships-page,.payrollPage,.customers-page,.credits-page,.suppliers-page,.labels-page,.reportsPageV2,.restaurantGridPro,.cash-page,.audit-page,.close-page,.adminPage{gap:12px!important}
  .sale-grid,.two,.three,.settings-layout,.closeLayout,.chartsGrid,.reportsChartsGridV2,.reportBottomGridV2,.restaurantGrid,.restaurantGridPro,.catalogTopGrid,.membershipTopGrid,.payrollTopGrid,.adminGrid,.license-dashboard{grid-template-columns:1fr!important}
  .checkout{position:relative!important;top:auto!important}
  .panel{border-radius:17px!important;padding:14px!important}
  .modal{padding:10px!important;align-items:start!important;overflow:auto!important}.modalBox{max-height:calc(100vh - 20px)!important;overflow:auto!important;border-radius:18px!important;padding:14px!important}
  .panel-head{gap:10px!important;margin-bottom:12px!important}.panel-head h2{font-size:18px!important;line-height:1.1!important}.panel-head small{font-size:12px!important;line-height:1.25!important}
  .form-grid,.settings-grid,.settings-panel .grid,.companySettingsGrid,.companyFormCompact,.companyForm,.formSplit,.form-section,.pro-fields,.editProductFields,.product-fields,.clean-product-form,.catalogCompactGrid,.catalogOptionsCompact,.socialMiniGrid,.compact-switches,.notificationsSettings,.mapConfigBox,.expenseForm,.payrollForm,.membershipForm .miniGrid,.auditTwoCols,.closeRows,.cards,.metricGrid.three,.solidCardGrid,.adminStatsGrid,.licenseStatsGrid,.inventory-kpis,.product-summary-kpis,.compactKpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .span2,.wide,.form-grid>.wide,.form-section>.wide,.companyForm .wide,.companySettingsGrid .wide{grid-column:1 / -1!important}
  .actions.wrap{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}.actions.wrap button{width:100%!important;height:38px!important;padding:0 9px!important;font-size:12px!important;white-space:nowrap!important}
  .panel-head>.actions.wrap{margin-top:2px!important}
  .searchbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}.searchbar input,.searchbar button{height:46px!important;border-radius:13px!important;font-size:14px!important}.searchbar button{padding:0 12px!important;white-space:nowrap!important}
  .kpiRow,.cards,.reportCards,.reportsPageV2 .reportCardsV2,.reportSkeletonV2,.catalogCards,.tableCards,.plansGrid,.licenseStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .kpiRow .kpi,.cards>div,.solidCard,.preview-card{border-radius:18px!important;min-height:84px!important;padding:12px!important}.kpiIcon svg,.solidIcon svg{width:26px!important;height:26px!important}
}

@media(max-width:640px){
  main{padding:12px 10px 20px!important}.panel{padding:12px!important;border-radius:16px!important}.grid{gap:10px!important}
  .panel-head{display:grid!important;grid-template-columns:1fr!important;align-items:start!important}.panel-head>.actions,.panel-head>.actions.wrap{width:100%!important}.panel-head>.actions:not(.wrap){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.panel-head>.actions button{width:100%!important;height:36px!important;font-size:12px!important;padding:0 8px!important}
  h2{font-size:17px!important}h3{font-size:11px!important;margin:14px 0 8px!important}
  input,select,textarea{height:40px!important;border-radius:12px!important;font-size:14px!important;padding-left:10px!important;padding-right:10px!important}
  label{min-width:0!important}.form label,.form-grid label,.companyForm label,.membershipForm label,.payrollForm label,.expenseForm label{font-size:12px!important;line-height:1.2!important}
  .form-grid,.settings-grid,.settings-panel .grid,.companySettingsGrid,.companyFormCompact,.companyForm,.formSplit,.form-section,.pro-fields,.editProductFields,.product-fields,.clean-product-form,.catalogCompactGrid,.catalogOptionsCompact,.socialMiniGrid,.compact-switches,.notificationsSettings,.mapConfigBox,.expenseForm,.payrollForm,.auditTwoCols,.closeRows{grid-template-columns:1fr!important;gap:9px!important}
  .membershipForm .miniGrid,.products-clean .money-input-grid,.number-preview,.catalogCards,.tableCards,.plansGrid,.licenseStatsGrid,.cards,.metricGrid.three,.solidCardGrid,.inventory-kpis,.product-summary-kpis,.compactKpis,.adminStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .searchbar{grid-template-columns:1fr!important}.searchbar button{width:100%!important}
  .customerLine{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}.customerLine select{width:100%!important}.addCustomerBtn{height:40px!important;padding:0 10px!important;font-size:12px!important}
  .cart{min-height:130px!important;max-height:230px!important}.cart-row{grid-template-columns:minmax(0,1fr) 58px 34px!important;gap:6px!important}.cart-row input,.cart-row button{height:34px!important}
  .totals{display:grid!important;grid-template-columns:1fr auto!important;gap:6px!important;font-size:15px!important}.totals b{font-size:21px!important}.totals small{font-size:10px!important}
  .checkout>select,.checkout select{height:42px!important}.big,.primary.big{height:46px!important;font-size:13px!important}
  .kpiRow .kpi,.cards>div,.solidCard,.preview-card{min-height:78px!important;padding:10px!important;border-radius:16px!important}.kpi span,.solidCard span{font-size:8.8px!important}.kpi b,.solidCard strong{font-size:15px!important}.kpi small,.solidCard small{font-size:9.5px!important;line-height:1.15!important}.kpiIcon,.solidIcon{right:9px!important;top:9px!important}.kpiIcon svg,.solidIcon svg{width:20px!important;height:20px!important}.kpi span,.kpi b,.kpi small,.solidCard span,.solidCard strong,.solidCard small{max-width:calc(100% - 32px)!important}
  .tableWrap table,.productTableWrap table,.inventory-table-wrap table,.clean-table table{min-width:620px!important}td,th{padding:10px 11px!important}.codeCell{font-size:11px!important}.priceCell b{font-size:13px!important}
  .tabs button{height:40px!important;padding:0 10px!important;font-size:12px!important}
  .modalBox .actions.wrap,.modalBox .actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.modalBox .actions button{width:100%!important}
  .catalogPrimaryActions,.catalogCompactActions,.catalogMoreActions,.catalogTabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.catalogPrimaryActions button,.catalogCompactActions button,.catalogMoreActions button,.catalogTabs button{width:100%!important;height:38px!important;font-size:12px!important}
  .restaurantTotals{grid-template-columns:1fr 1fr!important;gap:8px!important}.tipBox{grid-template-columns:1fr auto auto!important;gap:8px!important}
}

@media(max-width:430px){
  main{padding-left:8px!important;padding-right:8px!important}.panel{padding:10px!important;border-radius:15px!important}
  .topbar{box-shadow:0 8px 20px rgba(15,23,42,.08)!important}
  .screen-title b{font-size:14px!important}.screen-title small{font-size:10.5px!important}.bellBtn,.aiHeaderBtn{width:34px!important;height:34px!important}.mobileMenuBtn{width:38px!important;height:38px!important}
  .actions.wrap,.panel-head>.actions:not(.wrap),.modalBox .actions,.modalBox .actions.wrap{grid-template-columns:1fr 1fr!important}.actions.wrap button,.panel-head>.actions button,.modalBox .actions button{font-size:11.5px!important;padding:0 6px!important;gap:5px!important}.actions.wrap button svg,.panel-head>.actions button svg{width:15px!important;height:15px!important}
  .kpiRow,.cards,.reportCards,.reportsPageV2 .reportCardsV2,.reportSkeletonV2,.catalogCards,.tableCards,.membershipForm .miniGrid,.products-clean .money-input-grid,.number-preview,.inventory-kpis,.product-summary-kpis,.compactKpis,.adminStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .kpiRow .kpi,.cards>div,.solidCard,.preview-card,.products-clean .money-input,.number-preview>div{min-height:70px!important;padding:9px!important;border-radius:14px!important}.kpi b,.solidCard strong,.cards strong{font-size:14px!important}.cards b{font-size:9px!important}.cards small{font-size:9px!important}
  .checkout-actions{gap:7px!important}.checkout-actions>button{height:39px!important;min-height:39px!important;font-size:11.5px!important;border-radius:12px!important}.checkout-actions .cobrar{height:45px!important;min-height:45px!important;font-size:12.5px!important}
  .products-clean .money-input input{font-size:18px!important}.products-clean .money-input span{font-size:8.5px!important}.number-preview b{font-size:14px!important}.number-preview span{font-size:8.5px!important}
  .customerLine{grid-template-columns:1fr!important}.addCustomerBtn{width:100%!important}
  .restaurantTotals{grid-template-columns:1fr!important}.tipBox{grid-template-columns:1fr!important}.tipBox input{width:100%!important}
  .tableWrap table,.productTableWrap table,.inventory-table-wrap table,.clean-table table{min-width:560px!important}
}

@media(max-width:370px){
  .panel{padding:9px!important}.kpiRow,.cards,.catalogCards,.tableCards,.inventory-kpis,.product-summary-kpis,.compactKpis{gap:6px!important}.kpiRow .kpi,.cards>div,.solidCard,.preview-card{padding:8px!important}.kpi b,.solidCard strong{font-size:13px!important}.kpi small,.solidCard small{display:none!important}
  .actions.wrap button,.panel-head>.actions button{font-size:11px!important}.reportTitleV2 h2{font-size:19px!important}
}
/* FIX 20260704: header móvil compacto sin segunda fila y drawer por encima del header */
@media(max-width:860px){
  .app{
    grid-template-rows:auto 1fr!important;
  }

  .topbar{
    position:sticky!important;
    top:0!important;
    z-index:4000!important;
    min-height:58px!important;
    padding:calc(7px + env(safe-area-inset-top,0px)) 9px 7px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    background:rgba(255,255,255,.98)!important;
    border-bottom:1px solid #e5e7eb!important;
    box-shadow:0 8px 22px rgba(15,23,42,.07)!important;
  }

  .mobileMenuBtn{
    grid-column:1!important;
    grid-row:1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    padding:0!important;
    border-radius:14px!important;
    background:#0f172a!important;
    color:#fff!important;
    border-color:#0f172a!important;
  }
  .mobileMenuBtn b{display:none!important}
  .mobileMenuBtn span{font-size:22px!important;line-height:1!important}

  .screen-title{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .screen-title b{
    display:block!important;
    font-size:14px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .screen-title small{
    display:block!important;
    font-size:10px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
  }

  .topmeta{
    grid-column:3!important;
    grid-row:1!important;
    width:auto!important;
    min-width:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    overflow:visible!important;
  }

  /* En móvil el header queda limpio: solo campana + IA a la derecha. */
  .topmeta select,
  .topmeta .userPill,
  .topmeta .rate-pill,
  .topmeta button:not(.bellBtn):not(.aiHeaderBtn){
    display:none!important;
  }
  .topmeta .bellBtn,
  .topmeta .aiHeaderBtn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    padding:0!important;
    border-radius:13px!important;
    margin:0!important;
  }

  main{
    grid-column:1!important;
    grid-row:2!important;
    padding-top:10px!important;
    scroll-padding-top:74px!important;
  }

  .mobileMenuShade{
    z-index:9000!important;
  }

  .tabs.compactTabs,
  .mobile-menu-open .tabs.compactTabs{
    top:0!important;
    left:0!important;
    bottom:0!important;
    height:100dvh!important;
    min-height:100vh!important;
    z-index:9100!important;
    padding-top:calc(12px + env(safe-area-inset-top,0px))!important;
    transform:translateX(-110%)!important;
  }
  .mobile-menu-open .tabs.compactTabs{transform:translateX(0)!important}

  .tabs.compactTabs .sidebar-brand.compactBrand{
    position:relative!important;
    top:auto!important;
    z-index:2!important;
    margin-top:0!important;
    padding-top:4px!important;
    flex-shrink:0!important;
  }

  .drawerBrandText b,
  .drawerBrandText small{
    max-width:132px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media(max-width:380px){
  .topbar{grid-template-columns:42px minmax(0,1fr) 82px!important;gap:6px!important}
  .topmeta .bellBtn,.topmeta .aiHeaderBtn{width:36px!important;min-width:36px!important;height:36px!important}
  .screen-title b{font-size:13px!important}
}

/* FIX 20260704: Venta rápida módulo por módulo
   Objetivo: que el aviso de bienvenida no tape el módulo, eliminar espacios blancos,
   hacer la venta rápida usable en teléfonos pequeños y mantener el header fijo limpio. */
@media(max-width:860px){
  /* Toasts: no deben ocupar el centro ni parecer una card vacía dentro del módulo */
  #app-toast-host.toastHost,
  .toastHost{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:calc(62px + env(safe-area-inset-top,0px))!important;
    bottom:auto!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    display:grid!important;
    gap:8px!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    pointer-events:none!important;
    z-index:99999!important;
  }
  .appToast{
    width:100%!important;
    max-width:430px!important;
    justify-self:center!important;
    min-height:0!important;
    padding:10px 10px 12px!important;
    grid-template-columns:30px minmax(0,1fr) 24px!important;
    gap:8px!important;
    border-radius:15px!important;
    box-shadow:0 14px 34px rgba(15,23,42,.16)!important;
  }
  .toastIcon{width:30px!important;height:30px!important;border-radius:10px!important;font-size:13px!important}
  .toastText b{font-size:12.5px!important;line-height:1.1!important}
  .toastText small{font-size:11.5px!important;line-height:1.25!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .toastClose{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important}
  .status{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:calc(62px + env(safe-area-inset-top,0px))!important;
    bottom:auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    z-index:99998!important;
    text-align:left!important;
    padding:10px 12px 10px 42px!important;
    border-radius:15px!important;
  }

  /* Venta rápida: estructura estable debajo del header, sin quedar escondida ni crear una card gigante vacía */
  main{
    padding:8px 8px 16px!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  main > .sale-grid,
  .sale-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
  }
  .sale-grid .panel,
  .sale-grid .ventaPanel,
  .sale-grid .checkout{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    border-radius:17px!important;
    padding:10px!important;
  }
  .sale-grid .ventaPanel{
    display:block!important;
    background:#fff!important;
  }
  .sale-grid .ventaPanel > *,
  .sale-grid .checkout > *{
    visibility:visible!important;
    opacity:1!important;
  }

  /* Acciones Nueva / Actualizar dentro del módulo, no como segunda fila del header */
  .ventaPanel .panel-head.compactHead,
  .sale-grid .panel-head.compactHead{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:0 0 9px!important;
    padding:0!important;
  }
  .ventaPanel .panel-head.compactHead h2,
  .sale-grid .panel-head.compactHead h2{
    display:none!important;
  }
  .ventaPanel .panel-head.compactHead .actions,
  .sale-grid .panel-head.compactHead .actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  .ventaPanel .panel-head.compactHead .actions button,
  .sale-grid .panel-head.compactHead .actions button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:34px!important;
    min-height:34px!important;
    border-radius:12px!important;
    padding:0 8px!important;
    font-size:12px!important;
    background:#fff!important;
  }

  /* KPIs compactos y legibles */
  .sale-grid .kpiRow{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin:0 0 9px!important;
  }
  .sale-grid .kpiRow .kpi{
    min-height:76px!important;
    padding:10px 42px 10px 10px!important;
    border-radius:16px!important;
  }
  .sale-grid .kpiRow .kpi span{
    font-size:9px!important;
    line-height:1.1!important;
    letter-spacing:.06em!important;
  }
  .sale-grid .kpiRow .kpi b{
    font-size:15px!important;
    line-height:1.05!important;
    margin-top:3px!important;
  }
  .sale-grid .kpiRow .kpi small{
    display:block!important;
    font-size:9.5px!important;
    line-height:1.15!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .sale-grid .kpiRow .kpiIcon,
  .sale-grid .kpiRow .kpi svg{
    right:10px!important;
    top:12px!important;
    width:24px!important;
    height:24px!important;
  }

  /* Buscador con menos alto y sin desbordes */
  .sale-grid .searchbar.liveSearch,
  .sale-grid .liveSearch{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin:8px 0!important;
    width:100%!important;
  }
  .sale-grid .searchbar.liveSearch input,
  .sale-grid .liveSearch input{
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
    border-radius:13px!important;
    font-size:13px!important;
    padding:0 12px!important;
  }
  .sale-grid .searchbar.liveSearch button,
  .sale-grid .liveSearch button{
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    border-radius:13px!important;
    font-size:12.5px!important;
  }

  .sale-grid .chips.compactChips,
  .sale-grid .compactChips{
    display:flex!important;
    gap:6px!important;
    overflow-x:auto!important;
    padding:1px 0 6px!important;
    margin:2px 0 7px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .sale-grid .chips.compactChips button,
  .sale-grid .compactChips button{
    flex:0 0 auto!important;
    height:29px!important;
    min-height:29px!important;
    border-radius:10px!important;
    padding:0 8px!important;
    font-size:10.5px!important;
  }

  /* Lista de productos: no crea scroll horizontal innecesario y mantiene altura razonable */
  .sale-grid .productTableWrap.compactProducts,
  .sale-grid .productTableWrap,
  .sale-grid .tableWrap{
    width:100%!important;
    max-width:100%!important;
    max-height:235px!important;
    overflow:auto!important;
    border-radius:15px!important;
    background:#fff!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .sale-grid .compactProducts .productTable,
  .sale-grid .productTable{
    min-width:500px!important;
  }
  .sale-grid .compactProducts th,
  .sale-grid .compactProducts td{
    padding:8px 9px!important;
    font-size:11px!important;
  }
  .sale-grid .compactProducts .nameCell b{font-size:12px!important;line-height:1.15!important}
  .sale-grid .compactProducts .nameCell small{font-size:10px!important}
  .sale-grid .compactProducts .codeCell{font-size:10px!important;max-width:96px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .sale-grid .compactProducts .miniAction{width:30px!important;min-width:30px!important;height:30px!important;border-radius:10px!important;padding:0!important}

  /* Venta actual / checkout compacta */
  .sale-grid .checkout{
    position:relative!important;
    top:auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
  }
  .sale-grid .cartHeader{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
  }
  .sale-grid .cartIcon{width:38px!important;height:38px!important;border-radius:13px!important}
  .sale-grid .cartHeader small{font-size:9px!important;letter-spacing:.06em!important}
  .sale-grid .cartHeader b{font-size:14px!important;line-height:1.1!important}
  .sale-grid .cartHeader .ghostBtn{height:34px!important;min-height:34px!important;padding:0 9px!important;font-size:11.5px!important;border-radius:11px!important}
  .sale-grid .customerBox label{font-size:10px!important;margin-bottom:5px!important}
  .sale-grid .customerLine{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .sale-grid .customerLine select,
  .sale-grid .customerLine button,
  .sale-grid .checkout>select{
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    border-radius:13px!important;
    font-size:12.5px!important;
  }
  .sale-grid .cart{
    min-height:88px!important;
    max-height:155px!important;
    padding:9px!important;
    border-radius:15px!important;
  }
  .sale-grid .cart .muted{
    min-height:64px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    color:#64748b!important;
    font-size:13px!important;
  }
  .sale-grid .totals{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    padding-top:10px!important;
    border-top:2px solid #0f172a!important;
  }
  .sale-grid .totals>span{font-size:12px!important;line-height:1!important}
  .sale-grid .totals b{font-size:20px!important;line-height:1.05!important;text-align:center!important}
  .sale-grid .totals small{font-size:11px!important;text-align:right!important;white-space:nowrap!important}
  .sale-grid .checkout-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .sale-grid .checkout-actions .cobrar{
    grid-column:1/-1!important;
    height:45px!important;
    min-height:45px!important;
    border-radius:14px!important;
    font-size:12.5px!important;
  }
  .sale-grid .checkout-actions .printBtn,
  .sale-grid .checkout-actions .creditBtn{
    height:38px!important;
    min-height:38px!important;
    border-radius:12px!important;
    font-size:11.5px!important;
    padding:0 8px!important;
  }
  .sale-grid .checkout-actions .managerVoid,
  .sale-grid .checkout-actions .dangerOutline{
    grid-column:1/-1!important;
    height:40px!important;
    min-height:40px!important;
    border-radius:13px!important;
    font-size:12px!important;
  }
}

@media(max-width:380px){
  .sale-grid .kpiRow{gap:6px!important}
  .sale-grid .kpiRow .kpi{min-height:70px!important;padding:9px 36px 9px 9px!important}
  .sale-grid .kpiRow .kpi b{font-size:13.5px!important}
  .sale-grid .compactProducts .productTable{min-width:470px!important}
  .sale-grid .cartHeader .ghostBtn span{display:none!important}
}

/* Punto App - Productos: numeros administrativos compactos v20260704 */
.products-page.products-pro.products-clean .money-section .money-input input,
.products-page.products-pro.products-clean .money-section .money-input input[type="number"]{
  font-size:22px!important;
  height:38px!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
}
.products-page.products-pro.products-clean .money-section .money-input{
  min-height:82px!important;
  padding:9px 10px!important;
  align-content:center!important;
}
.products-page.products-pro.products-clean .money-section .money-input span{
  font-size:10px!important;
  line-height:1.15!important;
}
.products-page.products-pro.products-clean .number-preview>div{
  min-height:58px!important;
  padding:8px 10px!important;
}
.products-page.products-pro.products-clean .number-preview b{
  font-size:15px!important;
  line-height:1.1!important;
}
.products-page.products-pro.products-clean .number-preview span{
  font-size:8.5px!important;
  margin-bottom:3px!important;
}

@media(max-width:760px){
  .products-page.products-pro.products-clean .product-summary-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .products-page.products-pro.products-clean .product-summary-kpis .kpi{
    min-height:72px!important;
    padding:9px 36px 9px 9px!important;
    border-radius:15px!important;
  }
  .products-page.products-pro.products-clean .product-summary-kpis .kpi span{
    font-size:8.5px!important;
    line-height:1.1!important;
  }
  .products-page.products-pro.products-clean .product-summary-kpis .kpi b{
    font-size:15px!important;
    line-height:1.05!important;
  }
  .products-page.products-pro.products-clean .product-summary-kpis .kpi small{
    font-size:9px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .products-page.products-pro.products-clean .money-section .money-input-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .products-page.products-pro.products-clean .money-section .money-input{
    min-height:60px!important;
    padding:7px 8px!important;
    border-radius:12px!important;
  }
  .products-page.products-pro.products-clean .money-section .money-input span{
    font-size:8.2px!important;
    letter-spacing:.045em!important;
    line-height:1.1!important;
  }
  .products-page.products-pro.products-clean .money-section .money-input input,
  .products-page.products-pro.products-clean .money-section .money-input input[type="number"]{
    height:26px!important;
    min-height:26px!important;
    font-size:16px!important;
    line-height:1!important;
    padding:0!important;
  }
  .products-page.products-pro.products-clean .money-input-grid>label:not(.money-input) input,
  .products-page.products-pro.products-clean .money-input-grid>label:not(.money-input) select{
    height:36px!important;
    min-height:36px!important;
    font-size:12px!important;
  }
  .products-page.products-pro.products-clean .money-input-grid>label.check.stockCheck{
    min-height:36px!important;
    font-size:11.5px!important;
    padding:6px 4px!important;
  }
  .products-page.products-pro.products-clean .number-preview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    margin-top:8px!important;
  }
  .products-page.products-pro.products-clean .number-preview>div{
    min-height:50px!important;
    padding:7px 8px!important;
    border-radius:12px!important;
  }
  .products-page.products-pro.products-clean .number-preview span{
    font-size:8px!important;
    margin-bottom:2px!important;
  }
  .products-page.products-pro.products-clean .number-preview b{
    font-size:13px!important;
    line-height:1.05!important;
  }
  .products-page.products-pro.products-clean .number-preview small{
    font-size:9px!important;
    line-height:1.05!important;
  }
}

@media(max-width:390px){
  .products-page.products-pro.products-clean .money-section .money-input{
    min-height:56px!important;
    padding:6px 7px!important;
  }
  .products-page.products-pro.products-clean .money-section .money-input input,
  .products-page.products-pro.products-clean .money-section .money-input input[type="number"]{
    font-size:15px!important;
  }
  .products-page.products-pro.products-clean .product-summary-kpis .kpi b{
    font-size:14px!important;
  }
}

/* Punto App - Productos / Servicios: mejora visual y responsiva segura v20260704-b */
.products-page.products-pro.products-clean{
  display:grid!important;
  gap:12px!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
.products-page.products-pro.products-clean .product-summary-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0!important;
}
.products-page.products-pro.products-clean .product-summary-kpis .kpi{
  min-height:78px!important;
  border-radius:18px!important;
  padding:12px 42px 11px 12px!important;
  overflow:hidden!important;
}
.products-page.products-pro.products-clean .product-summary-kpis .kpiIcon{
  right:10px!important;
  top:10px!important;
  width:31px!important;
  height:31px!important;
  opacity:.92!important;
}
.products-page.products-pro.products-clean .product-summary-kpis .kpi span{
  font-size:9px!important;
  letter-spacing:.085em!important;
  line-height:1.08!important;
}
.products-page.products-pro.products-clean .product-summary-kpis .kpi b{
  font-size:17px!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  margin-top:3px!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.products-page.products-pro.products-clean .product-summary-kpis .kpi small{
  font-size:10px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.products-page.products-pro.products-clean .product-editor.pro-editor{
  border-radius:20px!important;
  padding:13px!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
}
.products-page.products-pro.products-clean .product-editor .panel-head{
  gap:10px!important;
  align-items:center!important;
  margin-bottom:12px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid rgba(15,23,42,.07)!important;
}
.products-page.products-pro.products-clean .product-editor .panel-head h2{
  font-size:18px!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  margin:0!important;
}
.products-page.products-pro.products-clean .product-editor .panel-head .actions{
  gap:7px!important;
  flex-wrap:nowrap!important;
}
.products-page.products-pro.products-clean .product-editor .panel-head .actions button{
  min-height:36px!important;
  height:36px!important;
  border-radius:12px!important;
  padding:0 12px!important;
  font-size:12px!important;
}
.products-page.products-pro.products-clean .clean-product-form{
  display:grid!important;
  grid-template-columns:165px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
.products-page.products-pro.products-clean .pro-photo{
  border-radius:18px!important;
  min-height:0!important;
  padding:10px!important;
  gap:8px!important;
  background:linear-gradient(180deg,#f8fafc,#fff)!important;
}
.products-page.products-pro.products-clean .pro-photo img,
.products-page.products-pro.products-clean .pro-photo .photo-empty{
  width:100%!important;
  height:118px!important;
  border-radius:14px!important;
  object-fit:contain!important;
}
.products-page.products-pro.products-clean .pro-photo .photo-empty svg{
  width:27px!important;
  height:27px!important;
}
.products-page.products-pro.products-clean .pro-photo .photo-empty span{
  font-size:10px!important;
}
.products-page.products-pro.products-clean .pro-photo .photo-actions-row{
  gap:7px!important;
}
.products-page.products-pro.products-clean .pro-photo .upload-btn,
.products-page.products-pro.products-clean .pro-photo button,
.products-page.products-pro.products-clean .pro-photo .imageSearchBtn{
  min-height:34px!important;
  height:34px!important;
  border-radius:11px!important;
  font-size:11px!important;
  padding:0 8px!important;
}
.products-page.products-pro.products-clean .pro-fields{
  display:grid!important;
  gap:10px!important;
}
.products-page.products-pro.products-clean .compact-section,
.products-page.products-pro.products-clean .form-section{
  border-radius:17px!important;
  padding:11px!important;
  margin:0!important;
}
.products-page.products-pro.products-clean .compact-section>b,
.products-page.products-pro.products-clean .form-section>b{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.105em!important;
  margin-bottom:9px!important;
  color:#334155!important;
}
.products-page.products-pro.products-clean .compact-section>b:before,
.products-page.products-pro.products-clean .form-section>b:before{
  content:'';
  width:6px;
  height:18px;
  border-radius:999px;
  background:#ff6a00;
  display:inline-block;
  flex:0 0 auto;
}
.products-page.products-pro.products-clean .productGrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.products-page.products-pro.products-clean .productGrid label{
  min-width:0!important;
  gap:4px!important;
}
.products-page.products-pro.products-clean .productGrid label span{
  font-size:9px!important;
  line-height:1.1!important;
  letter-spacing:.065em!important;
  color:#64748b!important;
}
.products-page.products-pro.products-clean .productGrid input,
.products-page.products-pro.products-clean .productGrid select{
  height:38px!important;
  min-height:38px!important;
  border-radius:12px!important;
  font-size:12px!important;
  padding:0 10px!important;
}
.products-page.products-pro.products-clean .productGrid .span2{
  grid-column:1/-1!important;
}
.products-page.products-pro.products-clean .money-section{
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
}
.products-page.products-pro.products-clean .money-section .money-input-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.products-page.products-pro.products-clean .money-section .money-input{
  min-height:64px!important;
  padding:8px!important;
  border-radius:13px!important;
  background:#f8fafc!important;
  border:1px solid #e5e7eb!important;
}
.products-page.products-pro.products-clean .money-section .money-input.sale-price{
  background:#fff7ed!important;
  border-color:#fed7aa!important;
}
.products-page.products-pro.products-clean .money-section .money-input span{
  display:block!important;
  font-size:8px!important;
  line-height:1.1!important;
  letter-spacing:.07em!important;
  color:#64748b!important;
  margin:0 0 3px!important;
}
.products-page.products-pro.products-clean .money-section .money-input input,
.products-page.products-pro.products-clean .money-section .money-input input[type="number"]{
  height:27px!important;
  min-height:27px!important;
  font-size:15px!important;
  line-height:1!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#111827!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.products-page.products-pro.products-clean .money-input-grid>label:not(.money-input){
  min-width:0!important;
  gap:4px!important;
}
.products-page.products-pro.products-clean .money-input-grid>label:not(.money-input) span{
  font-size:9px!important;
  letter-spacing:.06em!important;
  color:#64748b!important;
}
.products-page.products-pro.products-clean .money-input-grid>label:not(.money-input) input,
.products-page.products-pro.products-clean .money-input-grid>label:not(.money-input) select{
  height:36px!important;
  min-height:36px!important;
  border-radius:12px!important;
  font-size:12px!important;
  padding:0 10px!important;
}
.products-page.products-pro.products-clean .money-input-grid>label.check.stockCheck{
  min-height:36px!important;
  height:36px!important;
  border-radius:12px!important;
  padding:0 8px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  font-size:12px!important;
  grid-column:auto!important;
}
.products-page.products-pro.products-clean .number-preview{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:9px!important;
}
.products-page.products-pro.products-clean .number-preview>div{
  min-height:53px!important;
  padding:8px!important;
  border-radius:13px!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
}
.products-page.products-pro.products-clean .number-preview span{
  font-size:7.8px!important;
  line-height:1.05!important;
  letter-spacing:.07em!important;
  color:#64748b!important;
  margin:0 0 2px!important;
}
.products-page.products-pro.products-clean .number-preview b{
  display:block!important;
  max-width:100%!important;
  font-size:12.5px!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.products-page.products-pro.products-clean .number-preview small{
  display:block!important;
  font-size:8.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.products-page.products-pro.products-clean .catalog-switches.compact-switches{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.products-page.products-pro.products-clean .catalog-switches.compact-switches .check{
  min-height:38px!important;
  border-radius:13px!important;
  padding:8px 10px!important;
  font-size:12px!important;
  align-items:center!important;
}
.products-page.products-pro.products-clean .proCategoryPanel{
  max-width:none!important;
  padding:13px!important;
  border-radius:20px!important;
}
.products-page.products-pro.products-clean .proCategoryPanel .panel-head.tight{
  margin-bottom:10px!important;
  align-items:center!important;
}
.products-page.products-pro.products-clean .proCategoryPanel h2{
  font-size:17px!important;
  margin:0!important;
}
.products-page.products-pro.products-clean .proCategoryPanel small{
  font-size:11px!important;
  line-height:1.18!important;
}
.products-page.products-pro.products-clean .categoryCounter{
  height:28px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:0 9px!important;
  font-size:11px!important;
}
.products-page.products-pro.products-clean .proCategoryCreate{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  margin-bottom:10px!important;
}
.products-page.products-pro.products-clean .proCategoryCreate input{
  height:38px!important;
  min-height:38px!important;
  font-size:12px!important;
}
.products-page.products-pro.products-clean .proCategoryCreate button{
  height:38px!important;
  min-height:38px!important;
  border-radius:12px!important;
}
.products-page.products-pro.products-clean .categoryCards{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;
  gap:8px!important;
}
.products-page.products-pro.products-clean .category-card{
  min-height:58px!important;
  border-radius:15px!important;
  padding:9px!important;
  gap:8px!important;
  grid-template-columns:32px minmax(0,1fr) auto!important;
}
.products-page.products-pro.products-clean .categoryIcon{
  width:32px!important;
  height:32px!important;
  border-radius:11px!important;
}
.products-page.products-pro.products-clean .categoryInfo b{
  font-size:13px!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.products-page.products-pro.products-clean .categoryInfo small{
  font-size:10px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.products-page.products-pro.products-clean .categoryActions{
  gap:5px!important;
}
.products-page.products-pro.products-clean .categoryActions button{
  height:29px!important;
  border-radius:9px!important;
  padding:0 8px!important;
  font-size:11px!important;
}

@media(max-width:900px){
  .products-page.products-pro.products-clean .product-summary-kpis,
  .products-page.products-pro.products-clean .money-section .money-input-grid,
  .products-page.products-pro.products-clean .number-preview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .products-page.products-pro.products-clean .clean-product-form{
    grid-template-columns:1fr!important;
  }
  .products-page.products-pro.products-clean .pro-photo{
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    align-items:center!important;
  }
  .products-page.products-pro.products-clean .pro-photo img,
  .products-page.products-pro.products-clean .pro-photo .photo-empty{
    width:76px!important;
    height:76px!important;
  }
  .products-page.products-pro.products-clean .pro-photo>button{
    grid-column:1/-1!important;
  }
}
@media(max-width:520px){
  .products-page.products-pro.products-clean{gap:10px!important;}
  .products-page.products-pro.products-clean .product-editor.pro-editor,
  .products-page.products-pro.products-clean .proCategoryPanel{
    padding:10px!important;
    border-radius:18px!important;
  }
  .products-page.products-pro.products-clean .product-editor .panel-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  .products-page.products-pro.products-clean .product-editor .panel-head .actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  .products-page.products-pro.products-clean .product-editor .panel-head .actions button{
    width:100%!important;
    justify-content:center!important;
  }
  .products-page.products-pro.products-clean .product-summary-kpis .kpi{
    min-height:66px!important;
    padding:9px 32px 8px 9px!important;
    border-radius:14px!important;
  }
  .products-page.products-pro.products-clean .product-summary-kpis .kpiIcon{
    width:25px!important;
    height:25px!important;
    right:7px!important;
    top:7px!important;
  }
  .products-page.products-pro.products-clean .product-summary-kpis .kpi b{
    font-size:13.5px!important;
  }
  .products-page.products-pro.products-clean .product-summary-kpis .kpi small{
    display:none!important;
  }
  .products-page.products-pro.products-clean .productGrid{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .products-page.products-pro.products-clean .productGrid .span2{
    grid-column:auto!important;
  }
  .products-page.products-pro.products-clean .money-section .money-input-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .products-page.products-pro.products-clean .money-section .money-input{
    min-height:54px!important;
    padding:7px!important;
  }
  .products-page.products-pro.products-clean .money-section .money-input input,
  .products-page.products-pro.products-clean .money-section .money-input input[type="number"]{
    font-size:13.5px!important;
    height:22px!important;
    min-height:22px!important;
  }
  .products-page.products-pro.products-clean .money-section .money-input span,
  .products-page.products-pro.products-clean .number-preview span{
    font-size:7.4px!important;
  }
  .products-page.products-pro.products-clean .number-preview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .products-page.products-pro.products-clean .number-preview>div{
    min-height:44px!important;
    padding:6px 7px!important;
  }
  .products-page.products-pro.products-clean .number-preview b{
    font-size:11.5px!important;
  }
  .products-page.products-pro.products-clean .catalog-switches.compact-switches{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .products-page.products-pro.products-clean .proCategoryPanel .panel-head.tight{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:6px!important;
  }
  .products-page.products-pro.products-clean .proCategoryCreate{
    grid-template-columns:1fr!important;
  }
  .products-page.products-pro.products-clean .categoryCards{
    grid-template-columns:1fr!important;
  }
  .products-page.products-pro.products-clean .category-card{
    grid-template-columns:28px minmax(0,1fr)!important;
  }
  .products-page.products-pro.products-clean .categoryIcon{
    width:28px!important;
    height:28px!important;
  }
  .products-page.products-pro.products-clean .categoryActions{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
}

/* =========================================================
   Punto - Catálogo interno: UI compacta y responsiva segura
   ========================================================= */
.catalog-pro-page{
  --catalog-orange: var(--brand,#ff6a00);
  --catalog-navy:#0f172a;
  --catalog-line:#e5e7eb;
  --catalog-muted:#64748b;
  gap:12px!important;
  min-width:0!important;
}
.catalog-pro-page .panel{
  min-width:0!important;
  overflow:hidden!important;
}
.catalog-pro-page .catalogClassicHead{
  padding:16px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%)!important;
  border:1px solid rgba(226,232,240,.95)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.075)!important;
}
.catalog-pro-page .catalogClassicHead .panel-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,auto)!important;
  gap:14px!important;
  align-items:start!important;
  margin-bottom:14px!important;
}
.catalog-pro-page .catalogClassicHead h2{
  margin:0!important;
  font-size:22px!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  color:var(--catalog-navy)!important;
}
.catalog-pro-page .catalogClassicHead .panel-head small{
  display:block!important;
  margin-top:5px!important;
  max-width:640px!important;
  color:var(--catalog-muted)!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:750!important;
}
.catalog-pro-page .catalogPrimaryActions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
  justify-content:end!important;
  width:min(460px,100%)!important;
  justify-self:end!important;
}
.catalog-pro-page .catalogPrimaryActions>button,
.catalog-pro-page .catalogPrimaryActions .catalogMoreActions>summary{
  width:100%!important;
  min-height:42px!important;
  height:42px!important;
  padding:0 12px!important;
  border-radius:14px!important;
  font-size:13px!important;
  font-weight:950!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  white-space:nowrap!important;
}
.catalog-pro-page .catalogPrimaryActions>button svg,
.catalog-pro-page .catalogPrimaryActions .catalogMoreActions>summary svg{
  width:17px!important;
  height:17px!important;
  flex:0 0 17px!important;
}
.catalog-pro-page .catalogPrimaryActions .primary{
  background:linear-gradient(135deg,var(--catalog-orange),#fb4b00)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(255,106,0,.20)!important;
}
.catalog-pro-page .catalogPrimaryActions .catalogMoreActions{
  grid-column:1/-1!important;
  min-width:0!important;
  position:relative!important;
}
.catalog-pro-page .catalogPrimaryActions .catalogMoreActions>summary{
  background:#fff!important;
  color:var(--catalog-navy)!important;
  border:1px solid var(--catalog-line)!important;
}
.catalog-pro-page .catalogPrimaryActions .catalogMoreActions[open]>summary{
  background:var(--catalog-navy)!important;
  color:#fff!important;
  border-color:var(--catalog-navy)!important;
}
.catalog-pro-page .catalogPrimaryActions .catalogMoreActions div{
  right:0!important;
  left:auto!important;
  width:min(360px,86vw)!important;
  border-radius:18px!important;
  padding:8px!important;
  z-index:60!important;
}
.catalog-pro-page .catalogPrimaryActions .catalogMoreActions div button{
  min-height:38px!important;
  justify-content:flex-start!important;
  border-radius:12px!important;
  font-size:12px!important;
}
.catalog-pro-page .catalogTopGrid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(180px,240px)!important;
  gap:10px!important;
  align-items:stretch!important;
  margin:10px 0 10px!important;
}
.catalog-pro-page .catalogSearch{
  width:100%!important;
  height:46px!important;
  border-radius:15px!important;
  border:1px solid var(--catalog-line)!important;
  background:#fff!important;
  padding:0 14px!important;
  color:var(--catalog-navy)!important;
  font-size:14px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.catalog-pro-page .catalogSearch::placeholder{
  color:#8b97a8!important;
  font-weight:700!important;
}
.catalog-pro-page .catalogSearch:focus{
  border-color:var(--catalog-orange)!important;
  box-shadow:0 0 0 4px rgba(255,106,0,.12)!important;
}
.catalog-pro-page .catalogStatus{
  min-height:46px!important;
  border-radius:15px!important;
  border:1px solid #e2e8f0!important;
  background:linear-gradient(135deg,#fff7ed 0%,#fff 72%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding:8px 12px!important;
  color:var(--catalog-navy)!important;
}
.catalog-pro-page .catalogStatus:before{
  content:'🛍️';
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  background:#ffedd5!important;
  font-size:17px!important;
}
.catalog-pro-page .catalogStatus b{
  display:block!important;
  font-size:28px!important;
  line-height:.9!important;
  color:var(--catalog-navy)!important;
  letter-spacing:-.055em!important;
  min-width:auto!important;
}
.catalog-pro-page .catalogStatus span{
  display:block!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.1!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.catalog-pro-page .publicCatalogBar{
  margin-top:8px!important;
  border-radius:17px!important;
  border:1px solid #fed7aa!important;
  background:linear-gradient(135deg,#fff7ed,#fff)!important;
  padding:12px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-width:0!important;
}
.catalog-pro-page .publicCatalogBar b{
  color:var(--catalog-navy)!important;
  font-size:14px!important;
  line-height:1.15!important;
}
.catalog-pro-page .publicCatalogBar small{
  display:block!important;
  color:var(--catalog-muted)!important;
  margin-top:3px!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:750!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.catalog-pro-page .publicCatalogBar .pill{
  flex:0 0 auto!important;
  height:30px!important;
  padding:0 12px!important;
  font-size:11px!important;
  border-radius:999px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}
.catalog-pro-page .catalogTabs{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  padding:4px!important;
  border:1px solid var(--catalog-line)!important;
  background:#fff!important;
  border-radius:20px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.05)!important;
}
.catalog-pro-page .catalogTabs button{
  min-width:0!important;
  height:42px!important;
  padding:0 10px!important;
  border-radius:15px!important;
  border:1px solid transparent!important;
  font-size:13px!important;
  font-weight:950!important;
  justify-content:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-shadow:none!important;
}
.catalog-pro-page .catalogTabs button.active{
  background:var(--catalog-navy)!important;
  color:#fff!important;
  border-color:var(--catalog-navy)!important;
  box-shadow:0 10px 20px rgba(15,23,42,.14)!important;
}
.catalog-pro-page .catalogInlineAlert{
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
  color:#1e3a8a!important;
  border-radius:16px!important;
  padding:11px 13px!important;
  display:grid!important;
  gap:3px!important;
  font-size:13px!important;
}
.catalog-pro-page .catalogInlineAlert b{font-size:13px!important}.catalog-pro-page .catalogInlineAlert small{font-size:12px!important;line-height:1.25!important}
.catalog-pro-page .catalogPreview{
  gap:14px!important;
}
.catalog-pro-page .catalogCategory h3{
  margin:0 0 8px!important;
  color:var(--catalog-navy)!important;
  font-size:15px!important;
  letter-spacing:-.015em!important;
}
.catalog-pro-page .catalogCards{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(145px,1fr))!important;
  gap:10px!important;
}
.catalog-pro-page .catalogCard{
  border-radius:16px!important;
  padding:10px!important;
  gap:4px!important;
  border:1px solid #e9eef6!important;
  box-shadow:0 8px 20px rgba(15,23,42,.045)!important;
  min-width:0!important;
}
.catalog-pro-page .catalogCard:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 26px rgba(255,106,0,.10)!important;
}
.catalog-pro-page .catalogCardImg{
  height:78px!important;
  border-radius:13px!important;
  object-fit:contain!important;
  background:#fff7ed!important;
}
.catalog-pro-page .catalogCard b{
  font-size:13px!important;
  line-height:1.15!important;
  min-height:30px!important;
  color:var(--catalog-navy)!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
.catalog-pro-page .catalogCard small{
  font-size:11px!important;
  color:var(--catalog-muted)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.catalog-pro-page .catalogCard strong{
  font-size:16px!important;
  line-height:1!important;
  color:var(--catalog-navy)!important;
}
.catalog-pro-page .catalogCard span{
  font-size:12px!important;
  color:var(--catalog-orange)!important;
  font-weight:950!important;
}
.catalog-pro-page .emptyAffiliateState{
  margin-top:10px!important;
  border-radius:18px!important;
  border:1px dashed #cbd5e1!important;
  background:#f8fafc!important;
  padding:18px!important;
  text-align:center!important;
  display:grid!important;
  gap:4px!important;
}
.catalog-pro-page .emptyAffiliateState:before{
  content:'📦';
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  margin:0 auto 4px!important;
  border-radius:18px!important;
  background:#eef2ff!important;
  font-size:25px!important;
}
.catalog-pro-page .emptyAffiliateState b{
  font-size:16px!important;
  color:var(--catalog-navy)!important;
}
.catalog-pro-page .emptyAffiliateState small{
  color:var(--catalog-muted)!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.catalog-pro-page .telegramOrdersPanel .panel-head{
  gap:10px!important;
  align-items:center!important;
}
.catalog-pro-page .telegramOrdersPanel h3{
  margin:0!important;
  font-size:17px!important;
}
.catalog-pro-page .telegramOrdersPanel .tableWrap{
  border-radius:16px!important;
  overflow:auto!important;
}
.catalog-pro-page .catalogSettingsHint{
  border-radius:20px!important;
}
.catalog-pro-page .catalogSettingsHint h3{
  margin-top:0!important;
  font-size:18px!important;
}
.catalog-pro-page .catalogSettingsHint p{
  color:var(--catalog-muted)!important;
  line-height:1.45!important;
  font-weight:750!important;
}
.catalog-pro-page .publicLinkPreview{
  border-radius:14px!important;
  background:#f8fafc!important;
  border:1px solid var(--catalog-line)!important;
  padding:12px!important;
  color:var(--catalog-navy)!important;
  font-weight:850!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:920px){
  .catalog-pro-page .catalogClassicHead .panel-head{
    grid-template-columns:1fr!important;
  }
  .catalog-pro-page .catalogPrimaryActions{
    width:100%!important;
    justify-self:stretch!important;
  }
}
@media(max-width:760px){
  .catalog-pro-page{
    gap:10px!important;
  }
  .catalog-pro-page .catalogClassicHead{
    padding:12px!important;
    border-radius:18px!important;
  }
  .catalog-pro-page .catalogClassicHead h2{
    font-size:20px!important;
  }
  .catalog-pro-page .catalogClassicHead .panel-head small{
    font-size:12px!important;
    line-height:1.3!important;
  }
  .catalog-pro-page .catalogPrimaryActions{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .catalog-pro-page .catalogPrimaryActions>button,
  .catalog-pro-page .catalogPrimaryActions .catalogMoreActions>summary{
    height:39px!important;
    min-height:39px!important;
    font-size:12px!important;
    padding:0 8px!important;
  }
  .catalog-pro-page .catalogPrimaryActions>button:not(.primary):nth-of-type(n+3){
    display:none!important;
  }
  .catalog-pro-page .catalogPrimaryActions .dangerSoft{
    grid-column:1/-1!important;
  }
  .catalog-pro-page .catalogPrimaryActions .catalogMoreActions div{
    position:static!important;
    width:100%!important;
    margin-top:7px!important;
  }
  .catalog-pro-page .catalogTopGrid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .catalog-pro-page .catalogSearch{
    height:43px!important;
    font-size:13px!important;
    border-radius:14px!important;
  }
  .catalog-pro-page .catalogStatus{
    justify-content:flex-start!important;
    height:48px!important;
    min-height:48px!important;
  }
  .catalog-pro-page .catalogStatus b{
    font-size:24px!important;
  }
  .catalog-pro-page .publicCatalogBar{
    align-items:flex-start!important;
    padding:11px!important;
    border-radius:15px!important;
  }
  .catalog-pro-page .catalogTabs{
    grid-template-columns:1fr 1fr!important;
    border-radius:17px!important;
    gap:6px!important;
  }
  .catalog-pro-page .catalogTabs button{
    height:38px!important;
    font-size:12px!important;
    padding:0 8px!important;
  }
  .catalog-pro-page .catalogTabs button:nth-child(3){
    grid-column:1/-1!important;
  }
  .catalog-pro-page .catalogCards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .catalog-pro-page .catalogCard{
    padding:8px!important;
    border-radius:14px!important;
  }
  .catalog-pro-page .catalogCardImg{
    height:62px!important;
    border-radius:11px!important;
  }
  .catalog-pro-page .catalogCard b{
    font-size:12px!important;
    min-height:28px!important;
  }
  .catalog-pro-page .catalogCard strong{
    font-size:14px!important;
  }
  .catalog-pro-page .catalogCard span{
    font-size:11px!important;
  }
  .catalog-pro-page .telegramOrdersPanel .panel-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .catalog-pro-page .telegramOrdersPanel .panel-head button{
    width:100%!important;
  }
  .catalog-pro-page .orderActionsMini{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
}
@media(max-width:390px){
  .catalog-pro-page .catalogPrimaryActions>button,
  .catalog-pro-page .catalogPrimaryActions .catalogMoreActions>summary{
    font-size:11px!important;
    gap:5px!important;
  }
  .catalog-pro-page .catalogTabs button{
    font-size:11px!important;
  }
  .catalog-pro-page .catalogCardImg{
    height:56px!important;
  }
}

/* =========================================================
   RESTAURANTE / MESAS - UI MOBILE SAFE FIX
   Mejora visual solo del módulo restaurante, sin tocar lógica.
========================================================= */
.restaurantGridPro{
  gap:14px!important;
  align-items:start!important;
}
.restaurantGridPro .panel{
  border-radius:22px!important;
  overflow:hidden;
}
.restaurantGridPro .panel-head{
  gap:10px!important;
  align-items:flex-start!important;
  margin-bottom:10px!important;
}
.restaurantGridPro .panel-head h2{
  font-size:18px!important;
  line-height:1.1!important;
  margin:0!important;
  letter-spacing:-.03em!important;
}
.restaurantGridPro .panel-head small{
  font-size:12px!important;
  line-height:1.25!important;
  color:#64748b!important;
}
.restaurantGridPro .panel-head .actions.wrap{
  gap:6px!important;
  justify-content:flex-end!important;
}
.restaurantGridPro .panel-head .actions.wrap button,
.restaurantActions button{
  min-height:38px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.restaurantTables,
.restaurantOrder,
.restaurantProducts{
  min-height:0!important;
}
.inlineCreate{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  margin:10px 0 12px!important;
}
.inlineCreate input{
  width:100%!important;
  min-width:0!important;
  height:42px!important;
  border-radius:14px!important;
  font-size:13px!important;
}
.inlineCreate button{
  height:42px!important;
  border-radius:14px!important;
  padding:0 12px!important;
  font-size:12px!important;
  white-space:nowrap!important;
}
.tableCards{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.tableCard{
  min-height:88px!important;
  padding:11px 12px!important;
  border-radius:16px!important;
  gap:3px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.055)!important;
}
.tableCard:before{
  width:62px!important;
  height:62px!important;
  right:-22px!important;
  top:-22px!important;
}
.tableCard b{
  font-size:15px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.tableCard span{
  font-size:10px!important;
  letter-spacing:.08em!important;
}
.tableCard small{
  font-size:11px!important;
  color:#64748b!important;
}
.tableCard strong{
  font-size:17px!important;
  line-height:1.1!important;
}
.restaurantTotals{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin:8px 0!important;
}
.restaurantTotals>div{
  padding:11px 12px!important;
  border-radius:15px!important;
  gap:2px!important;
}
.restaurantTotals span{
  font-size:10px!important;
  letter-spacing:.08em!important;
}
.restaurantTotals b{
  font-size:18px!important;
  line-height:1.1!important;
}
.restaurantTotals small{
  font-size:11px!important;
}
.tipBox{
  grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:8px!important;
  padding:10px 12px!important;
  border-radius:15px!important;
  margin:8px 0 10px!important;
}
.tipBox label{
  font-size:12px!important;
  gap:6px!important;
}
.tipBox input[type="checkbox"]{
  width:17px!important;
  height:17px!important;
}
.tipBox input[type="number"]{
  width:62px!important;
  height:36px!important;
  border-radius:12px!important;
  font-size:13px!important;
}
.tipBox strong{
  font-size:15px!important;
  white-space:nowrap!important;
}
.restaurantOrder .tableWrap{
  margin-top:8px!important;
  max-height:300px!important;
  overflow:auto!important;
  border-radius:16px!important;
}
.restaurantOrder table th,
.restaurantOrder table td{
  padding:9px 8px!important;
  font-size:12px!important;
}
.restaurantOrder .nameCell b{
  font-size:12px!important;
  line-height:1.15!important;
}
.restaurantOrder .nameCell small{
  font-size:10px!important;
}
.qtySmall{
  width:54px!important;
  height:34px!important;
  border-radius:11px!important;
  font-size:13px!important;
}
.restaurantActions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:10px!important;
}
.restaurantActions .primary{
  grid-column:auto!important;
}
.restaurantActions .dangerOutline{
  grid-column:1 / -1!important;
}
.restaurantProducts .searchbar{
  margin:8px 0 10px!important;
}
.restaurantProducts .searchbar input{
  height:42px!important;
  border-radius:14px!important;
  font-size:13px!important;
}
.restaurantProductList.proList{
  max-height:430px!important;
  min-height:0!important;
  gap:8px!important;
  padding:2px 4px 2px 0!important;
}
.restaurantProductList.proList button{
  grid-template-columns:48px minmax(0,1fr) auto!important;
  min-height:64px!important;
  padding:9px 10px!important;
  gap:9px!important;
  border-radius:15px!important;
  box-shadow:0 7px 16px rgba(15,23,42,.045)!important;
}
.restaurantProductList.proList .miniThumb{
  width:48px!important;
  height:48px!important;
  border-radius:13px!important;
  font-size:17px!important;
}
.restaurantProductList.proList b{
  font-size:13px!important;
  line-height:1.16!important;
  -webkit-line-clamp:2!important;
}
.restaurantProductList.proList small{
  font-size:10.5px!important;
  margin-top:3px!important;
}
.restaurantProductList.proList strong{
  font-size:14px!important;
  min-width:58px!important;
  white-space:nowrap!important;
}
.restaurantProductList.proList em{
  display:none!important;
}

@media(max-width:720px){
  .restaurantGridPro{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .restaurantGridPro .panel{
    padding:11px!important;
    border-radius:18px!important;
  }
  .restaurantGridPro .panel-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
  }
  .restaurantGridPro .panel-head h2{
    font-size:16px!important;
  }
  .restaurantGridPro .panel-head small{
    font-size:11px!important;
  }
  .restaurantGridPro .panel-head .actions.wrap{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    margin-top:8px!important;
  }
  .restaurantOrder .panel-head{
    display:block!important;
  }
  .restaurantOrder .panel-head .actions.wrap button{
    padding:8px 6px!important;
    font-size:11px!important;
  }
  .inlineCreate{
    grid-template-columns:1fr!important;
  }
  .inlineCreate button{
    width:100%!important;
  }
  .tableCards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .tableCard{
    min-height:78px!important;
    padding:9px 10px!important;
  }
  .tableCard b{font-size:14px!important;}
  .tableCard strong{font-size:15px!important;}
  .restaurantTotals{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .restaurantTotals>div{
    padding:10px!important;
  }
  .restaurantTotals b{
    font-size:16px!important;
  }
  .tipBox{
    grid-template-columns:1fr auto!important;
  }
  .tipBox strong{
    grid-column:1 / -1!important;
    text-align:left!important;
  }
  .restaurantOrder .tableWrap{
    max-height:260px!important;
  }
  .restaurantOrder table{
    min-width:520px!important;
  }
  .restaurantActions{
    grid-template-columns:1fr 1fr!important;
  }
  .restaurantProductList.proList{
    max-height:330px!important;
  }
  .restaurantProductList.proList button{
    grid-template-columns:42px minmax(0,1fr) auto!important;
    min-height:58px!important;
    padding:8px!important;
  }
  .restaurantProductList.proList .miniThumb{
    width:42px!important;
    height:42px!important;
  }
  .restaurantProductList.proList b{
    font-size:12.5px!important;
  }
  .restaurantProductList.proList strong{
    font-size:13px!important;
    min-width:52px!important;
  }
}

@media(max-width:390px){
  .restaurantGridPro .panel{padding:9px!important;}
  .tableCards{gap:7px!important;}
  .tableCard{padding:8px!important;min-height:74px!important;}
  .tableCard span{font-size:9px!important;}
  .tableCard small{font-size:10px!important;}
  .restaurantTotals{gap:7px!important;}
  .restaurantTotals>div{padding:9px!important;}
  .restaurantTotals span{font-size:9px!important;}
  .restaurantTotals b{font-size:15px!important;}
  .restaurantActions button{font-size:11px!important;padding:8px 6px!important;}
  .restaurantProductList.proList button{grid-template-columns:38px minmax(0,1fr) auto!important;gap:7px!important;}
  .restaurantProductList.proList .miniThumb{width:38px!important;height:38px!important;}
  .restaurantProductList.proList strong{font-size:12px!important;min-width:48px!important;}
}

/* v5.14: Clientes - UI móvil y responsiva mejorada */
.customers-page{
  align-items:start!important;
}
.customers-page.grid.two{
  grid-template-columns:minmax(320px,380px) minmax(0,1fr)!important;
  gap:14px!important;
}
.customers-page .panel{
  border-radius:18px!important;
  overflow:hidden!important;
}
.customers-page .panel-head.noTitle{
  margin-bottom:12px!important;
  align-items:center!important;
}
.customers-page .sectionLabel{
  min-height:34px!important;
  padding:0 10px!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  border:1px solid #edf2f7!important;
  color:#0f172a!important;
  font-size:12px!important;
}
.customers-page .sectionLabel svg{
  color:#f97316!important;
}
.customers-page> .panel:first-child{
  position:sticky!important;
  top:88px!important;
  align-self:start!important;
}
.customers-page> .panel:first-child .form{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
}
.customers-page> .panel:first-child input{
  height:43px!important;
  border-radius:12px!important;
  font-size:13px!important;
  font-weight:800!important;
  background:#fbfdff!important;
}
.customers-page> .panel:first-child input::placeholder,
.clientSearchBox input::placeholder{
  color:#94a3b8!important;
  font-weight:800!important;
}
.customers-page> .panel:first-child button.primary{
  height:44px!important;
  border-radius:13px!important;
  background:#f97316!important;
  border-color:#f97316!important;
  box-shadow:0 12px 22px rgba(249,115,22,.18)!important;
}
.clientes-list-panel{
  min-width:0!important;
}
.clientHead{
  align-items:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.clientActions{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto auto!important;
  gap:8px!important;
  align-items:center!important;
  width:100%!important;
}
.clientSearchBox{
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
  height:40px!important;
  border-radius:13px!important;
  padding:0 10px!important;
  background:#fbfdff!important;
  border-color:#dbe3ef!important;
}
.clientSearchBox input{
  min-width:0!important;
  height:36px!important;
  font-size:13px!important;
}
.clientActions>button{
  height:40px!important;
  border-radius:12px!important;
  padding:0 11px!important;
  white-space:nowrap!important;
  font-size:12px!important;
}
.clientCounter{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin:0 0 10px!important;
  padding:9px 11px!important;
  border-radius:13px!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
  color:#9a3412!important;
  font-size:12px!important;
}
.clientCounter b{
  font-size:19px!important;
  color:#ea580c!important;
}
.clientes-list-panel .tableWrap{
  max-height:520px!important;
  border-radius:16px!important;
  border:1px solid #edf1f6!important;
  background:#fff!important;
}
#tablaClientes{
  border:0!important;
  border-radius:0!important;
}
#tablaClientes th{
  font-size:10px!important;
  padding:10px 12px!important;
  background:#f8fafc!important;
}
#tablaClientes td{
  padding:11px 12px!important;
  font-size:13px!important;
}
#tablaClientes td b{
  font-size:13.5px!important;
  line-height:1.2!important;
  max-width:220px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#tablaClientes td small{
  font-size:10.5px!important;
  color:#94a3b8!important;
}

@media(max-width:980px){
  .customers-page.grid.two{
    grid-template-columns:1fr!important;
  }
  .customers-page> .panel:first-child{
    position:static!important;
  }
  .customers-page> .panel:first-child .form{
    grid-template-columns:1fr 1fr!important;
  }
  .customers-page> .panel:first-child .form input:nth-child(1),
  .customers-page> .panel:first-child .form input:nth-child(4),
  .customers-page> .panel:first-child .form button{
    grid-column:1/-1!important;
  }
  .clientActions{
    grid-template-columns:1fr 1fr!important;
  }
  .clientSearchBox{
    grid-column:1/-1!important;
  }
}

@media(max-width:640px){
  .customers-page{
    gap:10px!important;
  }
  .customers-page .panel{
    padding:11px!important;
    border-radius:16px!important;
  }
  .customers-page .sectionLabel{
    font-size:11.5px!important;
    min-height:31px!important;
    padding:0 9px!important;
  }
  .customers-page> .panel:first-child .form{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .customers-page> .panel:first-child input{
    height:40px!important;
    font-size:12.5px!important;
    padding:0 10px!important;
  }
  .customers-page> .panel:first-child .form input:nth-child(1),
  .customers-page> .panel:first-child .form input:nth-child(4),
  .customers-page> .panel:first-child .form button{
    grid-column:1/-1!important;
  }
  .customers-page> .panel:first-child button.primary{
    height:42px!important;
  }
  .clientHead{
    margin-bottom:8px!important;
  }
  .clientActions{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .clientSearchBox{
    grid-column:1/-1!important;
    height:38px!important;
    border-radius:12px!important;
  }
  .clientSearchBox input{
    height:34px!important;
    font-size:12.5px!important;
  }
  .clientActions>button{
    width:100%!important;
    height:38px!important;
    font-size:11.5px!important;
    padding:0 8px!important;
  }
  .clientCounter{
    padding:8px 10px!important;
    font-size:11.5px!important;
    margin-bottom:8px!important;
  }
  .clientCounter b{
    font-size:17px!important;
  }
  .clientes-list-panel .tableWrap{
    max-height:none!important;
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
  }
  #tablaClientes,
  #tablaClientes thead,
  #tablaClientes tbody,
  #tablaClientes tr,
  #tablaClientes td{
    display:block!important;
    width:100%!important;
  }
  #tablaClientes{
    background:transparent!important;
    border:0!important;
  }
  #tablaClientes thead{
    display:none!important;
  }
  #tablaClientes tbody{
    display:grid!important;
    gap:8px!important;
  }
  #tablaClientes tr{
    border:1px solid #e5e7eb!important;
    background:#fff!important;
    border-radius:15px!important;
    padding:8px 10px!important;
    box-shadow:0 8px 20px rgba(15,23,42,.045)!important;
  }
  #tablaClientes td{
    border:0!important;
    padding:6px 0!important;
    display:grid!important;
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:start!important;
    font-size:12.5px!important;
    color:#334155!important;
  }
  #tablaClientes td:before{
    color:#94a3b8!important;
    font-size:9.5px!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
    padding-top:2px!important;
  }
  #tablaClientes td:nth-child(1):before{content:'Cliente';}
  #tablaClientes td:nth-child(2):before{content:'Doc.';}
  #tablaClientes td:nth-child(3):before{content:'Teléfono';}
  #tablaClientes td:nth-child(4):before{content:'Dirección';}
  #tablaClientes td b{
    max-width:100%!important;
    font-size:13px!important;
  }
  #tablaClientes td small{
    font-size:10px!important;
  }
  #tablaClientes .emptyInline{
    grid-column:1/-1!important;
    height:74px!important;
  }
  #tablaClientes tr:has(.emptyInline){
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
}

@media(max-width:390px){
  .customers-page .panel{padding:9px!important;}
  .customers-page> .panel:first-child .form{gap:7px!important;}
  .customers-page> .panel:first-child input{height:38px!important;font-size:12px!important;}
  .clientActions{gap:6px!important;}
  .clientActions>button{font-size:11px!important;}
  #tablaClientes tr{padding:7px 9px!important;border-radius:13px!important;}
  #tablaClientes td{grid-template-columns:70px minmax(0,1fr)!important;font-size:12px!important;gap:6px!important;}
}

/* =========================================================
   PERSONAL / NÓMINA - UI MOBILE FIX
   Mejora puntual del módulo sin tocar lógica ni API.
   ========================================================= */
.payrollPage{
  padding-bottom:18px!important;
}
.payrollHero{
  box-shadow:0 12px 28px rgba(15,23,42,.06)!important;
  border:1px solid #eef2f7!important;
}
.payrollHero h2{
  font-size:20px!important;
  line-height:1.08!important;
}
.payrollHero small{
  max-width:620px!important;
  display:block!important;
}
.payrollHero .actions.wrap{
  display:grid!important;
  grid-template-columns:repeat(3,max-content)!important;
  align-items:center!important;
}
.payrollHero .actions.wrap button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:0!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  color:#334155!important;
  font-weight:850!important;
}
.payrollHero .actions.wrap button:hover{
  border-color:#fdba74!important;
  color:#c2410c!important;
  background:#fff7ed!important;
}
.payrollKpis .kpi{
  box-shadow:0 10px 24px rgba(15,23,42,.055)!important;
}
.payrollKpis .kpi span{
  font-size:10.5px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-weight:950!important;
}
.payrollKpis .kpi small{
  font-size:11.5px!important;
}
.payrollTopGrid{
  align-items:stretch!important;
}
.payrollCard{
  border:1px solid #eef2f7!important;
  box-shadow:0 12px 28px rgba(15,23,42,.055)!important;
}
.payrollCard .panel-head.tight,
.payrollListPanel .panel-head.tight{
  display:flex!important;
  justify-content:space-between!important;
}
.payrollCard .panel-head h2,
.payrollListPanel .panel-head h2{
  font-size:16px!important;
  letter-spacing:-.02em!important;
}
.payrollForm{
  display:grid!important;
}
.payrollForm .miniGrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.payrollForm label{
  min-width:0!important;
}
.payrollForm input,
.payrollForm select,
.payrollForm textarea{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  background:#fbfdff!important;
  border:1px solid #dbe3ef!important;
  color:#0f172a!important;
}
.payrollForm input:focus,
.payrollForm select:focus,
.payrollForm textarea:focus{
  border-color:#fb923c!important;
  box-shadow:0 0 0 4px rgba(249,115,22,.13)!important;
}
.payrollForm button.primary{
  box-shadow:0 10px 18px rgba(249,115,22,.18)!important;
  font-weight:950!important;
}
.payrollLists{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
}
.payrollListPanel{
  border:1px solid #eef2f7!important;
  box-shadow:0 12px 28px rgba(15,23,42,.045)!important;
}
.payrollListPanel .tableWrap{
  border:1px solid #edf1f6!important;
  background:#fff!important;
}
.payrollListPanel table.clean-table th{
  background:#f8fafc!important;
  color:#64748b!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  font-weight:950!important;
}
.payrollListPanel table.clean-table td b{
  color:#0f172a!important;
}
.payrollListPanel .rowActions .smallBtn{
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  color:#334155!important;
  font-weight:850!important;
}
.payrollListPanel .rowActions .smallBtn:hover{
  border-color:#fdba74!important;
  background:#fff7ed!important;
  color:#c2410c!important;
}
.payrollListPanel .rowActions .dangerOutline{
  color:#dc2626!important;
  border-color:#fecaca!important;
  background:#fff7f7!important;
}

@media(max-width:1180px){
  .payrollHero .actions.wrap{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
  }
  .payrollHero .actions.wrap button{
    width:100%!important;
  }
  .payrollLists{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:720px){
  .payrollPage{
    gap:10px!important;
  }
  .payrollHero{
    padding:12px!important;
    border-radius:17px!important;
    gap:10px!important;
  }
  .payrollHero h2{
    font-size:18px!important;
  }
  .payrollHero small{
    font-size:11.5px!important;
    line-height:1.3!important;
  }
  .payrollHero .actions.wrap{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .payrollHero .actions.wrap button{
    height:36px!important;
    border-radius:11px!important;
    padding:0 8px!important;
    font-size:11.5px!important;
    flex:unset!important;
  }
  .payrollHero .actions.wrap button:last-child{
    grid-column:1/-1!important;
  }
  .payrollKpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .payrollKpis .kpi{
    min-height:72px!important;
    padding:10px 11px!important;
    border-radius:15px!important;
  }
  .payrollKpis .kpiIcon{
    width:30px!important;
    height:30px!important;
    border-radius:10px!important;
  }
  .payrollKpis .kpi b{
    font-size:17px!important;
    line-height:1.05!important;
  }
  .payrollKpis .kpi span{
    font-size:9.5px!important;
  }
  .payrollKpis .kpi small{
    font-size:10.5px!important;
    line-height:1.15!important;
  }
  .payrollTopGrid{
    gap:10px!important;
  }
  .payrollCard,
  .payrollListPanel{
    padding:11px!important;
    border-radius:16px!important;
  }
  .payrollCard .panel-head.tight,
  .payrollListPanel .panel-head.tight{
    margin-bottom:8px!important;
    padding-bottom:8px!important;
  }
  .payrollCard .panel-head h2,
  .payrollListPanel .panel-head h2{
    font-size:14.5px!important;
  }
  .payrollCard .panel-head small,
  .payrollListPanel .panel-head small{
    font-size:10.8px!important;
  }
  .payrollForm{
    gap:8px!important;
  }
  .payrollForm .miniGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .payrollForm label{
    font-size:9.8px!important;
    letter-spacing:.045em!important;
  }
  .payrollForm input,
  .payrollForm select{
    height:37px!important;
    border-radius:10px!important;
    font-size:12px!important;
    padding:0 9px!important;
    margin-top:3px!important;
  }
  .payrollForm textarea{
    min-height:50px!important;
    border-radius:10px!important;
    font-size:12px!important;
    padding:8px 9px!important;
    margin-top:3px!important;
  }
  .payrollForm button.primary{
    height:39px!important;
    border-radius:11px!important;
    font-size:12.5px!important;
  }
  .payrollLists{
    gap:10px!important;
  }
  .payrollListPanel .tableWrap{
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
  }
  .payrollListPanel table.clean-table,
  .payrollListPanel table.clean-table thead,
  .payrollListPanel table.clean-table tbody,
  .payrollListPanel table.clean-table tr,
  .payrollListPanel table.clean-table td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .payrollListPanel table.clean-table{
    border:0!important;
    background:transparent!important;
  }
  .payrollListPanel table.clean-table thead{
    display:none!important;
  }
  .payrollListPanel table.clean-table tbody{
    display:grid!important;
    gap:8px!important;
  }
  .payrollListPanel table.clean-table tr{
    border:1px solid #e5e7eb!important;
    background:#fff!important;
    border-radius:14px!important;
    padding:8px 10px!important;
    box-shadow:0 8px 20px rgba(15,23,42,.045)!important;
  }
  .payrollListPanel table.clean-table td{
    border:0!important;
    padding:5px 0!important;
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:start!important;
    font-size:12.5px!important;
    color:#334155!important;
  }
  .payrollListPanel table.clean-table td:before{
    color:#94a3b8!important;
    font-size:9.4px!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    letter-spacing:.055em!important;
    padding-top:2px!important;
  }
  .payrollLists .payrollListPanel:first-child table.clean-table td:nth-child(1):before{content:'Trabajador';}
  .payrollLists .payrollListPanel:first-child table.clean-table td:nth-child(2):before{content:'Cargo';}
  .payrollLists .payrollListPanel:first-child table.clean-table td:nth-child(3):before{content:'Sueldo';}
  .payrollLists .payrollListPanel:first-child table.clean-table td:nth-child(4):before{content:'Frecuencia';}
  .payrollLists .payrollListPanel:first-child table.clean-table td:nth-child(5):before{content:'Acciones';}
  .payrollLists .payrollListPanel:nth-child(2) table.clean-table td:nth-child(1):before{content:'Fecha';}
  .payrollLists .payrollListPanel:nth-child(2) table.clean-table td:nth-child(2):before{content:'Trabajador';}
  .payrollLists .payrollListPanel:nth-child(2) table.clean-table td:nth-child(3):before{content:'Concepto';}
  .payrollLists .payrollListPanel:nth-child(2) table.clean-table td:nth-child(4):before{content:'Monto';}
  .payrollLists .payrollListPanel:nth-child(2) table.clean-table td:nth-child(5):before{content:'Método';}
  .payrollListPanel table.clean-table td b{
    font-size:12.8px!important;
    line-height:1.15!important;
  }
  .payrollListPanel table.clean-table td small{
    font-size:10px!important;
    line-height:1.15!important;
  }
  .payrollListPanel .rowActions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    width:100%!important;
    justify-content:stretch!important;
  }
  .payrollListPanel .rowActions .smallBtn{
    width:100%!important;
    height:32px!important;
    justify-content:center!important;
    font-size:10.8px!important;
    padding:0 6px!important;
  }
  .payrollListPanel .rowActions .smallBtn:nth-child(2){
    grid-column:auto!important;
  }
  .payrollListPanel .rowActions .dangerOutline{
    grid-column:1/-1!important;
  }
  .payrollListPanel .emptyInline{
    height:74px!important;
    border-radius:14px!important;
    background:#f8fafc!important;
    border:1px dashed #cbd5e1!important;
  }
}

@media(max-width:390px){
  .payrollHero,
  .payrollCard,
  .payrollListPanel{
    padding:9px!important;
    border-radius:14px!important;
  }
  .payrollHero .actions.wrap button{
    font-size:10.8px!important;
    padding:0 6px!important;
  }
  .payrollKpis{
    gap:7px!important;
  }
  .payrollKpis .kpi{
    padding:9px!important;
    min-height:68px!important;
  }
  .payrollKpis .kpi b{
    font-size:15.5px!important;
  }
  .payrollForm .miniGrid{
    gap:6px!important;
  }
  .payrollForm input,
  .payrollForm select{
    height:35px!important;
    font-size:11.5px!important;
    padding:0 7px!important;
  }
  .payrollForm label{
    font-size:9.2px!important;
  }
  .payrollListPanel table.clean-table tr{
    padding:7px 9px!important;
    border-radius:13px!important;
  }
  .payrollListPanel table.clean-table td{
    grid-template-columns:72px minmax(0,1fr)!important;
    font-size:12px!important;
    gap:6px!important;
  }
  .payrollListPanel .rowActions .smallBtn{
    font-size:10px!important;
  }
}

/* =========================================================
   PUNTO APP - Cuentas por cobrar UI mobile fix
   Scope: solo módulo creditos / cuentas por cobrar
   ========================================================= */
.credits-page{
  gap:14px!important;
}
.credits-page .panel{
  overflow:hidden;
}
.creditsHeroPro{
  padding:16px!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fffaf5 100%)!important;
  border:1px solid rgba(249,115,22,.10)!important;
}
.creditsHeroPro .panel-head{
  gap:12px!important;
  align-items:flex-start!important;
}
.creditsHeroPro .panel-head h2{
  font-size:22px!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
}
.creditsHeroPro .panel-head small{
  display:block!important;
  max-width:520px!important;
  color:#64748b!important;
  line-height:1.35!important;
  margin-top:5px!important;
}
.creditsHeroPro .actions.wrap{
  gap:8px!important;
  align-items:center!important;
}
.creditsHeroPro .actions.wrap button{
  min-height:38px!important;
  border-radius:12px!important;
  padding:9px 12px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.creditsHeroPro .actions.wrap .primary{
  box-shadow:0 10px 22px rgba(249,115,22,.18)!important;
}
.credits-page .creditTicker{
  margin:12px 0!important;
  padding:9px 10px!important;
  border-radius:14px!important;
  max-width:100%!important;
}
.credits-page .creditTicker>div{
  gap:7px!important;
}
.credits-page .creditTicker span{
  padding:6px 9px!important;
  font-size:12px!important;
  line-height:1.25!important;
}
.credits-page .solidCardGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:10px!important;
}
.credits-page .solidCard{
  min-height:auto!important;
  padding:12px!important;
  border-radius:16px!important;
  gap:4px!important;
}
.credits-page .solidCard .solidIcon{
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  margin-bottom:4px!important;
}
.credits-page .solidCard span{
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}
.credits-page .solidCard strong{
  font-size:19px!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  word-break:break-word!important;
}
.credits-page .solidCard small{
  font-size:11px!important;
  line-height:1.25!important;
}
.creditsListPanel{
  padding:14px!important;
  border-radius:20px!important;
}
.creditsListPanel .tableWrap{
  border-radius:16px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
}
.creditsTable th{
  font-size:11px!important;
  color:#64748b!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  background:#f8fafc!important;
}
.creditsTable td{
  font-size:13px!important;
}
.creditsTable td b,
.creditsTable .profit-num b{
  font-size:14px!important;
  color:#0f172a!important;
}
.creditsTable .profit-num b{
  color:#15803d!important;
}
.creditsTable td small{
  font-size:11px!important;
  line-height:1.25!important;
}
.creditsTable .pill{
  padding:5px 8px!important;
  font-size:10.5px!important;
}
.creditsTable .rowActions{
  min-width:0!important;
  justify-content:flex-end!important;
  gap:6px!important;
}
.creditsTable .rowActions .smallBtn{
  min-height:30px!important;
  border-radius:10px!important;
  padding:7px 9px!important;
  font-size:11.5px!important;
}
.payModal{
  border-radius:20px!important;
  padding:16px!important;
}
.payModal .modalHead h2{
  font-size:20px!important;
  letter-spacing:-.03em!important;
}
.payModal input,.payModal select{
  min-height:42px!important;
  border-radius:12px!important;
  font-size:14px!important;
}
.payModal label{
  font-size:12px!important;
  color:#475569!important;
  margin-top:9px!important;
}
.payPreview{
  padding:12px!important;
  border-radius:14px!important;
}
.payPreview b{
  font-size:22px!important;
  letter-spacing:-.04em!important;
}

@media(max-width:820px){
  .creditsHeroPro{
    padding:14px!important;
  }
  .creditsHeroPro .panel-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .creditsHeroPro .panel-head h2{
    font-size:20px!important;
  }
  .creditsHeroPro .panel-head small{
    font-size:12px!important;
  }
  .creditsHeroPro .actions.wrap{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }
  .creditsHeroPro .actions.wrap .primary{
    grid-column:1/-1!important;
  }
  .creditsHeroPro .actions.wrap button{
    width:100%!important;
    justify-content:center!important;
    white-space:normal!important;
  }
  .credits-page .solidCardGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .credits-page .solidCard:first-child{
    grid-column:1/-1!important;
  }
  .credits-page .solidCard{
    padding:11px!important;
  }
  .credits-page .solidCard strong{
    font-size:18px!important;
  }
  .credits-page .creditTicker{
    align-items:flex-start!important;
  }
  .credits-page .creditTicker>div{
    display:flex!important;
    flex-direction:row!important;
    overflow-x:auto!important;
    width:100%!important;
    padding-bottom:2px!important;
  }
  .credits-page .creditTicker span{
    white-space:nowrap!important;
    flex:0 0 auto!important;
  }
  .creditsListPanel{
    padding:12px!important;
  }
  .creditsListPanel .tableWrap{
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .creditsTable,
  .creditsTable tbody,
  .creditsTable tr,
  .creditsTable td{
    display:block!important;
    width:100%!important;
  }
  .creditsTable thead{
    display:none!important;
  }
  .creditsTable tbody{
    display:grid!important;
    gap:10px!important;
  }
  .creditsTable tr{
    padding:12px!important;
    border:1px solid #e5e7eb!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 10px 22px rgba(15,23,42,.045)!important;
  }
  .creditsTable td{
    border:0!important;
    padding:7px 0!important;
    font-size:13px!important;
  }
  .creditsTable td:not(:first-child):not(:last-child){
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:12px!important;
    border-top:1px dashed #e5e7eb!important;
  }
  .creditsTable td:nth-child(1){
    padding-top:0!important;
    padding-bottom:8px!important;
  }
  .creditsTable td:nth-child(1) b{
    display:block!important;
    font-size:15px!important;
  }
  .creditsTable td:nth-child(2)::before{content:'Venta';}
  .creditsTable td:nth-child(3)::before{content:'Total';}
  .creditsTable td:nth-child(4)::before{content:'Abonado';}
  .creditsTable td:nth-child(5)::before{content:'Saldo';}
  .creditsTable td:nth-child(6)::before{content:'Estado';}
  .creditsTable td:nth-child(2)::before,
  .creditsTable td:nth-child(3)::before,
  .creditsTable td:nth-child(4)::before,
  .creditsTable td:nth-child(5)::before,
  .creditsTable td:nth-child(6)::before{
    font-size:11px!important;
    color:#64748b!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
  }
  .creditsTable td:nth-child(3),
  .creditsTable td:nth-child(4){
    display:flex!important;
  }
  .creditsTable td:nth-child(7){
    padding-top:10px!important;
    border-top:1px solid #e5e7eb!important;
  }
  .creditsTable .rowActions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    justify-content:stretch!important;
  }
  .creditsTable .rowActions .smallBtn{
    width:100%!important;
    min-height:36px!important;
    justify-content:center!important;
    white-space:normal!important;
    line-height:1.1!important;
  }
  .creditsTable .rowActions .primary{
    grid-column:1/-1!important;
  }
  .creditsTable tbody tr:has(td[colspan]){
    box-shadow:none!important;
    text-align:center!important;
  }
}

@media(max-width:420px){
  .creditsHeroPro,.creditsListPanel{padding:11px!important;border-radius:18px!important;}
  .creditsHeroPro .panel-head h2{font-size:19px!important;}
  .creditsHeroPro .actions.wrap button{font-size:11.5px!important;padding:8px!important;}
  .credits-page .solidCardGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .credits-page .solidCard{padding:10px!important;border-radius:14px!important;}
  .credits-page .solidCard .solidIcon{width:30px!important;height:30px!important;}
  .credits-page .solidCard strong{font-size:16px!important;}
  .credits-page .solidCard span,.credits-page .solidCard small{font-size:10.5px!important;}
  .creditsTable tr{padding:10px!important;border-radius:14px!important;}
  .creditsTable .rowActions{grid-template-columns:1fr 1fr!important;}
  .creditsTable .rowActions .smallBtn{font-size:11px!important;padding:7px 6px!important;}
  .payModal{width:calc(100vw - 18px)!important;max-width:calc(100vw - 18px)!important;padding:14px!important;}
}

/* =========================================================
   PUNTO - CUENTAS POR PAGAR / PROVEEDORES UI FIX
   Mejora segura solo de estilos para el módulo Proveedores.
   ========================================================= */
.suppliers-page{
  align-items:start!important;
}
.suppliers-page .panel{
  border-radius:20px!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 14px 32px rgba(15,23,42,.06)!important;
  overflow:hidden!important;
}
.suppliers-page .panel-head,
.suppliers-page .compactHead{
  padding-bottom:10px!important;
  margin-bottom:10px!important;
  border-bottom:1px solid #eef2f7!important;
}
.suppliers-page .panel-head h2{
  font-size:20px!important;
  line-height:1.1!important;
  letter-spacing:-.03em!important;
  margin:0!important;
}
.suppliers-page .panel-head small{
  font-size:12px!important;
  line-height:1.3!important;
  color:#64748b!important;
}
.suppliers-page .payablesKpis{
  gap:10px!important;
  margin:8px 0 12px!important;
}
.suppliers-page .payablesKpis .solidCard,
.suppliers-page .solidCardGrid.mini .solidCard{
  min-height:88px!important;
  padding:13px 54px 12px 13px!important;
  border-radius:16px!important;
}
.suppliers-page .payablesKpis .solidCard strong,
.suppliers-page .solidCardGrid.mini .solidCard strong{
  font-size:20px!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
}
.suppliers-page .payablesKpis .solidCard span,
.suppliers-page .solidCardGrid.mini .solidCard span{
  font-size:11px!important;
}
.suppliers-page .payablesKpis .solidCard small,
.suppliers-page .solidCardGrid.mini .solidCard small{
  font-size:10.5px!important;
  line-height:1.25!important;
}
.suppliers-page .payablesKpis .solidIcon,
.suppliers-page .solidCardGrid.mini .solidIcon{
  width:34px!important;
  height:34px!important;
  right:12px!important;
  top:12px!important;
}
.suppliers-page .suppliersForm{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.suppliers-page .suppliersForm label,
.suppliers-page .suppliersForm button,
.suppliers-page .payableForm select,
.suppliers-page .payableForm input[placeholder*="Concepto"]{
  grid-column:1/-1!important;
}
.suppliers-page .suppliersForm label{
  margin:0 0 -2px!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#334155!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.suppliers-page .suppliersForm input,
.suppliers-page .suppliersForm select{
  width:100%!important;
  min-height:40px!important;
  height:40px!important;
  border-radius:12px!important;
  padding:9px 11px!important;
  font-size:13px!important;
  border:1px solid #dbe3ef!important;
  background:#fff!important;
  box-shadow:none!important;
}
.suppliers-page .suppliersForm input:focus,
.suppliers-page .suppliersForm select:focus{
  outline:none!important;
  border-color:#fb923c!important;
  box-shadow:0 0 0 3px rgba(249,115,22,.12)!important;
}
.suppliers-page .suppliersForm .primary{
  min-height:40px!important;
  border-radius:12px!important;
  justify-content:center!important;
  font-size:13px!important;
  font-weight:900!important;
}
.suppliers-page .payablesListPanel{
  padding:14px!important;
}
.suppliers-page .payablesListPanel .panel-head{
  align-items:center!important;
}
.suppliers-page .payablesListPanel .sectionLabel{
  font-size:13px!important;
  font-weight:900!important;
}
.suppliers-page .payablesActions{
  display:flex!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}
.suppliers-page .payablesActions button{
  min-height:34px!important;
  padding:8px 10px!important;
  border-radius:11px!important;
  font-size:12px!important;
}
.suppliers-page .payablesTable th{
  font-size:11px!important;
  color:#64748b!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.suppliers-page .payablesTable td{
  font-size:12.5px!important;
  vertical-align:middle!important;
}
.suppliers-page .payablesTable td b{
  font-size:13.5px!important;
  line-height:1.1!important;
}
.suppliers-page .payablesTable td small{
  font-size:10.5px!important;
  line-height:1.25!important;
}
.suppliers-page .payablesTable .profit-num b{
  font-size:14px!important;
  color:#ea580c!important;
}
.suppliers-page .payablesTable .pill{
  padding:5px 8px!important;
  font-size:10px!important;
}
.suppliers-page .payablesTable .rowActions{
  gap:6px!important;
  justify-content:flex-end!important;
}
.suppliers-page .payablesTable .rowActions .smallBtn{
  min-height:30px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
  font-size:11.5px!important;
  white-space:nowrap!important;
}

@media(max-width:820px){
  .suppliers-page.grid.two{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .suppliers-page .panel{
    padding:13px!important;
    border-radius:18px!important;
  }
  .suppliers-page .panel-head{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:9px!important;
  }
  .suppliers-page .panel-head h2{
    font-size:19px!important;
  }
  .suppliers-page .payablesKpis,
  .suppliers-page .solidCardGrid.mini{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .suppliers-page .payablesKpis .solidCard,
  .suppliers-page .solidCardGrid.mini .solidCard{
    min-height:76px!important;
    padding:11px 44px 10px 11px!important;
  }
  .suppliers-page .payablesKpis .solidCard strong,
  .suppliers-page .solidCardGrid.mini .solidCard strong{
    font-size:17px!important;
  }
  .suppliers-page .payablesKpis .solidIcon,
  .suppliers-page .solidCardGrid.mini .solidIcon{
    width:30px!important;
    height:30px!important;
    right:10px!important;
    top:10px!important;
  }
  .suppliers-page .suppliersForm{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .suppliers-page .supplierForm input[placeholder="Nombre"],
  .suppliers-page .supplierForm input[placeholder="Dirección"],
  .suppliers-page .payableForm input[placeholder="Nombre proveedor"],
  .suppliers-page .payableForm input[placeholder*="Concepto"]{
    grid-column:1/-1!important;
  }
  .suppliers-page .payablesListPanel .panel-head{
    flex-direction:row!important;
    align-items:center!important;
  }
  .suppliers-page .payablesActions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }
  .suppliers-page .payablesActions button{
    width:100%!important;
    justify-content:center!important;
  }
  .suppliers-page .payablesListPanel .tableWrap{
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .suppliers-page .payablesTable,
  .suppliers-page .payablesTable tbody,
  .suppliers-page .payablesTable tr,
  .suppliers-page .payablesTable td{
    display:block!important;
    width:100%!important;
  }
  .suppliers-page .payablesTable thead{
    display:none!important;
  }
  .suppliers-page .payablesTable tbody{
    display:grid!important;
    gap:10px!important;
  }
  .suppliers-page .payablesTable tr{
    padding:12px!important;
    border:1px solid #e5e7eb!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 10px 24px rgba(15,23,42,.045)!important;
  }
  .suppliers-page .payablesTable td{
    border:0!important;
    padding:7px 0!important;
    font-size:13px!important;
  }
  .suppliers-page .payablesTable td:nth-child(1){
    padding-top:0!important;
    padding-bottom:9px!important;
  }
  .suppliers-page .payablesTable td:nth-child(1) b{
    display:block!important;
    font-size:15px!important;
    color:#0f172a!important;
  }
  .suppliers-page .payablesTable td:not(:first-child):not(:last-child){
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    border-top:1px dashed #e5e7eb!important;
  }
  .suppliers-page .payablesTable td:nth-child(2)::before{content:'Concepto';}
  .suppliers-page .payablesTable td:nth-child(3)::before{content:'Total';}
  .suppliers-page .payablesTable td:nth-child(4)::before{content:'Pagado';}
  .suppliers-page .payablesTable td:nth-child(5)::before{content:'Saldo';}
  .suppliers-page .payablesTable td:nth-child(6)::before{content:'Estado';}
  .suppliers-page .payablesTable td:nth-child(2)::before,
  .suppliers-page .payablesTable td:nth-child(3)::before,
  .suppliers-page .payablesTable td:nth-child(4)::before,
  .suppliers-page .payablesTable td:nth-child(5)::before,
  .suppliers-page .payablesTable td:nth-child(6)::before{
    font-size:11px!important;
    color:#64748b!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
    flex:0 0 auto!important;
  }
  .suppliers-page .payablesTable td:nth-child(7){
    padding-top:10px!important;
    border-top:1px solid #e5e7eb!important;
  }
  .suppliers-page .payablesTable .rowActions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    justify-content:stretch!important;
  }
  .suppliers-page .payablesTable .rowActions .smallBtn{
    width:100%!important;
    min-height:36px!important;
    justify-content:center!important;
    white-space:normal!important;
    line-height:1.1!important;
  }
  .suppliers-page .payablesTable tbody tr:has(td[colspan]){
    box-shadow:none!important;
    text-align:center!important;
  }
}

@media(max-width:420px){
  .suppliers-page .panel{
    padding:11px!important;
    border-radius:17px!important;
  }
  .suppliers-page .panel-head h2{
    font-size:18px!important;
  }
  .suppliers-page .panel-head small{
    font-size:11.5px!important;
  }
  .suppliers-page .payablesKpis .solidCard,
  .suppliers-page .solidCardGrid.mini .solidCard{
    min-height:70px!important;
    padding:10px 38px 9px 10px!important;
    border-radius:14px!important;
  }
  .suppliers-page .payablesKpis .solidCard strong,
  .suppliers-page .solidCardGrid.mini .solidCard strong{
    font-size:15px!important;
  }
  .suppliers-page .payablesKpis .solidCard span,
  .suppliers-page .solidCardGrid.mini .solidCard span,
  .suppliers-page .payablesKpis .solidCard small,
  .suppliers-page .solidCardGrid.mini .solidCard small{
    font-size:10px!important;
  }
  .suppliers-page .suppliersForm input,
  .suppliers-page .suppliersForm select{
    min-height:38px!important;
    height:38px!important;
    font-size:12.5px!important;
    padding:8px 9px!important;
  }
  .suppliers-page .suppliersForm .primary{
    min-height:39px!important;
    font-size:12.5px!important;
  }
  .suppliers-page .payablesTable tr{
    padding:10px!important;
    border-radius:14px!important;
  }
  .suppliers-page .payablesTable td{
    font-size:12.5px!important;
  }
  .suppliers-page .payablesTable td b{
    font-size:13.5px!important;
  }
  .suppliers-page .payablesTable .rowActions .smallBtn{
    min-height:34px!important;
    font-size:11px!important;
    padding:7px 6px!important;
  }
}

/* Cuentas por pagar: iconos KPI alineados a la derecha */
.payablesKpis .solidCard,.payablesKpis.reportCards .solidCard,.suppliersHeroPanel .payablesKpis .solidCard{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;padding:14px 54px 14px 14px!important;min-height:92px!important}.payablesKpis .solidCard span,.payablesKpis .solidCard strong,.payablesKpis .solidCard small{max-width:100%!important;margin:0!important}.payablesKpis .solidCard .solidIcon,.payablesKpis.reportCards .solidCard .solidIcon,.suppliersHeroPanel .payablesKpis .solidCard .solidIcon{position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;width:28px!important;height:28px!important;margin:0!important;display:grid!important;place-items:center!important}.payablesKpis .solidCard .solidIcon svg{width:22px!important;height:22px!important}@media (max-width:760px){.payablesKpis .solidCard,.payablesKpis.reportCards .solidCard,.suppliersHeroPanel .payablesKpis .solidCard{padding:12px 50px 12px 12px!important;min-height:88px!important}.payablesKpis .solidCard .solidIcon,.payablesKpis.reportCards .solidCard .solidIcon,.suppliersHeroPanel .payablesKpis .solidCard .solidIcon{right:10px!important;width:26px!important;height:26px!important}.payablesKpis .solidCard .solidIcon svg{width:20px!important;height:20px!important}}


/* Etiquetas / barras - UI móvil y responsiva */
.labels-page{
  display:grid !important;
  gap:14px !important;
}
.labels-page .report-hero{
  background:linear-gradient(180deg,#fff,#fbfdff) !important;
  border:1px solid #e5e7eb !important;
}
.labels-page .report-hero .panel-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:start !important;
  gap:14px !important;
  margin-bottom:0 !important;
}
.labels-page .report-hero h2{
  font-size:20px !important;
  line-height:1.05 !important;
  letter-spacing:-.04em !important;
  margin:0 0 4px !important;
}
.labels-page .report-hero small{
  color:#64748b !important;
  font-weight:800 !important;
  line-height:1.25 !important;
}
.labels-page .report-hero .actions.wrap{
  display:grid !important;
  grid-template-columns:minmax(220px,1fr) 78px auto !important;
  gap:9px !important;
  align-items:center !important;
  justify-content:end !important;
  width:100% !important;
}
.labels-page .miniSearch,
.labels-page .miniQty{
  height:42px !important;
  border-radius:14px !important;
  border:1px solid #dbe3ef !important;
  background:#fff !important;
  box-shadow:0 8px 18px rgba(15,23,42,.04) !important;
}
.labels-page .miniSearch{
  min-width:240px !important;
}
.labels-page .miniQty{
  width:78px !important;
  text-align:center !important;
  font-weight:900 !important;
}
.labels-page .report-hero .primary{
  height:42px !important;
  border-radius:14px !important;
  white-space:nowrap !important;
  padding:0 14px !important;
}
.labels-page > .panel:not(.report-hero){
  padding:14px !important;
  overflow:hidden !important;
}
.labels-page .tableWrap{
  border-radius:18px !important;
  border:1px solid #e5e7eb !important;
  background:#fff !important;
  overflow:auto !important;
}
.labels-page .clean-table{
  border:0 !important;
  min-width:760px !important;
}
.labels-page .clean-table th{
  font-size:10.5px !important;
  letter-spacing:.08em !important;
  color:#64748b !important;
  background:#f8fafc !important;
  padding:11px 12px !important;
}
.labels-page .clean-table td{
  padding:12px !important;
  vertical-align:middle !important;
}
.labels-page .clean-table td:nth-child(2) b{
  font-size:14px !important;
  color:#0f172a !important;
  display:block !important;
  line-height:1.15 !important;
}
.labels-page .clean-table td:nth-child(2) small{
  font-size:11px !important;
  color:#64748b !important;
  font-weight:800 !important;
  margin-top:3px !important;
}
.labels-page .clean-table td:nth-child(3){
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace !important;
  font-size:12px !important;
  font-weight:850 !important;
  color:#475569 !important;
}
.labels-page .clean-table input[type="checkbox"]{
  width:20px !important;
  height:20px !important;
  accent-color:#ff6a00 !important;
  cursor:pointer !important;
}
.labels-page .clean-table tbody tr{
  transition:background .16s ease, transform .16s ease !important;
}
.labels-page .clean-table tbody tr:hover{
  background:#fff7ed !important;
}

/* Etiquetas / barras en teléfonos */
@media (max-width:760px){
  .labels-page{
    gap:12px !important;
  }
  .labels-page .report-hero{
    padding:14px !important;
    border-radius:20px !important;
  }
  .labels-page .report-hero .panel-head{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .labels-page .report-hero h2{
    font-size:18px !important;
  }
  .labels-page .report-hero small{
    font-size:12px !important;
  }
  .labels-page .report-hero .actions.wrap{
    grid-template-columns:1fr 72px !important;
    gap:8px !important;
  }
  .labels-page .miniSearch{
    min-width:0 !important;
    width:100% !important;
    grid-column:1/-1 !important;
  }
  .labels-page .miniQty{
    width:100% !important;
  }
  .labels-page .report-hero .primary{
    width:100% !important;
    min-width:0 !important;
  }
  .labels-page > .panel:not(.report-hero){
    padding:12px !important;
    border-radius:20px !important;
  }
  .labels-page .tableWrap{
    border:0 !important;
    background:transparent !important;
    overflow:visible !important;
  }
  .labels-page .clean-table,
  .labels-page .clean-table thead,
  .labels-page .clean-table tbody,
  .labels-page .clean-table tr,
  .labels-page .clean-table td{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }
  .labels-page .clean-table thead{
    display:none !important;
  }
  .labels-page .clean-table tbody{
    display:grid !important;
    gap:10px !important;
  }
  .labels-page .clean-table tbody tr{
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) 76px !important;
    grid-template-areas:
      "check product stock"
      "check code price" !important;
    gap:6px 10px !important;
    padding:12px !important;
    border:1px solid #e5e7eb !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#fff,#f8fafc) !important;
    box-shadow:0 10px 24px rgba(15,23,42,.06) !important;
  }
  .labels-page .clean-table tbody td{
    border:0 !important;
    padding:0 !important;
  }
  .labels-page .clean-table tbody td:nth-child(1){
    grid-area:check !important;
    display:grid !important;
    place-items:center !important;
  }
  .labels-page .clean-table tbody td:nth-child(2){
    grid-area:product !important;
    min-width:0 !important;
  }
  .labels-page .clean-table tbody td:nth-child(2) b{
    font-size:13px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .labels-page .clean-table tbody td:nth-child(2) small{
    font-size:10.5px !important;
  }
  .labels-page .clean-table tbody td:nth-child(3){
    grid-area:code !important;
    min-width:0 !important;
    font-size:11px !important;
    color:#64748b !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .labels-page .clean-table tbody td:nth-child(3)::before{
    content:"Código: " !important;
    font-family:inherit !important;
    color:#94a3b8 !important;
    font-weight:950 !important;
  }
  .labels-page .clean-table tbody td:nth-child(4){
    grid-area:price !important;
    text-align:right !important;
    font-weight:950 !important;
  }
  .labels-page .clean-table tbody td:nth-child(4)::before{
    content:"Precio" !important;
    display:block !important;
    font-size:9.5px !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
    color:#94a3b8 !important;
    font-weight:950 !important;
    margin-bottom:2px !important;
  }
  .labels-page .clean-table tbody td:nth-child(5){
    grid-area:stock !important;
    text-align:right !important;
    color:#0f172a !important;
    font-weight:950 !important;
  }
  .labels-page .clean-table tbody td:nth-child(5)::before{
    content:"Stock" !important;
    display:block !important;
    font-size:9.5px !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
    color:#94a3b8 !important;
    font-weight:950 !important;
    margin-bottom:2px !important;
  }
}


/* Caja / Arqueo / Cierre - UI responsiva segura */
.cashUnified{
  display:grid !important;
  gap:14px !important;
}
.cashUnifiedHead{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
  padding:12px 14px !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#fff,#fbfdff) !important;
  border:1px solid #e5e7eb !important;
  box-shadow:0 10px 26px rgba(15,23,42,.07) !important;
}
.cashUnifiedHead h2{
  font-size:19px !important;
  line-height:1.05 !important;
  letter-spacing:-.04em !important;
  margin:0 !important;
}
.cashUnifiedHead small{
  font-size:12px !important;
  line-height:1.22 !important;
  color:#64748b !important;
  font-weight:800 !important;
}
.cashSubTabs{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  min-width:320px !important;
}
.cashSubTabs button{
  height:40px !important;
  min-width:0 !important;
  padding:0 10px !important;
  border-radius:13px !important;
  font-size:12px !important;
  font-weight:950 !important;
  justify-content:center !important;
  white-space:nowrap !important;
}
.cashSubTabs button svg{width:16px !important;height:16px !important;}
.cashUnifiedBody .cash-page,
.cashUnifiedBody .audit-page,
.cashUnifiedBody .close-page{
  display:grid !important;
  gap:14px !important;
  margin:0 !important;
}
.cashUnified .metricGrid.three,
.cash-page .metricGrid.three,
.audit-page .metricGrid.three,
.close-page .metricGrid.three{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-bottom:0 !important;
}
.cashUnified .metricGrid.three .solidCard,
.cash-page .metricGrid.three .solidCard,
.audit-page .metricGrid.three .solidCard,
.close-page .metricGrid.three .solidCard{
  min-height:92px !important;
  padding:13px 48px 12px 13px !important;
  border-radius:18px !important;
}
.cashUnified .metricGrid.three .solidCard span,
.cashUnified .metricGrid.three .solidCard small{
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.cashUnified .metricGrid.three .solidCard strong{
  font-size:18px !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.cashUnified .metricGrid.three .solidIcon{
  right:12px !important;
  width:30px !important;
  height:30px !important;
}
.cashUnified .metricGrid.three .solidIcon svg{width:22px !important;height:22px !important;}
.cash-page .grid.two,
.audit-page .grid.two{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:14px !important;
}
.cashUnified .panel.clean-panel{
  padding:14px !important;
  border-radius:20px !important;
  min-width:0 !important;
}
.cashUnified .panel-head.noTitle,
.cashUnified .panel-head.tight{
  gap:10px !important;
  margin-bottom:12px !important;
}
.cashUnified .sectionLabel{
  font-size:13px !important;
  line-height:1.1 !important;
}
.cashUnified .panel-head .actions{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}
.cashUnified .panel-head .actions button{
  height:36px !important;
  min-width:0 !important;
  padding:0 10px !important;
  border-radius:12px !important;
  font-size:12px !important;
}
.cashToggleBox,
.cashOpenIntro{
  padding:12px !important;
  border-radius:16px !important;
  gap:12px !important;
}
.cashToggleBox b,
.cashOpenIntro b{
  font-size:14px !important;
}
.cashToggleVisual{
  width:54px !important;
  height:30px !important;
}
.cashToggleVisual span{
  width:24px !important;
  height:24px !important;
}
.cashToggleVisual.on span{left:27px !important;}
.cashOpenForm{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}
.cashOpenForm input{
  height:42px !important;
  border-radius:14px !important;
}
.cashOpenForm .toggleOpenBtn{
  grid-column:1/-1 !important;
  height:44px !important;
  border-radius:14px !important;
}
.auditTwoCols{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin-bottom:12px !important;
}
.auditBox{
  padding:12px !important;
  border-radius:16px !important;
  gap:8px !important;
  background:linear-gradient(180deg,#fff,#f8fafc) !important;
}
.auditBox span{
  font-size:10px !important;
  line-height:1 !important;
}
.auditBox b{
  font-size:18px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.auditBox label{
  font-size:11px !important;
}
.auditBox input,
.closeForm input,
.cashUnified textarea{
  height:42px !important;
  border-radius:14px !important;
  font-size:14px !important;
}
.cashUnified textarea{
  min-height:76px !important;
  height:76px !important;
  resize:vertical !important;
}
.auditBox small{
  font-size:10.5px !important;
  line-height:1.15 !important;
}
.cashUnified .wideBtn,
.closeForm .dangerBtn{
  height:44px !important;
  border-radius:14px !important;
}
.closeLayout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 300px !important;
  gap:14px !important;
}
.closeRows{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}
.closeLine{
  padding:12px !important;
  border-radius:15px !important;
  min-width:0 !important;
}
.closeLine span{
  font-size:10px !important;
  line-height:1 !important;
}
.closeLine b{
  font-size:16px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.closeForm{
  border-left:1px solid #e5e7eb !important;
  padding-left:14px !important;
  align-content:start !important;
}
.cash-page .tableWrap,
.audit-page .tableWrap{
  max-height:340px !important;
  border-radius:18px !important;
  border:1px solid #e5e7eb !important;
  background:#fff !important;
}
.cash-page table th,
.audit-page table th{
  font-size:10.5px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
}
.cash-page table td,
.audit-page table td{
  padding:11px 12px !important;
}

@media(max-width:760px){
  .cashUnifiedHead{
    grid-template-columns:1fr !important;
    padding:12px !important;
    gap:10px !important;
  }
  .cashUnifiedHead h2{font-size:18px !important;}
  .cashUnifiedHead small{font-size:11.5px !important;}
  .cashSubTabs{
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
  }
  .cashSubTabs button{
    height:38px !important;
    font-size:11px !important;
    padding:0 6px !important;
    gap:5px !important;
  }
  .cashSubTabs button svg{width:14px !important;height:14px !important;}
  .cashUnified .metricGrid.three,
  .cash-page .metricGrid.three,
  .audit-page .metricGrid.three,
  .close-page .metricGrid.three{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
  }
  .cashUnified .metricGrid.three .solidCard,
  .cash-page .metricGrid.three .solidCard,
  .audit-page .metricGrid.three .solidCard,
  .close-page .metricGrid.three .solidCard{
    min-height:74px !important;
    padding:9px 8px !important;
    border-radius:15px !important;
  }
  .cashUnified .metricGrid.three .solidIcon{display:none !important;}
  .cashUnified .metricGrid.three .solidCard span{font-size:8.8px !important;letter-spacing:.04em !important;}
  .cashUnified .metricGrid.three .solidCard strong{font-size:13px !important;}
  .cashUnified .metricGrid.three .solidCard small{font-size:9px !important;line-height:1.08 !important;}
  .cash-page .grid.two,
  .audit-page .grid.two,
  .closeLayout{
    grid-template-columns:1fr !important;
  }
  .cashUnified .panel.clean-panel{
    padding:12px !important;
    border-radius:18px !important;
  }
  .cashUnified .panel-head.noTitle,
  .cashUnified .panel-head.tight{
    align-items:flex-start !important;
    gap:8px !important;
  }
  .cashUnified .panel-head .actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .cashUnified .panel-head .actions button{
    width:100% !important;
    justify-content:center !important;
  }
  .cashOpenForm{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .auditTwoCols{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .auditBox{
    padding:10px !important;
    gap:7px !important;
  }
  .auditBox b{font-size:15px !important;}
  .auditBox input{height:38px !important;}
  .closeRows{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .closeLine{
    padding:10px !important;
  }
  .closeLine b{font-size:14px !important;}
  .closeForm{
    border-left:0 !important;
    padding-left:0 !important;
    border-top:1px solid #e5e7eb !important;
    padding-top:12px !important;
  }
  .cash-page .tableWrap,
  .audit-page .tableWrap{
    max-height:none !important;
    border:0 !important;
    background:transparent !important;
    overflow:visible !important;
  }
  .cash-page table,
  .cash-page thead,
  .cash-page tbody,
  .cash-page tr,
  .cash-page td,
  .audit-page table,
  .audit-page thead,
  .audit-page tbody,
  .audit-page tr,
  .audit-page td{
    display:block !important;
    width:100% !important;
  }
  .cash-page thead,
  .audit-page thead{display:none !important;}
  .cash-page tbody,
  .audit-page tbody{display:grid !important;gap:10px !important;}
  .cash-page tbody tr,
  .audit-page tbody tr{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    padding:12px !important;
    border:1px solid #e5e7eb !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#fff,#f8fafc) !important;
    box-shadow:0 10px 22px rgba(15,23,42,.05) !important;
  }
  .cash-page tbody td,
  .audit-page tbody td{
    border:0 !important;
    padding:0 !important;
    font-size:12px !important;
    min-width:0 !important;
  }
  .cash-page tbody td:nth-child(1),
  .audit-page tbody td:nth-child(1){grid-column:1/-1 !important;}
  .cash-page tbody td:nth-child(1) b,
  .audit-page tbody td:nth-child(1) b{font-size:13px !important;}
  .cash-page tbody td:nth-child(2)::before{content:'Cierre';display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:950;margin-bottom:2px;}
  .cash-page tbody td:nth-child(3)::before{content:'Esperado';display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:950;margin-bottom:2px;}
  .cash-page tbody td:nth-child(4)::before{content:'Diferencia';display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:950;margin-bottom:2px;}
  .audit-page tbody td:nth-child(2)::before{content:'Caja';display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:950;margin-bottom:2px;}
  .audit-page tbody td:nth-child(3)::before{content:'Dif. $';display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:950;margin-bottom:2px;}
  .audit-page tbody td:nth-child(4)::before{content:'Dif. Bs';display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:950;margin-bottom:2px;}
}


/* Etiquetas / barras - botón imprimir compacto */
.labels-page .report-hero .actions.wrap .primary{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
@media (max-width:760px){
  .labels-page .report-hero .actions.wrap{
    grid-template-columns:minmax(0,1fr) 116px !important;
    gap:8px !important;
  }
  .labels-page .miniQty{
    min-width:0 !important;
    width:100% !important;
  }
  .labels-page .report-hero .primary{
    width:116px !important;
    min-width:116px !important;
    max-width:116px !important;
    padding:0 10px !important;
    font-size:12px !important;
    justify-content:center !important;
    white-space:nowrap !important;
  }
  .labels-page .report-hero .primary svg{
    width:15px !important;
    height:15px !important;
    margin-right:4px !important;
  }
}
@media (max-width:380px){
  .labels-page .report-hero .actions.wrap{
    grid-template-columns:minmax(0,1fr) 104px !important;
  }
  .labels-page .report-hero .primary{
    width:104px !important;
    min-width:104px !important;
    max-width:104px !important;
    font-size:11.5px !important;
    padding:0 8px !important;
  }
}


/* Caja / Arqueo - refinado visual para móvil */
.cashUnified{
  gap:12px !important;
}
.cashUnifiedHead{
  padding:12px !important;
  border-radius:20px !important;
}
.cashUnifiedHead h2{
  font-size:18px !important;
  line-height:1.05 !important;
  margin:0 !important;
}
.cashUnifiedHead small{
  font-size:11.5px !important;
  line-height:1.22 !important;
  margin-top:2px !important;
}
.cashSubTabs{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px !important;
  width:100% !important;
}
.cashSubTabs button{
  height:38px !important;
  min-width:0 !important;
  padding:0 8px !important;
  border-radius:13px !important;
  font-size:12px !important;
  justify-content:center !important;
  white-space:nowrap !important;
}
.cashSubTabs button svg{
  width:14px !important;
  height:14px !important;
}
.cashUnified .cash-page,
.cashUnified .audit-page,
.cashUnified .close-page{
  gap:12px !important;
}
.cashUnified .metricGrid.three{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 0 10px !important;
}
.cashUnified .metricGrid.three .solidCard{
  position:relative !important;
  min-height:82px !important;
  padding:11px 42px 11px 11px !important;
  border-radius:15px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:2px !important;
}
.cashUnified .metricGrid.three .solidCard span{
  font-size:9.5px !important;
  letter-spacing:.07em !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-width:100% !important;
}
.cashUnified .metricGrid.three .solidCard strong{
  font-size:15px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-width:100% !important;
}
.cashUnified .metricGrid.three .solidCard small{
  font-size:9px !important;
  line-height:1.12 !important;
  white-space:normal !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  max-width:100% !important;
}
.cashUnified .metricGrid.three .solidIcon{
  position:absolute !important;
  right:10px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:24px !important;
  height:24px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
}
.cashUnified .metricGrid.three .solidIcon svg{
  width:19px !important;
  height:19px !important;
}
.cashUnified .grid.two{
  gap:12px !important;
}
.cashUnified .panel.clean-panel{
  padding:13px !important;
  border-radius:19px !important;
}
.cashUnified .panel-head.noTitle{
  margin-bottom:10px !important;
}
.cashUnified .sectionLabel{
  font-size:13px !important;
  gap:7px !important;
}
.cashOpenIntro,
.cashToggleBox{
  padding:11px !important;
  border-radius:16px !important;
  gap:10px !important;
}
.cashOpenIntro b,
.cashToggleBox b{
  font-size:13.5px !important;
  line-height:1.1 !important;
}
.cashOpenIntro small,
.cashToggleBox span,
.cashToggleBox small{
  font-size:11px !important;
  line-height:1.25 !important;
}
.cashToggleVisual{
  width:48px !important;
  height:28px !important;
}
.cashToggleVisual span{
  width:22px !important;
  height:22px !important;
}
.cashToggleVisual.on span{
  left:23px !important;
}
.cashOpenBox{
  gap:10px !important;
}
.cashOpenForm{
  gap:8px !important;
}
.cashOpenForm input{
  height:40px !important;
  border-radius:14px !important;
  font-size:13px !important;
}
.toggleOpenBtn{
  height:42px !important;
  border-radius:14px !important;
  font-size:13px !important;
  padding:0 12px !important;
}
.cashUnified .actions{
  gap:8px !important;
}
.cashUnified .actions button{
  height:36px !important;
  border-radius:12px !important;
  font-size:12px !important;
  padding:0 10px !important;
  min-width:0 !important;
}
.cashUnified .tableWrap{
  border-radius:16px !important;
}

@media(max-width:760px){
  .cashUnifiedHead{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .cashUnifiedHead > div:first-child{
    min-width:0 !important;
  }
  .cashUnifiedHead h2{
    font-size:17px !important;
  }
  .cashUnifiedHead small{
    font-size:11px !important;
  }
  .cashSubTabs{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .cashSubTabs button{
    height:36px !important;
    font-size:11.5px !important;
    gap:5px !important;
    padding:0 6px !important;
  }
  .cashUnified .metricGrid.three{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .cashUnified .metricGrid.three .solidCard:first-child{
    grid-column:1/-1 !important;
    min-height:70px !important;
  }
  .cashUnified .metricGrid.three .solidCard{
    min-height:76px !important;
    padding:10px 40px 10px 10px !important;
  }
  .cashUnified .metricGrid.three .solidCard strong{
    font-size:14.5px !important;
  }
  .cashUnified .metricGrid.three .solidCard small{
    font-size:9px !important;
  }
  .cashUnified .grid.two,
  .cashUnified .grid,
  .cashUnified .auditGrid{
    grid-template-columns:1fr !important;
  }
  .auditTwoCols,
  .closeRows{
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  .auditBox{
    padding:12px !important;
    border-radius:16px !important;
    gap:7px !important;
  }
  .auditBox b{
    font-size:17px !important;
  }
  .auditBox input{
    height:40px !important;
  }
  .cashUnified textarea{
    min-height:70px !important;
  }
  .cashUnified .panel-head.noTitle{
    display:grid !important;
    gap:8px !important;
  }
  .cashUnified .panel-head.noTitle .actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    width:100% !important;
  }
  .cashUnified .panel-head.noTitle .actions button{
    width:100% !important;
  }
}
.expensesPro .panel{padding:14px}.expensesPro .panel-head{margin-bottom:12px}.expensesPro .sectionLabel{font-size:13px}.expensesPro .metricGrid.three{gap:10px;margin-bottom:10px}.expensesPro .solidCard{min-height:98px;padding:14px;border-radius:18px}.expensesPro .solidCard:after{right:-28px;top:-28px;width:96px;height:96px}.expensesPro .solidIcon{right:12px;top:11px}.expensesPro .solidIcon svg{width:32px;height:32px}.expensesPro .solidCard strong{font-size:18px}.expensesPro .solidCard span{font-size:10px}.expensesPro .solidCard small{font-size:10.5px}.expensesPro .expenseTabs{gap:6px;padding:2px 0 4px}.expensesPro .expenseTabs button{padding:0 10px;font-size:12px;min-height:36px;border-radius:12px}.expensesPro .form{gap:9px}.expensesPro .formSplit{gap:8px}.expensesPro .autoBs{padding:10px 12px}.expensesPro .autoBs b{font-size:18px}.expensesPro .categoryRow,.expensesPro .workerRow{padding:11px}.expensesPro .tableWrap table{font-size:13px}.expensesPro .tableWrap td,.expensesPro .tableWrap th{padding-left:10px;padding-right:10px}.expensesPro .moneyInput{font-size:20px!important}@media(max-width:760px){.expensesPro{gap:12px}.expensesPro .panel{padding:12px}.expensesPro .metricGrid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.expensesPro .metricGrid.three>:first-child{grid-column:1/-1}.expensesPro .solidCard{min-height:90px;padding:12px 13px}.expensesPro .solidCard strong{font-size:16px}.expensesPro .solidCard small{font-size:10px}.expensesPro .solidIcon{right:11px;top:10px}.expensesPro .solidIcon svg{width:28px;height:28px}.expensesPro .expenseTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:static;background:transparent;backdrop-filter:none;gap:6px;padding:0}.expensesPro .expenseTabs button{width:100%;justify-content:center;font-size:11.5px;padding:0 8px;min-height:34px}.expensesPro input,.expensesPro select,.expensesPro button{min-width:0}.expensesPro input,.expensesPro select{height:38px;padding:0 10px}.expensesPro .moneyInput{font-size:18px!important}.expensesPro .formSplit,.expensesPro .categoryRow,.expensesPro .workerRow.payrollWorker{grid-template-columns:1fr}.expensesPro .actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.expensesPro .actions button{width:100%;min-width:0;padding:0 8px;font-size:12px}.expensesPro .tableWrap{overflow:auto;margin-left:-2px;margin-right:-2px}.expensesPro .tableWrap table{min-width:560px}}@media(max-width:420px){.expensesPro .metricGrid.three{grid-template-columns:1fr}.expensesPro .metricGrid.three>:first-child{grid-column:auto}.expensesPro .expenseTabs{grid-template-columns:1fr}}
.reportsPageV2{gap:12px!important}.reportHeroV2{padding:14px!important;border-radius:20px!important}.reportHeroTopV2{gap:10px!important}.reportTitleV2 h2{font-size:22px!important}.reportTitleV2 p{font-size:11.5px!important}.reportFiltersV2{gap:8px!important;margin-top:12px!important}.reportFiltersV2 input,.reportFiltersV2 select{height:40px!important;padding:0 11px!important;font-size:12.5px!important;border-radius:13px!important}.reportSearchBtn{height:40px!important;padding:0 14px!important}.reportActionGridV2{gap:8px!important}.reportActionGridV2 button{height:38px!important;font-size:12px!important;border-radius:13px!important;padding:0 8px!important}.reportsPageV2 .reportCardsV2{gap:10px!important}.reportsPageV2 .reportCardsV2 .solidCard{min-height:86px!important;padding:12px 48px 12px 12px!important;border-radius:18px!important}.reportsPageV2 .reportCardsV2 .solidCard strong{font-size:17px!important}.reportsPageV2 .reportCardsV2 .solidCard small{font-size:10px!important;line-height:1.15!important}.reportsPageV2 .reportCardsV2 .solidIcon{right:10px!important;top:10px!important;width:30px!important;height:30px!important}.reportsInsightGrid{gap:10px!important}.reportInsightCard{padding:12px!important;border-radius:16px!important}.reportChartBox{padding:12px!important;border-radius:18px!important}.reportDataPanel{border-radius:18px!important}.reportDataPanel .panel-head{padding-bottom:0!important}.reportDataPanel .actions{gap:8px!important}.reportDataPanel .actions button{height:33px!important;font-size:11.5px!important;padding:0 9px!important}.reportTopList .topProduct{padding:9px!important;gap:9px!important;border-radius:14px!important}.reportTopList .topProduct>span{width:28px!important;height:28px!important;border-radius:10px!important}.reportTopList .topProduct strong{font-size:12px!important}.reportTableMobile{max-height:400px!important}.reportTableMobile table{min-width:620px!important}@media(max-width:760px){.reportsPageV2{gap:10px!important}.reportHeroV2{padding:12px!important;border-radius:18px!important}.reportHeroTopV2{grid-template-columns:1fr!important}.reportTitleV2 h2{font-size:20px!important}.reportModePills{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:4px!important;gap:4px!important;border-radius:15px!important}.reportModePills button{height:32px!important;padding:0 6px!important;font-size:11px!important}.reportFiltersV2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.reportRegisterField,.reportSearchBtn{grid-column:1/-1!important}.reportActionGridV2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.reportActionGridV2 .reportSummaryBtn{grid-column:1/-1!important}.reportsPageV2 .reportCardsV2,.reportsInsightGrid,.reportSkeletonV2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.reportsPageV2 .reportCardsV2 .solidCard{min-height:80px!important;padding:10px 40px 10px 10px!important;border-radius:16px!important}.reportsPageV2 .reportCardsV2 .solidCard span{font-size:8.5px!important}.reportsPageV2 .reportCardsV2 .solidCard strong{font-size:14px!important}.reportsPageV2 .reportCardsV2 .solidCard small{font-size:9px!important}.reportsPageV2 .reportCardsV2 .solidIcon{right:8px!important;top:9px!important;width:28px!important;height:28px!important}.reportInsightCard{padding:10px!important;border-radius:14px!important}.reportInsightCard b{font-size:13px!important}.reportInsightCard span{font-size:10.5px!important}.reportsChartsGridV2,.reportBottomGridV2{grid-template-columns:1fr!important;gap:8px!important}.reportChartBox{padding:10px!important}.reportDataPanel{padding:12px!important}.reportDataPanel .panel-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.reportDataPanel .actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}.reportDataPanel .actions button{width:100%!important;min-width:0!important;font-size:11px!important;padding:0 6px!important}.reportTopList .topProduct{grid-template-columns:28px minmax(0,1fr) auto!important;padding:8px!important;gap:8px!important}.reportTopList .topProduct b{font-size:12px!important}.reportTopList .topProduct small{font-size:10px!important}}@media(max-width:420px){.reportFiltersV2{grid-template-columns:1fr!important}.reportActionGridV2{grid-template-columns:1fr!important}.reportActionGridV2 button,.reportActionGridV2 .reportSummaryBtn{grid-column:auto!important}.reportsPageV2 .reportCardsV2,.reportsInsightGrid,.reportSkeletonV2{grid-template-columns:1fr!important}.reportModePills{grid-template-columns:1fr!important}.reportDataPanel .actions{grid-template-columns:1fr!important}.reportTableMobile table{min-width:560px!important}}


/* Asistente IA - flujo de chat mejorado */
.assistant-page{
  display:grid!important;
  gap:12px!important;
}
.assistant-page .aiHero,
.assistant-page .aiAnswer{
  border-radius:20px!important;
  padding:14px!important;
}
.assistant-page .aiHero .panel-head{
  gap:10px!important;
  margin-bottom:12px!important;
}
.assistant-page .aiHero h2{
  font-size:20px!important;
  line-height:1.08!important;
}
.assistant-page .aiAsk{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 132px!important;
  gap:9px!important;
  align-items:stretch!important;
}
.assistant-page .aiAsk textarea{
  min-height:48px!important;
  max-height:120px!important;
  resize:vertical!important;
  border-radius:16px!important;
  padding:12px!important;
  font-size:14px!important;
  line-height:1.25!important;
}
.assistant-page .aiAsk button{
  min-width:0!important;
  height:auto!important;
  border-radius:16px!important;
  white-space:nowrap!important;
}
.aiQuestionChip{
  display:grid!important;
  gap:4px!important;
  padding:10px 12px!important;
  margin-bottom:10px!important;
  border-radius:14px!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
}
.aiQuestionChip span{
  color:#ea580c!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-size:10px!important;
  font-weight:950!important;
}
.aiQuestionChip b{
  color:#0f172a!important;
  font-size:13px!important;
  line-height:1.25!important;
}
.assistant-page .aiText{
  font-size:14px!important;
  line-height:1.45!important;
}
.assistant-page .aiSuggestBar{
  margin-top:10px!important;
}
.assistant-page .aiExamples{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:8px!important;
}
.assistant-page .aiExamples button{
  height:34px!important;
  border-radius:999px!important;
  padding:0 12px!important;
  font-size:12px!important;
}
@media(max-width:760px){
  .assistant-page .aiHero,
  .assistant-page .aiAnswer{
    padding:12px!important;
    border-radius:18px!important;
  }
  .assistant-page .aiHero .panel-head{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .assistant-page .aiAsk{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .assistant-page .aiAsk textarea{
    min-height:54px!important;
  }
  .assistant-page .aiAsk button{
    height:42px!important;
    width:100%!important;
  }
  .assistant-page .aiExamples{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .assistant-page .aiExamples button{
    width:100%!important;
    justify-content:flex-start!important;
    white-space:normal!important;
    height:auto!important;
    min-height:36px!important;
    padding:8px 10px!important;
    text-align:left!important;
  }
}


/* IA compact cards refinement */
.assistant-page{gap:10px!important}
.assistant-page .panel.aiHero,
.assistant-page .panel.aiAnswer{padding:12px!important;border-radius:16px!important;box-shadow:0 8px 24px rgba(15,23,42,.06)!important}
.assistant-page .aiHero .panel-head,
.assistant-page .aiAnswer .panel-head{margin-bottom:6px!important;gap:8px!important}
.assistant-page .aiHero h2{font-size:17px!important;gap:8px!important;margin:0!important}
.assistant-page .aiHero small,
.assistant-page .aiAnswer small{font-size:11px!important;line-height:1.28!important}
.assistant-page .aiPowered{padding:6px 9px!important;border-radius:999px!important;font-size:11px!important;gap:6px!important}
.assistant-page .aiAsk{gap:8px!important;margin-top:8px!important;grid-template-columns:minmax(0,1fr) 118px!important}
.assistant-page .aiAsk textarea{min-height:46px!important;max-height:92px!important;border-radius:14px!important;padding:10px 12px!important;font-size:13px!important;line-height:1.25!important}
.assistant-page .aiAsk button{height:40px!important;border-radius:14px!important;font-size:12px!important;padding:0 10px!important}
.assistant-page .aiSuggestBar{margin-top:6px!important;gap:6px!important}
.assistant-page .aiSuggestToggle{height:30px!important;border-radius:999px!important;font-size:11.5px!important;padding:0 10px!important}
.assistant-page .aiExamples{gap:6px!important}
.assistant-page .aiExamples button{height:28px!important;padding:0 9px!important;font-size:11px!important;border-radius:999px!important}
.aiQuestionChip{padding:8px 10px!important;margin-bottom:8px!important;border-radius:12px!important;gap:2px!important}
.aiQuestionChip span{font-size:9px!important}
.aiQuestionChip b{font-size:12px!important;line-height:1.2!important}
.assistant-page .aiText{font-size:13px!important;line-height:1.38!important;margin:4px 0 8px!important}
.assistant-page .aiAnswer .reportCards.solidCardGrid.mini{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;gap:6px!important;margin-top:6px!important}
.assistant-page .aiAnswer .solidCard{padding:8px 9px!important;border-radius:12px!important;min-height:auto!important}
.assistant-page .aiAnswer .solidCard .cardIcon,.assistant-page .aiAnswer .solidCard svg{width:16px!important;height:16px!important}
.assistant-page .aiAnswer .solidCard b,.assistant-page .aiAnswer .solidCard strong{font-size:14px!important;line-height:1.1!important}
.assistant-page .aiAnswer .solidCard small{font-size:10px!important;line-height:1.15!important}
.assistant-page .aiAnswer .solidCard .cardHead{margin-bottom:4px!important}
@media(max-width:760px){
  .assistant-page{gap:8px!important}
  .assistant-page .panel.aiHero,
  .assistant-page .panel.aiAnswer{padding:10px!important;border-radius:14px!important}
  .assistant-page .aiHero h2{font-size:16px!important}
  .assistant-page .aiAsk{grid-template-columns:1fr!important;gap:7px!important}
  .assistant-page .aiAsk textarea{min-height:44px!important;max-height:84px!important;padding:9px 11px!important;font-size:12.5px!important}
  .assistant-page .aiAsk button{width:100%!important;height:38px!important;font-size:11.5px!important}
  .assistant-page .aiExamples{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
  .assistant-page .aiExamples button{width:100%!important;height:auto!important;min-height:30px!important;padding:7px 9px!important;border-radius:12px!important;white-space:normal!important;text-align:left!important}
  .assistant-page .aiAnswer .reportCards.solidCardGrid.mini{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
}


/* v4.16 Asistente IA estilo chat real */
.aiChatPage{
  display:grid!important;
  gap:10px!important;
}
.aiChatShell{
  display:grid!important;
  grid-template-rows:auto minmax(320px,58vh) auto!important;
  gap:10px!important;
  padding:12px!important;
  border-radius:20px!important;
  overflow:hidden!important;
}
.aiChatHeader{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:4px 2px 8px!important;
  border-bottom:1px solid #e5e7eb!important;
}
.aiChatHeader h2{
  font-size:20px!important;
  margin:4px 0 2px!important;
  letter-spacing:-.04em!important;
}
.aiChatHeader small{
  display:block!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.aiChatHeaderActions{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  flex:0 0 auto!important;
}
.aiChatHeaderActions button,
.aiChatHeaderActions .aiPowered{
  height:34px!important;
  border-radius:999px!important;
  padding:0 10px!important;
  font-size:11.5px!important;
  white-space:nowrap!important;
}
.aiChatBody{
  min-height:0!important;
  overflow:auto!important;
  padding:10px 4px 10px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  background:linear-gradient(180deg,#f8fafc,#fff)!important;
  border:1px solid #edf2f7!important;
  border-radius:18px!important;
}
.aiMsg{
  display:flex!important;
  width:100%!important;
}
.aiMsg.user{
  justify-content:flex-end!important;
}
.aiMsg.bot{
  justify-content:flex-start!important;
}
.aiBubble{
  max-width:min(78%,680px)!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  padding:10px 12px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(15,23,42,.045)!important;
}
.aiMsg.user .aiBubble{
  background:linear-gradient(135deg,#ff7a1a,#ea580c)!important;
  color:#fff!important;
  border-color:transparent!important;
  border-bottom-right-radius:7px!important;
}
.aiMsg.bot .aiBubble{
  border-bottom-left-radius:7px!important;
}
.aiMsg.error .aiBubble{
  border-color:#fecaca!important;
  background:#fff7f7!important;
}
.aiMsgLabel{
  display:block!important;
  margin-bottom:4px!important;
  font-size:9.5px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#f97316!important;
}
.aiMsg.user .aiMsgLabel{
  color:rgba(255,255,255,.76)!important;
}
.aiMsgText{
  white-space:pre-line!important;
  font-size:13.5px!important;
  line-height:1.42!important;
  font-weight:650!important;
  color:#0f172a!important;
}
.aiMsg.user .aiMsgText{
  color:#fff!important;
}
.typingDots{
  display:inline-flex!important;
  gap:4px!important;
  align-items:center!important;
  min-height:18px!important;
}
.typingDots i{
  width:6px!important;
  height:6px!important;
  border-radius:999px!important;
  background:#94a3b8!important;
  animation:typingDot 1s infinite ease-in-out!important;
}
.typingDots i:nth-child(2){animation-delay:.15s!important}
.typingDots i:nth-child(3){animation-delay:.3s!important}
@keyframes typingDot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.aiBubbleCards{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  margin-top:8px!important;
}
.aiBubbleCards .solidCard{
  min-height:72px!important;
  padding:8px 36px 8px 9px!important;
  border-radius:13px!important;
}
.aiBubbleCards .solidCard strong{
  font-size:14px!important;
}
.aiBubbleCards .solidCard small{
  font-size:9.5px!important;
  line-height:1.15!important;
}
.aiBubbleCards .solidIcon{
  right:7px!important;
  top:7px!important;
}
.aiBubbleCards .solidIcon svg{
  width:20px!important;
  height:20px!important;
}
.aiComposer{
  display:grid!important;
  gap:8px!important;
  padding-top:2px!important;
}
.aiChatComposerForm{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 94px!important;
  gap:8px!important;
  align-items:end!important;
}
.aiChatComposerForm textarea{
  min-height:42px!important;
  max-height:92px!important;
  resize:vertical!important;
  border-radius:16px!important;
  padding:10px 12px!important;
  font-size:13.5px!important;
  line-height:1.25!important;
}
.aiChatComposerForm button{
  height:42px!important;
  border-radius:16px!important;
  font-size:12px!important;
  padding:0 10px!important;
}
.aiComposer .aiSuggestToggle{
  width:max-content!important;
  height:30px!important;
  border-radius:999px!important;
  font-size:11.5px!important;
  padding:0 10px!important;
}
.aiComposer .aiExamples{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:0!important;
  max-height:120px!important;
  overflow:auto!important;
}
.aiComposer .aiExamples button{
  height:30px!important;
  border-radius:999px!important;
  padding:0 10px!important;
  font-size:11.5px!important;
}
.aiChatShell .aiDetails{
  margin-top:8px!important;
  max-height:130px!important;
}
@media(max-width:760px){
  .aiChatShell{
    grid-template-rows:auto minmax(360px,58vh) auto!important;
    padding:10px!important;
    border-radius:16px!important;
    gap:8px!important;
  }
  .aiChatHeader{
    flex-direction:column!important;
    gap:8px!important;
  }
  .aiChatHeader h2{
    font-size:17px!important;
  }
  .aiChatHeader small{
    font-size:11px!important;
  }
  .aiChatHeaderActions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  .aiChatHeaderActions button,
  .aiChatHeaderActions .aiPowered{
    width:100%!important;
    justify-content:center!important;
  }
  .aiChatBody{
    padding:8px!important;
    border-radius:15px!important;
    gap:8px!important;
  }
  .aiBubble{
    max-width:88%!important;
    padding:9px 10px!important;
    border-radius:16px!important;
  }
  .aiMsgText{
    font-size:12.8px!important;
  }
  .aiBubbleCards{
    grid-template-columns:1fr!important;
  }
  .aiChatComposerForm{
    grid-template-columns:1fr 82px!important;
    gap:7px!important;
  }
  .aiChatComposerForm textarea{
    min-height:40px!important;
    padding:9px 10px!important;
    font-size:12.8px!important;
  }
  .aiChatComposerForm button{
    height:40px!important;
    font-size:11.5px!important;
  }
  .aiComposer .aiExamples{
    display:grid!important;
    grid-template-columns:1fr!important;
    max-height:170px!important;
  }
  .aiComposer .aiExamples button{
    justify-content:flex-start!important;
    height:auto!important;
    min-height:30px!important;
    white-space:normal!important;
    text-align:left!important;
    border-radius:12px!important;
    padding:7px 9px!important;
  }
}

/* v4.16 Admin UI compacto y más limpio */
.adminPage{
  display:grid!important;
  gap:12px!important;
}
.adminHero{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:14px!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
}
.adminHero h2{
  font-size:22px!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
  margin:4px 0!important;
}
.adminHero p{
  color:#64748b!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.3!important;
  margin:0!important;
}
.adminHero .actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  min-width:190px!important;
}
.adminHero .actions button{
  height:36px!important;
  border-radius:13px!important;
  font-size:12px!important;
  padding:0 10px!important;
}
.adminPage .reportCards.solidCardGrid{
  gap:10px!important;
}
.adminPage .reportCards.solidCardGrid .solidCard{
  min-height:88px!important;
  padding:12px 48px 12px 12px!important;
  border-radius:18px!important;
}
.adminPage .reportCards.solidCardGrid .solidCard strong{
  font-size:17px!important;
}
.adminPage .reportCards.solidCardGrid .solidCard small{
  font-size:10px!important;
  line-height:1.15!important;
}
.adminPage .reportCards.solidCardGrid .solidIcon{
  right:10px!important;
  top:10px!important;
}
.adminPage .reportCards.solidCardGrid .solidIcon svg{
  width:26px!important;
  height:26px!important;
}
.adminGrid{
  gap:12px!important;
}
.adminStatusCard{
  padding:13px!important;
  border-radius:18px!important;
}
.adminStatusCard .panel-head{
  margin-bottom:10px!important;
}
.statusRows{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.statusRows>div{
  padding:10px!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  border:1px solid #e5e7eb!important;
  min-width:0!important;
}
.statusRows span{
  display:block!important;
  font-size:9.5px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#64748b!important;
}
.statusRows b{
  display:block!important;
  font-size:13px!important;
  margin-top:3px!important;
  color:#0f172a!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.syncBadge{
  border-radius:16px!important;
  padding:12px!important;
}
.syncBadge b{
  font-size:26px!important;
}
.adminPage .adminStatsGrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.adminPage .adminStatsGrid>div{
  padding:12px!important;
  border-radius:16px!important;
}
.adminPage .adminStatsGrid b{
  font-size:16px!important;
}
.adminTopList .topProduct{
  padding:9px!important;
  gap:9px!important;
  border-radius:14px!important;
}
.adminTopList .topProduct>span{
  width:28px!important;
  height:28px!important;
  border-radius:10px!important;
}
.adminTopList .topProduct b{
  font-size:12px!important;
}
.adminTopList .topProduct small{
  font-size:10px!important;
}
.adminTopList .topProduct strong{
  font-size:12px!important;
}
@media(max-width:900px){
  .adminHero{
    flex-direction:column!important;
  }
  .adminHero .actions{
    width:100%!important;
    grid-template-columns:1fr 1fr!important;
    min-width:0!important;
  }
  .adminHero .actions .primary{
    grid-column:1/-1!important;
  }
  .adminPage .reportCards.solidCardGrid,
  .adminPage .adminStatsGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:520px){
  .adminPage{
    gap:10px!important;
  }
  .adminHero{
    padding:12px!important;
    border-radius:16px!important;
  }
  .adminHero h2{
    font-size:18px!important;
  }
  .adminHero .actions,
  .statusRows,
  .adminPage .adminStatsGrid{
    grid-template-columns:1fr!important;
  }
  .adminPage .reportCards.solidCardGrid{
    grid-template-columns:1fr!important;
  }
  .adminStatusCard{
    padding:12px!important;
  }
}


/* IA chat: input fijo y sugerencias flotantes */
.aiChatShell{
  position:relative!important;
  height:calc(100vh - 170px)!important;
  min-height:560px!important;
  max-height:780px!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
.aiChatBody{
  min-height:0!important;
  overflow:auto!important;
  padding-bottom:12px!important;
}
.aiComposer{
  position:sticky!important;
  bottom:0!important;
  z-index:30!important;
  display:grid!important;
  gap:8px!important;
  padding:10px 0 calc(8px + env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,rgba(255,255,255,.74) 0%, rgba(255,255,255,.98) 18%, #fff 42%)!important;
  backdrop-filter:blur(10px)!important;
  border-top:1px solid #e5e7eb!important;
}
.aiComposerTop{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:30px!important;
}
.aiSuggestToggle{
  position:relative!important;
  z-index:2!important;
}
.aiExamples.aiExamplesPopover{
  position:absolute!important;
  left:0!important;
  bottom:calc(100% + 8px)!important;
  width:min(100%, 560px)!important;
  max-height:200px!important;
  overflow:auto!important;
  padding:10px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 18px 40px rgba(15,23,42,.14)!important;
}
.aiExamples.aiExamplesPopover button{
  width:100%!important;
  min-height:34px!important;
  height:auto!important;
  border-radius:12px!important;
  padding:8px 10px!important;
  white-space:normal!important;
  text-align:left!important;
  justify-content:flex-start!important;
}
.aiChatComposerForm{
  margin:0!important;
}
.aiChatComposerForm textarea{
  min-height:44px!important;
}
@media(max-width:760px){
  .aiChatShell{
    height:calc(100vh - 145px)!important;
    min-height:520px!important;
    max-height:none!important;
  }
  .aiComposer{
    padding:8px 0 calc(8px + env(safe-area-inset-bottom))!important;
  }
  .aiExamples.aiExamplesPopover{
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:190px!important;
    grid-template-columns:1fr!important;
    bottom:calc(100% + 6px)!important;
    padding:8px!important;
    gap:6px!important;
  }
}


/* Configuración limpia / menos basura visual */
.settings-layout{
  grid-template-columns:210px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
.settings-menu{
  position:sticky!important;
  top:74px!important;
  padding:8px!important;
  border-radius:18px!important;
  gap:5px!important;
  box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
}
.settings-menu button{
  height:36px!important;
  min-height:36px!important;
  border-radius:12px!important;
  padding:0 10px!important;
  gap:7px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.settings-menu button svg{
  width:15px!important;
  height:15px!important;
}
.settings-panel{
  min-height:auto!important;
  padding:14px!important;
  border-radius:20px!important;
}
.settingsHead{
  position:sticky!important;
  top:64px!important;
  z-index:10!important;
  margin:-14px -14px 12px!important;
  padding:12px 14px!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(10px)!important;
  border-bottom:1px solid #e5e7eb!important;
  border-radius:20px 20px 0 0!important;
}
.settingsHead h2{
  font-size:19px!important;
  margin:0!important;
}
.settingsHead .primary{
  height:36px!important;
  border-radius:12px!important;
  padding:0 12px!important;
  font-size:12px!important;
}
.settings-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr)!important;
  gap:12px!important;
}
.settings-panel .form,
.settings-panel .backupBox,
.settings-panel .print-preview-mini,
.settings-panel .brand-preview,
.settings-panel .preview-card,
.settings-panel .catalogCompactPanel{
  border-radius:16px!important;
  padding:12px!important;
  box-shadow:0 8px 24px rgba(15,23,42,.055)!important;
}
.settings-panel .form{
  gap:9px!important;
}
.settings-panel h3{
  margin:0 0 8px!important;
  font-size:12px!important;
  color:#0f172a!important;
  letter-spacing:.06em!important;
}
.settings-panel .form label:not(.check),
.settings-panel .compactField label,
.settings-panel .companyFormCompact label{
  font-size:10px!important;
  letter-spacing:.045em!important;
  margin-bottom:0!important;
  color:#64748b!important;
}
.settings-panel input,
.settings-panel select{
  height:38px!important;
  min-height:38px!important;
  border-radius:12px!important;
  padding:0 10px!important;
  font-size:12.5px!important;
  font-weight:800!important;
}
.settings-panel input[type="file"]{
  height:auto!important;
  padding:8px!important;
}
.settings-panel .grid.two,
.settings-panel .miniGrid{
  gap:8px!important;
}
.settings-panel .check{
  min-height:34px!important;
  padding:7px 9px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  border-radius:12px!important;
  font-size:12px!important;
  font-weight:850!important;
}
.settings-panel .check input{
  width:16px!important;
  height:16px!important;
  min-height:16px!important;
}
.formSectionTitle{
  margin:0!important;
}
.formSectionTitle b{
  font-size:13px!important;
}
.formSectionTitle small,
.settings-panel .muted{
  font-size:10.5px!important;
  line-height:1.25!important;
}
.companySettingsCompact{
  grid-template-columns:minmax(0,1fr) 240px!important;
  gap:12px!important;
}
.companyFormCompact{
  padding:12px!important;
}
.socialConfigCompact{
  padding:9px!important;
  border-radius:14px!important;
}
.compactCompanyPreview{
  padding:12px!important;
  gap:7px!important;
}
.compactCompanyPreview .logoPreview{
  width:74px!important;
  height:74px!important;
  max-width:74px!important;
  border-radius:16px!important;
  padding:5px!important;
}
.compactCompanyPreview strong{
  font-size:17px!important;
}
.compactCompanyPreview small{
  font-size:10.5px!important;
  line-height:1.25!important;
}
.previewFoot{
  display:none!important;
}
.preview-card{
  min-height:118px!important;
  justify-content:center!important;
  gap:5px!important;
}
.preview-card:after{
  width:118px!important;
  height:118px!important;
  right:-42px!important;
  top:-42px!important;
}
.preview-card span{
  font-size:10px!important;
}
.preview-card strong{
  font-size:18px!important;
  line-height:1.1!important;
}
.preview-card small{
  font-size:10.5px!important;
  line-height:1.25!important;
}
.rateInput{
  height:44px!important;
  font-size:20px!important;
}
.print-preview-mini{
  padding:12px!important;
}
.mini-ticket{
  width:176px!important;
  min-height:230px!important;
  margin:8px auto 0!important;
  padding:12px 10px 28px!important;
  font-size:10.5px!important;
}
.catalogCompactPanel{
  max-width:none!important;
  padding:12px!important;
}
.catalogCompactHead{
  padding-bottom:8px!important;
  margin-bottom:8px!important;
}
.catalogCompactHead b{
  font-size:14px!important;
}
.catalogCompactHead small{
  font-size:10.5px!important;
}
.catalogCompactGrid{
  gap:8px!important;
  margin-bottom:8px!important;
}
.catalogOptionsCompact{
  gap:6px!important;
  margin:4px 0 10px!important;
}
.catalogOptionsCompact label{
  padding:7px 9px!important;
  font-size:11px!important;
}
.catalogCompactActions{
  padding-top:8px!important;
}
.catalogCompactActions .primary{
  min-width:0!important;
  max-width:none!important;
  height:38px!important;
}
.mapConfigRow{
  gap:7px!important;
}
.mapPickBtn{
  min-height:38px!important;
  height:38px!important;
  padding:0 10px!important;
  font-size:12px!important;
}
.slugInline{
  gap:7px!important;
  padding:7px!important;
}
.slugInline span,
.slugInline button{
  height:38px!important;
  padding:0 10px!important;
  font-size:12px!important;
}
.notificationOptions{
  gap:7px!important;
}
.backupActions{
  gap:8px!important;
}
.settings-panel .actions.wrap{
  gap:7px!important;
}
.settings-panel .actions.wrap button,
.settings-panel .backupActions button,
.settings-panel .uploadBackup{
  height:36px!important;
  min-height:36px!important;
  border-radius:12px!important;
  padding:0 10px!important;
  font-size:12px!important;
}
@media(max-width:1040px){
  .settings-layout{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .settings-menu{
    position:sticky!important;
    top:58px!important;
    z-index:20!important;
    display:flex!important;
    flex-direction:row!important;
    overflow:auto!important;
    border-radius:16px!important;
    padding:8px!important;
    gap:6px!important;
  }
  .settings-menu button{
    flex:0 0 auto!important;
    width:auto!important;
    white-space:nowrap!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 10px!important;
  }
  .settings-grid,
  .companySettingsCompact{
    grid-template-columns:1fr!important;
  }
  .compactCompanyPreview{
    display:none!important;
  }
  .settingsHead{
    top:56px!important;
  }
}
@media(max-width:620px){
  .settings-panel{
    padding:10px!important;
    border-radius:16px!important;
  }
  .settingsHead{
    margin:-10px -10px 10px!important;
    padding:10px!important;
    border-radius:16px 16px 0 0!important;
  }
  .settingsHead h2{
    font-size:17px!important;
  }
  .settingsHead .primary{
    height:34px!important;
    padding:0 10px!important;
  }
  .settings-panel .form,
  .settings-panel .backupBox,
  .settings-panel .print-preview-mini,
  .settings-panel .brand-preview,
  .settings-panel .preview-card,
  .settings-panel .catalogCompactPanel{
    padding:10px!important;
    border-radius:14px!important;
  }
  .settings-panel .grid.two,
  .settings-panel .miniGrid,
  .catalogCompactGrid,
  .socialMiniGrid{
    grid-template-columns:1fr!important;
  }
  .mapConfigRow{
    grid-template-columns:1fr!important;
  }
  .mapPickBtn{
    width:100%!important;
  }
  .settings-panel .preview-card{
    display:none!important;
  }
  .settings-panel .check{
    align-items:flex-start!important;
    line-height:1.25!important;
  }
}


/* Catálogo interno y creación: más limpio/responsivo */
.catalogPanel,
.catalogTopGrid,
.catalogPreview,
.catalogSettingsHint{
  min-width:0!important;
}
.catalogTopGrid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 112px!important;
  gap:10px!important;
  align-items:center!important;
}
.catalogSearch{
  height:42px!important;
  border-radius:14px!important;
  padding:0 13px!important;
  font-size:13px!important;
}
.catalogStatus{
  min-height:42px!important;
  border-radius:14px!important;
  padding:7px 10px!important;
}
.publicCatalogBar{
  border-radius:16px!important;
  padding:11px 12px!important;
  gap:10px!important;
}
.publicCatalogBar b{
  font-size:14px!important;
}
.publicCatalogBar small{
  font-size:11px!important;
  line-height:1.25!important;
  word-break:break-word!important;
}
.catalogTabs{
  display:flex!important;
  gap:7px!important;
  overflow:auto!important;
  padding-bottom:4px!important;
}
.catalogTabs button{
  height:36px!important;
  border-radius:999px!important;
  padding:0 13px!important;
  font-size:12px!important;
  flex:0 0 auto!important;
}
.catalogPreview{
  display:grid!important;
  gap:14px!important;
}
.catalogCategory h3{
  font-size:12px!important;
  margin:0 0 8px!important;
  color:#64748b!important;
}
.catalogCards{
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;
  gap:10px!important;
}
.catalogCard{
  border-radius:16px!important;
  padding:10px!important;
  min-height:0!important;
}
.catalogCardImg{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/0.78!important;
  border-radius:14px!important;
  object-fit:cover!important;
}
.catalogCard b{
  font-size:13px!important;
  line-height:1.15!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.catalogCard small{
  font-size:10px!important;
}
.catalogCard strong{
  font-size:14px!important;
}
.catalogCard span{
  font-size:11px!important;
}
.catalogPreviewModal .catalogPreviewBox{
  width:min(1180px,96vw)!important;
  height:min(880px,94vh)!important;
  padding:12px!important;
  border-radius:20px!important;
}
.catalogPreviewModal iframe{
  width:100%!important;
  height:calc(100% - 62px)!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
}
@media(max-width:760px){
  .catalogTopGrid{
    grid-template-columns:1fr!important;
  }
  .catalogStatus{
    width:100%!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
  }
  .publicCatalogBar{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .catalogCards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .catalogCard{
    padding:8px!important;
    border-radius:14px!important;
  }
  .catalogCard b{font-size:12px!important}
  .catalogPreviewModal .catalogPreviewBox{
    width:100vw!important;
    height:100vh!important;
    max-height:100vh!important;
    border-radius:0!important;
    padding:8px!important;
  }
  .catalogPreviewModal iframe{
    height:calc(100vh - 68px)!important;
    border-radius:12px!important;
  }
}
@media(max-width:360px){
  .catalogCards{
    grid-template-columns:1fr!important;
  }
}


/* FIX Configuración: quitar hueco superior creado por padding mobile anterior */
@media(max-width:860px){
  main:has(.settings-layout){
    padding-top:8px!important;
    scroll-padding-top:58px!important;
  }
  .settings-layout{
    margin-top:0!important;
    padding-top:0!important;
    gap:8px!important;
  }
  .settings-menu{
    position:relative!important;
    top:auto!important;
    margin:0 0 6px!important;
  }
  .settings-panel{
    margin-top:0!important;
  }
  .settingsHead{
    position:relative!important;
    top:auto!important;
    margin:-10px -10px 8px!important;
  }
}
@media(max-width:520px){
  main:has(.settings-layout){
    padding-top:6px!important;
  }
  .settings-menu{
    padding:6px!important;
    margin-bottom:6px!important;
  }
  .settings-menu button{
    height:32px!important;
    min-height:32px!important;
  }
}


/* Catálogo preview modal: menos botones arriba y más área útil */
.catalogPreviewModal{
  padding:6px!important;
}
.catalogPreviewModal .catalogPreviewBox{
  width:min(980px,98vw)!important;
  height:96vh!important;
  padding:8px!important;
  border-radius:18px!important;
}
.catalogPreviewModal .catalogPreviewBox .panel-head{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  margin-bottom:7px!important;
}
.catalogPreviewModal .catalogPreviewBox .panel-head h2{
  font-size:15px!important;
  margin:0!important;
}
.catalogPreviewModal .catalogPreviewBox .panel-head small{
  display:none!important;
}
.catalogPreviewModal .catalogPreviewBox .actions{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:7px!important;
  width:100%!important;
}
.catalogPreviewModal .catalogPreviewBox .actions button{
  height:36px!important;
  min-height:36px!important;
  border-radius:12px!important;
  font-size:11.5px!important;
  padding:0 8px!important;
}
.catalogPreviewModal iframe{
  height:calc(96vh - 92px)!important;
  border-radius:14px!important;
}
@media(max-width:760px){
  .catalogPreviewModal{
    padding:0!important;
  }
  .catalogPreviewModal .catalogPreviewBox{
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
    padding:6px!important;
  }
  .catalogPreviewModal .catalogPreviewBox .panel-head{
    gap:6px!important;
    margin-bottom:6px!important;
  }
  .catalogPreviewModal .catalogPreviewBox .actions{
    grid-template-columns:1fr 1fr!important;
  }
  .catalogPreviewModal .catalogPreviewBox .actions button:first-child{
    grid-column:1/-1!important;
  }
  .catalogPreviewModal iframe{
    height:calc(100dvh - 116px)!important;
    border-radius:12px!important;
  }
}


/* FIX carga inicial: usar logo en vez de texto Punto */
.boot{gap:12px;padding:20px 18px}.bootLogoWrap{display:flex;justify-content:center;align-items:center}.bootLogo{width:min(130px,32vw);max-width:130px;height:auto;display:block;filter:drop-shadow(0 14px 28px rgba(249,115,22,.18))}.boot small{font-size:13px;color:#64748b;font-weight:800;letter-spacing:.02em}


/* FIX catálogo preview: iframe más ancho + card más comercial */
.catalogPreviewModal .catalogPreviewBox{
  width:min(1040px,99vw)!important;
  height:98vh!important;
  padding:6px!important;
}
.catalogPreviewModal iframe{
  width:100%!important;
  height:calc(98vh - 84px)!important;
}
@media(max-width:760px){
  .catalogPreviewModal .catalogPreviewBox{
    width:100vw!important;
    height:100dvh!important;
    padding:4px!important;
  }
  .catalogPreviewModal .catalogPreviewBox .panel-head{
    margin-bottom:4px!important;
  }
  .catalogPreviewModal .catalogPreviewBox .actions button{
    height:34px!important;
    font-size:11px!important;
  }
  .catalogPreviewModal iframe{
    width:100%!important;
    height:calc(100dvh - 104px)!important;
  }
}


/* FIX final carga: nunca mostrar texto Punto, solo logo */
.boot{
  gap:12px!important;
  padding:20px 18px!important;
  color:#64748b!important;
  font-size:13px!important;
  font-weight:800!important;
}
.bootLogoWrap{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
}
.bootLogo{
  width:min(132px,34vw)!important;
  max-width:132px!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  filter:drop-shadow(0 14px 28px rgba(249,115,22,.18))!important;
}
.boot small{
  font-size:13px!important;
  color:#64748b!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}


/* FIX FINAL Toast/Bienvenida: evitar tarjeta gigante en escritorio */
#app-toast-host.toastHost,
.toastHost{
  position:fixed!important;
  top:82px!important;
  right:18px!important;
  left:auto!important;
  bottom:auto!important;
  width:360px!important;
  max-width:calc(100vw - 36px)!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:10px!important;
  align-items:start!important;
  justify-items:stretch!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
  z-index:99999!important;
}
#app-toast-host.toastHost .appToast,
.toastHost .appToast{
  width:100%!important;
  max-width:360px!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:92px!important;
  align-self:start!important;
  justify-self:end!important;
  grid-template-columns:34px minmax(0,1fr) 24px!important;
  padding:12px 12px 14px!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
#app-toast-host .toastText small,
.toastHost .toastText small{
  white-space:normal!important;
  line-height:1.22!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#app-toast-host .toastIcon,
.toastHost .toastIcon{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:11px!important;
}
#app-toast-host .toastClose,
.toastHost .toastClose{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  padding:0!important;
}
@media(max-width:860px){
  #app-toast-host.toastHost,
  .toastHost{
    top:calc(62px + env(safe-area-inset-top,0px))!important;
    left:10px!important;
    right:10px!important;
    bottom:auto!important;
    width:auto!important;
    max-width:none!important;
  }
  #app-toast-host.toastHost .appToast,
  .toastHost .appToast{
    max-width:430px!important;
    justify-self:center!important;
    max-height:96px!important;
  }
}
