:root{--azul:#0f5ea8;--azul2:#0b4d8c;--bg:#f4f7fb;--texto:#172033;--muted:#6e7890;--borda:#e3e8f0;--verde:#149a63}
*{box-sizing:border-box}body{font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--texto)}
.btn-primary{background:var(--azul);border-color:var(--azul)}.btn-primary:hover{background:var(--azul2);border-color:var(--azul2)}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at top right,#d9ebff 0,transparent 35%),var(--bg)}
.login-card{width:100%;max-width:460px;background:#fff;border:1px solid var(--borda);border-radius:28px;padding:38px;box-shadow:0 24px 70px rgba(24,50,90,.12)}
.login-card h1{font-size:30px;font-weight:800;letter-spacing:-.7px}.login-card .form-control{border-radius:14px;min-height:56px}.login-card .btn{border-radius:14px;min-height:54px;font-weight:700}.welcome-icon{width:66px;height:66px;border-radius:20px;background:#e9f3ff;display:flex;align-items:center;justify-content:center;font-size:31px;margin-bottom:22px}
.brand{display:flex;align-items:center;gap:10px}.brand img{width:44px;height:44px;object-fit:contain}.brand div{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:21px;letter-spacing:.3px}.brand span{font-size:13px;color:var(--muted);margin-top:5px}
.topbar{background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--borda)}.cliente-pill{padding:9px 13px;background:#f2f5f9;border-radius:11px;color:#586176;font-size:14px}.topbar .btn{border-radius:11px}.topbar .badge{position:absolute;right:-7px;top:-8px}
.hero{background:linear-gradient(120deg,#0d579e,#167cc7);color:white;border-radius:24px;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;gap:28px;box-shadow:0 12px 30px rgba(15,94,168,.17)}.hero h2{font-weight:800;max-width:670px;letter-spacing:-.8px;margin:7px 0}.hero p{margin:0;opacity:.85}.eyebrow{font-weight:800;font-size:11px;letter-spacing:1.6px;opacity:.8}.hero-stat{min-width:170px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:18px;text-align:center}.hero-stat strong{font-size:30px;display:block}.hero-stat span{font-size:12px;opacity:.8}
.search-box{height:62px;background:#fff;border:1px solid var(--borda);border-radius:17px;display:flex;align-items:center;padding:0 15px;box-shadow:0 5px 18px rgba(35,54,82,.05)}.search-box>span{font-size:21px;margin-right:10px}.search-box input{border:0;outline:0;flex:1;font-size:16px;min-width:0}.search-box .btn{border-radius:10px}
.produto-card{background:#fff;border:1px solid var(--borda);border-radius:20px;overflow:hidden;box-shadow:0 6px 20px rgba(32,53,86,.055);transition:.2s transform,.2s box-shadow}.produto-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(32,53,86,.10)}.produto-img-wrap{height:190px;background:#f7f9fc;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.produto-img-wrap img{width:100%;height:100%;object-fit:contain;padding:14px}.sem-imagem{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:53px;color:#8793a8;background:linear-gradient(145deg,#f8fafc,#edf2f7)}.estoque-badge{position:absolute;left:12px;top:12px;background:rgba(19,130,84,.94);color:white;font-size:11px;padding:6px 9px;border-radius:999px;font-weight:700}.sem-estoque{background:#8c96a8}.produto-body{padding:17px}.fabricante{color:var(--azul);font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.5px;min-height:16px}.produto-body h3{font-size:15px;font-weight:700;line-height:1.35;min-height:41px;margin:5px 0 6px}.codigo{font-size:12.5px;font-weight:600;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.produto-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px}.preco{font-weight:800;font-size:21px;color:#14233a;white-space:nowrap}.preco small{font-size:11px}.produto-bottom .btn{font-size:13px;border-radius:11px;font-weight:700}
.empty-state{text-align:center;padding:70px 20px;color:var(--muted);font-size:42px}.empty-state h3{font-size:20px;color:var(--texto);margin-top:10px}.empty-state p{font-size:14px}.offcanvas{width:min(440px,100vw)!important}.carrinho-itens{overflow:auto}.cart-vazio{text-align:center;padding:70px 25px;color:var(--muted)}.cart-vazio>div{font-size:47px}.cart-vazio h5{color:var(--texto);margin-top:15px}.cart-item{padding:18px;border-bottom:1px solid var(--borda)}.cart-item-top{display:flex;justify-content:space-between;gap:12px}.cart-item-top strong{font-size:14px;line-height:1.3;display:block}.cart-fab,.cart-cod{font-size:10px;color:var(--muted);margin-bottom:3px}.btn-remover{border:0;background:transparent;font-size:24px;color:#9aa3b2;line-height:1}.cart-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.qtd-control{display:flex;border:1px solid var(--borda);border-radius:12px;overflow:hidden;height:38px}.qtd-control button{width:35px;border:0;background:#f5f7fa;font-weight:700}.qtd-input{width:45px;border:0;text-align:center;outline:0;font-weight:700}.cart-valores{text-align:right}.cart-valores small{display:block;color:var(--muted);font-size:10px}.cart-valores strong{font-size:14px}.total-geral{font-size:25px;color:var(--azul)}.carrinho-rodape .btn{border-radius:13px;font-weight:700}.finish-icon{width:68px;height:68px;border-radius:50%;background:#e5f7ef;color:var(--verde);display:flex;align-items:center;justify-content:center;margin:auto;font-size:32px;font-weight:800}.final-total{padding:17px;background:#f5f8fb;border-radius:15px;display:flex;justify-content:space-between;margin-top:20px}.final-total strong{color:var(--azul);font-size:19px}
@media(max-width:767px){.hero{padding:24px;display:block}.hero-stat{display:none}.hero h2{font-size:23px}.produto-img-wrap{height:165px}.login-card{padding:28px 22px}.topbar .brand span{display:none}.topbar .brand img{width:38px;height:38px}.topbar .brand strong{font-size:17px}}

.hero-compact{padding:15px 22px;min-height:auto;border-radius:17px}.hero-compact h2{font-size:20px;margin:0;letter-spacing:-.2px}.cliente-pill small{display:block;font-size:10px;color:#6f7b8f;font-weight:600;margin-top:1px}

/* Ajustes visuais v4 */
.btn-carrinho{background:#ff7a00!important;border-color:#ff7a00!important;color:#fff!important;font-weight:800!important;box-shadow:0 4px 12px rgba(255,122,0,.28)}.btn-carrinho:hover,.btn-carrinho:focus{background:#e96f00!important;border-color:#e96f00!important;color:#fff!important}.btn-carrinho #badge-carrinho{background:#d71920!important;color:#fff!important}.codigo{font-size:13.5px!important;font-weight:700!important;color:#3f4b5f!important}.hero-compact{padding:10px 16px!important;border-radius:14px!important;min-height:0!important}.hero-compact h2{font-size:18px!important;margin:0!important}.login-card label[for="cnpj"],.login-card #cnpj{display:block!important}

/* Ajustes visuais v5 */
.hero-compact{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}
.hero-info{min-width:0}.hero-cliente{font-size:13px;font-weight:600;opacity:.92;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-cliente strong{font-weight:800}.hero-quantidade{text-align:right;min-width:125px}.hero-quantidade strong{display:block;font-size:22px;line-height:1;font-weight:800}.hero-quantidade span{display:block;font-size:10.5px;opacity:.88;margin-top:3px}
@media(max-width:767px){.hero-compact{display:flex!important;padding:10px 12px!important}.hero-cliente{font-size:11.5px}.hero-compact h2{font-size:17px!important}.hero-quantidade{display:block!important;min-width:95px}.hero-quantidade strong{font-size:20px}.hero-quantidade span{font-size:9.5px}}


/* Ajustes visuais v6 */
.btn-carrinho .carrinho-icone{width:21px;height:21px;fill:#fff!important;vertical-align:-4px;margin-right:3px;flex:0 0 auto}
.btn-carrinho{display:inline-flex;align-items:center;gap:4px}
.hero-cliente{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25}
.hero-cnpj{display:block;margin-top:2px;font-size:12px;font-weight:700;opacity:.92;letter-spacing:.15px}
@media(max-width:767px){.hero-cnpj{font-size:11px}.btn-carrinho .carrinho-icone{width:22px;height:22px;margin-right:0}}
