:root{--bg:#f4f3ee;--card:#fff;--ink:#1c2321;--muted:#6b7280;--line:#e7e4dc;--primary:#0e7a5f;--primary-dark:#0b3d2e;--primary-soft:#e2f2ec;--amber:#f59e0b;--amber-soft:#fef3c7;--danger:#dc2626;--danger-soft:#fee2e2;--shadow:0 4px 16px rgba(28,35,33,.08);--radius:16px;--nav-h:64px;--appw:100%}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overflow-x:hidden}body{font-family:'Outfit',system-ui,sans-serif;background:#0a352b;color:var(--ink);display:flex;justify-content:center}#app{width:100%;max-width:var(--appw);min-height:100vh;background:var(--bg);position:relative;display:flex;flex-direction:column}#auth{position:fixed;inset:0;margin:0 auto;max-width:var(--appw);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;background:linear-gradient(165deg,#072b20,#0b3d2e 35%,#0e7a5f 75%,#14a07c)}.deco{position:absolute;font-size:30px;opacity:.14;animation:floaty 7s ease-in-out infinite;pointer-events:none;user-select:none;z-index:1}@keyframes floaty{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-14px) rotate(8deg)}}.auth-top{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;padding:calc(16px + env(safe-area-inset-top)) 20px 14px;position:relative;z-index:2}.brand-row{display:flex;align-items:center;gap:10px}.brand-logo{width:42px;height:42px;border-radius:12px;object-fit:cover;box-shadow:0 0 0 2px rgba(255,255,255,.85)}.brand-txt b{color:#fff;font-size:15px;font-weight:800;display:block}.brand-txt small{color:rgba(255,255,255,.75);font-size:10.5px;font-weight:600}.brand-badge{margin-left:auto;background:rgba(255,255,255,.14);border-radius:99px;padding:5px 11px;font-size:11px;color:#fff;font-weight:700}.hero{text-align:center}.hero-logo{width:88px;height:88px;border-radius:24px;object-fit:cover;display:block;margin:0 auto 12px;box-shadow:0 12px 32px rgba(0,0,0,.4),0 0 0 4px rgba(255,255,255,.92)}.hero h1{color:#fff;font-size:29px;font-weight:800;line-height:1.15}.hero h1 .hl{color:var(--amber)}.hero p{color:rgba(255,255,255,.85);font-size:12.5px;font-weight:600;margin-top:6px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tile{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:10px 6px;text-align:center;color:#fff;font-size:11px;font-weight:700}.tile span{display:block;font-size:20px;margin-bottom:4px}.auth-bottom{position:relative;z-index:2;background:#fff;border-radius:28px 28px 0 0;padding:12px 20px calc(18px + env(safe-area-inset-bottom));flex-shrink:0}.auth-bottom .grab{width:46px;height:5px;border-radius:99px;background:var(--line);margin:0 auto 12px}.ab-title{font-size:15px;font-weight:800;text-align:center;margin-bottom:10px}.auth-tabs{display:flex;background:#f3f4f6;border-radius:12px;padding:4px;margin-bottom:14px}.auth-tabs button{flex:1;border:none;background:none;font:inherit;font-size:13px;font-weight:700;padding:10px;border-radius:10px;color:var(--muted);cursor:pointer}.auth-tabs button.on{background:var(--primary);color:#fff}.forgot{display:block;margin:-4px 0 10px auto;border:none;background:none;color:var(--primary);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.reg-note{font-size:11.5px;color:var(--muted);background:#f3f4f6;border-radius:10px;padding:8px 10px;margin-bottom:10px;line-height:1.45}.auth-copy{margin-top:12px;text-align:center;font-size:10px;color:var(--muted);line-height:1.5}.auth-copy b{font-weight:700}.copyright{margin-top:16px;padding:12px 10px;text-align:center;font-size:10.5px;color:var(--muted);line-height:1.55;border-top:1px dashed var(--line)}.copyright b{font-weight:700;color:var(--ink)}@media(max-height:720px){.hero-logo{width:70px;height:70px}.hero h1{font-size:24px}.brand-badge{display:none}}@media(max-height:620px){.tiles,.hero p,.deco{display:none}}header{position:sticky;top:0;z-index:40;background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;padding:12px 16px 22px;border-radius:0 0 22px 22px;display:flex;align-items:center;gap:12px}header .logo{width:42px;height:42px;border-radius:12px;background:#fff;object-fit:cover}header .titles{flex:1;min-width:0}header h1{font-size:18px;font-weight:800}header p{font-size:11px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hdr-tag{font-size:10px;opacity:.88;margin-top:3px;line-height:1.4}.hdr-arrow{display:flex;align-items:center;flex-shrink:0;color:rgba(255,255,255,.85);animation:nudge 1.6s ease-in-out infinite}@keyframes nudge{0%,100%{transform:translateX(0);opacity:.65}50%{transform:translateX(4px);opacity:1}}.icon-btn{width:40px;height:40px;border-radius:12px;border:none;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.pin-legend{background:var(--amber-soft);color:#92400e;border-radius:12px;padding:9px 12px;font-size:12px;font-weight:600;text-align:center;margin:8px 0;line-height:1.4}.pin-legend b{font-weight:800;letter-spacing:1px}main{flex:1;padding:14px 14px calc(var(--nav-h) + 88px)}.screen{display:none}.screen.active{display:block}.banner{background:var(--amber-soft);border-radius:14px;padding:10px 12px;font-size:12.5px;display:flex;gap:8px;align-items:center;margin-bottom:12px;color:#92400e}.banner button{margin-left:auto;border:none;background:none;color:#92400e;font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.stat{background:var(--card);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}.stat .ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:17px;margin-bottom:7px}.stat b{display:block;font-size:19px;font-weight:800}.stat span{font-size:11.5px;color:var(--muted)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:13px;margin-bottom:12px}.card h3{font-size:14px;font-weight:700;margin-bottom:9px;display:flex;align-items:center;gap:8px}.card h3 .more{margin-left:auto;font-size:11px;color:var(--primary);font-weight:600;cursor:pointer;border:none;background:none}.empty{text-align:center;color:var(--muted);font-size:13px;padding:16px 8px}.empty .big{font-size:32px;display:block;margin-bottom:6px}.chart{display:flex;align-items:flex-end;gap:6px;height:140px;padding:6px 2px 0}.bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.bar-val{font-size:9.5px;font-weight:700}.bar{width:100%;max-width:36px;background:linear-gradient(180deg,var(--amber),#d97706);border-radius:8px 8px 4px 4px;min-height:4px}.bar.today{background:linear-gradient(180deg,var(--primary),#065f46)}.bar-lbl{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase}.row{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.thumb{width:44px;height:44px;border-radius:12px;background:var(--primary-soft);display:grid;place-items:center;font-size:21px;flex-shrink:0;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.row .info{flex:1;min-width:0}.row .info b{font-size:13.5px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .info small{font-size:11px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap}.price{font-weight:700;font-size:14px;color:var(--primary)}.badge{display:inline-flex;padding:2px 8px;border-radius:99px;font-size:10.5px;font-weight:700}.badge.ok{background:var(--primary-soft);color:var(--primary)}.badge.low{background:var(--amber-soft);color:#b45309}.badge.out{background:var(--danger-soft);color:var(--danger)}.cat-chip{display:inline-flex;padding:2px 8px;border-radius:99px;font-size:10.5px;font-weight:600}.mini-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--muted)}.mini-btn.danger{color:var(--danger)}.search{position:relative;margin-bottom:10px}.search input{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px 12px 42px;font:inherit;font-size:14px;outline:none}.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted)}.search-row{display:flex;gap:8px;margin-bottom:10px}.search-row .search{flex:1;margin-bottom:0}.cam-btn{width:52px;border:none;border-radius:14px;background:var(--primary-dark);color:#fff;font-size:20px;cursor:pointer;flex-shrink:0}.cam-btn.amber{background:var(--amber)}.cam-btn.mini{width:46px;height:46px;border-radius:12px;font-size:18px}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:10px;scrollbar-width:none}.chip{flex-shrink:0;border:1px solid var(--line);background:#fff;border-radius:99px;padding:7px 14px;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}.chip.on{background:var(--primary-dark);color:#fff}.chip.emp-on{background:#92400e;color:#fff}.sell-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sell-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 10px;text-align:center;cursor:pointer;position:relative}.sell-item .em{font-size:28px;display:block;margin-bottom:5px}.sell-item .em img{width:42px;height:42px;border-radius:10px;object-fit:cover}.sell-item b{font-size:12.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sell-item .pr{font-size:12.5px;color:var(--primary);font-weight:700}.sell-item .stk{font-size:10px;color:var(--muted)}.sell-item.off{opacity:.45;pointer-events:none}.sell-item .in-cart{position:absolute;top:6px;right:6px;background:var(--amber);color:#fff;font-size:10px;font-weight:800;border-radius:99px;padding:2px 7px}.sell-item .bulk-tag{position:absolute;top:6px;left:6px;background:#e0f2fe;color:#0369a1;font-size:10px;font-weight:800;border-radius:99px;padding:2px 7px}#cartBar{position:fixed;bottom:calc(var(--nav-h) + 10px);left:50%;transform:translateX(-50%) translateY(140%);width:calc(100% - 28px);max-width:calc(var(--appw) - 28px);background:var(--primary-dark);color:#fff;border-radius:16px;padding:12px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;z-index:45;transition:transform .3s}#cartBar.show{transform:translateX(-50%) translateY(0)}#cartBar .n{background:var(--amber);border-radius:10px;padding:4px 9px;font-weight:800;font-size:13px}#cartBar b{flex:1;font-size:14px}#cartBar span{font-size:12px;opacity:.8}#consBar{position:fixed;bottom:calc(var(--nav-h) + 68px);left:50%;transform:translateX(-50%) translateY(calc(100% + env(safe-area-inset-bottom) + 160px));visibility:hidden;opacity:0;width:calc(100% - 28px);max-width:calc(var(--appw) - 28px);background:#92400e;color:#fff;border-radius:16px;padding:12px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;z-index:45;transition:transform .3s,opacity .3s,visibility .3s}#consBar.show{transform:translateX(-50%) translateY(0);visibility:visible;opacity:1}#consBar .n{background:var(--amber);border-radius:10px;padding:4px 9px;font-weight:800;font-size:13px}#consBar b{flex:1;font-size:14px}#consBar span{font-size:12px;opacity:.85}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--appw);height:calc(var(--nav-h) + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);display:flex;z-index:50}nav button{flex:1;border:none;background:none;font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);cursor:pointer;font-size:9px;font-weight:600;padding:0 2px}nav button.on{color:var(--primary)}#fab{position:fixed;left:auto;right:max(14px,calc(50% - var(--appw)/2 + 14px));bottom:calc(var(--nav-h) + 16px);width:56px;height:56px;border-radius:18px;border:none;background:var(--amber);color:#fff;font-size:28px;font-weight:700;cursor:pointer;z-index:45;display:none;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.25)}#fab.show{display:grid}.overlay{position:fixed;inset:0;background:rgba(20,25,23,.5);z-index:60;display:none;align-items:flex-end;justify-content:center}.overlay.show{display:flex}.sheet{background:#fff;width:100%;max-width:100%;border-radius:24px 24px 0 0;padding:16px 18px calc(18px + env(safe-area-inset-bottom));max-height:90vh;overflow-y:auto}.sheet .grab{width:44px;height:5px;border-radius:99px;background:var(--line);margin:0 auto 12px}.sheet h2{font-size:17px;font-weight:800;margin-bottom:12px}.sheet .desc{font-size:13px;color:var(--muted);margin-bottom:12px}.field{margin-bottom:11px}.field label{display:block;font-size:11.5px;font-weight:700;color:var(--muted);margin-bottom:4px;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;font:inherit;font-size:14px;outline:none;background:#fff}.field textarea{min-height:70px;resize:vertical}.field input[type=checkbox]{width:auto;height:auto;margin:0}.frow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn{width:100%;border:none;border-radius:14px;padding:13px;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.btn.primary{background:var(--primary);color:#fff}.btn.dark{background:var(--primary-dark);color:#fff}.btn.ghost{background:#f3f4f6;color:var(--ink)}.btn.danger{background:var(--danger);color:#fff}.btn+.btn{margin-top:8px}.emoji-grid{display:flex;flex-wrap:wrap;gap:6px}.emoji-grid button{width:40px;height:40px;font-size:20px;border-radius:10px;border:2px solid transparent;background:#f5f5f4;cursor:pointer}.emoji-grid button.on{border-color:var(--primary);background:var(--primary-soft)}.pay-chips{display:flex;gap:8px}.pay-chips .chip{flex:1;text-align:center}.photo-prev{display:flex;align-items:center;gap:10px;margin-bottom:8px}.photo-prev img{width:52px;height:52px;border-radius:12px;object-fit:cover}.photo-prev .rm{border:none;background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:8px 10px;font-size:12px;font-weight:700;cursor:pointer}#reader{width:100%;border-radius:14px;overflow:hidden;background:#111;min-height:220px}.scan-hint{font-size:12px;color:var(--muted);text-align:center;margin:10px 0}.cart-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.qty{display:flex;align-items:center;gap:8px}.qty button{width:28px;height:28px;border-radius:9px;border:1px solid var(--line);background:#fff;font-weight:700;cursor:pointer;color:var(--primary)}.qty b{min-width:44px;text-align:center;font-size:13px}.total-line{display:flex;justify-content:space-between;font-weight:700;padding:10px 0}.total-line.big{font-size:19px;font-weight:800;color:var(--primary)}.sale-card{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}.sale-head{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer}.sale-head .info{flex:1;min-width:0}.sale-head b{font-size:14px}.sale-head small{display:block;color:var(--muted);font-size:11.5px}.sale-body{background:#faf9f6;padding:10px 12px;border-top:1px dashed var(--line);font-size:13px}.sale-body .it{display:flex;justify-content:space-between;padding:3px 0;color:var(--muted)}.sale-body .it b{color:var(--ink)}.sale-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.sale-actions .btn{padding:10px;font-size:13px;margin:0}.ticket-wrap{background:#e5e7eb;border-radius:14px;padding:16px 10px;margin-bottom:12px;max-height:46vh;overflow-y:auto}.ticket{font-family:'Courier New',monospace;font-size:12.5px;color:#111;background:#fff;padding:18px 14px;max-width:300px;margin:0 auto}.t-row{display:flex;justify-content:space-between;gap:8px;padding:1.5px 0}.t-total{font-weight:800;font-size:15px}.t-sep{border-top:1px dashed #999;margin:8px 0}.t-center{text-align:center;line-height:1.45}#toast{position:fixed;top:14px;left:50%;transform:translateX(-50%) translateY(-120px);z-index:100;background:var(--primary-dark);color:#fff;padding:12px 20px;border-radius:99px;font-size:13.5px;font-weight:600;transition:transform .35s;max-width:90%;text-align:center}#toast.show{transform:translateX(-50%) translateY(0)}#toast.warn{background:#b45309}#toast.err{background:var(--danger)}.credit-card{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}.credit-head{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer}.credit-head .avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--primary-soft),#c7ebdf);display:grid;place-items:center;font-size:20px;font-weight:800;color:var(--primary-dark);flex-shrink:0}.credit-head .info{flex:1;min-width:0}.credit-head b{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credit-head small{color:var(--muted);font-size:11.5px}.credit-head .debt{font-weight:800;color:var(--danger);font-size:16px;flex-shrink:0;text-align:right}.credit-head .debt.ok{color:var(--primary);font-size:12px}.credit-body{background:#faf9f6;padding:10px 12px;border-top:1px dashed var(--line)}.credit-body .debt-item{display:flex;justify-content:space-between;gap:8px;padding:4px 0;font-size:13px;color:var(--muted);border-bottom:1px dotted var(--line)}.credit-body .debt-item:last-child{border-bottom:none}.credit-body .debt-item.pay{color:var(--primary)}.credit-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px}.credit-actions .btn{padding:10px;font-size:12.5px;margin:0}.total-debt-banner{background:linear-gradient(135deg,var(--danger),#991b1b);color:#fff;border-radius:var(--radius);padding:14px;margin-bottom:12px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.total-debt-banner .ico{font-size:28px}.total-debt-banner b{display:block;font-size:22px;font-weight:800}.total-debt-banner span{font-size:11.5px;opacity:.9}.debt-add-items{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:10px}.debt-add-items .di{display:flex;align-items:center;gap:8px;padding:8px;border-radius:10px;cursor:pointer}.debt-add-items .di:hover{background:#f3f4f6}.debt-add-items .di.sel{background:var(--primary-soft)}.debt-add-items .di .info{flex:1;min-width:0}.debt-add-items .di b{font-size:13px;display:block}.debt-add-items .di small{font-size:11px;color:var(--muted)}.debt-add-items .di .qt{display:flex;align-items:center;gap:6px}.debt-add-items .di .qt button{width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:#fff;font-weight:700;cursor:pointer;color:var(--primary)}.w-list{max-height:210px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:10px}.w-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:10px;cursor:pointer;border:2px solid transparent}.w-item:hover{background:#f3f4f6}.w-item.sel{background:var(--primary-soft);border-color:var(--primary)}.w-item .info{flex:1;min-width:0}.w-item b{font-size:13px;display:block}.w-item small{font-size:11px;color:var(--muted)}.w-result{background:var(--primary-soft);border-radius:14px;padding:14px;text-align:center;margin-bottom:12px}.w-result .big{font-size:27px;font-weight:800;color:var(--primary-dark)}.w-result small{color:var(--muted);font-size:12px;font-weight:600;display:block;margin-top:2px}.reset-info{background:var(--primary-soft);border-radius:12px;padding:10px 12px;font-size:12px;color:var(--primary-dark);margin-bottom:12px;line-height:1.5}
#planBlock{position:fixed;inset:0;max-width:100%;margin:0 auto;display:none;align-items:center;justify-content:center;text-align:center;padding:24px;background:linear-gradient(165deg,#072b20,#0b3d2e 35%,#0e7a5f 75%,#14a07c);z-index:56;overflow-y:auto}
.pb-card{background:#fff;border-radius:24px;padding:24px 20px;max-width:380px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.pb-logo{width:64px;height:64px;border-radius:18px;object-fit:cover;display:block;margin:0 auto 10px;box-shadow:0 0 0 3px var(--primary-soft)}
#pbIcon{font-size:46px;line-height:1;margin-bottom:6px}
#pbTitle{font-size:20px;font-weight:800;margin-bottom:8px}
#pbMsg{font-size:13px;color:var(--muted);margin-bottom:12px;line-height:1.5}
.pb-pay{background:#f5f5f4;border-radius:14px;padding:12px;margin-bottom:12px;text-align:left}
.pb-pay .btn{margin-top:8px}
.pb-pay-t{font-size:11.5px;font-weight:800;color:var(--muted);text-transform:uppercase;margin-bottom:4px}
.pb-contact{font-size:11px;color:var(--muted);margin-top:8px;text-align:center;word-break:break-all}
#planInfo{background:var(--primary-soft);color:var(--primary-dark);border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700;margin-bottom:10px;text-align:center}
.admin-card{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:12px}
.admin-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.admin-head .avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--primary-soft),#c7ebdf);display:grid;place-items:center;font-size:20px;font-weight:800;color:var(--primary-dark);flex-shrink:0}
.admin-head .info{flex:1;min-width:0}
.admin-head b{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-head small{color:var(--muted);font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.admin-actions .btn{padding:9px 6px;font-size:12px;margin:0}
.admin-actions .full{grid-column:1/-1}
#adminStats{flex-wrap:wrap}
@media(hover:hover){.btn:hover{filter:brightness(1.07)}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip.on:hover,.chip.emp-on:hover{color:#fff}.sell-item:hover{border-color:var(--primary);box-shadow:var(--shadow)}.w-item:hover{background:#f3f4f6}nav button:hover{color:var(--primary)}.mini-btn:hover{border-color:var(--primary);color:var(--primary)}.mini-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.icon-btn:hover{background:rgba(255,255,255,.25)}.card h3 .more:hover{text-decoration:underline}.forgot:hover{text-decoration:underline}}
@media(min-width:700px){:root{--appw:100%}#auth{max-width:100%}.auth-top{max-width:100%;margin:0 auto;width:100%}.auth-bottom{max-width:100%;margin:0 auto;width:100%}.stats{grid-template-columns:repeat(4,1fr)}.sell-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.sheet{max-width:100%}nav button{font-size:10.5px}}
@media(min-width:900px){#auth{flex-direction:row;align-items:stretch;overflow:hidden}.auth-top{max-width:none;margin:0;width:auto;flex:1.1;padding:40px 48px;justify-content:center}.auth-bottom{width:470px;max-width:470px;flex-shrink:0;margin:0;border-radius:32px 0 0 32px;overflow-y:auto;padding:32px 36px;box-shadow:-20px 0 60px rgba(0,0,0,.25)}.auth-bottom .grab{display:none}.ab-title{text-align:left;font-size:17px}.hero-logo{width:110px;height:110px;border-radius:28px}.hero h1{font-size:34px}.tiles{max-width:430px}.brand-row{max-width:520px}.hero{max-width:520px}.tiles{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){:root{--appw:100%}
#app{box-shadow:none}
header{padding:18px 26px 26px}header .logo{width:52px;height:52px;border-radius:14px}header h1{font-size:22px}header p{font-size:12px}.hdr-tag{font-size:11px}.icon-btn{width:46px;height:46px;border-radius:14px}
main{padding:20px 20px calc(var(--nav-h) + 96px)}
nav{height:72px}nav button{flex-direction:row;gap:8px;font-size:12.5px}
.overlay{align-items:center;padding:24px}
.sheet{border-radius:24px;max-width:100%;max-height:86vh;margin:0 auto;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.sheet .grab{display:none}
.sheet h2{font-size:19px}
.sell-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
#scr-inicio.active{display:grid;grid-template-columns:1fr 1fr;gap:16px}#scr-inicio .stats,#scr-inicio .banner{grid-column:1/-1}#scr-inicio .card:last-child{grid-column:1/-1}
.chart{height:180px}
#prodList,#saleList,#creditList,#dayList,#consEmpList{columns:2;column-gap:16px}
#prodList .row,#saleList .sale-card,#creditList .credit-card,#dayList .sale-card,#consEmpList .credit-card{break-inside:avoid}
.stat b{font-size:22px}
.card h3{font-size:15px}
.row .info b{font-size:14px}
}
@media(min-width:1440px){:root{--appw:100%}.sell-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.sheet{max-width:100%}header h1{font-size:24px}}
#printArea{display:none}@media print{body *{visibility:hidden}#printArea{display:block;visibility:visible;position:absolute;left:0;top:0;width:100%}#printArea *{visibility:visible}#printArea .ticket{max-width:72mm;margin:0 auto}}