/* VUNNY PDV 3.0 — mobile commerce design language */
:root{--primary:#ff801c!important;--primary-dark:#ec6907!important;--secondary:#0b0d12!important;--background:#080a0e!important;--surface:#15181d!important;--surface-soft:#101318!important;--border:#292d35!important;--text:#f6f7fa!important;--muted:#9a9da5!important;--radius:18px;--radius-lg:24px;--sidebar-width:235px;--header-height:62px;--bottom-nav-height:74px;color-scheme:dark}
html,body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif!important;background:#080a0e!important;color:#f6f7fa!important}h1,h2,h3,strong{letter-spacing:-.025em}button,select,input,textarea{font:inherit!important}input[type=checkbox]{width:19px;height:19px;min-height:19px;accent-color:#ff801c;margin:0 8px 0 0;vertical-align:middle}label.checks{display:flex!important;flex-direction:row;align-items:center;gap:7px;min-height:48px}label.checks input{flex:none}
.app-shell{background:#080a0e!important}.app-header,.app-sidebar,.app-bottom-nav{background:#0b0d12!important}.app-content{background:#080a0e!important;padding:24px!important}.app-sidebar{border-right:1px solid #20242b!important}.app-sidebar nav a.active{background:linear-gradient(110deg,#ff801c,#ec6907)!important;color:#111!important}.app-sidebar nav a{border-radius:14px!important;font-weight:650}.sidebar-brand .brand-mark{background:#ff801c;color:#101010}.app-header{border-bottom:1px solid #1f232a!important}.app-bottom-nav{border-top:1px solid #23262c!important}
.v2-test-bar{padding:7px 10px!important;font-size:10px!important;letter-spacing:.045em!important;background:#e88423!important;color:#111!important}.page-heading h1{font-size:clamp(26px,3vw,34px);letter-spacing:-.04em}.page-heading p{font-size:14px}.page-heading{margin-bottom:22px}.page-heading a,.page-heading button{min-height:44px}
.panel,.metrics article,.period-cards article,.table-wrap,.v2-kpis article,.v2-record,.smart-filter{background:#15181d!important;border:1px solid #2a2d35!important;color:#f6f7fa!important;border-radius:20px!important;box-shadow:none!important}table th,table td{color:#f6f7fa!important;background:transparent!important;border-color:#292d35!important}table thead{background:#191c23!important}table th{color:#a8adba!important}.warning-row{background:rgba(255,128,28,.06)!important}.primary,.nav-primary b{background:#ff801c!important;color:#17100a!important;border-color:#ff801c!important;box-shadow:none!important}.primary:hover{background:#ff963d!important}.secondary,button.secondary,.icon-button{background:#1d2027!important;color:#f6f7fa!important;border:1px solid #343842!important}.secondary:hover,.icon-button:hover{background:#292c34!important}.form,.form label{color:#e4e7ed!important}.form input,.form select,.form textarea,input,select,textarea{background:#11151c!important;color:#f3f4f7!important;border-color:#303744!important;min-height:49px}.form :is(input,select,textarea):focus{outline:none;border-color:#ff801c!important;box-shadow:0 0 0 3px rgba(255,128,28,.12)!important}input::placeholder,textarea::placeholder{color:#818996!important}input[type=date]{color-scheme:dark}summary{cursor:pointer;font-weight:700;min-height:42px;display:flex;align-items:center}details[open]>summary{margin-bottom:16px}.table-wrap{overflow:auto}
dialog{border:1px solid #353940!important;background:#171a20!important;color:#fafafa!important;box-shadow:0 35px 90px #0009!important;padding:20px!important;border-radius:24px!important;max-height:min(92dvh,820px);overflow-y:auto}dialog::backdrop{background:#030405cc!important;backdrop-filter:blur(7px)}dialog>header{border-bottom:1px solid #30343c;padding-bottom:15px;margin-bottom:16px}dialog small,.field-help,.empty-state,.page-heading p{color:#9fa5b2!important}.toast{border-radius:14px!important}
/* Commerce POS layout */
.shell-pos .app-header{background:#0b0d12!important}.shell-pos .app-content{padding:0!important;background:#080a0e!important}.shell-pos .pos-layout{background:#080a0e}.pos-catalog{padding:22px!important}.v3-hero{background:radial-gradient(circle at 100% 0%,#73320b 0%,#23150e 29%,#141519 65%);border:1px solid #3c2b1d;border-radius:22px;padding:22px;margin:0 0 20px;color:#fff;overflow:hidden;position:relative}.v3-hero:after{content:'✦';color:#ff852a;position:absolute;right:24px;top:20px;font-size:54px;opacity:.22}.v3-hero>span{font-weight:700;font-size:13px;color:#ffae72}.v3-hero h1{font-size:clamp(27px,5vw,38px);line-height:1.12;margin:10px 0;letter-spacing:-.04em}.v3-hero em{color:#ff8c34;font-style:normal}.v3-hero p{font-size:13px;color:#c1b4ae;margin-bottom:18px}.v3-hero-actions{display:flex;gap:9px;align-items:center}.v3-hero-actions>*{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;padding:11px 14px;text-decoration:none}.pos-title{margin:0 0 15px}.pos-title h1{font-size:22px!important}.pos-title span{color:#9a9da5;font-size:12px}.pos-search{background:#16191e!important;border:1px solid #30343c!important;border-radius:14px!important;padding:4px 7px 4px 14px!important}.pos-search input{background:transparent!important;border:0!important;box-shadow:none!important}.pos-search button{background:#2a201a!important;border:0!important;color:#ff8a2e!important}.category-strip{margin:15px 0 22px!important;gap:9px!important}.category-strip button{background:#1a1d22!important;border:1px solid #30343c!important;color:#e8e9ee!important;min-height:43px!important;border-radius:13px!important;font-size:13px}.category-strip button.active{background:#ff801c!important;color:#181008!important;border-color:#ff801c!important}.v3-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px}.v3-section-title h2{font-size:19px;margin:0}.v3-section-title span{color:#999ea8;font-size:12px}.catalog{gap:10px!important}.product-card{background:#171a20!important;border:1px solid #292d35!important;border-radius:17px!important;overflow:hidden;box-shadow:none!important;padding:8px!important;gap:6px!important}.product-main{width:100%;text-align:left!important;color:#fff!important;gap:7px!important}.product-thumb{background:#24262b!important;border:0!important;border-radius:12px!important;aspect-ratio:1.12!important}.product-thumb img{display:block;object-fit:cover;width:100%;height:100%}.product-main strong{color:#f8f9fb!important;font-size:13px;line-height:1.2;min-height:32px}.product-main .v3-stock-status{font-size:11px;color:#8ccfa4!important;line-height:1.25}.product-main b{font-size:17px!important;color:#fff!important}.product-card-controls{grid-template-columns:36px 1fr 36px!important;margin-top:auto!important}.product-card-controls button{min-height:36px!important;border:1px solid #353941!important;background:#22252b!important;color:#fff!important;border-radius:11px!important}.product-card-controls [data-plus]{background:#ff801c!important;border-color:#ff801c!important;color:#100a06!important;font-weight:900}.product-card-controls span{color:#fff!important}.cart{background:#111419!important;padding:19px!important;border-left:1px solid #272b32!important}.cart-heading h2{font-size:21px}.cart-items article{padding:13px 0!important;border-bottom:1px solid #30343c!important}.cart-items article strong{font-size:13px}.cart-items article small{font-size:12px}.qty button{border:1px solid #363a42!important;background:#22252b!important;color:#fff!important;min-width:36px}.cart-total{padding-top:16px}.cart-total label{font-size:12px;color:#aeb4bf!important}.cart-total select{width:100%;margin-top:8px}.cart-total p strong{font-size:26px;color:#ff8c34!important}.cart-total>.primary{min-height:52px}.mobile-cart-bar{border-top:1px solid #3b2d22!important;background:#121416!important;box-shadow:0 -14px 35px #0008!important}.mobile-cart-bar button{background:#ff801c!important;color:#1b120c!important;border-radius:13px!important}.payment-grid button{border:1px solid #333843!important;background:#20242c!important;color:#fff!important;border-radius:16px!important}.payment-grid button:hover{border-color:#ff801c!important}.payment-total{color:#ff892b!important}
/* Inventory action cards: no inline forms */
.v3-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0 0 17px}.v3-metrics article{background:#171a20;border:1px solid #30343b;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:7px}.v3-metrics small{color:#9ca2ac;font-size:12px}.v3-metrics strong{font-size:27px;color:#fff}.v3-search{display:flex;align-items:center;gap:10px;background:#171a20;border:1px solid #30343b;border-radius:16px;padding:4px 14px;margin-bottom:13px}.v3-search .icon{color:#939ba9}.v3-search input{width:100%;background:transparent!important;border:0!important;box-shadow:none!important}.v3-stock-list{display:grid;gap:9px}.v3-stock-row{display:flex;align-items:center;text-align:left;gap:13px;width:100%;background:#171a20;border:1px solid #30343b;border-radius:17px;padding:11px;color:#fff;min-height:86px}.v3-stock-row:hover{background:#1d2229;border-color:#ff801c}.v3-stock-row[hidden]{display:none!important}.v3-stock-thumb{width:59px;height:59px;flex:none;display:grid;place-items:center;background:#24262c;border-radius:12px;color:#848e9f;overflow:hidden}.v3-stock-thumb img{height:100%;width:100%;object-fit:cover}.v3-stock-info{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.v3-stock-info strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v3-stock-info small{font-size:11px;color:#a0a5ae}.v3-stock-qty{text-align:right;display:grid;gap:4px}.v3-stock-qty strong{font-size:17px;color:#8de2ad}.v3-stock-qty.low strong{color:#ffac69}.v3-stock-qty small{font-size:10px;color:#9da3ac}.v3-chevron{font-size:24px;color:#818b9a;margin-left:3px}.v3-modal{width:min(94vw,525px)!important;max-width:525px!important}.v3-modal>header small{font-size:11px;color:#ff953e!important;font-weight:800;letter-spacing:.06em}.v3-modal>header h2{font-size:22px;margin:5px 0}.v3-modal>header p{font-size:12px;color:#a1a5af;margin:0}.v3-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v3-action-grid>*{display:flex;flex-direction:column;align-items:flex-start;gap:10px;justify-content:center;min-height:126px;background:#21252b!important;border:1px solid #333943!important;color:#fff!important;padding:14px!important;border-radius:17px!important;text-align:left;text-decoration:none}.v3-action-grid .icon{color:#ff902e;width:26px;height:26px}.v3-action-grid strong{font-size:14px}.v3-action-grid small{color:#a5aab2;font-size:11px}.v3-operation{gap:17px}.v3-operation[hidden],#v3-stock-actions[hidden]{display:none!important}.v3-op-head{display:flex;align-items:center;gap:14px}.v3-op-head h3{margin:0}.v3-stepper{display:grid;grid-template-columns:53px minmax(0,1fr) 53px;gap:8px;margin-top:8px}.v3-stepper input{text-align:center;width:100%;margin:0!important;font-weight:750;font-size:19px}.v3-stepper button{min-height:52px;border:1px solid #363d45;background:#262a32;color:#fff;font-size:23px}
/* Whole-app typography/spacing, role-aware mobile app navigation */
.v2-cols,.split,.metrics,.period-cards{gap:14px!important}.v2-record,.list-card{padding:15px!important}.filter-fields{gap:12px!important}.smart-filter{margin-bottom:16px}.search input{background:#16191e!important}.form-actions{display:flex;flex-wrap:wrap}.badge{border-radius:999px!important}.empty-state{color:#9ea6b3!important}.sheet-grid>*{background:#20242b!important;border:1px solid #343943!important}.sheet-grid span strong{color:#fff!important}.sheet-grid span small{color:#aeb4bf!important}.bottom-sheet{background:#14171d!important}.help-fab{background:#ff801c!important;color:#1a1109!important;width:45px;height:45px;right:16px;bottom:90px;opacity:.85}
@media(max-width:767px){
 .app-shell{grid-template-rows:var(--header-height) minmax(0,1fr) calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}.app-header{padding:0 16px}.app-content{padding:17px 13px 95px!important}.app-bottom-nav>a,.app-bottom-nav>button{color:#8c939f!important;font-size:10px!important;font-weight:650!important}.app-bottom-nav>.active{color:#ff801c!important}.app-bottom-nav .nav-primary b{border:5px solid #0b0d12!important;border-radius:50%!important;background:#ff801c!important;color:#111!important;width:54px;height:54px;margin-top:-27px;box-shadow:0 8px 20px #ff801c33!important}.app-bottom-nav .nav-primary{color:#ff801c!important}.shell-pos{grid-template-rows:var(--header-height) minmax(0,1fr) calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))!important}.shell-pos .app-bottom-nav{display:grid!important}.shell-pos .pos-catalog{padding:14px 13px calc(95px + env(safe-area-inset-bottom))!important}.shell-pos .pos-layout{height:100%}.mobile-cart-bar{bottom:0!important;margin:0!important;padding:12px 14px!important}.shell-pos .app-content{padding:0!important}.v3-hero{padding:17px;margin-bottom:16px}.v3-hero h1{font-size:27px}.catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}.product-card{padding:7px!important}.product-thumb{aspect-ratio:1.05!important}.product-card-controls button{padding:0!important}.table-wrap{border:0!important;background:transparent!important}.table-wrap tr{background:#171a20!important;border:1px solid #30343b!important;box-shadow:none!important;margin:0 0 9px!important}.table-wrap td{color:#fff!important}.table-wrap td::before{color:#9ca4b3!important}.v3-metrics article{padding:12px}.v3-metrics strong{font-size:23px}.page-heading>.primary,.page-heading>.secondary{width:auto;max-width:100%}.page-heading{gap:10px}.v2-cols,.split{grid-template-columns:1fr!important}.form-actions>*{flex:1}.pos-title{display:none}.bottom-sheet{max-height:93dvh;overflow-y:auto;padding-bottom:calc(22px + env(safe-area-inset-bottom))!important;border-radius:24px 24px 0 0!important}.cart-total label{display:flex;flex-direction:column;gap:6px;align-items:stretch}.cart-total input{width:100%}.help-fab{display:none}
}
@media(min-width:768px){.pos-layout{grid-template-columns:minmax(0,1fr) 385px!important}.pos-catalog{padding:24px!important}.catalog{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))!important}.app-content{padding:26px!important}.v3-stock-list{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-metrics{max-width:800px}.v3-hero{max-width:100%}}
@media print{.v3-hero,.v3-metrics,.v3-search,.v3-modal,.app-bottom-nav{display:none!important}}

.v3-cart-product{display:flex;align-items:center;gap:11px;min-width:0}.v3-cart-product img{width:50px;height:50px;border-radius:10px;object-fit:cover;background:#262930;flex:none}.v3-cart-product>div{min-width:0}.v3-cart-product strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-items article{grid-template-columns:minmax(0,1fr) auto!important}.bottom-sheet .cart-items article{grid-template-columns:minmax(0,1fr) auto!important}

.v3-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:0 auto 20px;max-width:var(--content-max)}.v3-shortcuts a{min-height:99px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;background:#171a20;color:#fff;border:1px solid #30343b;border-radius:18px;padding:14px;text-decoration:none}.v3-shortcuts .icon{color:#ff8b2c}.v3-shortcuts a span{display:grid;gap:4px}.v3-shortcuts a strong{font-size:13px}.v3-shortcuts a small{color:#a6acb4;font-size:10px}.v3-shortcuts a.v3-shortcut-primary{background:linear-gradient(135deg,#ff8f2b,#e96808);color:#180e04;border-color:#ff8f2b}.v3-shortcuts a.v3-shortcut-primary :is(.icon,strong,small){color:#180e04!important}.v3-shortcuts a:hover{border-color:#ff801c}.v3-stock-row:focus-visible,.product-card:focus-within,.v3-shortcuts a:focus-visible{outline:2px solid #ff801c;outline-offset:3px}@media(max-width:900px){.v3-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-shortcuts a:first-child{grid-column:1/-1;min-height:74px}}@media(max-width:767px){.v3-shortcuts{margin-bottom:17px}.v3-shortcuts a{min-height:95px}.v3-shortcuts a:first-child{flex-direction:row;align-items:center;justify-content:flex-start}.v3-shortcuts a:first-child span{flex:1}.v3-shortcuts a:first-child .icon{width:28px;height:28px}}

/* V3.1 · Boas-vindas e acesso mobile em tela cheia */
.v3-welcome[hidden]{display:none!important}
.v3-welcome{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;overflow-y:auto;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 27%,rgba(244,115,25,.16),transparent 45%),#06080c;color:#fff}
.v3-welcome-card{width:min(100%,390px);text-align:center;display:flex;align-items:center;flex-direction:column;gap:16px}
.v3-welcome-logo{display:flex;align-items:center;gap:12px;font-size:20px;letter-spacing:.05em;color:#fff}.v3-welcome-logo span{display:grid;place-items:center;width:42px;height:42px;background:#f58334;color:#16100b;border-radius:13px;font-weight:950}.v3-welcome-logo em{font-style:normal;color:#f58334}
.v3-welcome-symbol{display:grid;place-items:center;width:126px;height:126px;margin:22px 0 4px;background:linear-gradient(145deg,#1d1c1a,#0d0f15);border:1px solid #33302b;border-radius:36px;color:#fff;box-shadow:0 28px 70px rgba(245,131,52,.1)}.v3-welcome-symbol svg{width:86px;height:86px}
.v3-welcome-eyebrow{font-size:10px;letter-spacing:.19em;color:#f58334;font-weight:850}
.v3-welcome h1{font-size:clamp(30px,7vw,40px);line-height:1.13;letter-spacing:-.045em;color:#fff!important;margin:0}.v3-welcome h1 span{color:#f58334}
.v3-welcome p{font-size:15px;line-height:1.65;color:#a7adba;margin:0 0 10px;max-width:305px}
.v3-welcome-enter{width:100%;display:flex;align-items:center;justify-content:center;gap:16px;min-height:60px;background:#f58334!important;color:#17100c!important;border:0!important;border-radius:16px!important;font-size:15px;font-weight:850;box-shadow:0 15px 40px rgba(245,131,52,.22)}.v3-welcome-enter:disabled{opacity:.7}
.v3-welcome-instructions{width:100%;padding:14px 16px;text-align:left;line-height:1.5;border:1px solid #49321c;border-radius:14px;background:#1e1711;color:#f6d5bc;font-size:13px}.v3-welcome-instructions[hidden]{display:none!important}
.v3-welcome-foot{margin-top:20px;font-size:11px;color:#747b89}
body.v3-needs-fullscreen{overflow:hidden!important}
@media(min-width:768px) and (pointer:fine){.v3-welcome{display:none!important}}

/* V3.2: navigation feedback (screens retained in browser memory). */
html.vunny-screen-loading .app-content{opacity:.66;pointer-events:none;transition:opacity .15s ease}
html.vunny-screen-loading .app-header:after{content:'';position:absolute;bottom:0;left:0;width:42%;height:2px;background:var(--primary);animation:vunny-wait 1s ease-in-out infinite alternate}
@keyframes vunny-wait{from{transform:translateX(0)}to{transform:translateX(140%)}}

/* V3.3: bottom navigation always fully inside the safe viewport */
@media(max-width:767px){
 :root{--bottom-nav-height:80px!important}
 .app-shell,.shell-pos{height:100dvh!important;grid-template-rows:var(--header-height) minmax(0,1fr) calc(80px + env(safe-area-inset-bottom))!important;overflow:hidden}
 .app-bottom-nav{position:relative!important;inset:auto!important;grid-row:3!important;min-height:0!important;height:calc(80px + env(safe-area-inset-bottom))!important;padding:6px 5px calc(7px + env(safe-area-inset-bottom))!important;align-items:center!important;z-index:60!important;overflow:visible!important}
 .app-bottom-nav>a,.app-bottom-nav>button{min-height:60px!important;height:60px!important;padding:7px 1px 3px!important;justify-content:center!important;gap:5px!important;line-height:1.1!important}
 .app-bottom-nav .nav-primary b{margin-top:-21px!important;width:51px!important;height:51px!important;flex:none!important}
 .app-bottom-nav .nav-primary span{margin-top:-1px!important}
 .app-content{min-height:0!important;overflow-y:auto!important;padding-bottom:calc(28px + env(safe-area-inset-bottom))!important}
 .shell-pos .app-content{min-height:0!important;overflow:hidden!important;padding:0!important}
 .shell-pos .pos-catalog{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important}
 .v2-test-bar{padding-top:8px!important;padding-bottom:8px!important}
 .table-wrap td[data-label]::before{content:attr(data-label);font-weight:650;flex:0 0 38%;text-align:left}
}
.v33-batch-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:14px;max-width:var(--content-max);margin:0 auto 22px}
.v33-batch-card{background:#171a20;border:1px solid #30343b;border-radius:19px;padding:17px;color:#f5f5f6;min-width:0}
.v33-batch-top{display:flex;gap:12px;justify-content:space-between;align-items:center;border-bottom:1px solid #30343b;padding-bottom:15px;margin-bottom:13px}
.v33-batch-top small{display:block;color:#ff9b4b;font-size:10px;font-weight:800;letter-spacing:.055em}
.v33-batch-top h2{font-size:19px;margin:7px 0 3px;line-height:1.25}
.v33-batch-top span:not(.v33-batch-pill){color:#9ea7b7;font-size:12px}
.v33-batch-pill{flex:none;background:#2d241c;border:1px solid #5b3a20;color:#ffb37c;border-radius:99px;padding:7px 10px;font-size:12px;font-weight:800}
.v33-batch-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.v33-batch-facts>div{min-width:0;display:grid;gap:5px}
.v33-batch-facts small{color:#9ba6b6;font-size:11px}
.v33-batch-facts strong{font-size:14px;overflow-wrap:anywhere}
.v33-batch-note{border-top:1px solid #30343b;padding-top:12px;margin:14px 0 0;color:#c2cbd9;font-size:12px;line-height:1.5}
@media(max-width:380px){.v33-batch-facts{gap:10px}.v33-batch-card{padding:13px}}
