:root{--p:#6D4AFF;--bg:#f4f2fa;--card:#fff;--text:#18151e;--muted:#736e7b;--line:#e6e1ec;--red:#d92d20;--green:#16854c;--warn:#a15c00;--shadow:0 10px 30px rgba(50,34,78,.09)}
*{box-sizing:border-box;touch-action:manipulation}html{background:var(--bg);touch-action:manipulation}body{margin:0;background:var(--bg);font-family:Arial,system-ui,sans-serif;color:var(--text);padding-bottom:82px}button,input,select,textarea{font:inherit}.hide{display:none!important}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.authbox{width:min(430px,100%);background:#fff;padding:24px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.logo{font-size:28px;font-weight:950}.purple{color:var(--p)}.muted,.small{font-size:12px;color:var(--muted)}.field{margin-top:12px}.field label{display:block;font-size:12px;font-weight:850;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:#fff;outline:none}.field input:focus,.field select:focus,.search:focus{border-color:var(--p);box-shadow:0 0 0 3px color-mix(in srgb,var(--p) 12%,transparent)}.btn{min-height:44px;border:0;border-radius:12px;background:var(--p);color:#fff;font-weight:900;padding:0 14px;cursor:pointer}.btn:disabled{opacity:.55}.ghost{min-height:40px;border:1px solid var(--line);background:#fff;border-radius:11px;font-weight:850;padding:0 11px;cursor:pointer}.dangerbtn{border:1px solid #f1c6c1;background:#fff4f2;color:var(--red);min-height:42px;border-radius:11px;font-weight:900;padding:0 12px}.full{width:100%}.top{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:calc(10px + env(safe-area-inset-top)) 14px 10px;z-index:20}.topin{max-width:980px;margin:auto;display:flex;align-items:center;gap:10px}.store{font-weight:950;font-size:17px}.pill{margin-left:auto;background:#efe9ff;color:var(--p);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900}main{max-width:980px;margin:auto;padding:14px}.page{display:none}.page.on{display:block}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.title{font-size:22px;font-weight:950}.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.card,.kpi{background:#fff;border:1px solid var(--line);border-radius:17px;padding:12px;box-shadow:0 2px 8px rgba(31,24,48,.025)}.kpi span{font-size:11px;color:var(--muted)}.kpi b{display:block;font-size:21px;margin-top:4px}.section{margin-top:16px}.section h3{font-size:14px;margin:0 0 8px}.row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px;margin-bottom:7px;display:flex;gap:9px;align-items:center}.grow{flex:1;min-width:0}.strong{font-weight:900}.money{font-weight:950}.search{width:100%;height:44px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:0 12px;outline:none}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#ebe8ef;padding:4px;border-radius:14px;margin-bottom:12px}.seg button{height:39px;border:0;background:transparent;border-radius:10px;font-size:12px;font-weight:900;color:var(--muted)}.seg button.on{background:#fff;color:var(--text);box-shadow:0 2px 7px #22163812}.chips{display:flex;gap:7px;overflow:auto;padding:9px 0 11px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;white-space:nowrap;font-size:11px;font-weight:850}.chip.on{background:var(--p);border-color:var(--p);color:#fff}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.prod{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;cursor:pointer;box-shadow:0 3px 13px rgba(25,16,43,.035)}.img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee;display:grid;place-items:center;color:#aaa;font-weight:900}.body{padding:10px}.name{font-weight:900}.price{font-size:17px;font-weight:950;margin-top:5px}.cat{display:inline-block;background:#f0edff;color:var(--p);font-size:10px;font-weight:900;border-radius:999px;padding:4px 7px;margin-bottom:6px}.stockgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}.stockcard{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;margin:0;box-shadow:0 3px 13px rgba(25,16,43,.035);min-width:0}.stockhero{position:relative}.stockimg{width:100%;aspect-ratio:1.35/1;object-fit:cover;background:#eee;display:grid;place-items:center;color:#aaa;font-size:10px;font-weight:900}.stocksummary{padding:8px}.stocksummary .cat{font-size:8px;padding:3px 6px;margin-bottom:4px}.stocksummary .strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stocksummary .small{font-size:9px}.stockflavors{border-top:1px solid var(--line)}.flavor{border-top:1px solid var(--line);padding:7px}.flavor:first-child{border-top:0}.fltop{display:flex;align-items:center;gap:5px}.fltop b{font-size:10px}.fltop .small{font-size:8px}.stockctl{display:grid;grid-template-columns:26px minmax(36px,1fr) 26px;gap:4px;align-items:center;margin-top:6px}.stockctl button{height:28px;border:1px solid var(--line);background:#fff;border-radius:8px;font-weight:950;font-size:12px;padding:0}.stockctl input{width:100%;min-width:0;height:28px;border:1px solid var(--line);border-radius:8px;text-align:center;font-weight:900;font-size:10px;padding:0 2px}.stockplus10{grid-column:1/-1;height:27px!important;font-size:9px!important}.minrow{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:5px;font-size:8px;color:var(--muted)}.minrow input{width:40px;height:25px;border:1px solid var(--line);border-radius:7px;text-align:center;font-size:9px}.mini{width:52px;height:52px;border-radius:12px;object-fit:cover;background:#eee}.ok{color:var(--green)}.low{color:var(--warn)}.out{color:var(--red)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:950}.badge.open{background:#e8f5ee;color:var(--green)}.badge.pending{background:#fff2d9;color:#8b5d00}.badge.paid{background:#e9efff;color:#3456a4}.badge.cancel{background:#fff0ef;color:var(--red)}.tabcard,.histcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:8px;cursor:pointer}.line{display:flex;align-items:center;gap:10px}.cartbar{position:fixed;left:50%;transform:translateX(-50%);bottom:76px;width:min(952px,calc(100% - 24px));margin:0;background:#17151d;color:#fff;border-radius:16px;padding:10px 12px;display:flex;align-items:center;gap:10px;box-shadow:0 12px 35px #0004;z-index:29}.cartbar .btn{margin-left:auto;background:#fff;color:#17151d;min-height:38px}.cartline{display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:1px solid var(--line);padding:10px 0}.qctl{display:flex;align-items:center;gap:6px}.qctl button{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:9px}.qctl b{min-width:28px;text-align:center}.qtyinput,.cartqty{width:62px;height:38px;border:1px solid var(--line);background:#fff;border-radius:10px;text-align:center;font-weight:950;outline:none}.qtyinput:focus,.cartqty:focus{border-color:var(--p);box-shadow:0 0 0 3px color-mix(in srgb,var(--p) 12%,transparent)}.qtyinput::-webkit-inner-spin-button,.qtyinput::-webkit-outer-spin-button,.cartqty::-webkit-inner-spin-button,.cartqty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tabpickcard{margin-bottom:12px;border:2px solid var(--p)!important;box-shadow:0 7px 22px rgba(20,20,30,.07)!important;padding:12px!important}.tabpickhead{display:flex;align-items:flex-start;gap:12px}.tabpickprice{margin-left:auto;text-align:right}.tabpickvariants{margin-top:7px}.tabpickqty{margin:7px 0}.tabpickbottom{display:flex;align-items:center;gap:12px}.tabpickbottom .grow{min-width:0}.twobtn{display:grid;grid-template-columns:1fr 1fr;gap:8px}.empty{text-align:center;color:var(--muted);padding:24px;background:#fff;border:1px dashed var(--line);border-radius:15px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(980px,100%);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:7px 6px calc(7px + env(safe-area-inset-bottom));z-index:30}.nav button{height:49px;border:0;background:transparent;font-size:10px;font-weight:850;color:var(--muted);border-radius:11px}.nav button span{display:block;font-size:17px;margin-bottom:2px}.nav button.on{background:#efe9ff;color:var(--p)}.nav.compact{grid-template-columns:repeat(3,1fr)}.modal{position:fixed;inset:0;background:#0008;z-index:60;display:none;align-items:flex-end;justify-content:center}.modal.on{display:flex}.sheet{width:min(980px,100%);max-height:93vh;overflow:auto;background:#fff;border-radius:23px 23px 0 0;padding:16px 15px calc(22px + env(safe-area-inset-bottom))}.sheethead{display:flex;align-items:center;gap:9px;margin-bottom:12px}.sheethead h2{margin:0;flex:1;font-size:20px}.close{width:38px;height:38px;border:0;background:#f0eef2;border-radius:11px;font-size:20px}.pickfl{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:7px}.pickfl.on{border:2px solid var(--p);background:#faf8ff}.qtypick{display:flex;align-items:center;justify-content:center;gap:14px;margin:13px 0}.qtypick button{width:44px;height:40px;border:1px solid var(--line);background:#fff;border-radius:11px;font-size:20px;font-weight:950}.qtypick b{font-size:22px;min-width:35px;text-align:center}.fedit{display:grid;grid-template-columns:minmax(0,1fr) 65px 55px 36px;gap:5px;align-items:center;margin-top:6px}.fedit input{width:100%;height:38px;border:1px solid var(--line);border-radius:9px;padding:0 7px}.remove{border:0;background:#fff0ef;color:var(--red);height:36px;border-radius:9px;font-weight:950}.toast{position:fixed;bottom:91px;left:50%;transform:translateX(-50%);background:#17151d;color:#fff;padding:10px 13px;border-radius:12px;display:none;z-index:120;max-width:90%;font-size:13px}.movplus{color:var(--green);font-weight:950}.movminus{color:var(--red);font-weight:950}
.reportgrid{display:grid;grid-template-columns:1fr;gap:8px}.metricline{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.metricline:last-child{border-bottom:0}.bartrack{height:7px;background:#eeeaf4;border-radius:999px;overflow:hidden;margin-top:5px}.barfill{height:100%;background:var(--p);border-radius:999px}.delta{font-size:11px;font-weight:900}.delta.up{color:var(--green)}.delta.down{color:var(--red)}.filtergrid{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;align-items:end}.filtergrid .field{margin:0}.teamrole{font-size:10px;font-weight:900;background:#f0edff;color:var(--p);border-radius:999px;padding:4px 7px;display:inline-block}.trialcard{border:1px solid #dccfff;background:linear-gradient(135deg,#faf8ff,#fff)}.readonly{opacity:.78}.invitebox{border:1px dashed var(--line);border-radius:14px;padding:11px;margin-top:9px}.rolehint{font-size:11px;color:var(--muted);line-height:1.4}.smallbtn{min-height:32px;padding:0 9px;font-size:10px}
.billingstatus{margin-top:9px;padding:10px;border-radius:13px;background:#f8f7fa;border:1px solid var(--line)}.planpick{border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:9px}.planpick.current{border:2px solid var(--p);background:#faf8ff}.planprice{font-size:20px;font-weight:950}.billingnote{font-size:10px;color:var(--muted);line-height:1.45;margin-top:6px}.mpbrand{display:inline-flex;align-items:center;gap:5px;font-weight:950;font-size:11px}.mpdot{width:8px;height:8px;border-radius:50%;background:#1687ff}.billinggood{background:#eefbf4;border-color:#c8ecd8}.billingwarn{background:#fff8e8;border-color:#f1dfad}
.adminkpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}.adminkpi{background:#fff;border:1px solid var(--line);border-radius:13px;padding:9px}.adminkpi span{display:block;font-size:9px;color:var(--muted);font-weight:800}.adminkpi b{display:block;font-size:17px;margin-top:3px}.adminfilters{display:grid;grid-template-columns:1fr 120px;gap:7px;margin:8px 0}.adminstore{border:1px solid var(--line);background:#fff;border-radius:15px;padding:10px;margin-bottom:7px}.adminmeta{font-size:10px;color:var(--muted);margin-top:3px}.adminacts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.adminacts button{min-height:33px}.statusdot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;background:#999}.statusdot.active{background:var(--green)}.statusdot.trial{background:#7b61ff}.statusdot.suspended,.statusdot.expired{background:var(--red)}.supportnote{border-left:3px solid var(--p);padding:8px 9px;background:#faf9fd;border-radius:0 10px 10px 0;margin:6px 0}.legalcheck{display:flex;align-items:flex-start;gap:8px;margin-top:10px;font-size:12px;color:var(--muted);line-height:1.4}.legalcheck input{width:18px!important;min-height:18px!important;height:18px!important;flex:0 0 18px;margin-top:1px}.legalcheck a{color:var(--p);font-weight:800}.legalnote{background:#fff8e8;border:1px solid #f1dfad;border-radius:12px;padding:10px;font-size:11px;color:#6d5600}.libtoolbar{display:grid;grid-template-columns:1fr auto;gap:7px;margin-bottom:8px}.libitem{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:9px;margin-bottom:6px}.libthumb{width:58px;height:58px;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#f7f6f9;flex:0 0 58px}.libgroup{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:15px;padding:10px;margin-bottom:7px;cursor:pointer}.libgroup:hover{border-color:#cfc5ef}.libgroup .libthumb{width:72px;height:72px;flex-basis:72px}.libgroupcount{font-size:11px;color:var(--muted);margin-top:3px}.libgroupgo{font-size:20px;color:var(--muted)}.libplaceholder{width:58px;height:58px;border-radius:12px;border:1px dashed var(--line);background:#f8f7fa;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--muted);text-align:center;flex:0 0 58px;padding:4px}.libgroup .libplaceholder{width:72px;height:72px;flex-basis:72px}.libsource{font-size:10px;color:var(--muted);line-height:1.35;margin-top:7px}.libback{margin-bottom:8px}.varianthead{display:flex;align-items:center;gap:10px;margin:8px 0 10px}.varianthead .libthumb{width:84px;height:84px;flex-basis:84px}.libedithead{display:flex;align-items:center;gap:10px}.libedithead .libthumb{width:66px;height:66px;flex-basis:66px}.phototoggle{display:flex;align-items:center;gap:7px;margin-top:7px;font-size:11px;color:var(--muted)}.phototoggle input{width:17px!important;height:17px!important;min-height:17px!important}.libitem input[type=checkbox]{width:19px;height:19px;min-height:19px;flex:0 0 19px}.libitem.off{opacity:.52}.libmeta{font-size:10px;color:var(--muted);margin-top:2px}.libedit{border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:8px;background:#fff}.libeditgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.libeditgrid input{min-height:40px;padding:8px}.legalbody{white-space:pre-wrap;line-height:1.62;font-size:13px}.legalscroll{max-height:62vh;overflow:auto;padding-right:4px}.packnote{background:#f7f4ff;border:1px solid #e3dafd;border-radius:13px;padding:9px;margin:8px 0}.quickactions{display:flex;gap:7px}.quickactions>*{flex:1}@media(max-width:520px){.libeditgrid{grid-template-columns:1fr 1fr}.libeditgrid .stockfield{grid-column:1/-1}}.adminsection{margin-top:13px}.adminsection h3{font-size:13px;margin:0 0 7px}
@media(max-width:520px){.adminkpis{grid-template-columns:repeat(2,minmax(0,1fr))}.adminfilters{grid-template-columns:1fr}.adminacts button{flex:1}}

/* v0.15 · acabamento e mobile */
html,body{overflow-x:hidden;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,system-ui,sans-serif}
button,.prod,.libgroup,.chip,.row,.tabcard,.histcard{-webkit-tap-highlight-color:transparent}
button{transition:transform .12s ease,opacity .12s ease,background .12s ease}
button:active{transform:scale(.98)}
#who{max-width:70vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod .name{line-height:1.22;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.44em}
.prod .img{background:linear-gradient(145deg,#f0eef3,#faf9fb)}
.editcardbtn{margin-top:8px}
.emptystate{padding:30px 18px}
.emptystate b{display:block;font-size:16px;margin:5px 0}
.emptyicon{width:48px;height:48px;margin:0 auto 8px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--p) 10%,#fff);color:var(--p);font-size:23px;font-weight:950}
.onboardtop{display:flex;align-items:flex-start;gap:10px}
.onboardeyebrow{font-size:9px;letter-spacing:.11em;color:var(--p);font-weight:950;margin-bottom:3px}
.onboardcount{margin-left:auto;background:color-mix(in srgb,var(--p) 10%,#fff);color:var(--p);border-radius:999px;padding:6px 9px;font-weight:950;font-size:11px}
.onboardprogress{height:7px;background:#ece8f3;border-radius:999px;overflow:hidden;margin:10px 0}
.onboardprogress i{display:block;height:100%;background:var(--p);border-radius:999px;transition:width .25s ease}
.onboardsteps{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.onboardstep{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:11px;padding:7px 8px;font-size:10px;font-weight:800;background:#fff}
.onboardstep span{font-size:14px;color:var(--muted)}
.onboardstep.done{background:#f1faf5;border-color:#d5ecdf;color:#246b46}
.onboardstep.done span{color:var(--green)}
.sheethead{position:sticky;top:-16px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);z-index:8;padding-top:16px}
.libgroup,.libitem{box-shadow:0 2px 9px rgba(31,24,48,.025)}
.libgroup{min-height:86px}
.libgroupgo{width:30px;height:30px;border-radius:10px;background:#f5f3f8;display:grid;place-items:center;flex:0 0 30px}
.libitem input[type=checkbox]{accent-color:var(--p)}
.phototoggle input{accent-color:var(--p)}
.varianthead{padding:9px;border-radius:15px;background:#faf9fc;border:1px solid var(--line)}
.stockcard,.prod{transition:transform .12s ease,box-shadow .12s ease}
.stockcard:active,.prod:active{transform:scale(.985)}
@media(max-width:699px){
  .sellModes{gap:3px;padding:3px}
  .sellModes button{font-size:9px;padding:0 3px}
  .nav.supernav button{font-size:7px}
  .nav.supernav button span{font-size:15px}
  .adminOverview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .adminPermissionGrid{grid-template-columns:1fr}
  .adminMetric{padding:9px}
  .adminMetric b{font-size:16px}
  .adminPanel{padding:10px;border-radius:16px}
  .adminfilters{grid-template-columns:1fr}
  .legalUpdateSheet{border-radius:22px 22px 0 0}

  .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .prod{border-radius:13px}
  .prod .body{padding:7px}
  .prod .cat{font-size:7px;padding:3px 5px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .prod .name{font-size:11px;min-height:2.44em}
  .prod .small{font-size:8px}
  .prod .price{font-size:13px;margin-top:3px}
  .prod .img{aspect-ratio:1.02/1}
  .prod .noimg span{font-size:19px}
  .prod .noimg small{font-size:6px}
  .editcardbtn{display:none}
  .stockgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .stocksummary{padding:7px}
  .stocksummary .strong{font-size:10px}
  .stocksummary .cat{font-size:6px}
  .stockTotal b{font-size:16px}
  .stockTotal span{font-size:6px}
  .stockState{font-size:5.5px;left:4px;top:4px;padding:3px 4px}
  .flavor{padding:6px}
  .fltop b{font-size:8px}
  .fltop .small{font-size:6px}
  .flavorQty{font-size:8px;min-width:24px;padding:3px 4px}
  .compactStockCtl{grid-template-columns:23px minmax(27px,1fr) 23px;gap:3px}
  .compactStockCtl button,.compactStockCtl input{height:26px;font-size:9px}
  .stockQuick>button{height:23px;font-size:7px;padding:0 6px}
  .stockQuick label{font-size:6px}
  .stockQuick input{width:28px;height:23px;font-size:8px}
  .settingsHero{margin-bottom:13px}
  .settingsStoreIcon{width:42px;height:42px;border-radius:12px}
  .settingsStoreIcon svg{width:27px;height:27px}
  .settingsHero .title{font-size:21px}
  .settingsSubtitle{font-size:12px}
  .settingsGrid{gap:12px}
  .settingsColumn{gap:12px}
  .settingsLabel{font-size:13px}
  .settingsCard{border-radius:16px;padding:11px}
  .catalogPhone{width:70px;height:113px;flex-basis:70px;padding:6px;border-width:4px}
  .phoneGrid i{height:26px}
  .catalogLinkText{font-size:12px}
  .themeSwatch{width:33px;height:33px}
  .customColor{margin-left:0}

  body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  main{padding:12px 10px 18px}
  .top{padding:calc(8px + env(safe-area-inset-top)) 11px 8px}
  .store{font-size:16px;max-width:68vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pill{padding:6px 8px;font-size:9px;white-space:nowrap}
  .pagehead{align-items:flex-start;margin-bottom:10px}
  .title{font-size:21px;letter-spacing:-.02em}
  .pagehead .small{margin-top:2px}
  .kpis{gap:7px}
  .kpi{padding:11px;border-radius:15px}
  .kpi b{font-size:18px}
  .card{border-radius:15px}
  .grid{gap:8px}
  .prod{border-radius:15px}
  .prod .body{padding:9px}
  .prod .price{font-size:16px}
  .prod .cat{font-size:8px;margin-bottom:4px}
  .prod .small{font-size:10px}
  .quickactions{gap:5px;flex:0 0 auto}
  .quickactions button{min-height:40px;padding:0 9px;font-size:10px}
  .stockgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .stockcard{border-radius:13px}
  .stocksummary{padding:7px 6px}
  .stocksummary .strong{font-size:11px}
  .stockctl{grid-template-columns:25px minmax(30px,1fr) 25px}
  .nav{bottom:6px;width:calc(100% - 12px);border:1px solid var(--line);border-radius:19px;padding:5px 5px calc(5px + env(safe-area-inset-bottom));box-shadow:0 12px 32px rgba(24,18,34,.16);overflow:hidden}
  .nav button{height:50px;font-size:9px;border-radius:13px;min-width:0}
  .nav button span{font-size:18px;margin-bottom:1px}
  .nav button.on{background:color-mix(in srgb,var(--p) 11%,#fff)}
  .cartbar{bottom:calc(80px + env(safe-area-inset-bottom));width:calc(100% - 20px);border-radius:15px}
  .toast{bottom:calc(91px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 24px);text-align:center}
  .modal{align-items:flex-end}
  .sheet{max-height:96dvh;border-radius:22px 22px 0 0;padding:14px 12px calc(18px + env(safe-area-inset-bottom))}
  .sheethead{top:-14px;padding:14px 0 8px;margin-bottom:8px}
  .sheethead h2{font-size:19px}
  .close{width:40px;height:40px}
  .field input,.field select,.field textarea,.search{font-size:16px}
  .auth{padding:10px}
  .authbox{padding:20px 17px;border-radius:22px}
  .logo{font-size:27px}
  .libtoolbar{grid-template-columns:1fr}
  .libtoolbar .ghost{width:100%}
  .libgroup{padding:8px;gap:8px;min-height:78px}
  .libgroup .libthumb,.libgroup .libplaceholder{width:62px;height:62px;flex-basis:62px}
  .libgroupcount{font-size:10px}
  .libitem{padding:8px;gap:7px;align-items:center}
  .libitem .libthumb,.libitem .libplaceholder{width:54px;height:54px;flex-basis:54px}
  .varianthead .libthumb,.varianthead .libplaceholder{width:72px;height:72px;flex-basis:72px}
  .libedit{padding:9px}
  .libedithead .libthumb,.libedithead .libplaceholder{width:58px;height:58px;flex-basis:58px}
  .twobtn{gap:6px}
  .twobtn button{padding-left:7px;padding-right:7px;font-size:10px}
  .filtergrid{grid-template-columns:1fr 1fr}
  .filtergrid>button{grid-column:1/-1}
  .fedit{grid-template-columns:minmax(0,1fr) 58px 50px 34px;gap:4px}
  .onboardsteps{grid-template-columns:1fr}
}
@media(max-width:370px){
  main{padding-left:8px;padding-right:8px}
  .stockgrid{gap:4px}
  .stocksummary .strong{font-size:10px}
  .stockctl{grid-template-columns:23px minmax(26px,1fr) 23px;gap:3px}
  .nav{width:calc(100% - 8px)}
  .quickactions button{padding:0 7px;font-size:9px}
}

/* =========================================================
   v0.16 · visual de produção inspirado no layout de referência
   ========================================================= */
body{background:
  radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--p) 7%,transparent),transparent 30%),
  linear-gradient(180deg,#f7f6fb 0%,var(--bg) 100%);
}
.top{background:rgba(250,249,253,.93);border-bottom:1px solid rgba(110,90,140,.10);box-shadow:0 4px 18px rgba(44,30,68,.035)}
.card,.kpi,.row,.tabcard,.histcard,.prod,.stockcard{border-color:rgba(97,77,128,.12);box-shadow:0 7px 22px rgba(46,32,70,.055)}
.btn{box-shadow:0 5px 13px color-mix(in srgb,var(--p) 22%,transparent)}
.ghost{box-shadow:0 3px 10px rgba(35,25,50,.045)}
.search{box-shadow:0 5px 16px rgba(47,33,70,.04)}
.pagehead{margin-bottom:14px}
.pagehead .title{letter-spacing:-.025em}
.pagehead .small{margin-top:2px}
.noimg{background:
  radial-gradient(circle at 25% 20%,color-mix(in srgb,var(--p) 18%,#fff),transparent 38%),
  linear-gradient(145deg,color-mix(in srgb,var(--p) 8%,#fff),#f7f5fb)!important;
  color:var(--p)!important;flex-direction:column;gap:3px;
}
.noimg span{font-size:24px;font-weight:950;letter-spacing:-.06em}
.noimg small{font-size:8px;color:color-mix(in srgb,var(--p) 70%,#5f5967);font-weight:900;text-transform:uppercase;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* produto / venda */
.prod{border-radius:18px}
.prod .img{aspect-ratio:1.08/1}
.prod .body{padding:9px}
.prod .cat{margin-bottom:5px}
.prod .name{font-size:13px}
.prod .price{font-size:16px}
.editcardbtn{min-height:34px}

/* estoque */
.stockgrid{align-items:start}
.stockcard{border-radius:18px}
.stockhero{overflow:hidden}
.stockimg{aspect-ratio:1.25/1}
.stockState{position:absolute;left:7px;top:7px;border-radius:999px;padding:4px 6px;font-size:7px;font-weight:950;letter-spacing:.03em;background:rgba(255,255,255,.92);box-shadow:0 3px 9px #0001}
.stockState.ok{color:var(--green)}
.stockState.low{color:var(--warn)}
.stockState.out{color:var(--red)}
.stocksummary{padding:9px 9px 8px}
.stocksummary .strong{font-size:13px}
.stockTotal{display:flex;align-items:baseline;gap:4px;margin-top:4px}
.stockTotal b{font-size:20px;line-height:1;color:var(--text)}
.stockTotal span{font-size:8px;color:var(--muted);font-weight:800}
.stockflavors{background:#fbfafc}
.flavor{padding:8px;border-color:rgba(95,73,125,.10)}
.flavorQty{min-width:30px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 6px;font-size:10px;font-weight:950}
.compactStockCtl{grid-template-columns:28px minmax(32px,1fr) 28px;margin-top:7px}
.compactStockCtl button,.compactStockCtl input{height:30px}
.stockQuick{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:5px}
.stockQuick>button{height:25px;border:0;border-radius:8px;background:color-mix(in srgb,var(--p) 9%,#fff);color:var(--p);font-size:9px;font-weight:950;padding:0 8px}
.stockQuick label{display:flex;align-items:center;gap:4px;font-size:8px;color:var(--muted);font-weight:850}
.stockQuick input{width:34px;height:25px;border:1px solid var(--line);border-radius:7px;text-align:center;font-size:9px}
.readOnlyStock{margin-top:6px}

/* settings */
.settingsHero{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:2px 2px 0}
.settingsStoreIcon{width:46px;height:46px;border:2px solid var(--text);border-radius:14px;display:grid;place-items:center;background:#fff;box-shadow:0 6px 16px rgba(38,25,56,.06)}
.settingsStoreIcon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.settingsSubtitle{font-size:14px;color:var(--muted);margin-top:1px}
.settingsGrid{display:grid;grid-template-columns:1fr;gap:14px}
.settingsColumn{display:flex;flex-direction:column;gap:14px}
.settingsSection{min-width:0}
.settingsLabel{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:900;margin:0 2px 7px}
.settingsLabel>span{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:11px}
.settingsCard{background:#fff;border:1px solid rgba(84,61,115,.13);border-radius:18px;padding:13px;box-shadow:0 8px 22px rgba(45,31,68,.08)}
.planSettingsCard{text-align:center}
.planCurrent{font-size:16px}
.planCurrent b{font-size:18px}
.planUse{font-size:12px;margin-top:3px}
.planProgress{height:7px;border-radius:999px;background:#ece7f4;overflow:hidden;margin:10px 0 7px}
.planProgress i{display:block;height:100%;width:0;background:var(--p);border-radius:inherit;transition:width .25s ease}
.planStatusText{min-height:16px}
.settingsPrimary{margin-top:10px;min-height:43px}
.compactField{margin-top:9px}
.compactField:first-child{margin-top:0}
.compactField label{font-size:10px;letter-spacing:.02em}
.compactField input{background:#faf9fc}
.themeRow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.themeSwatch{width:36px;height:36px;border-radius:50%;background:var(--sw);border:3px solid #fff;box-shadow:0 0 0 1px #cfc7da;cursor:pointer;padding:0}
.themeSwatch.on{box-shadow:0 0 0 3px var(--p)}
.customColor{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:850;margin-left:auto}
.customColor input{width:38px!important;height:38px!important;min-height:38px!important;padding:2px!important;border-radius:10px!important}
.catalogSettingsTop{display:flex;align-items:center;gap:12px}
.catalogPhone{width:82px;height:132px;border:5px solid #d8d0ee;border-radius:17px;background:#f9f8fc;padding:7px;box-shadow:0 5px 13px #25164218;flex:0 0 82px}
.phoneTop{height:8px;width:45%;border-radius:999px;background:var(--p);opacity:.75}
.phoneHero{height:26px;border-radius:7px;background:linear-gradient(135deg,var(--p),color-mix(in srgb,var(--p) 45%,#fff));margin-top:7px}
.phoneGrid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}
.phoneGrid i{height:31px;border-radius:6px;background:#eee9f7;border:1px solid #ddd4ed}
.catalogLinkText{display:block;margin-top:3px;word-break:break-all;font-size:14px}
.settingsTwo{margin-top:12px}
.settingsTwo button{min-height:42px}
.settingsSubhead{font-size:13px;font-weight:950;margin-bottom:8px}
.settingsActionStack{display:grid;gap:7px}
.settingsAction{width:100%;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900;box-shadow:0 4px 12px rgba(35,25,50,.05);cursor:pointer}
.settingsAction:active{transform:scale(.99)}
.sessionInfo{text-align:center;margin-top:8px}
.legalHead{margin-top:15px}
.teamSettingsCard .settingsPrimary{margin-top:12px}
.dangerZone{border-color:#f0b3ad;background:#fffafa}
.dangerSolid,.dangerOutline{min-height:43px;border-radius:12px;font-weight:950;cursor:pointer}
.dangerSolid{border:0;background:#ef2b24;color:#fff;box-shadow:0 6px 14px #ef2b2438}
.dangerOutline{border:1px solid #ef2b24;background:#fff;color:#d92d20}

/* biblioteca rápida sem busca de imagem */
.libplaceholder{background:linear-gradient(145deg,color-mix(in srgb,var(--p) 9%,#fff),#f7f5fb);color:var(--p);display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.libplaceholder span{font-size:21px;font-weight:950}
.libplaceholder small{font-size:6px;letter-spacing:.04em;font-weight:950;color:var(--muted)}

/* bottom nav mais próximo de app */
.nav{background:rgba(255,255,255,.98);border:1px solid rgba(83,64,110,.11);box-shadow:0 -2px 20px rgba(40,26,62,.08)}
.nav button{color:#77717f}
.nav button span{font-size:18px}
.nav button.on{background:transparent;color:var(--p)}
.nav button.on span{transform:translateY(-1px)}

/* =========================================================
   v0.17 · Admin / Fiado / performance / legal
   ========================================================= */
.quickAdded{animation:quickAddPulse .18s ease}
@keyframes quickAddPulse{0%{transform:scale(1)}50%{transform:scale(.965);box-shadow:0 0 0 3px color-mix(in srgb,var(--p) 16%,transparent)}100%{transform:scale(1)}}

.sellModes button{font-size:11px}
.fiadoFields{border:1px solid #f0d08a;background:#fffaf0;border-radius:14px;padding:10px;margin-top:10px}
.fiadoNotice{padding:8px 9px;background:#fff4d8;border-radius:10px;color:#775200}
.receivableSummary{margin-bottom:10px}
.receivableCard{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fff9eb,#fff)}
.receivableValue{font-size:25px;font-weight:950;color:#8b5d00;margin-top:2px}
.receivableCount{background:#fff2d9;color:#8b5d00;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:950}
.receivableRow{border-left:4px solid #e0a72e}

/* Dedicated superadmin page */
.adminHero{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.adminShield{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--p),color-mix(in srgb,var(--p) 58%,#1b112a));color:#fff;display:grid;place-items:center;font-size:19px;box-shadow:0 7px 17px color-mix(in srgb,var(--p) 25%,transparent)}
.adminSuperBadge{display:inline-flex;align-items:center;border-radius:999px;background:#19151f;color:#fff;padding:6px 8px;font-size:8px;font-weight:950;letter-spacing:.06em}
.adminOverview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}
.adminMetric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:11px;box-shadow:0 6px 18px rgba(45,31,68,.06)}
.adminMetric span{font-size:9px;color:var(--muted);font-weight:900;text-transform:uppercase}
.adminMetric b{display:block;font-size:18px;margin-top:3px}
.adminMetric small{display:block;font-size:8px;color:var(--muted);margin-top:2px}
.adminMainGrid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:10px}
.adminPanel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 7px 22px rgba(45,31,68,.06);margin-bottom:10px}
.adminMainGrid .adminPanel{margin-bottom:0}
.adminPanelHead{display:flex;align-items:flex-start;gap:9px;justify-content:space-between;margin-bottom:9px}
.adminPanelHead b{font-size:14px}
.adminHealthRow{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:13px;padding:9px;margin-bottom:7px;background:#fdfcfe}
.adminHealthIcon{width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--p) 9%,#fff);color:var(--p);display:grid;place-items:center;font-weight:950}
.adminPermissionGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.adminPermissionGrid span{background:#f7f5fb;border:1px solid #eee9f4;border-radius:10px;padding:7px;font-size:9px;font-weight:850}
.adminStoresPanel{margin-top:0}
.adminLogRow{border-bottom:1px solid var(--line);padding:8px 2px}
.adminLogRow:last-child{border-bottom:0}
.adminLoading{display:flex;align-items:center;justify-content:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}
.adminSpinner{width:22px;height:22px;border:3px solid #e7e0ef;border-top-color:var(--p);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.nav.supernav{grid-template-columns:repeat(6,1fr)}
.nav.supernav button{font-size:8.5px}
.nav.platformadmin{grid-template-columns:1fr;max-width:220px}

/* v0.22 · seguranca consolidada */
.producttools{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:10px}
.productform{display:grid;gap:10px}
.productsection{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}
.productsectiontitle{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:950;margin-bottom:3px}
.productsectiontitle span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--p) 10%,#fff);color:var(--p)}
.productsectionhint{font-size:10px;color:var(--muted);line-height:1.4;margin-bottom:8px}
.productmoney{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.moneyfield{position:relative}.moneyfield>span{position:absolute;left:10px;bottom:14px;font-size:11px;color:var(--muted);font-weight:850}.moneyfield input{padding-left:30px}
.marginpreview{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:8px 9px;border-radius:11px;background:#f7f5fb;font-size:10px;color:var(--muted)}
.marginpreview b{color:var(--green);font-size:12px}
.variationlabels{display:grid;grid-template-columns:minmax(0,1fr) 65px 55px 36px;gap:5px;color:var(--muted);font-size:9px;font-weight:850;margin-top:9px;padding:0 3px}
.productphoto{display:flex;align-items:center;gap:10px;margin-top:8px}
.productphoto .mini{width:74px;height:74px;flex:0 0 74px}
.photopicker{flex:1;min-width:0}.photopicker input{font-size:11px;padding:8px}
.pendingphoto{font-size:10px;color:var(--green);font-weight:850;margin-top:5px}
.activecheck{display:flex!important;align-items:center;gap:8px;margin:0!important}.activecheck input{width:18px!important;height:18px!important;min-height:18px!important;accent-color:var(--p)}
.productsavebar{position:sticky;bottom:calc(-22px - env(safe-area-inset-bottom));z-index:7;background:linear-gradient(transparent,#fff 20%);padding:19px 0 calc(4px + env(safe-area-inset-bottom));margin-top:0}
.productsecondary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}
.productactions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:min(430px,58vw)}
.spreadsheetintro{padding:11px;border-radius:14px;background:#f7f4ff;border:1px solid #e3dafd;margin-bottom:9px}.spreadsheetintro .small{margin-top:3px;line-height:1.45}
.spreadsheetactions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}
.importsummary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:9px 0}.importsummary>div{padding:8px 5px;border:1px solid var(--line);border-radius:11px;text-align:center;background:#fff}.importsummary b,.importsummary span{display:block}.importsummary b{font-size:18px}.importsummary span{font-size:9px;color:var(--muted);font-weight:800}.importsummary .importbad{background:#fff3f2;border-color:#efc7c3;color:var(--red)}.importsummary .importgood{background:#eefbf4;border-color:#c8ecd8;color:var(--green)}
.importhint{margin:0 2px 8px;line-height:1.45}.importrows{max-height:38vh;overflow:auto;border:1px solid var(--line);border-radius:13px;margin-bottom:9px}.importrow{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--line)}.importrow:last-child{border-bottom:0}.importrow.error{background:#fff7f6}.importrow.ready{background:#fbfffd}.importrow strong{font-size:9px;color:var(--green)}.importrow.error strong{color:var(--red)}.importline{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:#f0eef3;color:var(--muted);font-size:10px;font-weight:900}.importerror{padding:11px;border:1px solid #efc7c3;background:#fff3f2;color:var(--red);border-radius:12px;font-size:12px}.importmore{text-align:center;margin:-3px 0 9px}
@media(max-width:520px){
  #products .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #products .pagehead{align-items:flex-start;display:block}#products .pagehead>div:first-child{margin-bottom:8px}.productactions{min-width:0;width:100%;grid-template-columns:1fr 1fr}.productactions #importP{grid-column:1/-1}.spreadsheetactions{grid-template-columns:1fr}.importsummary{grid-template-columns:1fr 1fr}
  .productsection{padding:10px;border-radius:14px}
  .productmoney{grid-template-columns:1fr 1fr}
  .variationlabels{grid-template-columns:minmax(0,1fr) 58px 50px 34px}
  .fedit{grid-template-columns:minmax(0,1fr) 58px 50px 34px}
}

/* Legal update gate */
#legalUpdateModal{z-index:90;background:#130f1db8}
#legalModal{z-index:100}
.legalUpdateSheet{max-width:560px}
.legalUpdateIcon{width:50px;height:50px;border-radius:16px;background:color-mix(in srgb,var(--p) 12%,#fff);color:var(--p);display:grid;place-items:center;font-size:23px;font-weight:950}
.legalVersionCards{display:grid;gap:7px;margin:13px 0}
.legalVersionCard{width:100%;border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer}
.legalVersionCard>span{width:34px;height:34px;border-radius:10px;background:#f4f1f9;display:grid;place-items:center}
.legalVersionCard strong{font-size:10px;color:var(--p)}
.passwordField{position:relative}.passwordField input{padding-right:76px}.passwordToggle{position:absolute;right:7px;bottom:7px;height:30px;border:0;border-radius:8px;background:#f1eef6;color:var(--p);padding:0 9px;font-size:10px;font-weight:900;cursor:pointer}.authError{margin-top:10px;border:1px solid #efc3bd;background:#fff4f2;color:#9d2419;border-radius:11px;padding:9px 10px;font-size:12px;line-height:1.4}
@media(min-width:700px){.adminOverview{grid-template-columns:repeat(4,minmax(0,1fr))}.adminMainGrid{grid-template-columns:1fr 1fr}.settingsGrid{grid-template-columns:1fr 1fr;align-items:start}.settingsColumn{gap:16px}.settingsHero{margin-top:4px}.settingsCard{padding:15px}.reportgrid{grid-template-columns:1fr 1fr}.kpis{grid-template-columns:repeat(6,1fr)}.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stockgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stockimg{aspect-ratio:1.15/1}.sheet{border-radius:23px;max-height:90vh;margin-bottom:20px}.modal{align-items:center}.cartbar{bottom:70px;width:min(952px,calc(100% - 40px))}.tabpickcard{max-width:700px;margin-left:auto;margin-right:auto}}
.inlinePicked{border:2px solid var(--p)!important}

/* Utilitários gerados a partir dos antigos style="..." (CSP sem unsafe-inline).
   !important mantém a mesma prioridade que o estilo inline tinha. */
.u1{margin-top:13px!important}
.u2{text-align:center!important;margin-bottom:5px!important}
.u3{text-align:center!important;margin-top:5px!important}
.u4{text-align:center!important;margin:8px 0 0!important}
.u5{text-align:center!important}
.u6{font-size:22px!important;margin-top:4px!important}
.u7{margin-top:10px!important}
.u8{margin-top:7px!important}
.u9{margin-bottom:10px!important}
.u10{grid-template-columns:1fr 1fr!important;max-width:300px!important}
.u11{margin-top:6px!important}
.u12{margin:0!important;flex:1!important}
.u13{margin-top:8px!important}
.u14{grid-template-columns:repeat(4,1fr)!important}
.u15{color:#bbb!important}
.u16{--sw:#6D4AFF!important}
.u17{--sw:#153E75!important}
.u18{--sw:#D89A00!important}
.u19{--sw:#0F8A65!important}
.u20{margin-top:5px!important}
.u21{margin:10px 2px!important}
.u22{margin:4px 0 5px!important}
.u23{margin-top:12px!important}
.u24{position:sticky!important;bottom:-16px!important;margin:12px -15px -16px!important;padding:10px 15px calc(10px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.98)!important;border-top:1px solid var(--line)!important;backdrop-filter:blur(10px)!important}
.u25{font-size:18px!important}
.u26{margin-top:9px!important}
.u27{font-size:20px!important}
.u28{text-align:right!important}
.u29{grid-column:1/-1!important}
.u30{font-size:26px!important;font-weight:950!important}
.u31{font-size:28px!important;font-weight:950!important}
.u32{font-size:27px!important;font-weight:950!important}
.u33{font-size:18px!important;font-weight:950!important}
.u34{margin:0 6px 6px 0!important}
.u35{font-size:22px!important;font-weight:950!important}
.u36{margin-bottom:10px!important;background:linear-gradient(135deg,#fff,#f7f3ff)!important}
.u37{font-size:19px!important;font-weight:950!important}
.u38{font-size:24px!important;font-weight:950!important}
.u39{position:sticky!important;bottom:-16px!important;margin:12px -15px -16px!important;padding:10px 15px calc(10px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.97)!important;border-top:1px solid var(--line)!important;backdrop-filter:blur(10px)!important;z-index:4!important}
.u40{height:34px!important;padding:0 10px!important}
.u41{margin-top:11px!important}
.u42{display:grid!important;place-items:center!important;color:var(--muted)!important;font-size:22px!important}
.u43{display:grid!important;grid-template-columns:1fr auto!important;gap:6px!important}
.u44{font-weight:850!important}
.u45{margin-top:3px!important}
.u46{margin:8px 0!important}
/* Codigo de barras e camera (issue #11) */
.searchscan{display:flex;gap:7px;align-items:center}.searchscan .search{flex:1}.scanbtn{min-width:46px;height:44px;font-size:19px;padding:0}.fbarcode{grid-column:1/-1;display:flex;gap:5px}.fbarcode input{flex:1}.fbarcode .scanbtn{height:38px;min-width:42px;font-size:16px}.scanview{position:relative;background:#000;border-radius:16px;overflow:hidden;aspect-ratio:4/3}.scanview video{width:100%;height:100%;object-fit:cover;display:block}.scanframe{position:absolute;left:10%;right:10%;top:32%;bottom:32%;border:3px solid #fff;border-radius:12px;box-shadow:0 0 0 999px #0006}.scanhint{margin-top:9px;text-align:center}
