
:root{
--purple:#6d20c9;--purple2:#8d2de2;--purple3:#4b0f9d;--gold:#ffc94f;
--ink:#1e1b2e;--muted:#7c7890;--bg:#f6f5fa;--card:#fff;--line:#e9e6f0;
--green:#16a36a;--red:#d8485b;--blue:#3178d8;--shadow:0 12px 35px rgba(35,19,65,.07)
}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit}.app{display:flex;min-height:100vh}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#24103e 0%,#35115d 48%,#210b3b 100%);color:#fff;padding:20px 14px;z-index:20;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:9px;padding:2px 8px 20px}.brand img{width:49px;height:49px;object-fit:contain}.brand strong{display:block;font-size:17px;letter-spacing:-.4px}.brand small{color:#cbb8df;font-size:11px}
.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#a993bc;padding:18px 12px 7px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#e7def0;text-decoration:none;padding:11px 12px;border-radius:11px;font-size:13px;margin:2px 0}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,rgba(141,45,226,.7),rgba(109,32,201,.28));color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 var(--gold)}
.side-bottom{margin-top:auto;border-top:1px solid #ffffff16;padding:16px 10px;color:#cdbbdb;font-size:11px}.side-bottom small{display:block;color:#8e779e;margin-top:3px}
.main{margin-left:248px;width:calc(100% - 248px);min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;position:sticky;top:0;z-index:10}.icon-btn{display:none;border:0;background:transparent;font-size:22px}.top-title{font-size:15px;font-weight:700}.top-user{margin-left:auto;display:flex;align-items:center;gap:9px}.top-user small{display:block;color:var(--muted);font-size:10px}.top-user>a{margin-left:8px;color:var(--muted);text-decoration:none}.avatar{width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,var(--purple2),var(--purple3));color:white;display:grid;place-items:center;font-weight:800}
.content{padding:28px 32px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.page-head h1{margin:0;font-size:27px;letter-spacing:-.8px}.page-head p{margin:5px 0;color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;padding:10px 14px;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--purple2),var(--purple));color:white;box-shadow:0 7px 17px rgba(109,32,201,.2)}.btn-light{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn-danger{background:#fff0f2;color:var(--red);border:1px solid #ffd6dc}
.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.stat .label{font-size:11px;color:var(--muted);font-weight:700}.stat .value{font-size:25px;font-weight:850;margin:7px 0}.stat .hint{font-size:10px;color:var(--muted)}.stat .icon{float:right;width:35px;height:35px;border-radius:11px;background:#f0e7fb;color:var(--purple);display:grid;place-items:center}
.two{grid-template-columns:1.35fr .9fr}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.card-head{padding:17px 19px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.card-head h3{font-size:14px;margin:0}.card-body{padding:19px}
table{width:100%;border-collapse:collapse}th{font-size:10px;color:#8b8698;text-transform:uppercase;letter-spacing:.6px;text-align:left;padding:11px 14px;background:#fbfafd;border-bottom:1px solid var(--line)}td{font-size:12px;padding:12px 14px;border-bottom:1px solid #f0edf4}tr:last-child td{border-bottom:0}.empty{text-align:center;color:var(--muted);padding:35px!important}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800}.badge.green{background:#e7f8f0;color:#087b4d}.badge.red{background:#fff0f2;color:#b82d41}.badge.yellow{background:#fff7dc;color:#936b00}.badge.purple{background:#f0e7fb;color:#6722a8}
.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.field{grid-column:span 4}.field.wide{grid-column:span 6}.field.full{grid-column:1/-1}.field label{display:block;font-size:11px;font-weight:750;color:#5e596c;margin:0 0 5px}.field input,.field select,.field textarea{width:100%;border:1px solid #ded9e7;background:#fff;border-radius:9px;padding:10px 11px;font:inherit;font-size:12px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--purple2);box-shadow:0 0 0 3px #8d2de218}.field textarea{min-height:90px;resize:vertical}.form-actions{margin-top:15px;display:flex;gap:8px}
.search{display:flex;gap:8px;margin-bottom:13px}.search input{flex:1;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.alert{padding:12px 15px;border-radius:10px;margin-bottom:15px;font-size:12px}.success{background:#e9f9f1;color:#08734a;border:1px solid #c9eedc}
.dashboard-welcome{background:linear-gradient(120deg,#4d0f91,#8d2de2 65%,#a63ae8);color:#fff;border-radius:18px;padding:23px 25px;margin-bottom:18px;position:relative;overflow:hidden}.dashboard-welcome:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-80px;top:-120px;background:#ffffff14}.dashboard-welcome h2{margin:0 0 5px;font-size:22px}.dashboard-welcome p{margin:0;color:#eadcf7;font-size:12px}
.login-page{min-height:100vh;background:radial-gradient(circle at 20% 10%,#8d2de233,transparent 32%),linear-gradient(135deg,#160824,#35115d 55%,#1b092d);display:grid;place-items:center;padding:25px}.login-shell{width:min(940px,100%);min-height:560px;background:#fff;border-radius:25px;overflow:hidden;display:grid;grid-template-columns:1fr 1.05fr;box-shadow:0 30px 90px #0007}.login-brand{background:linear-gradient(145deg,#42116f,#7623c9 55%,#a83de4);padding:40px;display:flex;flex-direction:column;justify-content:center;color:white;position:relative}.login-brand:after{content:"";position:absolute;right:-80px;bottom:-100px;width:300px;height:300px;border-radius:50%;border:50px solid #ffffff0e}.login-logo{width:min(310px,100%);height:auto;object-fit:contain;margin-bottom:18px}.login-brand h1{font-size:30px;margin:0}.login-brand p{color:#eadff4;font-size:13px;line-height:1.7;max-width:330px}.login-form{padding:55px 55px;display:flex;flex-direction:column;justify-content:center}.login-form h2{font-size:27px;margin:0 0 5px}.login-form>p{font-size:12px;color:var(--muted);margin:0 0 25px}.login-form .field{margin-bottom:10px}.login-form .btn{width:100%;padding:13px}.login-note{font-size:10px;color:#9992a3;margin-top:20px;text-align:center}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.sidebar{width:220px}.main{margin-left:220px;width:calc(100% - 220px)}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.mobile-open{transform:translateX(0)}.main{margin-left:0;width:100%}.icon-btn{display:block;margin-right:12px}.content{padding:20px 14px}.topbar{padding:0 15px}.stats{grid-template-columns:1fr 1fr}.field,.field.wide{grid-column:1/-1}.login-shell{grid-template-columns:1fr;min-height:auto}.login-brand{padding:28px;min-height:260px}.login-form{padding:35px 25px}.login-logo{width:250px}.page-head{gap:10px;flex-direction:column}}
@media(max-width:480px){.stats{grid-template-columns:1fr}.top-user div:not(.avatar){display:none}}

/* Cadastro navigation */
.nav-section{margin:2px 0}
.nav-parent{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:#e7def0;text-decoration:none;padding:11px 12px;border-radius:11px;font-size:13px;margin:2px 0;cursor:pointer}
.nav-parent:hover,.nav-parent.open{background:rgba(141,45,226,.28);color:#fff}
.nav-parent>span{display:flex;align-items:center;gap:12px}
.nav-chevron{font-size:9px;transition:transform .18s}
.nav-parent.open .nav-chevron{transform:rotate(180deg)}
.nav-children{display:none;padding:0 0 2px 13px}
.nav-children.show{display:block}
.nav-children>a,.nav-children-sub>a{display:flex;align-items:center;color:#d9cde4;text-decoration:none;padding:8px 12px 8px 22px;border-radius:8px;font-size:12px;margin:1px 0}
.nav-children>a:hover,.nav-children>a.active,.nav-children-sub>a:hover,.nav-children-sub>a.active{background:rgba(255,255,255,.09);color:#fff}
.nav-subgroup{margin:0}
.nav-parent-sub{font-size:12px;padding:8px 12px}
.nav-children-sub{display:none;padding-left:11px;border-left:1px solid rgba(255,255,255,.13);margin-left:16px}
.nav-children-sub.show{display:block}
.nav-children-sub>a{padding-left:18px}
.nav-children a.active,.nav-children-sub a.active{box-shadow:inset 2px 0 var(--gold)}
.list-toolbar{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}
.list-search{display:flex;gap:8px;flex:1;min-width:240px}
.list-search input{flex:1;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;font:inherit;font-size:12px}
.icon-action{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:9px;color:var(--purple);background:#f2eafa;text-decoration:none;vertical-align:middle;box-sizing:border-box;padding:0;font:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;box-shadow:none;outline:none}
.icon-action:hover{background:#e7d8f7}
.icon-action:focus,.icon-action:focus-visible{outline:none;box-shadow:none}
.icon-action.delete-action{color:#c62828;background:#f2eafa;border:0;box-shadow:none}
.icon-action.delete-action:hover{color:#b71c1c;background:#e7d8f7}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;color:var(--muted);font-size:11px}
.pagination .pages{display:flex;gap:5px}
.pagination a,.pagination span{min-width:32px;height:32px;padding:0 9px;border:1px solid var(--line);background:#fff;border-radius:8px;display:inline-grid;place-items:center;text-decoration:none}
.pagination .current{background:var(--purple);color:#fff;border-color:var(--purple)}
.form-section{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px;background:#fff}
.form-section h3{margin:0 0 14px;font-size:13px}
.tabs{display:flex;gap:3px;border-bottom:1px solid var(--line);margin:-4px -4px 16px}
.tabs a{padding:9px 13px;text-decoration:none;font-size:12px;color:var(--muted);border-radius:8px 8px 0 0}
.tabs a.active{color:var(--purple);font-weight:800;background:#f5effb}
.table-wrap{overflow:auto}

.btn-navy{background:#124d88;color:#fff;border:0}.btn-navy:hover{background:#0e3d6c;color:#fff}
.barcode-section{background:#f8fafc}
.barcode-entry{display:flex;gap:8px;max-width:520px;margin-bottom:12px}
.barcode-entry input{flex:1;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:inherit}
.barcode-table-wrap{border:1px solid #cfd5dc;background:#fff}
.barcode-table{margin:0;width:100%;border-collapse:collapse}
.barcode-table th{background:#eef1f5;color:#27313d;font-weight:800}
.barcode-table th,.barcode-table td{padding:8px 10px;border-bottom:1px solid #e2e6eb;font-size:12px}
.barcode-table th:first-child,.barcode-table td:first-child{text-align:left}
.barcode-table th:not(:first-child),.barcode-table td:not(:first-child){text-align:center;width:100px}
.barcode-cell{width:100%;border:0;background:transparent;font:inherit;color:#173f72}
.row-remove{border:0;background:transparent;color:#a22a2a;cursor:pointer;font-size:14px}
.barcode-empty{padding:24px;text-align:center;color:#8a939f;font-size:12px}
.barcode-help{font-size:11px;color:var(--muted);padding-top:9px}

/* Product form v3 */
.product-main{max-width:1050px;margin:auto}
.product-upload{padding:10px}
.upload-zone{min-height:130px;border:2px dashed #cfc8da;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#9b94a8;text-align:center;cursor:pointer}
.upload-zone i{font-size:24px}.upload-zone span{font-size:12px;font-weight:700}.upload-zone small{font-size:10px;color:#6f687c}.upload-zone input{display:none}
.product-columns{display:grid;grid-template-columns:1fr 1.08fr;gap:16px}
.barcode-box h3{font-size:12px;margin:0 0 9px}
.barcode-add{display:grid;grid-template-columns:1fr auto;gap:7px;margin-bottom:8px}.barcode-add input{border:1px solid var(--line);border-radius:8px;padding:9px 10px;font:inherit;font-size:12px}
.barcode-table-wrap{border:1px solid var(--line);min-height:112px;max-height:170px;overflow:auto}.barcode-table-wrap th{font-size:9px;padding:7px}.barcode-table-wrap td{font-size:11px;padding:7px}.barcode-table-wrap td:nth-child(2),.barcode-table-wrap td:nth-child(3),.barcode-table-wrap td:last-child{text-align:center;width:70px}
.barcode-table-wrap input[type=checkbox]{accent-color:var(--purple);width:16px;height:16px}.mini-remove{border:0;background:#fff0f2;color:var(--red);border-radius:6px;width:25px;height:25px;cursor:pointer}
.hint{font-size:9px;color:var(--muted);margin:8px 0 0}.inline-value{display:flex;align-items:center;gap:8px}.inline-value input{flex:1}.inline-value i{color:var(--purple)}
.price-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px}.price-grid .suggestion{grid-column:3;grid-row:1 / span 2}.price-grid .suggestion input{height:100%}
@media(max-width:850px){.product-columns{grid-template-columns:1fr}.price-grid{grid-template-columns:1fr 1fr}.price-grid .suggestion{grid-column:1/-1;grid-row:auto}}

.barcode-add{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}
.barcode-add .barcode-generate,.barcode-add .barcode-include{white-space:nowrap}
.stock-edit{border:0;background:transparent;color:var(--purple);font-size:15px;cursor:pointer;padding:5px}
.price-with-icon{display:flex;align-items:center;gap:7px}
.price-with-icon input{flex:1}
.price-with-icon i{color:var(--purple);font-size:13px}
.suggestion input[readonly]{background:#fff;color:#111;border-color:var(--line);cursor:default}
.mini-remove{color:#c62828!important;background:#fff1f2!important}
@media(max-width:700px){.barcode-add{grid-template-columns:1fr 1fr}.barcode-add input{grid-column:1/-1}}

.price-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:14px;align-items:stretch}.price-panel{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}.suggestion-panel{display:flex;align-items:flex-start}.suggestion-panel input[readonly]{background:#fafafa;border:0;font-weight:600}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.price-grid .field label{font-weight:700}.barcode-generate:disabled{opacity:.55;cursor:not-allowed}@media(max-width:800px){.price-columns{grid-template-columns:1fr}.price-grid{grid-template-columns:1fr 1fr}}

/* Product tabs v6 */
.product-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:0 0 16px;padding:0 2px}
.product-tab{appearance:none;border:1px solid var(--line);border-bottom:0;background:#f5f5f7;color:#5d5668;padding:10px 18px;font:inherit;font-size:12px;cursor:pointer;margin-right:2px;border-radius:9px 9px 0 0}
.product-tab:hover{background:#eeeaf3}
.product-tab.active{background:#fff;color:var(--purple);font-weight:800;position:relative;top:1px}
.product-tab-panel{display:none}
.product-tab-panel.active{display:block}
.tax-placeholder{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.tax-placeholder h3{margin:8px 0 4px}
.tax-placeholder p{max-width:650px;color:var(--muted);font-size:12px;line-height:1.6;margin:0}
.tax-icon{width:48px;height:48px;border-radius:14px;background:#f1e9f9;color:var(--purple);display:grid;place-items:center;font-size:20px}
.product-image-section{padding:14px}
.product-image-section .upload-zone{min-height:220px}
.image-preview{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;background:#fafafa}
.image-preview img{max-width:280px;max-height:280px;object-fit:contain;border-radius:8px}
@media(max-width:700px){.product-tab{padding:9px 10px;font-size:11px}.product-tabs{overflow:auto}.product-tab{white-space:nowrap}}

.product-thumb{width:60px;height:60px;border-radius:8px;object-fit:cover;display:inline-grid;place-items:center;vertical-align:middle;border:1px solid var(--line);background:#f7f3fb}
.product-thumb.empty{color:#9d8eaa;font-size:18px}
.image-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.btn-danger{background:#b42318;color:#fff;border:1px solid #b42318}
.btn-danger:hover{filter:brightness(.95)}

.image-actions[hidden]{display:none!important}
.discount-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.suggestion-with-action{display:flex;gap:8px;align-items:stretch}.suggestion-with-action input{flex:1}.suggestion-check{width:42px;border:0;border-radius:9px;background:var(--purple);color:#fff;cursor:pointer;font-size:15px}.suggestion-check:hover{filter:brightness(.95)}
@media(max-width:700px){.suggestion-panel .discount-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.suggestion-panel .discount-grid .field{min-width:0}}

/* Produto v14: preços e imagem */
.price-columns{grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);align-items:stretch}
.price-panel{min-height:100%}
.suggestion-panel{display:block}
.suggestion-top{display:block}
.suggestion-field{margin:0}
.suggestion-with-action{display:flex;align-items:center;gap:8px}
.suggestion-with-action input{min-width:0}
.suggestion-check{width:auto;height:auto;padding:2px 4px;border:0!important;background:transparent!important;color:#2563eb!important;border-radius:0!important;box-shadow:none!important;font-size:19px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.suggestion-check:hover{background:transparent!important;color:#1d4ed8!important;filter:none}
.suggestion-check:focus{outline:none;box-shadow:none!important}
.suggestion-check i{pointer-events:none}
.suggestion-panel .discount-grid{margin-top:16px;padding-top:0;border-top:0;grid-template-columns:1fr 1fr}
.discount-grid .field input{width:100%}
.image-layout{display:grid;grid-template-columns:1fr 1.18fr;gap:14px;align-items:stretch}
.image-layout .upload-zone{min-height:260px;height:100%}
.image-preview-wrap{display:flex;flex-direction:column;min-height:260px}
.image-preview{margin-top:0;flex:1;min-height:260px;display:flex;align-items:center;justify-content:center}
.image-preview img{max-width:100%;max-height:260px;object-fit:contain}
.image-preview-wrap .image-actions{justify-content:flex-end;margin-top:10px}
@media(max-width:800px){
  .image-layout{grid-template-columns:1fr}
  .image-layout .upload-zone,.image-preview-wrap,.image-preview{min-height:220px}
}

/* v16: desconto lado a lado */
.suggestion-panel .discount-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:16px!important}
.suggestion-panel .discount-grid .field{min-width:0}

/* v17: desconto sempre lado a lado */
.suggestion-panel .discount-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;}
.suggestion-panel .discount-grid .field{min-width:0!important;}
/* v18: desconto obrigatoriamente lado a lado no painel da sugestão */
.suggestion-panel .discount-grid{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;width:100%!important;margin-top:16px!important}
.suggestion-panel .discount-grid .field{display:block!important;flex:1 1 0!important;min-width:0!important;width:50%!important}
.suggestion-panel .discount-grid .field input{width:100%!important;box-sizing:border-box!important}
@media(max-width:480px){.suggestion-panel .discount-grid{flex-direction:row!important;gap:8px!important}.suggestion-panel .discount-grid .field{width:50%!important}}

.danger-action{color:#b42318;background:#fff1f1;border-color:#f3c1c1}.danger-action:hover{background:#ffe3e3}

.margin-form-grid .field{grid-column:span 4}.margin-form-grid .field.full{grid-column:1/-1}
@media(max-width:760px){.margin-form-grid .field{grid-column:1/-1}}

/* Cadastro de clientes: abas Geral / Crediário */
.client-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:16px}
.client-tab{appearance:none;border:1px solid var(--line);border-bottom:0;background:#f5f5f7;color:#5d5668;padding:10px 18px;font:inherit;font-size:12px;cursor:pointer;margin-right:2px;border-radius:9px 9px 0 0}
.client-tab:hover{background:#eeeaf3}
.client-tab.active{background:#fff;color:var(--purple);font-weight:800;position:relative;top:1px}
.client-tab-panel{display:block}
.client-tab-panel[hidden]{display:none!important}
/* Menu Cadastro: itens de submenu pai usam exatamente a mesma largura/altura dos demais itens */
.sidebar nav .nav-subgroup,
.sidebar nav .nav-subgroup .nav-parent-sub{width:100%;box-sizing:border-box}
.sidebar nav .nav-parent-sub{font-size:13px;padding:11px 12px;margin:2px 0;border-radius:11px}
.sidebar nav .nav-parent-sub>span{gap:12px}

/* Abas de páginas abertas - integrada ao tema roxo do Avance */
/* Abas de páginas abertas - navegação por setas, sem barra de rolagem visível */
.workspace-tabs-shell{display:flex;align-items:flex-end;height:46px;background:linear-gradient(90deg,#24103e 0%,#35115d 52%,#2a0d49 100%);border-bottom:1px solid rgba(255,255,255,.08);min-width:0}
.workspace-tabs{display:flex;align-items:flex-end;gap:3px;height:46px;padding:0 4px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;scroll-behavior:smooth;flex:1;min-width:0}
.workspace-tabs::-webkit-scrollbar{display:none;width:0;height:0}
.workspace-tab-nav{width:38px;height:46px;flex:0 0 38px;border:0;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:13px;font-weight:700;transition:.15s;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.workspace-tab-nav:hover{background:rgba(255,255,255,.20);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.workspace-tab-nav:disabled{opacity:.55;cursor:default;background:rgba(255,255,255,.05)}
.workspace-tab-prev{border-right:1px solid rgba(255,255,255,.08)}
.workspace-tab-next{border-left:1px solid rgba(255,255,255,.08)}
.workspace-tab{height:37px;margin-top:9px;border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;background:rgba(255,255,255,.08);color:#e7def0;padding:0 12px;display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}
.workspace-tab:hover{background:rgba(255,255,255,.15);color:#fff}
.workspace-tab.active{background:#f6f5fa;color:#5d5668;border-color:#e9e6f0;box-shadow:0 -2px 0 var(--gold) inset}
.workspace-tab i{font-size:10px;opacity:.7}.workspace-tab i:hover{opacity:1;color:#b42318}
.workspace-view[hidden]{display:none!important}
@media(max-width:760px){.workspace-tabs-shell{height:43px}.workspace-tabs{height:43px;padding:0 2px}.workspace-tab-nav{width:34px;height:43px;flex-basis:34px}.workspace-tab{height:35px;margin-top:8px;padding:0 10px}}

/* Cadastro de clientes: seleção do tipo de pessoa e máscaras */
.radio-group{display:flex;align-items:center;gap:10px;min-height:38px;flex-wrap:wrap}
.radio-option{display:inline-flex!important;align-items:center;gap:7px!important;margin:0!important;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#5e596c;font-size:12px;font-weight:700!important;cursor:pointer;transition:.15s}
.radio-option input{width:15px!important;height:15px!important;margin:0!important;padding:0!important;accent-color:var(--purple);box-shadow:none!important;cursor:pointer}
.radio-option:has(input:checked){border-color:#b78be8;background:#f6effd;color:var(--purple)}
.radio-option:hover{border-color:#c9afe8;background:#faf6fe}
@media(max-width:760px){.radio-group{gap:7px}.radio-option{padding:8px 10px}}
.company-tabs{display:flex;gap:3px;border-bottom:1px solid var(--line);margin-bottom:16px;padding-left:4px}.company-tab{appearance:none;border:1px solid #d9d4e3;border-bottom:none;background:#faf9fc;color:#655f73;border-radius:7px 7px 0 0;padding:7px 12px;font:inherit;font-size:12px;cursor:pointer}.company-tab.active{background:#fff;color:#1f1830;font-weight:750;position:relative;top:1px}.company-tab-panel{display:block}.company-tab-panel[hidden],.company-tab-panel.company-panel-hidden{display:none!important}.pix-types{display:flex;flex-wrap:wrap;gap:10px}.pix-types .radio-option{display:inline-flex;align-items:center;gap:5px}.company-tab-panel .form-actions{justify-content:center}.field-help{display:block;font-size:10px;color:#7a7388;margin-top:5px}.pix-random{min-height:42px}

/* Validação visual das abas e campos do cadastro de Empresa */
.company-tab.has-error{color:#b42318!important;border-color:#f1a7a0!important;background:#fff1f0!important;font-weight:800}
.company-tab.has-error::after{content:' •';color:#d92d20}
.company-tab-panel .field.has-error label{color:#b42318!important}
.company-tab-panel .field.has-error input,
.company-tab-panel .field.has-error select,
.company-tab-panel .field.has-error textarea{border-color:#d92d20!important;box-shadow:0 0 0 2px rgba(217,45,32,.10)!important;background:#fff8f7!important}
.company-field-error{display:block!important;margin-top:4px;color:#d92d20!important;font-size:11px;font-weight:600}

/* PIX da Empresa */
.pix-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 2px}.pix-toggle-row strong{display:block;color:#251b35;font-size:13px}.pix-toggle-row small{display:block;color:#7a7388;font-size:11px;margin-top:3px}.switch{display:inline-flex;align-items:center;gap:9px;cursor:pointer;user-select:none}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch .slider{width:42px;height:24px;border-radius:999px;background:#d8d8df;border:1px solid #c9c8d1;position:relative;transition:.18s}.switch .slider:before{content:'';position:absolute;width:20px;height:20px;left:1px;top:1px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.18s}.switch input:checked + .slider{background:#22a447;border-color:#22a447}.switch input:checked + .slider:before{transform:translateX(18px)}.switch-label{font-size:12px;font-weight:700;color:#5f596a;min-width:105px}.switch input:checked ~ .switch-label{color:#1f8a3b}.company-tab-panel[hidden]{display:none!important}
/* Endereço da Empresa: CEP + Endereço + Número + Bairro na primeira linha; Cidade + UF na segunda */
.address-grid .cep-field{grid-column:span 2}
.address-grid .address-field{grid-column:span 5}
.address-grid .number-field{grid-column:span 2}
.address-grid .district-field{grid-column:span 3}
.address-grid .city-field{grid-column:span 8}
.address-grid .uf-field{grid-column:span 4}
@media(max-width:900px){
  .address-grid .cep-field,.address-grid .address-field,.address-grid .number-field,.address-grid .district-field,.address-grid .city-field,.address-grid .uf-field{grid-column:span 6}
}
@media(max-width:600px){
  .address-grid .cep-field,.address-grid .address-field,.address-grid .number-field,.address-grid .district-field,.address-grid .city-field,.address-grid .uf-field{grid-column:1/-1}
}

/* Plano de Contas v40 */
.chart-page{max-width:1180px;margin:0 auto}.chart-toolbar{margin-bottom:14px}.chart-toolbar-main{display:flex;align-items:center;justify-content:space-between;gap:14px}.chart-search-wrap{flex:1;min-width:0}.chart-search-wrap .list-search{width:100%}.chart-search-wrap .list-search input{min-width:0}.chart-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-sm{padding:8px 11px!important;font-size:11px!important}.chart-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}.chart-summary>div{border:1px solid var(--line);background:#faf9fc;border-radius:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between}.chart-summary span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.chart-summary strong{font-size:18px;color:var(--purple)}
.chart-layout{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.5fr);gap:14px;align-items:stretch}.chart-layout .card{min-height:430px}.chart-groups-card .card-head,.chart-subgroups-card .card-head{align-items:center}.chart-groups-card .card-head h3,.chart-subgroups-card .card-head h3{margin:0;font-size:13px}.chart-groups-card .card-head small,.chart-subgroups-card .card-head small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.chart-list-body{padding:8px!important}.chart-group-item{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;border:1px solid transparent;border-radius:10px;padding:10px 9px;margin-bottom:2px;transition:.15s;background:#fff}.chart-group-item:hover{background:#faf7fd;border-color:#e7dff0}.chart-group-item.active{background:#f4ecfb;border-color:#d9c1ee;box-shadow:inset 3px 0 var(--purple)}.chart-group-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-decoration:none;color:inherit}.chart-group-icon{width:32px;height:32px;border-radius:9px;background:#f1e8f9;color:var(--purple);display:grid;place-items:center;flex:0 0 auto}.chart-group-info{min-width:0;flex:1}.chart-group-info b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-group-info small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.chart-group-meta{display:flex;align-items:center;gap:6px;color:#8d8498;flex:0 0 auto}.chart-group-meta .badge{margin-right:2px}.chart-inline-action{width:25px;height:25px;border:0;border-radius:6px;background:transparent;color:#7d7288;display:grid;place-items:center;cursor:pointer;text-decoration:none;padding:0}.chart-inline-action:hover{background:#f2eafa;color:var(--purple)}.chart-inline-action[data-chart-delete]:hover{color:#b42318}.chart-chevron{font-size:10px;margin-left:1px}.chart-group-actions{display:none}.chart-empty{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);gap:6px;padding:25px}.chart-empty i{font-size:28px;color:#b9a8c7;margin-bottom:4px}.chart-empty strong{font-size:13px;color:#554b62}.chart-empty span{font-size:10px;max-width:300px}.chart-table th{font-size:9px}.chart-table td{font-size:11px}.chart-delete-btn{border:0!important;background:transparent!important;color:#8d8498!important;margin-left:2px}.chart-delete-btn:hover{color:#b42318!important}.chart-modal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:20px}.chart-modal.show{display:flex}.chart-modal-backdrop{position:absolute;inset:0;background:rgba(27,16,43,.48);backdrop-filter:blur(2px)}.chart-modal-dialog{position:relative;width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid #e7e0ee;border-radius:14px;box-shadow:0 22px 60px rgba(38,17,58,.24)}.chart-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.chart-modal-head h3{margin:0;font-size:14px}.chart-modal-head small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.chart-modal-close{border:0;background:#f6f3f8;color:#756b7e;width:30px;height:30px;border-radius:8px;cursor:pointer}.chart-modal-close:hover{background:#eee8f3;color:#2d1a43}.chart-modal-body{padding:16px 18px}.chart-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:#fcfbfd}.modal-open{overflow:hidden}
@media(max-width:900px){.chart-layout{grid-template-columns:1fr}.chart-layout .card{min-height:auto}.chart-summary{grid-template-columns:1fr 1fr}.chart-toolbar-main{align-items:stretch;flex-direction:column}}@media(max-width:600px){.chart-summary{grid-template-columns:1fr}.chart-actions{width:100%}.chart-actions .btn{flex:1}.chart-table{min-width:620px}}
/* Notas Fiscais / Entradas de NF */
.nf-list-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}.nf-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn.btn-dark{background:#0b0b0d;color:#fff;border-color:#0b0b0d}.btn.btn-dark:hover{background:#222;color:#fff}.btn.btn-warning{background:#f6b800;color:#211700;border-color:#f6b800}.btn.btn-warning:hover{background:#d99f00;color:#211700}.btn.btn-success{background:#19a84b;color:#fff;border-color:#19a84b}.btn.btn-success:hover{background:#13883c;color:#fff}.nf-filter-row{display:flex;gap:6px;margin:4px 0 12px;border-bottom:1px solid var(--line);padding-bottom:8px}.nf-filter{padding:7px 12px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:11px;font-weight:700}.nf-filter:hover{background:#f5effb;color:var(--purple)}.nf-filter.active{background:#f0e7fb;color:var(--purple)}.nf-list-wrap{border:1px solid #dfe3e8}.nf-list-table{min-width:1200px}.nf-list-table th{background:#f8fafc;color:#27313d;text-transform:none;font-size:10px;padding:10px 9px;border-right:1px solid #e3e7eb}.nf-list-table td{padding:9px 9px;font-size:11px;border-right:1px solid #edf0f3;white-space:nowrap}.nf-list-table td:nth-child(4){min-width:280px}.nf-key{max-width:320px;overflow:hidden;text-overflow:ellipsis}.nf-page .pagination{margin-top:2px}.nf-detail-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:16px}.nf-spacer{flex:1}.nf-inline-form{display:inline-flex;margin:0}.nf-summary-table{border:1px solid #dfe3e8}.nf-summary-table table{min-width:1000px}.nf-summary-table th{background:#f8fafc;color:#27313d;text-transform:none;border-right:1px solid #e3e7eb}.nf-summary-table td{white-space:nowrap;border-right:1px solid #edf0f3}.nf-muted{color:#536275}.nf-meta-form{padding-bottom:8px}.nf-items-card{margin-top:14px}.nf-items-card .card-head h3{margin:0;font-size:13px}.nf-items-card .card-head small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.nf-items-wrap{border:1px solid #d8dde3}.nf-items-table{min-width:2100px}.nf-items-table th{background:#f5f7fa;color:#27313d;text-transform:none;font-size:10px;padding:9px 7px;border-right:1px solid #dfe3e8;vertical-align:middle}.nf-items-table td{font-size:11px;padding:8px 7px;border-right:1px solid #e5e8ec;vertical-align:middle}.nf-items-table td:first-child{width:42px;text-align:center}.nf-items-table td:nth-child(2){width:220px;white-space:normal}.nf-items-table td:nth-child(16){width:220px;white-space:normal}.nf-input-sm,.nf-input-money,.nf-input-date,.nf-input-select{height:30px;border:1px solid #d8dee6;border-radius:6px;padding:5px 7px;font:inherit;font-size:11px;background:#fff;box-sizing:border-box}.nf-input-sm{width:80px}.nf-input-money{width:112px}.nf-input-date{width:125px}.nf-input-select{width:100px}.nf-lote{width:150px}.nf-unregistered{background:#fffaf0}.nf-warning-label{display:block;margin-top:4px;font-size:9px;font-weight:800;color:#b06b00}.nf-placeholder{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:var(--muted)}.nf-placeholder i{font-size:34px;color:#b6a2c6}.nf-placeholder strong{color:#4f4658;font-size:14px}.nf-placeholder span{font-size:11px;max-width:480px}.nf-page .btn{white-space:nowrap}@media(max-width:900px){.nf-spacer{display:none}.nf-detail-toolbar{align-items:stretch}.nf-detail-toolbar .btn,.nf-detail-toolbar .nf-inline-form{width:auto}.nf-list-toolbar{align-items:stretch}.nf-toolbar-actions{width:100%}.nf-toolbar-actions .btn{flex:1}.nf-list-table{min-width:1150px}}

/* Notas Fiscais - tela inicial */
.nf-home{display:grid;gap:16px}
.nf-home-section{overflow:hidden}
.nf-home-section-head{padding:18px 18px 16px;border-bottom:1px solid var(--border,#e9e3f3)}
.nf-home-section-head h2{margin:0;font-size:16px;color:#111b3a}
.nf-home-section-head p{margin:6px 0 0;font-size:12px;color:#7d7790}
.nf-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}
.nf-home-grid-output{grid-template-columns:repeat(3,minmax(0,1fr))}
.nf-home-card{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px;border:1px solid #e7e0f2;border-radius:12px;background:#fff;text-decoration:none;color:inherit;transition:.16s ease}
.nf-home-card:hover{border-color:#c9a6f5;box-shadow:0 7px 18px rgba(72,27,128,.08);transform:translateY(-1px)}
.nf-home-icon{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#f0e5ff;color:#7c2be2;display:grid;place-items:center;font-size:15px}
.nf-home-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.nf-home-copy strong{font-size:13px;color:#101b3a}
.nf-home-copy small{font-size:10px;color:#827c91;line-height:1.35}
.nf-home-arrow{margin-left:auto;color:#9b8fb0;font-size:12px}
@media(max-width:1050px){.nf-home-grid,.nf-home-grid-output{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.nf-home-grid,.nf-home-grid-output{grid-template-columns:1fr}}

/* Notas fiscais - acabamento alinhado ao tema Avance Gestão */
.nf-page{display:flex;flex-direction:column;gap:14px}.nf-page .card{overflow:hidden}.nf-list-toolbar{padding:2px 0 12px}.nf-list-toolbar .list-search{flex:1;min-width:360px;display:flex;gap:8px}.nf-list-toolbar .list-search input{flex:1}.nf-toolbar-actions .btn-dark{background:var(--purple);border-color:var(--purple);box-shadow:0 6px 16px rgba(109,40,217,.16)}.nf-toolbar-actions .btn-dark:hover{background:#5b21b6;border-color:#5b21b6}.nf-filter-row{border:0;padding:0;margin:0 0 12px;background:#faf8fd;border:1px solid var(--line);border-radius:10px;padding:4px;width:max-content}.nf-filter{border-radius:7px;padding:7px 14px}.nf-filter.active{background:#fff;box-shadow:0 2px 8px rgba(42,25,63,.08);color:var(--purple)}.nf-list-wrap{border-radius:10px;overflow:auto}.nf-list-table th:first-child,.nf-list-table td:first-child{text-align:center;width:82px}.nf-list-table .nf-row-actions{white-space:nowrap}.nf-list-table .nf-row-actions .nf-inline-form{display:inline-flex;margin:0 0 0 4px;vertical-align:middle}.nf-list-table tbody tr:hover{background:#fcf9ff}.nf-list-table .icon-action{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:8px;background:#f2e8ff;color:var(--purple);text-decoration:none}.nf-list-table .icon-action:hover{background:#e9d5ff}.nf-detail .nf-head-card{border-radius:12px}.nf-summary-table{border-radius:10px;overflow:auto}.nf-items-card{border-radius:12px}.nf-items-table tbody tr:hover{background:#fcf9ff}.nf-items-table .nf-row-save{border:0;background:#f2e8ff;color:var(--purple);width:30px;height:30px;border-radius:8px;cursor:pointer}.nf-items-table .nf-row-save:hover{background:#e9d5ff}.nf-unregistered{background:#fffaf0!important}.nf-warning-label{padding:2px 6px;border-radius:5px;background:#fff1d6;width:max-content}.nf-import-note{font-size:11px;color:var(--muted);margin-top:4px}@media(max-width:760px){.nf-list-toolbar .list-search{min-width:100%;}.nf-toolbar-actions{width:100%}.nf-filter-row{width:100%}.nf-filter{flex:1;text-align:center}}
/* Entrada de NF - interface nativa do Avance */
.nf-detail{gap:16px}.nf-detail-hero{display:flex;justify-content:space-between;gap:24px;padding:24px 26px;border:1px solid #e7def2;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fbf8ff 100%);box-shadow:0 8px 28px rgba(46,22,76,.06)}
.nf-hero-main{min-width:0}.nf-eyebrow{display:inline-flex;align-items:center;gap:7px;color:#7c2be2;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.nf-status-dot{width:7px;height:7px;border-radius:50%;background:#f3b31b;box-shadow:0 0 0 4px #fff1c9}.nf-title-line{display:flex;align-items:center;gap:12px;margin-top:7px}.nf-title-line h2{margin:0;color:#121a36;font-size:24px}.nf-hero-main p{margin:7px 0 0;color:#7b7488;font-size:12px}.nf-hero-total{min-width:150px;text-align:right;padding-left:20px;border-left:1px solid #e9e1f0}.nf-hero-total small,.nf-info-grid small,.nf-product-grid small,.nf-modal-xml small{display:block;color:#8b8297;font-size:10px;margin-bottom:5px}.nf-hero-total strong{display:block;color:#5d1fc0;font-size:22px}.nf-hero-total span{font-size:10px;color:#8b8297}.nf-detail-actions{display:flex;align-items:center;gap:8px}.nf-info-grid{display:grid;grid-template-columns:1.1fr .8fr 1.6fr 1fr;gap:1px;background:#e8e1ef;border:1px solid #e8e1ef;border-radius:13px;overflow:hidden}.nf-info-grid>div{background:#fff;padding:13px 15px;min-width:0}.nf-info-grid strong{display:block;color:#273047;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nf-key-inline{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px!important}.nf-control-card{display:grid;grid-template-columns:320px 1fr;gap:12px;margin-top:2px}.nf-control-main{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border:1px solid #e7def2;border-radius:13px;background:#fff}.nf-control-main small{display:block;color:#8a8197;font-size:10px}.nf-control-main strong{display:block;color:#28314a;font-size:12px;margin-top:3px}.nf-control-main input{height:36px;border:1px solid #dcd2e8;border-radius:9px;padding:0 10px;background:#fff}.nf-observation input{flex:1;min-width:180px}.nf-products-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-top:4px}.nf-products-head h3{margin:0;color:#141d3a;font-size:17px}.nf-products-head p{margin:5px 0 0;color:#847b90;font-size:11px}.nf-product-legend{display:flex;gap:8px;flex-wrap:wrap}.nf-legend{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.nf-legend.ok{background:#e8f8ef;color:#118a4d}.nf-legend.warn{background:#fff2dc;color:#a46300}.nf-product-list{display:flex;flex-direction:column;gap:10px}.nf-product-card{border:1px solid #e6dfed;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 4px 16px rgba(47,27,70,.035)}.nf-product-card.is-unregistered{border-color:#f0d8a7;background:#fffdf8}.nf-product-top{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 16px;border-bottom:1px solid #eee8f2}.nf-product-index{width:30px;height:30px;border-radius:9px;background:#f0e6fb;color:#7628d8;display:grid;place-items:center;font-weight:800;font-size:11px}.nf-product-title{font-size:13px;font-weight:800;color:#1b2440}.nf-product-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:5px;color:#82798e;font-size:10px}.nf-product-meta b{color:#555064}.nf-product-status{display:flex;align-items:center;gap:8px;justify-content:flex-end}.nf-product-status .btn{height:32px;padding:0 11px;font-size:10px}.nf-product-grid{display:grid;grid-template-columns:.58fr .72fr .72fr .85fr .9fr 1.35fr .9fr .95fr .95fr 1fr 1fr 1fr .9fr;gap:0}.nf-product-grid>div,.nf-product-grid>label{min-width:0;min-height:72px;padding:10px 12px;border-right:1px solid #eee9f2;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}.nf-product-grid>div:nth-last-child(-n+1){border-right:0}.nf-product-grid small,.nf-product-grid>label{color:#777087;font-size:10px}.nf-product-grid small{display:block;margin:0 0 6px;line-height:1.15}.nf-product-grid strong{display:block;color:#31384c;font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nf-product-grid>label{line-height:1.15}.nf-product-grid label input{display:block;margin-top:6px;flex:0 0 auto}.nf-product-grid select,.nf-product-grid input{box-sizing:border-box}.nf-product-grid>div:has(strong),.nf-product-grid>div:has(small){align-items:flex-start}.nf-product-grid>label{align-items:stretch}.nf-product-card .nf-input-sm,.nf-product-card .nf-input-money,.nf-product-card .nf-input-date,.nf-product-card .nf-reajuste{height:32px;width:100%;max-width:150px}.nf-product-card .nf-reajuste{border:1px solid #dcd2e8;border-radius:8px;padding:0 7px;background:#fff;color:#343b50;font-size:10px}.nf-product-card .nf-reajuste:disabled,.nf-product-card input:disabled{background:#f5f2f8;color:#9a91a6;cursor:not-allowed}.nf-reajuste-help{padding:7px 12px;color:#756b80;background:#faf8fc;border-top:1px solid #eee9f2;font-size:10px;min-height:0}.nf-reajuste-help:empty{display:none}.nf-bottom-actions{justify-content:flex-end}.nf-empty-products{padding:50px;text-align:center;color:#8b8297;border:1px dashed #d9cfe3;border-radius:14px}.nf-empty-products i{display:block;font-size:28px;margin-bottom:8px;color:#b6a2c6}.nf-product-modal[hidden]{display:none}.nf-product-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}.nf-product-modal-backdrop{position:absolute;inset:0;background:rgba(31,17,45,.55);backdrop-filter:blur(2px)}.nf-product-modal-dialog{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 25px 70px rgba(27,13,45,.28);border:1px solid #e5dced}.nf-product-modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid #eee8f2}.nf-product-modal-head h3{margin:4px 0 0;font-size:18px;color:#18203c}.nf-modal-close{border:0;width:34px;height:34px;border-radius:9px;background:#f4eff8;color:#766b81;cursor:pointer}.nf-modal-xml{display:grid;grid-template-columns:1.5fr 1fr .8fr;gap:1px;margin:18px 22px;background:#e9e2ef;border:1px solid #e9e2ef;border-radius:11px;overflow:hidden}.nf-modal-xml>div{background:#fbf9fd;padding:12px}.nf-modal-xml strong{display:block;color:#30374b;font-size:11px;word-break:break-word}.nf-quick-grid{padding:0 22px}.nf-modal-note{margin:0 22px 16px;padding:11px 13px;background:#f7f3fb;border:1px solid #e8def2;border-radius:10px;color:#6f667b;font-size:10px}.nf-modal-note i{color:#7c2be2;margin-right:5px}.nf-product-modal .form-actions{padding:15px 22px;border-top:1px solid #eee8f2}
@media(max-width:1100px){.nf-product-grid{grid-template-columns:repeat(4,minmax(130px,1fr));}.nf-info-grid{grid-template-columns:repeat(2,1fr)}.nf-control-card{grid-template-columns:1fr}.nf-product-grid>div{border-bottom:1px solid #eee9f2}.nf-detail-hero{flex-direction:column}.nf-hero-total{text-align:left;border-left:0;border-top:1px solid #e9e1f0;padding:12px 0 0}.nf-product-status{flex-wrap:wrap}}
@media(max-width:700px){.nf-info-grid{grid-template-columns:1fr}.nf-product-top{grid-template-columns:30px 1fr}.nf-product-status{grid-column:2;justify-content:flex-start}.nf-products-head{align-items:flex-start;flex-direction:column}.nf-modal-xml{grid-template-columns:1fr}.nf-product-grid{grid-template-columns:1fr 1fr}.nf-detail-actions{flex-wrap:wrap}.nf-spacer{display:none}}

/* Entrada de NF - busca e cadastro de produto no próprio fluxo */
.nf-link-dialog{width:min(760px,100%)}
.nf-link-dialog .nf-modal-product-head{}
.nf-link-search{padding:18px 22px 12px;border-bottom:1px solid #eee8f2}
.nf-link-search label{display:block;font-size:11px;font-weight:800;color:#4e4658;margin-bottom:7px}
.nf-link-search-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.nf-link-search-row input{height:40px;border:1px solid #dcd3e6;border-radius:10px;padding:0 12px;font:inherit;outline:none}
.nf-link-search-row input:focus{border-color:#8d38e5;box-shadow:0 0 0 3px rgba(125,43,226,.09)}
.nf-link-search>small{display:block;margin-top:7px;color:#8a8193;font-size:10px}
.nf-search-results{padding:14px 22px;display:grid;gap:8px;max-height:330px;overflow:auto}
.nf-search-empty,.nf-search-loading{min-height:120px;border:1px dashed #ded4e7;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;color:#8b8194}
.nf-search-empty i,.nf-search-loading i{font-size:24px;color:#9d7abb}
.nf-search-empty strong{color:#4a4155;font-size:13px}
.nf-search-empty span{font-size:10px;max-width:420px}
.nf-search-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #e7dfed;border-radius:12px;background:#fff}
.nf-search-result:hover{border-color:#cdb2e4;background:#fcf9ff}
.nf-search-result-main{min-width:0}.nf-search-result-main strong{display:block;color:#202943;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nf-search-result-main span,.nf-search-result-main small{display:block;margin-top:3px;color:#7d7488;font-size:10px}
.nf-search-result-side{display:flex;align-items:center;gap:10px;flex:none}.nf-search-result-side b{font-size:9px;color:#11865b;background:#e9f8f1;border-radius:999px;padding:5px 8px}
.nf-not-found{margin:0 22px 14px;padding:12px 13px;border:1px solid #eadcc4;background:#fffaf1;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.nf-not-found[hidden]{display:none}.nf-not-found strong{display:block;color:#6d4a17;font-size:11px}.nf-not-found span{display:block;margin-top:3px;color:#8c7658;font-size:10px}
.nf-link-footer{display:flex;justify-content:flex-end;padding:14px 22px;border-top:1px solid #eee8f2}
.nf-create-source{display:grid;grid-template-columns:1fr 160px;gap:1px;margin:18px 22px;background:#e9e2ef;border:1px solid #e9e2ef;border-radius:11px;overflow:hidden}
.nf-create-source>div{background:#fbf9fd;padding:11px 12px}.nf-create-source small{display:block;color:#8a8193;font-size:9px}.nf-create-source strong{display:block;color:#30374b;font-size:11px;margin-top:3px;word-break:break-word}
.nf-create-grid{padding:0 22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.nf-create-grid .field.full{grid-column:1/-1}
.nf-create-grid input,.nf-create-grid select{width:100%;box-sizing:border-box}
.nf-create-grid .field label{font-size:10px}
@media(max-width:650px){.nf-link-search-row{grid-template-columns:1fr}.nf-search-result{align-items:flex-start;flex-direction:column}.nf-search-result-side{width:100%;justify-content:space-between}.nf-create-grid{grid-template-columns:1fr}.nf-create-source{grid-template-columns:1fr}.nf-not-found{align-items:flex-start;flex-direction:column}}

.nf-product-embed-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee8f2;background:#fff}.nf-product-embed-head span{display:block;color:#7c2be2;font-size:10px;font-weight:800;letter-spacing:.06em}.nf-product-embed-head strong{display:block;margin-top:4px;color:#1a2340;font-size:16px}.nf-product-create-frame{display:block;width:100%;height:78vh;min-height:620px;border:0;background:#f8f6fb}.nf-link-dialog:has(.nf-product-create-frame){width:min(1080px,96vw);max-height:94vh}.nf-product-modal-dialog section[hidden]{display:none!important}

/* v56 — cadastro de produto dentro da entrada: um único cabeçalho, sem modal aninhado */
.nf-product-modal.is-create-mode{padding:18px}
.nf-product-modal.is-create-mode .nf-product-modal-dialog{width:min(1080px,96vw);height:min(92vh,920px);max-height:92vh;overflow:hidden;border-radius:18px}
.nf-product-modal.is-create-mode .nf-product-modal-head{display:none}
.nf-create-view{height:100%;display:flex;flex-direction:column;min-height:0;background:#fff}
.nf-create-head{height:72px;flex:0 0 72px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #eee8f2;background:#fff}
.nf-create-head strong{display:block;margin-top:3px;color:#18203c;font-size:17px}
.nf-product-create-frame{height:auto!important;min-height:0!important;flex:1 1 auto!important;border:0!important;width:100%!important;background:#f8f6fb;display:block}
.nf-product-modal.is-create-mode .nf-create-view[hidden]{display:none!important}
.nf-product-modal:not(.is-create-mode) .nf-create-view{display:none}
@media (max-width:900px){.nf-product-modal.is-create-mode{padding:8px}.nf-product-modal.is-create-mode .nf-product-modal-dialog{width:100%;height:96vh;max-height:96vh}.nf-create-head{padding:0 15px}}

/* v63 - alinhamento visual dos campos dos produtos da NF */
.nf-product-grid>div,
.nf-product-grid>label{
  height:72px;
  min-height:72px;
  padding:9px 12px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:0;
}
.nf-product-grid>div>small,
.nf-product-grid>label{
  font-size:10px;
  line-height:1.15;
}
.nf-product-grid>div>small{
  margin:0 0 6px;
  flex:0 0 auto;
}
.nf-product-grid>div>strong{
  margin:0;
  line-height:1.2;
  min-height:14px;
  display:flex;
  align-items:center;
}
.nf-product-grid>div>label{
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  color:#777087;
  font-size:10px;
  line-height:1.15;
}
.nf-product-grid>div>label>input,
.nf-product-grid>div>label>select{
  margin:6px 0 0;
  flex:0 0 32px;
  align-self:stretch;
}
.nf-product-grid>div:has(strong),
.nf-product-grid>div:has(small){
  align-items:flex-start;
  justify-content:center;
}
.nf-product-grid>div:has(strong)>strong{
  width:100%;
}

/* v64 - alinhamento por duas linhas: títulos e valores/controles */
.nf-product-grid>div,
.nf-product-grid>label{
  height:72px;
  min-height:72px;
  padding:10px 12px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
}
.nf-product-grid>div>small,
.nf-product-grid>div>label{
  height:15px;
  min-height:15px;
  margin:0;
  padding:0;
  line-height:15px;
  font-size:10px;
  font-weight:400;
  color:#777087;
  display:block;
  box-sizing:border-box;
}
.nf-product-grid>div>strong{
  height:32px;
  min-height:32px;
  margin:6px 0 0;
  padding:0;
  line-height:32px;
  display:block;
  width:100%;
  box-sizing:border-box;
  color:#31384c;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nf-product-grid>div>label{
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:stretch;
}
.nf-product-grid>div>label>input,
.nf-product-grid>div>label>select{
  height:32px;
  min-height:32px;
  margin:6px 0 0;
  padding-top:0;
  padding-bottom:0;
  flex:0 0 32px;
  align-self:stretch;
  box-sizing:border-box;
}
.nf-product-grid>div:has(strong),
.nf-product-grid>div:has(small){
  justify-content:flex-start;
  align-items:flex-start;
}
.nf-product-grid>div:has(strong)>small{
  flex:0 0 15px;
}

/* v67 - indicadores de variação do custo da entrada */
.nf-cost-entry-cell{position:relative;padding-right:30px!important}
.nf-cost-indicator{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:10px;font-weight:800}
.nf-cost-down{color:#159447;background:#e7f7ee}
.nf-cost-up{color:#d83b3b;background:#fdecec}
.nf-cost-equal{color:#8b8297;background:#f1eef4}
.nf-product-grid .nf-margin-new,.nf-product-grid .nf-sale-new{cursor:text;background:#fff}
.nf-product-grid .nf-margin-new:focus,.nf-product-grid .nf-sale-new:focus{border-color:#8d38e5;box-shadow:0 0 0 3px rgba(125,43,226,.09);outline:none}

/* v68.1 — cabeçalho da NF: CNPJ e chave com áreas equivalentes */
.nf-info-grid{grid-template-columns:1.1fr 1fr 1fr 1fr}
.nf-info-grid>div:nth-child(2),
.nf-info-grid>div:nth-child(3){min-width:0}
.nf-info-grid>div:nth-child(3) .nf-key-inline{display:block;width:100%;font-size:12px!important;letter-spacing:-.02em}

/* v68.1 — quantidades: inteiras para UN; decimais apenas para unidades fracionáveis */
.nf-product-grid .nf-quantity-note,
.nf-product-grid .nf-quantity{font-variant-numeric:tabular-nums}

/* v70 — todos os campos da entrada da NF permanecem na mesma linha no desktop */
@media (min-width:1101px){
  .nf-product-card{overflow-x:auto;overflow-y:hidden}
  .nf-product-grid{
    width:100%;
    min-width:1340px;
    grid-template-columns:
      .52fr .42fr .62fr .62fr .78fr .84fr 1.08fr .78fr
      .88fr .88fr .94fr .98fr .98fr .76fr;
  }
  .nf-product-grid>div,
  .nf-product-grid>label{min-width:0}
  .nf-product-grid .nf-input-sm,
  .nf-product-grid .nf-input-money,
  .nf-product-grid .nf-input-date,
  .nf-product-grid .nf-reajuste{max-width:none}
}

/* v71 — unidade compacta e mais espaço para manter lote na mesma linha */
@media (min-width:1101px){
  .nf-product-grid .nf-unit-cell{
    padding-left:8px;
    padding-right:8px;
  }
  .nf-product-grid .nf-unit-cell strong{
    text-align:center;
  }
}
.nf-info-complementar-btn{height:30px;padding:0 10px;font-size:10px;white-space:nowrap;flex:0 0 auto}
.nf-observation-value{justify-content:space-between;gap:12px}
.nf-info-complementar-dialog{width:min(820px,96vw)}
.nf-info-complementar-body{padding:18px 22px;display:flex;flex-direction:column;gap:12px;background:#fff}
.nf-info-complementar-body section{border:1px solid #e8e0ef;border-radius:12px;overflow:hidden;background:#fbf9fd}
.nf-info-complementar-body section>small{display:block;padding:9px 12px;background:#f3edf9;color:#6d22c5;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.nf-info-text{padding:13px;color:#3f4252;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.nf-info-obs-list{display:flex;flex-direction:column}
.nf-info-obs-list>div{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:11px 13px;border-top:1px solid #eee8f2;font-size:11px}
.nf-info-obs-list>div:first-child{border-top:0}
.nf-info-obs-list b{color:#6d22c5}.nf-info-obs-list span{color:#3f4252;white-space:pre-wrap;word-break:break-word}
.nf-info-none{padding:24px;text-align:center;color:#80758d;border:1px dashed #d8cde1;border-radius:12px;font-size:11px}
.nf-info-complementar-footer{padding:14px 22px;border-top:1px solid #eee8f2;display:flex;justify-content:flex-end;background:#fff}
@media(max-width:700px){.nf-observation-value{align-items:flex-start;flex-direction:column}.nf-info-obs-list>div{grid-template-columns:1fr}.nf-info-complementar-dialog{width:96vw}}

/* v78 — CNPJ mais compacto, Empresa mais ampla e botão de informações separado */
.nf-info-grid{grid-template-columns:1fr .78fr 1.18fr 1.35fr auto;}
.nf-info-grid .nf-company-cell{min-width:0;display:flex;flex-direction:column;justify-content:center;}
.nf-info-grid .nf-company-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nf-info-complementar-cell{display:flex;align-items:center;justify-content:center;min-width:190px;}
.nf-info-complementar-btn{height:30px;padding:0 10px;font-size:10px;white-space:nowrap;}
@media(max-width:1100px){.nf-info-grid{grid-template-columns:1fr .8fr 1.2fr 1.2fr;}.nf-info-complementar-cell{grid-column:4;justify-content:flex-start;min-width:0;padding-top:2px;}}
@media(max-width:700px){.nf-info-grid{grid-template-columns:1fr;}.nf-info-complementar-cell{grid-column:auto;justify-content:flex-start;padding-top:0;}.nf-info-complementar-btn{width:auto;}}

/* v92 - Movimentação de Notas */
.nf-movement-filter .card-body{padding:14px 16px}.nf-movement-filter-grid{display:grid;grid-template-columns:205px 145px 145px minmax(260px,1fr) auto;gap:10px;align-items:end}.nf-movement-filter-grid>div{min-width:0}.nf-movement-filter-grid label{display:block;font-size:10px;font-weight:700;color:#72687c;margin-bottom:6px}.nf-movement-filter-grid input[type=date],.nf-movement-filter-search input,.nf-movement-filter-grid input[name=q]{height:38px;width:100%;box-sizing:border-box;border:1px solid #ded5e7;border-radius:9px;padding:0 10px;background:#fff;color:#2d3448}.nf-period-choice{height:38px;display:flex;align-items:center;gap:12px;padding:0 10px;border:1px solid #e5ddec;border-radius:9px;background:#faf8fc}.nf-period-choice>span{font-size:10px;font-weight:800;color:#665b70;margin-right:2px}.nf-period-choice label{display:flex;align-items:center;gap:5px;margin:0;font-size:10px;color:#4f4758;font-weight:600}.nf-period-choice input{accent-color:#7225d8}.nf-movement-filter-actions{display:flex;align-items:center;gap:8px}.nf-movement-filter-actions .btn{height:38px;white-space:nowrap}.nf-movement-search-btn{height:38px;white-space:nowrap}.nf-movement-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;padding:2px 2px 12px;border-bottom:1px solid #eee8f2}.nf-movement-summary>div{display:flex;align-items:baseline;gap:8px}.nf-movement-summary>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.nf-movement-summary strong{font-size:15px;color:#202844}.nf-movement-summary span{font-size:10px;color:#81778c}.nf-movement-list-wrap{overflow:auto}.nf-movement-list-table{min-width:1220px}.nf-movement-list-table th,.nf-movement-list-table td{white-space:nowrap}.nf-movement-list-table td:nth-child(5){max-width:260px;overflow:hidden;text-overflow:ellipsis}.nf-movement-list-table .nf-key{max-width:270px}.nf-item-count{display:inline-flex;min-width:24px;height:22px;padding:0 7px;align-items:center;justify-content:center;border-radius:999px;background:#f2eaff;color:#6d25c8;font-weight:800;font-size:10px}.nf-movement-detail-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px}.nf-movement-detail-title{display:flex;align-items:center;gap:16px;min-width:0}.nf-movement-detail-title>div span{font-size:10px;font-weight:800;letter-spacing:.05em;color:#7027d2}.nf-movement-detail-title h2{margin:4px 0 2px;font-size:22px;color:#18203c}.nf-movement-detail-title h2 em{font-style:normal;font-size:11px;font-weight:700;color:#7c7287;margin-left:7px}.nf-movement-detail-title p{margin:0;color:#746a7f;font-size:11px}.nf-movement-detail-total{min-width:150px;padding-left:20px;border-left:1px solid #e9e1f0;text-align:right}.nf-movement-detail-total small,.nf-movement-detail-total span{display:block;color:#81778c;font-size:9px}.nf-movement-detail-total strong{display:block;color:#6422c8;font-size:20px;margin:3px 0}.nf-movement-info{margin-top:12px}.nf-movement-info-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr 1fr 120px 120px}.nf-movement-info-grid>div{padding:13px 15px;border-right:1px solid #e9e2ef;min-width:0}.nf-movement-info-grid>div:last-child{border-right:0}.nf-movement-info-grid small{display:block;color:#857b90;font-size:9px;margin-bottom:5px}.nf-movement-info-grid strong{display:block;color:#30374b;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nf-movement-info-grid .nf-key-full{font-size:9px}.nf-movement-items{margin-top:12px}.nf-movement-items .card-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.nf-movement-items .card-head h3{margin:0;color:#202943;font-size:15px}.nf-movement-items .card-head p{margin:3px 0 0;color:#81778c;font-size:10px}.nf-movement-items-table{min-width:1250px}.nf-movement-items-table td,.nf-movement-items-table th{white-space:nowrap}.nf-movement-items-table td:nth-child(3){white-space:normal;min-width:230px}.nf-movement-xml-desc{display:block;margin-top:3px;color:#8a8093;font-size:9px}.nf-movement-detail .btn-danger{background:#fff;border-color:#ead9dc;color:#bd3c4d}.nf-movement-detail .btn-danger:hover{background:#fff5f6;border-color:#e7bdc3;color:#a52d3d}
@media(max-width:1100px){.nf-movement-filter-grid{grid-template-columns:1fr 1fr 1fr}.nf-movement-search{grid-column:1/-1}.nf-movement-filter-actions{grid-column:3}.nf-movement-search-btn{grid-column:auto}.nf-movement-info-grid{grid-template-columns:repeat(3,1fr)}.nf-movement-info-grid>div:nth-child(3){grid-column:1/-1;border-top:1px solid #e9e2ef}.nf-movement-detail-head{align-items:flex-start}.nf-movement-detail-total{margin-left:auto}}
@media(max-width:700px){.nf-movement-filter-grid{grid-template-columns:1fr}.nf-movement-search{grid-column:auto}.nf-movement-filter-actions{grid-column:auto}.nf-movement-filter-actions .btn{flex:1}.nf-movement-search-btn{grid-column:auto;width:auto}.nf-movement-summary{align-items:flex-start;flex-direction:column}.nf-movement-summary>div:last-child{align-items:flex-start}.nf-movement-detail-head{flex-direction:column}.nf-movement-detail-total{width:100%;padding:12px 0 0;border-left:0;border-top:1px solid #e9e1f0;text-align:left}.nf-movement-info-grid{grid-template-columns:1fr}.nf-movement-info-grid>div{border-right:0;border-bottom:1px solid #e9e2ef}.nf-movement-items .card-head{align-items:flex-start;flex-direction:column}}
/* Consulta de movimentação de estoque */
.stock-movement-page{display:flex;flex-direction:column;gap:16px}
.stock-movement-filter-card .card-body{padding:16px}
.stock-movement-filter-form{display:grid;grid-template-columns:1.25fr .9fr .95fr 1.55fr auto;gap:16px;align-items:end;background:#fafafd;border:1px solid #e7e1ef;border-radius:12px;padding:14px}
.stock-filter-group{min-width:0;padding-right:16px;border-right:1px solid #e6e0eb}.stock-filter-group:last-of-type{border-right:none}.stock-filter-group>label{display:block;font-size:12px;color:#5f5970;font-weight:600;margin-bottom:7px}.stock-inline{display:flex;gap:8px;align-items:center}.stock-inline>span{color:#8c8497;font-size:12px}.stock-inline label{font-size:13px;color:#2f2940;white-space:nowrap}.stock-inline input[type=checkbox]{accent-color:#6d22d9}.stock-filter-group input[type=date],.stock-filter-group select,.stock-product-input input{height:38px;border:1px solid #d9d0e4;border-radius:8px;background:#fff;padding:0 10px;font:inherit;color:#211b2e;width:100%;box-sizing:border-box}.stock-product-input{display:flex;gap:5px}.stock-product-input input{min-width:0}.stock-icon-btn{width:38px;height:38px;border-radius:8px;border:1px solid #d9d0e4;display:flex;align-items:center;justify-content:center;cursor:pointer}.stock-icon-btn.search{background:#6d22d9;color:#fff;border-color:#6d22d9}.stock-icon-btn.clear{background:#f0edf3;color:#4e4658}.stock-filter-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}.stock-filter-actions .btn{height:38px}.stock-movement-results .card-body{padding:16px}.stock-section-title h2{font-size:16px;margin:0 0 12px;color:#211b2e}.stock-movement-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #e5dfeb;border-radius:10px}.stock-movement-table th{background:#faf9fc;color:#6d6478;font-size:11px;text-transform:uppercase;letter-spacing:.03em;padding:11px 10px;border-bottom:1px solid #e5dfeb;white-space:nowrap}.stock-movement-table td{padding:10px;border-bottom:1px solid #eee9f2;font-size:12px;text-align:center}.stock-movement-table tr:last-child td{border-bottom:0}.stock-left{text-align:left!important}.stock-entry{color:#159447}.stock-exit{color:#dc3545}.stock-summary-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.stock-summary-card{border-radius:10px;padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stock-summary-card h3{grid-column:1/-1;margin:0;font-size:15px;color:#211b2e}.stock-summary-card div{display:flex;flex-direction:column;gap:4px}.stock-summary-card span{font-size:12px;color:#6f6778}.stock-summary-card b{font-size:16px;color:#211b2e}.stock-summary-card.entrada{background:#e9f7ef}.stock-summary-card.saida{background:#fdecea}.stock-summary-card.saldo{background:#eef3fb}.stock-summary-card .center{text-align:center;align-items:center}.stock-product-modal{position:fixed;inset:0;background:rgba(25,18,35,.45);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.stock-product-modal-box{width:min(620px,96vw);max-height:75vh;background:#fff;border-radius:16px;box-shadow:0 25px 70px rgba(0,0,0,.22);overflow:hidden}.stock-product-modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid #eee7f2}.stock-product-modal-head span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#6d22d9;font-weight:700}.stock-product-modal-head h3{margin:5px 0 0;font-size:18px;color:#211b2e}.stock-product-modal-head button{border:0;background:#f2eef6;color:#6d6573;width:34px;height:34px;border-radius:9px;font-size:22px;cursor:pointer}.stock-product-modal-list{padding:10px;max-height:55vh;overflow:auto}.stock-product-modal-list button,.stock-product-modal-list .stock-product-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:12px 14px;background:#fff;border:0;border-bottom:1px solid #f0ebf4;text-align:left;cursor:pointer;text-decoration:none;box-sizing:border-box}.stock-product-modal-list button:hover,.stock-product-modal-list .stock-product-option:hover{background:#faf7fc}.stock-product-modal-list strong{font-size:13px;color:#211b2e}.stock-product-modal-list small{font-size:11px;color:#7a7182;margin-top:4px}
@media(max-width:1100px){.stock-movement-filter-form{grid-template-columns:1fr 1fr}.stock-filter-group{border-right:0}.stock-filter-actions{grid-column:1/-1}.stock-summary-grid{grid-template-columns:1fr}.stock-movement-results{overflow:auto}.stock-movement-table{min-width:950px}}
/* v102 - consulta de movimentacao: alinhamento refinado */
.stock-movement-filter-form{grid-template-columns:minmax(285px,1.45fr) minmax(185px,.9fr) minmax(190px,1fr) minmax(330px,1.7fr) auto;gap:14px;align-items:end}
.stock-filter-group{min-width:0}
.stock-filter-group.period .stock-inline{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}
.stock-filter-group.types .stock-inline{height:38px;display:flex;gap:16px;align-items:center;white-space:nowrap}
.stock-filter-group.types .stock-inline label{display:inline-flex;align-items:center;gap:5px}
.stock-filter-group.stock-product-group{min-width:0}
.stock-product-input{width:100%}
.stock-product-input input{min-width:0;flex:1}
.stock-filter-actions{justify-content:flex-end}
.stock-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.stock-section-title h2{margin:0}
.stock-section-title>span{font-size:12px;color:#6d22d9;font-weight:600}
@media(max-width:1250px){.stock-movement-filter-form{grid-template-columns:1.35fr .9fr 1fr 1.5fr}.stock-filter-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:900px){.stock-movement-filter-form{grid-template-columns:1fr 1fr}.stock-filter-actions{grid-column:1/-1}.stock-filter-group.period,.stock-filter-group.stock-product-group{grid-column:1/-1}}
/* v105 - consulta de movimentacao: cabecalhos e controles alinhados */
.stock-movement-filter-form{
  grid-template-columns:minmax(290px,1.45fr) minmax(185px,.9fr) minmax(190px,1fr) minmax(330px,1.7fr) auto;
  gap:14px;
  align-items:stretch;
}
.stock-filter-group{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-right:16px;
  border-right:1px solid #e6e0eb;
}
.stock-filter-group>label{
  display:flex;
  align-items:flex-start;
  height:18px;
  margin:0 0 7px;
  font-size:12px;
  line-height:18px;
  color:#5f5970;
  font-weight:600;
}
.stock-inline{height:38px;display:flex;align-items:center;gap:8px}
.stock-filter-group.period .stock-inline{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;height:38px}
.stock-filter-group.types .stock-inline{height:38px;display:flex;align-items:center;gap:18px;white-space:nowrap}
.stock-filter-group.types .stock-inline label{display:inline-flex;align-items:center;gap:6px;height:38px;margin:0;font-size:13px;line-height:38px;white-space:nowrap}
.stock-filter-group input[type=date],
.stock-filter-group select,
.stock-product-input input{height:38px;box-sizing:border-box}
.stock-product-input{height:38px;width:100%;display:flex;gap:6px}
.stock-product-input input{min-width:0;flex:1}
.stock-icon-btn{flex:0 0 38px;height:38px}
.stock-filter-actions{
  align-self:end;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  height:38px;
  white-space:nowrap;
}
.stock-filter-actions .btn{height:38px;box-sizing:border-box}
@media(max-width:1250px){
  .stock-movement-filter-form{grid-template-columns:1.35fr .9fr 1fr 1.5fr}
  .stock-filter-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:900px){
  .stock-movement-filter-form{grid-template-columns:1fr 1fr}
  .stock-filter-actions{grid-column:1/-1;justify-content:flex-end}
  .stock-filter-group.period,.stock-filter-group.stock-product-group{grid-column:1/-1}
}

/* Contas a Pagar - Avance */
.ap-page{display:flex;flex-direction:column;gap:14px}.ap-toolbar .card-body{padding:14px 16px}.ap-filter-grid{display:grid;grid-template-columns:1.15fr .85fr 150px 150px minmax(260px,1.35fr) auto;gap:10px;align-items:end}.ap-field{min-width:0}.ap-field label{display:block;font-size:10px;font-weight:700;color:#72687c;margin-bottom:6px}.ap-field input,.ap-field select{width:100%;height:38px;box-sizing:border-box;border:1px solid #ded5e7;border-radius:9px;padding:0 10px;background:#fff;color:#2d3448;font-size:12px}.ap-filter-actions{display:flex;gap:8px;align-items:end;white-space:nowrap}.ap-filter-actions .btn{height:38px}.ap-status-filter{display:flex;align-items:center;gap:14px;margin-top:12px;padding-top:11px;border-top:1px solid #eee8f2;flex-wrap:wrap}.ap-status-filter>span{font-size:10px;font-weight:800;color:#665b70;margin-right:3px}.ap-status-filter label{font-size:10px;color:#4f4758;display:flex;align-items:center;gap:5px}.ap-status-filter input{accent-color:#7225d8}.ap-list-card .card-head{display:flex;align-items:center;justify-content:space-between}.ap-list-card .card-head h3{margin:0;color:#202943;font-size:15px}.ap-list-card .card-head small{color:#81778c;font-size:10px}.ap-table{min-width:1350px}.ap-table th,.ap-table td{white-space:nowrap}.ap-table th{font-size:9px}.ap-table td{font-size:11px}.ap-actions{display:flex;gap:5px}.ap-totalizers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.ap-totalizers>div{border:1px solid #ebe3f0;border-radius:10px;padding:12px 14px;background:#fbfafd}.ap-totalizers span{display:block;color:#81778c;font-size:10px;margin-bottom:4px}.ap-totalizers strong{color:#202943;font-size:16px}.ap-form-page{display:flex;flex-direction:column;gap:14px}.ap-main-card .card-body{padding:18px}.ap-main-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px}.ap-main-grid .field label,.ap-details-grid .field label{display:block;font-size:10px;color:#72687c;margin-bottom:6px}.ap-main-grid .field input,.ap-main-grid .field select,.ap-details-grid .field input,.ap-details-grid .field select,.ap-details-grid .field textarea,.ap-payment-grid .field input,.ap-payment-grid .field select,.ap-repeat-box input,.ap-repeat-box select{width:100%;box-sizing:border-box;border:1px solid #ded5e7;border-radius:9px;background:#fff;color:#2d3448;padding:9px 10px;font-size:12px}.ap-main-grid .field small,.ap-details-grid .field small{display:block;margin-top:5px;font-size:9px}.ap-main-grid .field small a,.ap-details-grid .field small a{color:#6f27cf;text-decoration:none}.ap-radio{display:flex;gap:15px;height:38px;align-items:center}.ap-radio label{font-size:11px!important;color:#4f4758!important;margin:0!important;display:flex;align-items:center;gap:5px}.ap-radio input{accent-color:#7225d8}.ap-money-input{height:38px;border:1px solid #ded5e7;border-radius:9px;display:flex;align-items:center;overflow:hidden;background:#fff}.ap-money-input span{height:100%;display:flex;align-items:center;padding:0 9px;border-right:1px solid #eee8f2;font-weight:700;color:#555064;font-size:11px}.ap-money-input input{border:0!important;outline:0;width:100%;height:100%;padding:0 9px!important}.ap-money-input b{padding:0 10px;color:#8a8093;font-size:10px;font-weight:600;white-space:nowrap}.ap-tabs-card{overflow:hidden}.ap-tabs{display:flex;gap:0;padding:0 18px;border-bottom:1px solid #ebe3f0;overflow:auto}.ap-tab{border:0;background:transparent;padding:14px 13px 11px;font-size:11px;color:#4f4758;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.ap-tab.active{color:#6f27cf;border-bottom-color:#6f27cf;font-weight:700}.ap-tab-panel{display:none;padding:18px}.ap-tab-panel.active{display:block}.ap-details-grid{grid-template-columns:1fr 1fr;gap:14px}.ap-details-grid .field textarea{resize:vertical;min-height:85px}.ap-repeat-box{border:1px solid #ebe3f0;border-radius:10px;padding:16px;background:#fcfbfd}.ap-repeat-intro{font-size:11px;color:#5d5368;margin-bottom:14px}.ap-repeat-box .form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ap-repeat-box input:disabled{background:#f4f1f7;color:#9a91a2}.ap-payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end}.ap-payment-grid>div:not(.field){border:1px solid #ebe3f0;border-radius:9px;padding:11px 12px;background:#fbfafd}.ap-payment-grid>div span{display:block;color:#81778c;font-size:9px;margin-bottom:5px}.ap-payment-grid>div strong{font-size:13px;color:#202943}.ap-placeholder{min-height:150px;border:1px dashed #dcd1e5;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#81778c;text-align:center}.ap-placeholder i{font-size:22px;color:#9b68d5}.ap-placeholder strong{font-size:13px;color:#4f4758}.ap-placeholder span{font-size:10px}.ap-form-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 0 4px}.ap-form-actions .btn{min-width:120px}.badge.blue{background:#eaf1ff;color:#3d73cf}.badge.yellow{background:#fff4d6;color:#a46b00}
@media(max-width:1250px){.ap-filter-grid{grid-template-columns:1fr 1fr 1fr}.ap-search{grid-column:1/-1}.ap-filter-actions{grid-column:1/-1;justify-content:flex-end}.ap-main-grid{grid-template-columns:1fr 1fr}.ap-repeat-box .form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:750px){.ap-filter-grid,.ap-main-grid,.ap-details-grid,.ap-payment-grid,.ap-repeat-box .form-grid{grid-template-columns:1fr}.ap-filter-actions{justify-content:stretch}.ap-filter-actions .btn{flex:1}.ap-totalizers{grid-template-columns:1fr}.ap-tabs{padding:0 8px}.ap-tab{padding-left:9px;padding-right:9px}}
/* Contas a Pagar - v112 */
.ap-filter-grid-extra{grid-template-columns:repeat(4,1fr);margin-top:10px}.ap-filter-card{border-radius:14px}.ap-filter-grid-main{grid-template-columns:1.05fr .85fr 145px 145px minmax(240px,1.35fr) auto}.ap-status-filter{gap:16px}.ap-list-card .card-head{padding:14px 16px}.ap-table{min-width:1500px}.ap-table th,.ap-table td{vertical-align:middle}.ap-table td{font-size:10.5px}.ap-table th{font-size:9px}.ap-status-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:700;white-space:nowrap}.ap-pill-HOJE{background:#fff0f0;color:#c23b45}.ap-pill-AMANHA{background:#fff6e4;color:#b27600}.ap-pill-AVENCER{background:#edf9f1;color:#26784b}.ap-pill-ATRASADA{background:#fff1d9;color:#a66300}.ap-pill-PARCIAL{background:#eef3ff;color:#4b6fb2}.ap-pill-PAGA{background:#e9f6ef;color:#2f7d53}.ap-pill-CANCELADA{background:#f1f1f3;color:#77717f}.ap-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.ap-summary-card{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid #ebe3f0;border-radius:11px;background:#fff}.ap-summary-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#f2ecfb;color:#7225d8}.ap-summary-card span,.ap-summary-card small{display:block;color:#81778c;font-size:9px}.ap-summary-card strong{display:block;color:#202943;font-size:14px;margin:2px 0}.ap-summary-card small{font-size:8px}.ap-s-HOJE .ap-summary-icon{color:#c23b45;background:#fff0f0}.ap-s-AMANHA .ap-summary-icon{color:#b27600;background:#fff6e4}.ap-s-AVENCER .ap-summary-icon,.ap-s-PAGA .ap-summary-icon{color:#26784b;background:#edf9f1}.ap-s-ATRASADA .ap-summary-icon{color:#a66300;background:#fff1d9}.ap-s-PARCIAL .ap-summary-icon{color:#4b6fb2;background:#eef3ff}.ap-s-CANCELADA .ap-summary-icon{color:#77717f;background:#f1f1f3}.ap-details-grid{grid-template-columns:repeat(3,1fr);gap:12px}.ap-details-grid .field.full{grid-column:1/-1}.ap-repeat-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ap-repeat-actions{display:flex;justify-content:flex-end;margin-top:12px}.ap-repeat-preview{margin-top:12px;border:1px solid #ebe3f0;border-radius:9px;min-height:54px;background:#fcfbfd;padding:8px;color:#81778c;font-size:10px}.ap-preview-table>div{display:grid;grid-template-columns:110px 160px 1fr;padding:7px 8px;border-bottom:1px solid #eee8f2}.ap-preview-table>div:first-child{background:#f7f3fa}.ap-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ap-panel-head strong{display:block;color:#202943;font-size:13px}.ap-panel-head small{display:block;color:#81778c;font-size:9px;margin-top:2px}.ap-payment-resume{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.ap-payment-resume>div{border:1px solid #ebe3f0;border-radius:9px;padding:10px 12px;background:#fbfafd}.ap-payment-resume span{display:block;color:#81778c;font-size:9px;margin-bottom:4px}.ap-payment-resume strong{font-size:13px;color:#202943}.ap-subtable{width:100%;border-collapse:collapse}.ap-subtable th,.ap-subtable td{padding:9px 10px;border-bottom:1px solid #eee8f2;text-align:left;font-size:10px}.ap-subtable th{font-size:9px;color:#72687c;background:#faf8fc}.ap-empty{text-align:center!important;color:#91889b;padding:25px!important}.ap-instruction-grid{grid-template-columns:repeat(3,1fr)}.ap-inst-boleto,.ap-inst-pix,.ap-inst-trans{display:none}.ap-check-field{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.ap-toggle input{display:none}.ap-toggle span{display:block;width:38px;height:21px;background:#aaa;border-radius:20px;position:relative;cursor:pointer}.ap-toggle span:after{content:"";position:absolute;width:17px;height:17px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.15s}.ap-toggle input:checked+span{background:#7225d8}.ap-toggle input:checked+span:after{left:19px}.ap-modal{display:none;position:fixed;inset:0;z-index:1200}.ap-modal.open{display:block}.ap-modal-backdrop{position:absolute;inset:0;background:rgba(39,28,54,.45)}.ap-modal-dialog{position:relative;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;margin:24px auto;background:#fff;border-radius:14px;box-shadow:0 18px 55px rgba(40,24,57,.25)}.ap-modal-small{width:min(420px,calc(100vw - 32px))}.ap-modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #eee8f2}.ap-modal-head strong{display:block;font-size:14px;color:#202943}.ap-modal-head small{display:block;color:#81778c;font-size:9px;margin-top:3px}.ap-modal-close{border:0;background:#f4eff8;color:#70657b;width:32px;height:32px;border-radius:9px;cursor:pointer}.ap-modal-body{padding:18px}.ap-modal-grid{grid-template-columns:repeat(3,1fr);gap:12px}.ap-modal-grid .field.full{grid-column:1/-1}.ap-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #eee8f2;background:#fcfbfd}.ap-form-page .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.ap-form-page .form-actions .btn{min-width:120px}
@media(max-width:1250px){.ap-filter-grid-main{grid-template-columns:1fr 1fr 1fr}.ap-filter-grid-main .ap-search{grid-column:1/-1}.ap-filter-actions{grid-column:1/-1;justify-content:flex-end}.ap-filter-grid-extra,.ap-summary-grid{grid-template-columns:1fr 1fr}.ap-details-grid,.ap-instruction-grid{grid-template-columns:1fr 1fr}.ap-repeat-form-grid{grid-template-columns:1fr 1fr}.ap-payment-resume{grid-template-columns:1fr 1fr}}
@media(max-width:750px){.ap-filter-grid-main,.ap-filter-grid-extra,.ap-summary-grid,.ap-details-grid,.ap-instruction-grid,.ap-repeat-form-grid,.ap-payment-resume,.ap-modal-grid{grid-template-columns:1fr}.ap-filter-actions{justify-content:stretch}.ap-filter-actions .btn{flex:1}.ap-table{min-width:1200px}.ap-modal-dialog{margin:10px auto;max-height:calc(100vh - 20px)}}
/* v113 - organização dos campos principais de Contas a Pagar */
.ap-main-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.ap-main-grid > .ap-type-field{grid-column:span 2}
.ap-main-grid > .field:nth-child(2){grid-column:span 5}
.ap-main-grid > .field:nth-child(3){grid-column:span 5}
.ap-main-grid > .field:nth-child(4){grid-column:span 5}
.ap-main-grid > .field:nth-child(5){grid-column:span 3}
.ap-main-grid > .field:nth-child(6){grid-column:span 4}
.ap-main-grid > .field:nth-child(7){grid-column:span 4}
.ap-main-grid > .field:nth-child(8){grid-column:span 4}
.ap-main-grid > .field:nth-child(9){grid-column:span 4}
.ap-main-grid > .field:nth-child(10){grid-column:span 4}
.ap-main-grid .field{min-width:0}
.ap-main-grid .ap-money-input{width:100%;box-sizing:border-box}
@media(max-width:1250px){
  .ap-main-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .ap-main-grid > .field{grid-column:span 3!important}
  .ap-main-grid > .ap-type-field{grid-column:span 2!important}
  .ap-main-grid > .field:nth-child(2){grid-column:span 4!important}
}
@media(max-width:750px){
  .ap-main-grid{grid-template-columns:1fr}
  .ap-main-grid > .field,.ap-main-grid > .ap-type-field{grid-column:1/-1!important}
}

/* v114 - Contas a Pagar: campos compactos e organizados */
.ap-details-grid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:12px !important;align-items:start;}
.ap-details-grid .field{min-width:0;}
.ap-details-grid .field.full{grid-column:1/-1 !important;}
.ap-repeat-form-grid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:12px !important;align-items:start;}
.ap-repeat-form-grid .field{min-width:0;}
.ap-repeat-actions{margin-top:12px;}
@media(max-width:1100px){.ap-details-grid,.ap-repeat-form-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media(max-width:700px){.ap-details-grid,.ap-repeat-form-grid{grid-template-columns:1fr !important;}}
/* v115 - refinamento Contas a Pagar: detalhes e repetição */
.ap-details-grid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:12px !important;align-items:start !important;}
.ap-details-grid .field{min-width:0 !important;grid-column:auto !important;}
.ap-details-grid .field.full{grid-column:span 2 !important;}
.ap-repeat-form-grid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:12px !important;align-items:end !important;}
.ap-repeat-form-grid .field{min-width:0 !important;}
.ap-repeat-intro{display:flex !important;flex-direction:column !important;gap:3px !important;margin-bottom:14px !important;}
.ap-repeat-intro strong{font-size:12px !important;color:#202943 !important;}
.ap-repeat-intro span{font-size:10px !important;color:#81778c !important;}
.ap-repeat-actions{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;margin-top:12px !important;padding-top:2px !important;}
.ap-repeat-actions:before{content:'Configure os campos e clique em “Simular parcelas”.';font-size:10px;color:#81778c;}
.ap-repeat-preview{margin-top:12px !important;}
@media(max-width:1100px){.ap-details-grid,.ap-repeat-form-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.ap-details-grid .field.full{grid-column:1/-1 !important}}
@media(max-width:700px){.ap-details-grid,.ap-repeat-form-grid{grid-template-columns:1fr !important}.ap-details-grid .field.full{grid-column:1/-1 !important}.ap-repeat-actions{align-items:stretch !important;flex-direction:column !important}.ap-repeat-actions:before{order:2}.ap-repeat-actions .btn{order:1;align-self:flex-end}}

/* v116 - Frente de Caixa / Vendas */
.pos-page{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:calc(100vh - 130px);background:#f4f6f8;border:1px solid #e4e7ec;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(33,23,55,.05)}
.pos-main{min-width:0;padding:0;background:#f5f7f9;display:flex;flex-direction:column}
.pos-topbar{height:64px;background:#3c6389;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.16)}
.pos-cash{display:flex;align-items:center;gap:10px}.pos-cash>i{font-size:20px}.pos-cash small{display:block;opacity:.75;font-size:11px}.pos-cash strong{font-size:15px}.pos-cash-status{margin-left:4px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:700}.pos-cash-status.open{background:#d9f5e5;color:#167344}.pos-cash-status.closed{background:#ffe2e2;color:#a32121}.pos-order-label{font-size:12px;opacity:.9}.pos-order-label strong{font-size:15px}
.pos-customer{margin:10px 14px 8px}.pos-customer-btn{width:100%;height:42px;border:0;border-radius:9px;background:#3c6389;color:#fff;display:flex;align-items:center;gap:10px;padding:0 16px;font-size:14px;cursor:pointer;text-align:left}.pos-customer-btn:hover{filter:brightness(1.04)}.pos-customer-selected{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #dfe4eb;border-radius:9px;padding:8px 12px;margin-top:6px}.pos-customer-selected b{font-size:12px}.pos-customer-selected small{display:block;color:#778093;font-size:10px;margin-top:2px}.pos-customer-selected button{border:0;background:transparent;color:#8d789d;cursor:pointer}
.pos-product-search{display:grid;grid-template-columns:minmax(0,1fr) 90px 46px;gap:8px;margin:0 14px 10px}.pos-product-search input{height:48px;border:1px solid #d8dde5;border-radius:9px;background:#fff;padding:0 14px;color:#1d2940;font-size:14px;outline:none}.pos-product-search input:focus{border-color:#7430d9;box-shadow:0 0 0 3px rgba(116,48,217,.08)}.pos-product-search button{height:48px}
.pos-cart-area{flex:1;min-height:0;overflow:auto;padding:0 14px 14px}.pos-empty{min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8a94a5;background-image:linear-gradient(30deg,rgba(61,99,137,.045) 12%,transparent 12.5%,transparent 87%,rgba(61,99,137,.045) 87.5%,rgba(61,99,137,.045)),linear-gradient(150deg,rgba(61,99,137,.045) 12%,transparent 12.5%,transparent 87%,rgba(61,99,137,.045) 87.5%,rgba(61,99,137,.045));background-size:38px 22px;border:1px dashed #d5dbe4;border-radius:10px}.pos-empty i{font-size:34px;margin-bottom:10px;opacity:.5}.pos-empty strong{color:#5e6878;font-size:15px}.pos-empty span{font-size:12px;margin-top:5px}.pos-cart{display:flex;flex-direction:column;gap:7px}.pos-item{display:grid;grid-template-columns:34px minmax(0,1fr) 108px 110px 34px;align-items:center;gap:10px;background:#fff;border:1px solid #e0e5ec;border-radius:9px;padding:10px 12px}.pos-item-number{width:26px;height:26px;border-radius:7px;background:#eee8fb;color:#6725c9;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.pos-item-info{min-width:0}.pos-item-info strong{display:block;font-size:12px;color:#28344a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-item-info small{display:block;color:#8a94a5;font-size:10px;margin-top:3px}.pos-item-qty{display:flex;align-items:center;justify-content:center;border:1px solid #dce1e8;border-radius:7px;overflow:hidden;height:32px}.pos-item-qty button{width:30px;height:100%;border:0;background:#f7f8fa;cursor:pointer;color:#5f6876;font-weight:700}.pos-item-qty span{width:38px;text-align:center;font-size:12px}.pos-item-price{text-align:right;font-weight:700;font-size:13px;color:#242e40}.pos-item-remove{border:0;background:transparent;color:#9b91a4;cursor:pointer}.pos-item-remove:hover{color:#c53434}
.pos-side{background:#fff;border-left:1px solid #e1e5eb;display:flex;flex-direction:column;min-width:0}.pos-side-head{padding:18px 16px;border-bottom:1px solid #e6e9ee;display:flex;align-items:center;justify-content:space-between}.pos-side-head small{color:#8791a0;font-size:10px}.pos-side-head h2{margin:2px 0 0;color:#18243a;font-size:18px}.pos-client-badge{font-size:10px;padding:5px 8px;border-radius:999px;background:#f0eaf9;color:#6a2bd0;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-side-items{flex:1;overflow:auto;padding:12px 16px}.pos-side-items>div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #f0f1f4;font-size:11px}.pos-side-items span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#596477}.pos-side-items strong{white-space:nowrap;color:#273247}.pos-totals{padding:14px 16px 10px;border-top:1px solid #e6e9ee}.pos-totals>div{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:11px;color:#7d8796}.pos-totals .economy{color:#159451}.pos-total{margin-top:6px;padding-top:10px!important;border-top:1px solid #dfe3e8;color:#172136!important;font-size:17px!important}.pos-total strong{font-size:21px}.pos-finish{margin:0 16px 16px;height:48px;border:0;border-radius:9px;background:#6ec2df;color:#fff;font-weight:700;cursor:pointer}.pos-finish:hover{filter:brightness(.97)}
.pos-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.pos-modal[hidden]{display:none}.pos-modal-backdrop{position:absolute;inset:0;background:rgba(29,23,43,.52)}.pos-modal-card{position:relative;width:min(620px,calc(100vw - 32px));max-height:80vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 20px 55px rgba(31,21,47,.25);padding:22px}.pos-modal-close{position:absolute;right:16px;top:16px;width:34px;height:34px;border:0;border-radius:8px;background:#f2edf7;color:#7a6e83;cursor:pointer}.pos-modal-kicker{font-size:10px;font-weight:800;letter-spacing:.06em;color:#7430d9}.pos-modal-card h3{margin:5px 0 16px;font-size:18px;color:#252038}.pos-result{width:100%;display:block;text-align:left;border:0;border-bottom:1px solid #ece9ef;background:#fff;padding:12px 10px;cursor:pointer}.pos-result:hover{background:#faf6ff}.pos-result strong{display:block;color:#302b3c;font-size:12px}.pos-result small{display:block;color:#82788b;font-size:10px;margin-top:4px}.pos-modal-search{display:grid;grid-template-columns:1fr 44px;gap:8px;margin-bottom:10px}.pos-modal-search input{height:42px;border:1px solid #ddd7e5;border-radius:8px;padding:0 12px}.pos-no-result{padding:20px;text-align:center;color:#8a8390;font-size:12px}.pos-payment-card{width:min(560px,calc(100vw - 32px))}.pos-payment-total{display:flex;justify-content:space-between;align-items:center;background:#f8f6fb;border:1px solid #e8e2ee;border-radius:9px;padding:12px;margin-bottom:14px;font-size:12px;color:#6d6475}.pos-payment-total strong{font-size:20px;color:#5f21bd}.pos-payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pos-payment-grid label{font-size:11px;color:#5e5667}.pos-payment-grid input{display:block;width:100%;box-sizing:border-box;margin-top:5px;height:40px;border:1px solid #ddd7e5;border-radius:8px;padding:0 10px;text-align:right}.pos-payment-balance{display:grid;grid-template-columns:1fr auto;gap:5px 10px;margin-top:14px;padding:10px;border-radius:8px;background:#f7f7f9;font-size:11px;color:#6c6672}.pos-payment-balance strong{text-align:right}.pos-payment-confirm{width:100%;margin-top:14px;height:44px}
@media(max-width:1050px){.pos-page{grid-template-columns:minmax(0,1fr) 320px}.pos-item{grid-template-columns:30px minmax(0,1fr) 95px 90px 30px}}
@media(max-width:800px){.pos-page{grid-template-columns:1fr}.pos-side{border-left:0;border-top:1px solid #e1e5eb;min-height:330px}.pos-side-items{max-height:150px}.pos-topbar{padding:0 14px}.pos-product-search{grid-template-columns:minmax(0,1fr) 72px 44px}.pos-item{grid-template-columns:28px minmax(0,1fr) 86px 80px 26px}.pos-payment-grid{grid-template-columns:1fr}}

/* v117 - Frente de Caixa em janela própria, seguindo a referência visual do PDV */
html:has(body.pos-standalone-body), body.pos-standalone-body{margin:0 !important;padding:0 !important;width:100%;height:100%;overflow:hidden;background:#f3f5f7 !important;color:#18243a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.pos-standalone-body .pos-standalone{position:fixed;inset:0;width:100vw;height:100vh;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none;display:grid;grid-template-columns:minmax(0,1fr) 320px;background:#eef1f4;overflow:hidden}
body.pos-standalone-body .pos-main{height:100vh;min-height:0;background:#f5f7f9;position:relative}
body.pos-standalone-body .pos-topbar{height:60px;box-sizing:border-box;background:#5a2aa8;padding:0 24px 0 0;border-bottom:0;position:relative}
body.pos-standalone-body .pos-topbar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:318px;background:#c4e6f1;clip-path:polygon(0 0,100% 0,86% 100%,0 100%);z-index:0}
body.pos-standalone-body .pos-cash{position:relative;z-index:1;width:318px;height:60px;box-sizing:border-box;padding:0 18px 0 20px;gap:12px;color:#fff}
body.pos-standalone-body .pos-cash>i{display:none}
body.pos-standalone-body .pos-cash:before{content:"";width:124px;height:44px;background:url('/assets/avance-logo.png') left center/contain no-repeat;flex:0 0 124px}
body.pos-standalone-body .pos-cash small{font-size:12px;line-height:1.1;color:#fff;opacity:.9}
body.pos-standalone-body .pos-cash strong{font-size:16px;line-height:1.1;color:#fff;display:block}
body.pos-standalone-body .pos-cash-status{display:none}
body.pos-standalone-body .pos-cash:after{content:""}
body.pos-standalone-body .pos-order-label{position:absolute;right:24px;top:0;height:60px;display:flex;align-items:center;color:#fff;font-size:14px;opacity:1}
body.pos-standalone-body .pos-order-label strong{font-size:14px;margin-left:4px}
body.pos-standalone-body .pos-topbar:after{content:"\f023   \f573   \f543   \f142";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:330px;top:0;height:60px;display:flex;align-items:center;gap:0;color:#fff;font-size:15px;letter-spacing:19px;white-space:pre;pointer-events:none}
/* v149 - barra de cliente fica abaixo do cabeçalho, sem sobrepor logo/caixa */
body.pos-standalone-body .pos-customer{margin:10px 14px 8px 350px;height:46px}
body.pos-standalone-body .pos-customer-btn{height:46px;border-radius:8px;background:#3c6389;padding:0 17px;font-size:14px;box-shadow:none}
body.pos-standalone-body .pos-customer-btn i{font-size:18px}
body.pos-standalone-body .pos-product-search{grid-template-columns:minmax(0,1fr) 90px;margin:0 14px 10px;gap:8px}
body.pos-standalone-body .pos-product-search input{height:48px;border:1px solid #d7dce4;border-radius:9px;background:#fff;font-size:15px}
body.pos-standalone-body .pos-product-search button{display:none}
body.pos-standalone-body .pos-cart-area{padding:0 14px 14px;background-image:linear-gradient(30deg,rgba(91,43,168,.035) 12%,transparent 12.5%,transparent 87%,rgba(91,43,168,.035) 87.5%),linear-gradient(150deg,rgba(91,43,168,.035) 12%,transparent 12.5%,transparent 87%,rgba(91,43,168,.035) 87.5%);background-size:38px 22px}
body.pos-standalone-body .pos-empty{height:calc(100vh - 140px);min-height:300px;border:0;border-radius:0;background:transparent;background-image:none;color:#a0a7b1}
body.pos-standalone-body .pos-empty i,.pos-standalone-body .pos-empty strong,.pos-standalone-body .pos-empty span{display:none}
body.pos-standalone-body .pos-side{height:100vh;border-left:1px solid #dddfe3;background:#fff}
body.pos-standalone-body .pos-side-head{height:72px;box-sizing:border-box;padding:0 14px;border-bottom:1px solid #e1e3e6;align-items:center}
body.pos-standalone-body .pos-side-head small{display:none}
body.pos-standalone-body .pos-side-head h2{font-size:15px;margin:0;font-weight:700;color:#1e2737;border-bottom:3px solid #5a2aa8;height:72px;display:flex;align-items:center;padding:0 0 0 0}
body.pos-standalone-body .pos-client-badge{display:none}
body.pos-standalone-body .pos-side-items{padding:10px 12px}
body.pos-standalone-body .pos-totals{padding:12px 14px 8px}
body.pos-standalone-body .pos-total{font-size:22px!important;border-top:0;padding-top:6px!important}
body.pos-standalone-body .pos-total strong{font-size:23px}
body.pos-standalone-body .pos-finish{height:42px;margin:0 14px 12px;background:#72c6e3;border-radius:8px}
body.pos-standalone-body .pos-item{border-radius:7px}
@media(max-width:900px){body.pos-standalone-body .pos-standalone{grid-template-columns:minmax(0,1fr) 290px}body.pos-standalone-body .pos-topbar:before,body.pos-standalone-body .pos-cash{width:250px}body.pos-standalone-body .pos-cash:before{width:100px}body.pos-standalone-body .pos-topbar:after{left:260px;letter-spacing:10px}}


/* v117 - barra superior do PDV */
body.pos-standalone-body .pos-topbar:after{display:none!important}
body.pos-standalone-body .pos-cash{position:relative;z-index:2}
body.pos-standalone-body .pos-cash-info{display:flex;flex-direction:column;justify-content:center;line-height:1.05;margin-left:122px;white-space:nowrap}
body.pos-standalone-body .pos-cash-info small{font-size:12px!important;color:#fff!important;opacity:.9!important}
body.pos-standalone-body .pos-cash-info strong{font-size:16px!important;color:#fff!important}
body.pos-standalone-body .pos-top-tools{position:absolute;left:328px;top:0;height:60px;display:flex;align-items:center;gap:5px;z-index:3}
body.pos-standalone-body .pos-top-tools button{width:30px;height:36px;border:0;background:transparent;color:#fff;cursor:pointer;font-size:15px;border-radius:5px}
body.pos-standalone-body .pos-top-tools button:hover{background:rgba(255,255,255,.12)}
body.pos-standalone-body .pos-order-label{font-size:14px}
body.pos-standalone-body .pos-order-label strong{font-weight:400}
@media(max-width:900px){body.pos-standalone-body .pos-top-tools{left:260px}body.pos-standalone-body .pos-cash-info{margin-left:95px}}


/* v118 - Frente de Caixa: proporções e composição alinhadas à referência enviada */
html:has(body.pos-standalone-body), body.pos-standalone-body{background:#f3f5f7!important}
body.pos-standalone-body .pos-standalone{grid-template-columns:minmax(0,1fr) 305px}
body.pos-standalone-body .pos-main{background:#f5f7f9}
body.pos-standalone-body .pos-topbar{height:38px;background:#4e78a3;padding:0;}
body.pos-standalone-body .pos-topbar:before{width:190px;background:#a9dceb;clip-path:polygon(0 0,100% 0,82% 100%,0 100%)}
body.pos-standalone-body .pos-cash{width:190px;height:38px;padding:0 8px;gap:7px}
body.pos-standalone-body .pos-cash:before{width:82px;height:32px;flex:0 0 82px}
body.pos-standalone-body .pos-cash-info{margin-left:0;position:absolute;left:100px;top:0;height:38px;justify-content:center}
body.pos-standalone-body .pos-cash-info small{font-size:8px!important;line-height:1!important}
body.pos-standalone-body .pos-cash-info strong{font-size:10px!important;line-height:1.05!important}
body.pos-standalone-body .pos-top-tools{left:202px;top:0;height:38px;gap:1px}
body.pos-standalone-body .pos-top-tools button{width:25px;height:30px;font-size:11px}
body.pos-standalone-body .pos-order-label{right:12px;height:38px;font-size:9px}
body.pos-standalone-body .pos-order-label strong{font-size:9px;margin-left:2px}
body.pos-standalone-body .pos-customer{margin:4px 8px 5px;height:27px}
body.pos-standalone-body .pos-customer-btn{height:27px;width:100%;border-radius:6px;background:#4e78a3;padding:0 9px;font-size:9px;display:flex;align-items:center;justify-content:flex-start;position:relative}
body.pos-standalone-body .pos-customer-btn i{font-size:11px}
body.pos-standalone-body .pos-customer-left-icon{margin-right:7px}
body.pos-standalone-body .pos-customer-right-icon{margin-left:auto}
body.pos-standalone-body .pos-product-search{grid-template-columns:minmax(0,1fr) 52px;margin:0 8px 5px;gap:7px}
body.pos-standalone-body .pos-product-search input{height:30px;box-sizing:border-box;border:1px solid #d6dbe3;border-radius:6px;background:#fff;font-size:9px;padding:0 10px}
body.pos-standalone-body .pos-product-search input[type=number]{text-align:center;padding:0 4px}
body.pos-standalone-body .pos-cart-area{padding:0 8px 8px;background-image:linear-gradient(30deg,rgba(78,120,163,.035) 12%,transparent 12.5%,transparent 87%,rgba(78,120,163,.035) 87.5%),linear-gradient(150deg,rgba(78,120,163,.035) 12%,transparent 12.5%,transparent 87%,rgba(78,120,163,.035) 87.5%);background-size:38px 22px}
body.pos-standalone-body .pos-empty{height:calc(100vh - 109px);min-height:180px}
body.pos-standalone-body .pos-side{height:100vh;border-left:1px solid #d9dde2;background:#fff}
body.pos-standalone-body .pos-side-head{height:42px;padding:0 8px;border-bottom:1px solid #dfe2e6}
body.pos-standalone-body .pos-side-head h2{height:42px;font-size:10px;border-bottom:2px solid #4e78a3}
body.pos-standalone-body .pos-side-items{padding:7px 8px;font-size:9px}
body.pos-standalone-body .pos-totals{padding:7px 8px 5px;font-size:9px}
body.pos-standalone-body .pos-total{font-size:15px!important;padding-top:4px!important}
body.pos-standalone-body .pos-total strong{font-size:16px}
body.pos-standalone-body .pos-finish{height:28px;margin:0 8px 7px;background:#6cc3df;border-radius:6px;font-size:9px}
body.pos-standalone-body .pos-item{border-radius:4px}
@media(max-width:900px){body.pos-standalone-body .pos-standalone{grid-template-columns:minmax(0,1fr) 270px}body.pos-standalone-body .pos-top-tools{left:200px}body.pos-standalone-body .pos-cash{width:190px}body.pos-standalone-body .pos-topbar:before{width:190px}}

/* v120 - Frente de Caixa: composição visual fiel ao layout de referência do Scriptcase */
html:has(body.pos-standalone-body),
body.pos-standalone-body{
  background:#e8eef0!important;
}

body.pos-standalone-body .pos-standalone{
  grid-template-columns:minmax(0,1fr) 370px;
  background:#e8eef0;
}

body.pos-standalone-body .pos-main{
  background:#e8eef0;
}

/* Barra superior */
body.pos-standalone-body .pos-topbar{
  height:64px;
  min-height:64px;
  background:#3b5f82;
  padding:0;
  border:0;
  overflow:visible;
  position:relative;
  z-index:10;
}

/* bloco azul-claro do logo/caixa, com a mesma curva da referência */
body.pos-standalone-body .pos-topbar:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:350px;
  height:120px;
  background:#a8d5e7;
  border-bottom-right-radius:80px;
  clip-path:none;
  z-index:0;
}

body.pos-standalone-body .pos-cash{
  position:relative;
  z-index:2;
  width:350px;
  height:120px;
  box-sizing:border-box;
  padding:0;
  gap:0;
  color:#fff;
}

body.pos-standalone-body .pos-cash>i,
body.pos-standalone-body .pos-cash-status{
  display:none;
}

/* logo */
body.pos-standalone-body .pos-cash:before{
  content:"";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:132px;
  height:56px;
  background:url('/assets/avance-logo.png') left center/contain no-repeat;
  flex:none;
}

/* divisor vertical da referência */
body.pos-standalone-body .pos-cash:after{
  content:"";
  position:absolute;
  left:164px;
  top:50%;
  transform:translateY(-50%);
  width:2px;
  height:48px;
  background:rgba(255,255,255,.78);
}

body.pos-standalone-body .pos-cash-info{
  position:absolute;
  left:188px;
  top:50%;
  transform:translateY(-50%);
  height:64px;
  margin:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  white-space:nowrap;
  line-height:1.08;
}

body.pos-standalone-body .pos-cash-info small{
  font-size:12px!important;
  line-height:1.15!important;
  color:#fff!important;
  opacity:.96!important;
}

body.pos-standalone-body .pos-cash-info strong{
  font-size:16px!important;
  line-height:1.1!important;
  color:#fff!important;
  margin-top:3px;
}

/* ícones do topo ficam fora do bloco claro, como no Scriptcase */
body.pos-standalone-body .pos-top-tools{
  position:absolute;
  left:370px;
  top:0;
  height:64px;
  display:flex;
  align-items:center;
  gap:3px;
  z-index:4;
}

body.pos-standalone-body .pos-top-tools button{
  width:34px;
  height:38px;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  font-size:17px;
  border-radius:5px;
}

body.pos-standalone-body .pos-top-tools button:hover{
  background:rgba(255,255,255,.12);
}

body.pos-standalone-body .pos-order-label{
  position:absolute;
  right:24px;
  top:0;
  height:64px;
  display:flex;
  align-items:center;
  color:#fff;
  font-size:15px;
  opacity:1;
  z-index:3;
}

body.pos-standalone-body .pos-order-label strong{
  font-size:15px;
  font-weight:400;
  margin-left:3px;
}

/* Cliente: inicia exatamente após a faixa do caixa */
body.pos-standalone-body .pos-customer{
  margin:10px 15px 8px 350px;
  height:44px;
}

body.pos-standalone-body .pos-customer-btn{
  width:100%;
  height:44px;
  box-sizing:border-box;
  border-radius:12px;
  background:#3b5f82;
  color:#fff;
  padding:0 20px;
  font-size:14px;
  gap:12px;
  box-shadow:none;
}

body.pos-standalone-body .pos-customer-btn i{
  font-size:22px;
}

body.pos-standalone-body .pos-customer-left-icon{
  margin-right:0;
}

body.pos-standalone-body .pos-customer-right-icon{
  margin-left:auto;
}

/* área de pesquisa mantém o corpo do Scriptcase, sem deixar tudo comprimido */
body.pos-standalone-body .pos-product-search{
  grid-template-columns:minmax(0,1fr) 100px;
  margin:25px 15px 10px;
  gap:10px;
}

body.pos-standalone-body .pos-product-search input{
  height:50px;
  box-sizing:border-box;
  border:1px solid #ccc;
  border-radius:10px;
  background:#fff;
  padding:0 15px;
  font-size:15px;
}

body.pos-standalone-body .pos-product-search input[type=number]{
  text-align:center;
}

body.pos-standalone-body .pos-product-search button{
  display:none;
}

/* fundo claro com textura geométrica muito discreta */
body.pos-standalone-body .pos-cart-area{
  padding:0 15px 15px;
  background-color:#eef1f5;
  background-image:
    linear-gradient(30deg,rgba(59,95,130,.025) 12%,transparent 12.5%,transparent 87%,rgba(59,95,130,.025) 87.5%),
    linear-gradient(150deg,rgba(59,95,130,.025) 12%,transparent 12.5%,transparent 87%,rgba(59,95,130,.025) 87.5%);
  background-size:38px 22px;
}

body.pos-standalone-body .pos-empty{
  height:calc(100vh - 215px);
  min-height:240px;
  border:0;
  border-radius:0;
  background:transparent;
  background-image:none;
}

/* painel direito */
body.pos-standalone-body .pos-side{
  height:100vh;
  border-left:1px solid #dfe2e6;
  background:#fff;
}

body.pos-standalone-body .pos-side-head{
  height:48px;
  box-sizing:border-box;
  padding:0 14px;
  border-bottom:1px solid #e1e3e6;
}

body.pos-standalone-body .pos-side-head small{
  display:none;
}

body.pos-standalone-body .pos-side-head h2{
  height:48px;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  color:#273247;
  font-size:16px;
  border-bottom:3px solid #3b5f82;
}

body.pos-standalone-body .pos-client-badge{
  display:none;
}

body.pos-standalone-body .pos-side-items{
  padding:12px 14px;
}

body.pos-standalone-body .pos-totals{
  padding:14px 15px 10px;
}

body.pos-standalone-body .pos-total{
  font-size:22px!important;
  padding-top:8px!important;
}

body.pos-standalone-body .pos-total strong{
  font-size:24px;
}

body.pos-standalone-body .pos-finish{
  height:44px;
  margin:0 15px 15px;
  background:#74c2e0;
  border-radius:8px;
  font-size:14px;
}

@media(max-width:900px){
  body.pos-standalone-body .pos-standalone{grid-template-columns:minmax(0,1fr) 320px}
  body.pos-standalone-body .pos-topbar:before,
  body.pos-standalone-body .pos-cash{width:300px}
  body.pos-standalone-body .pos-cash-info{left:160px}
  body.pos-standalone-body .pos-cash:after{left:140px}
  body.pos-standalone-body .pos-top-tools{left:315px}
  body.pos-standalone-body .pos-customer{margin-left:15px}
}

/* v121 - impedir que a barra superior da Frente de Caixa invada o painel de venda */
body.pos-standalone-body .pos-main{
  min-width:0;
  width:100%;
  overflow:hidden;
}

body.pos-standalone-body .pos-topbar{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:visible;
}

body.pos-standalone-body .pos-side{
  position:relative;
  z-index:20;
  min-width:0;
}

body.pos-standalone-body .pos-side-head{
  position:relative;
  z-index:21;
  background:#fff;
}

/* v122 - Frente de Caixa: proporções finais conforme referência visual */
body.pos-standalone-body .pos-standalone{grid-template-columns:minmax(0,1fr) 370px;}
body.pos-standalone-body .pos-product-search{grid-template-columns:minmax(0,1fr) 100px;}
body.pos-standalone-body .pos-product-search button{display:none;}

/* v123 - Frente de Caixa: topo ocupa toda a largura e painel de venda começa abaixo do topo */
body.pos-standalone-body .pos-page.pos-standalone{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  grid-template-rows:64px auto auto auto minmax(0,1fr);
  min-height:100vh;
  height:100vh;
  border-radius:0;
  border:0;
  overflow:hidden;
}

body.pos-standalone-body .pos-main{
  display:contents;
}

body.pos-standalone-body .pos-topbar{
  grid-column:1 / -1;
  grid-row:1;
  width:100%;
  height:64px;
  min-height:64px;
}

body.pos-standalone-body .pos-customer{
  grid-column:1;
  grid-row:2;
  margin:10px 15px 8px 350px;
  height:44px;
}

body.pos-standalone-body .pos-product-search{
  grid-column:1;
  grid-row:3;
  margin:25px 15px 10px;
}

body.pos-standalone-body .pos-cart-area{
  grid-column:1;
  grid-row:5;
  min-width:0;
  min-height:0;
  overflow:auto;
}

body.pos-standalone-body .pos-side{
  grid-column:2;
  grid-row:2 / 6;
  min-width:0;
  min-height:0;
  height:auto;
  overflow:hidden;
  border-left:1px solid #dfe2e6;
  border-top:0;
  background:#fff;
  z-index:20;
}

body.pos-standalone-body .pos-side-head{
  height:48px;
  min-height:48px;
}

/* Frente de Caixa — resultados de pesquisa de produtos em linha */
body.pos-standalone-body .pos-product-results{
  grid-column:1;
  grid-row:4;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:9px;
  margin:18px 14px 8px;
}
body.pos-standalone-body .pos-product-results:empty{display:none}
body.pos-standalone-body .pos-result{
  width:100%;
  min-height:72px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr) 105px 90px;
  align-items:center;
  gap:18px;
  padding:14px 18px;
  border:0;
  border-radius:10px;
  background:#fff;
  box-shadow:0 1px 0 rgba(30,50,70,.02);
  text-align:left;
  cursor:pointer;
}
body.pos-standalone-body .pos-result:hover{background:#f8fbfd}
body.pos-standalone-body .pos-result-main{min-width:0;display:flex;flex-direction:column;gap:4px}
body.pos-standalone-body .pos-result strong{
  display:block;
  color:#111;
  font-size:15px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.pos-standalone-body .pos-result-main small{
  display:block;
  color:#355f92;
  font-size:11px;
  line-height:1.2;
}
body.pos-standalone-body .pos-result-stock{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  color:#111;
}
body.pos-standalone-body .pos-result-stock small{
  font-size:12px;
  line-height:1;
}
body.pos-standalone-body .pos-result-stock b{
  font-size:13px;
  font-weight:500;
  line-height:1.1;
}
body.pos-standalone-body .pos-result-price{
  text-align:right;
  color:#111;
  font-size:16px;
  font-weight:500;
  white-space:nowrap;
}

/* v126 - Frente de Caixa: resultado de pesquisa exatamente na área abaixo da pesquisa,
   seguindo a composição visual do Scriptcase. */
body.pos-standalone-body .pos-page.pos-standalone{
  grid-template-columns:minmax(0,1fr) 340px;
  grid-template-rows:64px minmax(0,1fr);
}
body.pos-standalone-body .pos-topbar{
  grid-column:1 / -1;
  grid-row:1;
}
body.pos-standalone-body .pos-main{
  grid-column:1;
  grid-row:2;
  display:flex !important;
  flex-direction:column;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
body.pos-standalone-body .pos-customer{
  flex:0 0 44px;
  margin:10px 15px 8px 0;
}
body.pos-standalone-body .pos-product-search{
  flex:0 0 50px;
  margin:17px 15px 10px;
}
body.pos-standalone-body .pos-product-results{
  flex:0 0 auto;
  width:auto;
  min-height:0;
  margin:0 15px 8px;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:visible;
}
body.pos-standalone-body .pos-product-results:empty{display:none}
body.pos-standalone-body .pos-result{
  width:100%;
  min-height:72px;
  padding:14px 15px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr) 105px 100px;
  align-items:center;
  gap:25px;
  border:0;
  border-radius:10px;
  background:#fff;
  box-shadow:none;
  text-align:left;
  cursor:pointer;
}
body.pos-standalone-body .pos-result-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
body.pos-standalone-body .pos-result strong{
  display:block;
  color:#111;
  font-size:15px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.pos-standalone-body .pos-result-main small{
  display:block;
  color:#355f92;
  font-size:11px;
  line-height:1.2;
}
body.pos-standalone-body .pos-result-stock{
  min-width:80px;
  text-align:right;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:4px;
  color:#000;
}
body.pos-standalone-body .pos-result-stock small,
body.pos-standalone-body .pos-result-stock b{
  display:block;
  font-size:13px;
  line-height:1.1;
  font-weight:400;
}
body.pos-standalone-body .pos-result-stock.stock-zero,
body.pos-standalone-body .pos-result-stock .stock-zero-label,
body.pos-standalone-body .pos-result-stock .stock-zero-value{
  color:#e74c3c;
}
body.pos-standalone-body .pos-result-price{
  width:100px;
  height:42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  text-align:right;
  white-space:nowrap;
}
body.pos-standalone-body .pos-result-old-price{
  height:18px;
  color:#000;
  font-size:15px;
  line-height:18px;
}
body.pos-standalone-body .pos-result-old-price span{
  text-decoration:line-through;
  text-decoration-color:#e74c3c;
  text-decoration-thickness:1.5px;
}
body.pos-standalone-body .pos-result-old-price.is-empty{
  visibility:hidden;
}
body.pos-standalone-body .pos-result-new-price{
  height:20px;
  color:#27ae60;
  font-size:18px;
  line-height:20px;
  font-weight:400;
}
body.pos-standalone-body .pos-result-new-price.no-discount{
  color:#000;
}
body.pos-standalone-body .pos-cart-area{
  flex:1 1 auto;
  min-height:0;
  padding:0 15px 15px;
  overflow:auto;
}
body.pos-standalone-body .pos-empty{
  height:100%;
  min-height:0;
}
body.pos-standalone-body .pos-side{
  grid-column:2;
  grid-row:2;
}


/* v127 - Frente de Caixa: painel lateral de itens, quantidade e desconto */
body.pos-standalone-body .pos-side-items{
  padding:8px 10px 0;
  overflow:auto;
}
body.pos-standalone-body .pos-side-item{
  display:block !important;
  width:100%;
  box-sizing:border-box;
  padding:9px 4px 11px;
  border-bottom:1px solid #e1e3e6;
}
body.pos-standalone-body .pos-side-item-name{
  display:grid;
  grid-template-columns:minmax(0,1fr) 24px;
  align-items:start;
  gap:6px;
}
body.pos-standalone-body .pos-side-item-name>strong{
  display:block;
  min-width:0;
  color:#111;
  font-size:14px;
  line-height:1.3;
  font-weight:500;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
body.pos-standalone-body .pos-side-item-bottom{
  display:flex !important;
  width:100%;
  box-sizing:border-box;
  align-items:center;
  gap:5px;
  margin-top:5px;
}
body.pos-standalone-body .pos-side-discount,
body.pos-standalone-body .pos-side-remove{
  width:22px;
  min-width:22px;
  flex:0 0 22px;
  height:22px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
}
body.pos-standalone-body .pos-side-discount{color:#00a66a}
body.pos-standalone-body .pos-side-discount:hover{color:#008454}
body.pos-standalone-body .pos-side-remove{color:#929292}
body.pos-standalone-body .pos-side-remove:hover{color:#555}
body.pos-standalone-body .pos-side-qty{
  min-width:0;
  flex:0 0 auto;
  height:24px;
  padding:0;
  border:0;
  background:transparent;
  color:#111;
  cursor:pointer;
  text-align:left;
  font-size:13px;
  line-height:24px;
  white-space:nowrap;
}
body.pos-standalone-body .pos-side-qty:hover{text-decoration:underline}
body.pos-standalone-body .pos-side-item-total{
  color:#111 !important;
  font-size:13px !important;
  font-weight:700;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  min-width:max-content !important;
  justify-self:end;
  flex:0 0 auto;
}
body.pos-standalone-body .pos-totals{
  margin-top:auto;
  border-top:1px solid #dfe2e6;
}
body.pos-standalone-body .pos-total{
  border-top:1px solid #dfe2e6;
  margin-top:6px;
}

/* v129 - corrigir herança do .pos-side-items>div que transformava cada item em flex
   e fazia percentual, quantidade, total e lixeira se sobreporem. */
body.pos-standalone-body .pos-side-item{
  display:block !important;
  width:100%;
  box-sizing:border-box;
}
body.pos-standalone-body .pos-side-item-name{
  display:grid !important;
  width:100%;
  grid-template-columns:minmax(0,1fr) 24px;
  align-items:start;
  gap:6px;
}
body.pos-standalone-body .pos-side-item-name>strong{
  min-width:0;
  width:auto;
  white-space:normal !important;
}
body.pos-standalone-body .pos-side-item-bottom{
  display:flex !important;
  width:100%;
  align-items:center;
  gap:5px;
}
body.pos-standalone-body .pos-side-qty{
  flex:0 0 auto;
}
body.pos-standalone-body .pos-side-item-total{
  margin-left:auto;
  flex:0 0 auto;
  min-width:max-content !important;
  white-space:nowrap !important;
  overflow:visible !important;
}
body.pos-standalone-body .pos-side-remove{
  flex:0 0 22px;
}
body.pos-standalone-body .pos-modal-card.pos-action-card{
  width:min(420px,calc(100vw - 32px));
  padding:26px;
}
body.pos-standalone-body .pos-action-product{
  margin:0 0 16px;
  color:#555;
  font-size:14px;
  font-weight:600;
}
body.pos-standalone-body .pos-action-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#333;
  font-size:13px;
  font-weight:600;
  text-align:left;
  margin-top:12px;
}
body.pos-standalone-body .pos-action-field input{
  width:100%;
  height:44px;
  box-sizing:border-box;
  border:1px solid #ccd6e1;
  border-radius:8px;
  padding:0 12px;
  font-size:16px;
  outline:none;
}
body.pos-standalone-body .pos-action-field input:focus{border-color:#3b5f82;box-shadow:0 0 0 2px rgba(59,95,130,.12)}
body.pos-standalone-body .pos-action-confirm{width:100%;height:42px;margin-top:18px}
body.pos-standalone-body .pos-action-or{text-align:center;color:#8a8f96;font-size:12px;margin:8px 0 -4px}
body.pos-standalone-body .pos-discount-card{
  width:min(750px,calc(100vw - 32px));
  padding:28px 24px 24px;
  text-align:center;
}
body.pos-standalone-body .pos-discount-card h3{font-size:18px;margin:0 0 20px;color:#111}
body.pos-standalone-body .pos-discount-option{
  width:100%;
  min-height:52px;
  margin-top:10px;
  border:1px solid #cbd8e6;
  border-radius:9px;
  background:#f5f8fb;
  color:#222;
  font-size:15px;
  cursor:pointer;
  display:grid;
  grid-template-columns:30px 1fr 30px;
  align-items:center;
  text-align:center;
}
body.pos-standalone-body .pos-discount-option:hover{background:#edf3f8}
body.pos-standalone-body .pos-discount-option span{font-size:17px}
body.pos-standalone-body .pos-discount-option b{color:#00a66a;font-size:18px}
body.pos-standalone-body .pos-discount-option.danger b{color:#666}
body.pos-standalone-body .pos-modal[hidden]{display:none!important}
@media(max-width:700px){
  /* Em telas estreitas o painel da venda ocupa toda a largura disponível.
     A regra anterior deixava apenas 300px para o painel e comprimía o restante,
     causando sobreposição entre quantidade, total e lixeira. */
  body.pos-standalone-body .pos-standalone{grid-template-columns:minmax(0,1fr);}
  body.pos-standalone-body .pos-main{grid-column:1;grid-row:2;}
  body.pos-standalone-body .pos-side{grid-column:1;grid-row:2;position:relative;z-index:30;width:100%;}
  body.pos-standalone-body .pos-side-item-name>strong{font-size:14px}
  body.pos-standalone-body .pos-side-qty{font-size:13px}
  body.pos-standalone-body .pos-side-item-total{font-size:13px}
}

/* v130 - refinamentos da pesquisa e do ícone de desconto na Frente de Caixa */
body.pos-standalone-body .pos-result{
  border:1px solid transparent;
  border-bottom-color:#eceff2;
  border-radius:8px;
  margin:2px 0;
  transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease;
}
body.pos-standalone-body .pos-result:hover,
body.pos-standalone-body .pos-result:focus-visible{
  background:#eaf2fa !important;
  border-color:#d3e1ee;
  box-shadow:0 1px 4px rgba(61,92,122,.10);
  outline:none;
}
body.pos-standalone-body .pos-side-discount{
  color:#929292 !important;
  transition:color .12s ease,transform .12s ease;
}
body.pos-standalone-body .pos-side-discount:hover,
body.pos-standalone-body .pos-side-discount:focus-visible{
  color:#e53935 !important;
  outline:none;
}
body.pos-standalone-body .pos-side-discount.has-discount{
  color:#00a66a !important;
}
body.pos-standalone-body .pos-side-discount.has-discount:hover,
body.pos-standalone-body .pos-side-discount.has-discount:focus-visible{
  color:#e53935 !important;
}

/* v133 - modal de desconto sem desconto aplicado: somente as duas opções solicitadas */
body.pos-standalone-body .pos-discount-card.no-discount .pos-modal-kicker,
body.pos-standalone-body .pos-discount-card.no-discount .pos-modal-close{display:none!important}
body.pos-standalone-body .pos-discount-card.no-discount{padding-top:28px}
body.pos-standalone-body .pos-discount-card.no-discount h3{margin-bottom:14px}

/* v134 - estados de desconto na Frente de Caixa
   Cadastro = desconto vindo do campo produtos.DESCONTO (verde)
   Manual = desconto aplicado no caixa (laranja)
   Sem desconto = cinza; hover permanece vermelho. */
body.pos-standalone-body .pos-side-discount.discount-cadastro{color:#00a66a !important}
body.pos-standalone-body .pos-side-discount.discount-manual{color:#f59e0b !important}
body.pos-standalone-body .pos-side-discount.discount-cadastro:hover,
body.pos-standalone-body .pos-side-discount.discount-cadastro:focus-visible,
body.pos-standalone-body .pos-side-discount.discount-manual:hover,
body.pos-standalone-body .pos-side-discount.discount-manual:focus-visible{color:#e53935 !important}
body.pos-standalone-body .pos-discount-option.active-cadastro b.check-cadastro{color:#00a66a !important}
body.pos-standalone-body .pos-discount-option.active-manual b.check-manual{color:#f59e0b !important}
body.pos-standalone-body .pos-discount-option.active-cadastro,
body.pos-standalone-body .pos-discount-option.active-manual{font-weight:500}

/* v137 - Desconto manual: três campos sincronizados */
body.pos-standalone-body .pos-manual-discount-card .pos-action-field{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin-top:12px;
}
body.pos-standalone-body .pos-manual-discount-card .pos-action-field input{
  width:100%;
}
body.pos-standalone-body .pos-manual-discount-card .pos-action-confirm{
  margin-top:20px;
}

/* v137 - Desconto manual: três campos sincronizados */
body.pos-standalone-body .pos-manual-discount-card .pos-action-field{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin-top:12px;
}
body.pos-standalone-body .pos-manual-discount-card .pos-action-field input{
  width:100%;
}
body.pos-standalone-body .pos-manual-discount-card .pos-action-confirm{
  margin-top:20px;
}

/* v138 - validação e edição natural do desconto manual */
body.pos-standalone-body .pos-manual-discount-error{
  color:#e53935;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  text-align:center;
  margin:14px 0 -8px;
}

/* v146 - centralização vertical real do grupo Logo + Caixa no bloco azul-claro.
   O bloco tem 120px de altura enquanto a barra do caixa tem 64px; portanto
   o conteúdo deve ser centralizado na altura do bloco, e não na barra. */
body.pos-standalone-body .pos-cash{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:350px !important;
  height:120px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  box-sizing:border-box !important;
}
body.pos-standalone-body .pos-cash:before{
  left:14px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:132px !important;
  height:56px !important;
}
body.pos-standalone-body .pos-cash:after{
  left:164px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  height:48px !important;
}
body.pos-standalone-body .pos-cash-info{
  left:188px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  height:64px !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
@media(max-width:900px){
  body.pos-standalone-body .pos-cash{
    width:300px !important;
    height:120px !important;
  }
  body.pos-standalone-body .pos-cash-info{left:160px !important}
  body.pos-standalone-body .pos-cash:after{left:140px !important}
}

/* v147 - Cliente na tela principal seguindo o padrão de pesquisa/seleção de produtos */
body.pos-standalone-body .pos-client-main-results{margin:0 15px 10px;display:flex;flex-direction:column;gap:8px}
body.pos-standalone-body .pos-client-main-results[hidden]{display:none!important}
body.pos-standalone-body .pos-client-result{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr) 70px;align-items:center;gap:14px;text-align:left;border:1px solid #dce2ea;border-radius:10px;background:#fff;padding:12px 14px;cursor:pointer;color:#28344a;transition:.15s ease}
body.pos-standalone-body .pos-client-result:hover{background:#eef4fb;border-color:#6b89a8;box-shadow:0 4px 12px rgba(55,83,112,.09);transform:translateY(-1px)}
body.pos-standalone-body .pos-client-result .pos-result-main{min-width:0}
body.pos-standalone-body .pos-client-result .pos-result-main strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.pos-standalone-body .pos-client-result .pos-result-main small{display:block;color:#7a8492;font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.pos-standalone-body .pos-result-client-address{font-size:11px;color:#677384;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.pos-standalone-body .pos-result-client-status{font-size:10px;font-weight:800;color:#0b8a43;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}body.pos-standalone-body .pos-client-term-badge{font-size:10px;font-weight:800;color:#2878c8;line-height:1}
body.pos-standalone-body .pos-client-no-result{padding:18px;text-align:center;background:#fff;border:1px dashed #d4dae2;border-radius:9px;color:#7c8695;font-size:12px}
body.pos-standalone-body .pos-client-selected-main{margin:0 15px 10px}
body.pos-standalone-body .pos-client-selected-main[hidden]{display:none!important}
body.pos-standalone-body .pos-client-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dce2ea;border-radius:10px;padding:11px 13px;box-shadow:0 2px 8px rgba(38,50,65,.04)}
body.pos-standalone-body .pos-client-card-icon{width:32px;height:32px;border-radius:8px;background:#eaf2fb;color:#3c6389;display:grid;place-items:center;flex:0 0 32px}
body.pos-standalone-body .pos-client-card-info{min-width:0;flex:1}.pos-client-card-info strong{display:block;font-size:12px;color:#28344a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-client-card-info small{display:block;font-size:10px;color:#7b8593;margin-top:3px}
body.pos-standalone-body .pos-client-card-remove{width:30px;height:30px;border:0;background:transparent;color:#8c98a6;cursor:pointer;border-radius:7px}.pos-client-card-remove:hover{color:#c53434;background:#fff0f0}
@media(max-width:900px){body.pos-standalone-body .pos-client-result{grid-template-columns:minmax(0,1fr) 120px 55px;gap:8px}body.pos-standalone-body .pos-client-main-results,body.pos-standalone-body .pos-client-selected-main{margin-left:8px;margin-right:8px}}

/* v151 - Barra de cliente no conteúdo, abaixo do cabeçalho */
body.pos-standalone-body .pos-topbar .pos-customer{position:static!important;display:block!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;z-index:auto!important;}
body.pos-standalone-body .pos-main > .pos-customer{
  position:relative!important;
  display:block!important;
  box-sizing:border-box!important;
  width:auto!important;
  height:46px!important;
  min-height:46px!important;
  flex:0 0 46px!important;
  margin:10px 15px 8px 350px!important;
  padding:0!important;
  z-index:6!important;
  overflow:visible!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-btn{
  position:relative!important;
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 17px!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:12px!important;
  background:#3b5f82!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  font-size:14px!important;
  line-height:1!important;
  text-align:left!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-left-icon{
  display:inline-flex!important;
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-btn span[data-pos-client-label]{
  display:inline-block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#fff!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-right-icon{
  display:inline-flex!important;
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:auto!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1!important;
}
body.pos-standalone-body .pos-main > .pos-product-search{
  flex:0 0 50px!important;
  height:50px!important;
  margin:17px 15px 10px!important;
}
@media(max-width:1100px){
  body.pos-standalone-body .pos-main > .pos-customer{margin-left:260px!important;}
}
@media(max-width:700px){
  body.pos-standalone-body .pos-main > .pos-customer{height:44px!important;min-height:44px!important;flex-basis:44px!important;margin:8px 8px 6px 205px!important;}
  body.pos-standalone-body .pos-main > .pos-customer .pos-customer-btn{height:44px!important;min-height:44px!important;padding:0 12px!important;font-size:13px!important;border-radius:10px!important;}
  body.pos-standalone-body .pos-main > .pos-customer .pos-customer-left-icon,
  body.pos-standalone-body .pos-main > .pos-customer .pos-customer-right-icon{font-size:18px!important;width:20px!important;flex-basis:20px!important;}
}

/* v152 - Cliente pesquisado diretamente na barra, sem modal */
body.pos-standalone-body .pos-customer-input-wrap{
  position:relative!important;width:100%!important;height:46px!important;min-height:46px!important;
  display:flex!important;align-items:center!important;box-sizing:border-box!important;
  background:#3b5f82!important;border-radius:12px!important;padding:0 14px!important;gap:10px!important;
}
body.pos-standalone-body .pos-customer-input-wrap[hidden]{display:none!important}
body.pos-standalone-body .pos-customer-input-icon{color:#fff!important;font-size:21px!important;flex:0 0 auto!important}
body.pos-standalone-body .pos-customer-input-wrap input{
  flex:1 1 auto!important;width:100%!important;height:34px!important;border:0!important;outline:0!important;
  background:transparent!important;color:#fff!important;font-size:14px!important;padding:0!important;box-shadow:none!important;
}
body.pos-standalone-body .pos-customer-input-wrap input::placeholder{color:rgba(255,255,255,.88)!important}
body.pos-standalone-body .pos-customer-input-clear{width:30px!important;height:30px!important;border:0!important;background:transparent!important;color:#fff!important;display:grid!important;place-items:center!important;cursor:pointer!important;font-size:16px!important;border-radius:6px!important}
body.pos-standalone-body .pos-customer-input-clear:hover{background:rgba(255,255,255,.12)!important}

/* v153 - pesquisa de cliente diretamente na barra, sem segunda linha */
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-shell{
  cursor:text!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-input{
  flex:1 1 auto!important; min-width:0!important; width:100%!important; height:36px!important;
  border:0!important; outline:0!important; background:transparent!important; color:#fff!important;
  font:inherit!important; padding:0!important; margin:0!important; box-shadow:none!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-input::placeholder{color:rgba(255,255,255,.95)!important;opacity:1!important}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-clear{
  flex:0 0 28px!important; width:28px!important; height:32px!important; border:0!important;
  background:transparent!important; color:#fff!important; padding:0!important; margin:0!important;
  display:grid!important; place-items:center!important; cursor:pointer!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-clear:hover{background:rgba(255,255,255,.10)!important;border-radius:6px!important}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-clear .pos-customer-right-icon{margin:0!important}

/* v154 - resultados de clientes abaixo da pesquisa/resultados de produtos */
body.pos-standalone-body .pos-main > .pos-client-main-results{
  order:4!important;
  position:relative!important;
  width:auto!important;
  margin:0 15px 10px!important;
  box-sizing:border-box!important;
}
body.pos-standalone-body .pos-main > .pos-product-search{order:2!important;}
body.pos-standalone-body .pos-main > .pos-product-results{order:3!important;}
body.pos-standalone-body .pos-main > .pos-cart-area{order:5!important;}
@media(max-width:700px){
  body.pos-standalone-body .pos-main > .pos-client-main-results{margin-left:8px!important;margin-right:8px!important;}
}


/* v157 - cliente selecionado permanece somente na barra superior; nunca criar cartão abaixo da pesquisa */
body.pos-standalone-body .pos-main > .pos-client-selected-main{display:none!important;}
body.pos-standalone-body .pos-main > .pos-client-main-results{position:relative!important;}

/* v158 - Frente de Caixa: tela fixa, sem barra de rolagem vertical durante pesquisas */
html:has(body.pos-standalone-body),
body.pos-standalone-body{
  overflow:hidden !important;
}
body.pos-standalone-body .pos-page.pos-standalone{
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
}
body.pos-standalone-body .pos-main{
  height:calc(100vh - 64px) !important;
  min-height:0 !important;
  max-height:calc(100vh - 64px) !important;
  overflow:hidden !important;
}
body.pos-standalone-body .pos-cart-area{
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
  scrollbar-width:none !important;
}
body.pos-standalone-body .pos-cart-area::-webkit-scrollbar,
body.pos-standalone-body .pos-side-items::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}
body.pos-standalone-body .pos-side-items{
  overflow:hidden !important;
  scrollbar-width:none !important;
}


/* v159 - corrigir estouro horizontal e elemento inferior ao adicionar produto */
html:has(body.pos-standalone-body),
body.pos-standalone-body,
body.pos-standalone-body .pos-page.pos-standalone,
body.pos-standalone-body .pos-main{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
body.pos-standalone-body .pos-page.pos-standalone{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}
body.pos-standalone-body .pos-main{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
}
body.pos-standalone-body .pos-customer,
body.pos-standalone-body .pos-product-search,
body.pos-standalone-body .pos-product-results,
body.pos-standalone-body .pos-client-main-results,
body.pos-standalone-body .pos-cart-area{
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:100% !important;
}
body.pos-standalone-body .pos-cart-area{
  flex:1 1 0 !important;
  width:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
  grid-column:auto !important;
  grid-row:auto !important;
}
body.pos-standalone-body .pos-cart{
  min-width:0 !important;
  max-width:100% !important;
  width:100% !important;
}
body.pos-standalone-body .pos-item{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
body.pos-standalone-body .pos-product-search{
  width:auto !important;
}
body.pos-standalone-body .pos-product-results{
  width:auto !important;
}
body.pos-standalone-body .pos-result{
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* v160 - o carrinho principal nao deve ocupar a area inferior da Frente de Caixa.
   O carrinho visivel e controlado pela coluna lateral "A Vista". */
body.pos-standalone-body .pos-main > .pos-cart-area{
  display:none !important;
}
body.pos-standalone-body .pos-main > .pos-cart-area .pos-cart,
body.pos-standalone-body .pos-main > .pos-cart-area .pos-empty,
body.pos-standalone-body .pos-main > .pos-cart-area .pos-client-selected-main{
  display:none !important;
}

/* v163 - À Vista + Crediário mantendo o layout original do cabeçalho lateral */
.pos-sale-switch{display:flex;align-items:stretch;gap:18px;min-width:0;height:100%}
.pos-sale-option{position:relative;height:100%;border:0;background:transparent;color:#18243a;padding:0;font:inherit;font-size:18px;font-weight:700;line-height:1;cursor:pointer;white-space:nowrap}
.pos-sale-option::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#4e78a3;opacity:0}
.pos-sale-option.is-active::after{opacity:1}
.pos-sale-option:not(.is-active):hover{color:#314b68}
.pos-side-head{gap:10px}

/* v163 - dimensionamento responsivo do seletor sem alterar o cabeçalho original */
@media(max-width:800px){
  .pos-sale-switch{gap:12px}
  .pos-sale-option{font-size:16px}
}

/* v164 - barra de cliente: pesquisa, limpar e cadastro */
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-shell{
  gap:10px!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-left-icon{
  color:#fff!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-clear[hidden]{display:none!important}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-clear{
  flex:0 0 30px!important;width:30px!important;height:32px!important;border:0!important;
  background:transparent!important;color:#fff!important;padding:0!important;margin:0!important;
  display:grid!important;place-items:center!important;cursor:pointer!important;font-size:18px!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-clear:hover{
  background:rgba(255,255,255,.12)!important;border-radius:6px!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-add{
  flex:0 0 32px!important;width:32px!important;height:34px!important;border:0!important;
  background:transparent!important;color:#fff!important;padding:0!important;margin:0!important;
  display:grid!important;place-items:center!important;cursor:pointer!important;font-size:20px!important;
}
body.pos-standalone-body .pos-main > .pos-customer .pos-customer-inline-add:hover{
  background:rgba(255,255,255,.12)!important;border-radius:6px!important;
}
body.pos-standalone-body .pos-client-form-modal{z-index:1200!important}
body.pos-standalone-body .pos-client-form-card{
  position:relative;width:min(1040px,96vw);height:min(900px,96vh);background:#fff;border-radius:16px;
  box-shadow:0 20px 60px rgba(20,30,45,.28);overflow:hidden;display:flex;
}
body.pos-standalone-body .pos-client-form-card iframe{width:100%;height:100%;border:0;background:#f5f7fa}
body.pos-standalone-body .pos-client-form-card .pos-modal-close{z-index:5}
@media(max-width:700px){body.pos-standalone-body .pos-client-form-card{width:98vw;height:96vh;border-radius:12px}}

/* v179 - status do caixa também visível no rodapé da Frente de Caixa */
body.pos-standalone-body .pos-bottom-cash-status{
  position:fixed;
  left:8px;
  bottom:4px;
  z-index:100;
  color:#315a86;
  font-size:16px;
  font-weight:600;
  line-height:20px;
  white-space:nowrap;
  pointer-events:none;
}
@media(max-width:600px){
  body.pos-standalone-body .pos-bottom-cash-status{
    left:6px;
    bottom:3px;
    font-size:12px;
  }
}

/* v181.1 - corrigir layout da Frente de Caixa: resultados rolam somente quando necessario e carrinho lateral permanece visivel */
body.pos-standalone-body .pos-page.pos-standalone{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 340px !important;
  grid-template-rows:64px minmax(0,1fr) !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
}
body.pos-standalone-body .pos-topbar{
  grid-column:1 / -1 !important;
  grid-row:1 !important;
}
body.pos-standalone-body .pos-main{
  grid-column:1 !important;
  grid-row:2 !important;
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
}
body.pos-standalone-body .pos-customer{
  flex:0 0 44px !important;
  min-height:44px !important;
  margin:10px 15px 8px 0 !important;
}
body.pos-standalone-body .pos-product-search{
  flex:0 0 50px !important;
  min-height:50px !important;
  margin:17px 15px 10px !important;
}
/* A lista ocupa apenas o espaco disponivel. So cria scrollbar quando ultrapassar esse espaco. */
body.pos-standalone-body .pos-main > .pos-product-results{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  width:auto !important;
  margin:0 15px 0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:auto !important;
}
body.pos-standalone-body .pos-main > .pos-product-results:empty{
  display:none !important;
}
body.pos-standalone-body .pos-main > .pos-product-results::-webkit-scrollbar{
  width:8px !important;
  display:block !important;
}
body.pos-standalone-body .pos-main > .pos-product-results::-webkit-scrollbar-thumb{
  background:#b9c1cb !important;
  border-radius:8px !important;
}
/* Carrinho principal continua oculto; o carrinho de venda e os totais ficam na lateral. */
body.pos-standalone-body .pos-main > .pos-cart-area{
  display:none !important;
}
body.pos-standalone-body .pos-main > .pos-client-main-results{
  flex:0 0 auto !important;
}
/* Restaura explicitamente a coluna lateral completa: itens + totais + finalizar venda. */
body.pos-standalone-body .pos-side{
  grid-column:2 !important;
  grid-row:2 !important;
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
  border-left:1px solid #d9dde2 !important;
  background:#fff !important;
  z-index:20 !important;
}
body.pos-standalone-body .pos-side-head{
  flex:0 0 48px !important;
  height:48px !important;
  min-height:48px !important;
}
body.pos-standalone-body .pos-side-items{
  display:block !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:auto !important;
}
body.pos-standalone-body .pos-totals{
  flex:0 0 auto !important;
  display:block !important;
}
body.pos-standalone-body .pos-finish{
  flex:0 0 48px !important;
  display:block !important;
}
/* Rodape reservado fora da lista, sem sobrepor produtos. */
body.pos-standalone-body .pos-bottom-cash-status{
  position:fixed !important;
  left:8px !important;
  bottom:3px !important;
  z-index:200 !important;
  height:22px !important;
  line-height:22px !important;
  padding:0 4px !important;
  background:#f4f6f8 !important;
}

/* v181.2 - rodape branco da area principal, respeitando o carrinho lateral */
body.pos-standalone-body .pos-bottom-cash-status{
  position:fixed !important;
  left:0 !important;
  right:340px !important;
  bottom:0 !important;
  z-index:300 !important;
  box-sizing:border-box !important;
  height:30px !important;
  min-height:30px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 8px !important;
  margin:0 !important;
  background:#fff !important;
  border-top:1px solid #dfe3e8 !important;
  color:#315a86 !important;
  font-size:16px !important;
  font-weight:600 !important;
  line-height:30px !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}
body.pos-standalone-body .pos-main > .pos-product-results{
  padding-bottom:30px !important;
}
@media(max-width:900px){
  body.pos-standalone-body .pos-bottom-cash-status{
    right:300px !important;
  }
}
@media(max-width:600px){
  body.pos-standalone-body .pos-bottom-cash-status{
    right:280px !important;
    height:26px !important;
    min-height:26px !important;
    line-height:26px !important;
    font-size:13px !important;
  }
  body.pos-standalone-body .pos-main > .pos-product-results{
    padding-bottom:26px !important;
  }
}

/* v182 - painel de informações do crediário na parte inferior da área de venda */
body.pos-standalone-body .pos-credit-info{
  flex:0 0 70px !important;
  min-height:70px !important;
  margin:0 15px 0 0 !important;
  background:#fff !important;
  border-top:1px solid #d8dee6 !important;
  border-bottom:1px solid #d8dee6 !important;
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  align-items:stretch !important;
  overflow:hidden !important;
}
body.pos-standalone-body .pos-credit-info[hidden]{display:none !important}
body.pos-standalone-body .pos-credit-info > div{
  min-width:0 !important;
  padding:7px 10px 5px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:center !important;
  border-right:1px solid #d8dee6 !important;
  text-align:right !important;
}
body.pos-standalone-body .pos-credit-info > div:last-child{border-right:0 !important}
body.pos-standalone-body .pos-credit-info span{
  color:#315a86 !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:15px !important;
  white-space:nowrap !important;
}
body.pos-standalone-body .pos-credit-info strong{
  color:#596779 !important;
  font-size:17px !important;
  font-weight:800 !important;
  line-height:20px !important;
  white-space:nowrap !important;
}
body.pos-standalone-body .pos-credit-info [data-credit-available].is-negative{color:#f04444 !important}
body.pos-standalone-body .pos-credit-info [data-credit-due].is-overdue{color:#f04444 !important}
@media(max-width:1100px){
  body.pos-standalone-body .pos-credit-info{grid-template-columns:repeat(4,minmax(0,1fr)) !important;height:auto !important;min-height:70px !important}
  body.pos-standalone-body .pos-credit-info > div:nth-child(4){border-right:0 !important}
  body.pos-standalone-body .pos-credit-info > div{min-height:54px !important}
}
@media(max-width:700px){
  body.pos-standalone-body .pos-credit-info{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  body.pos-standalone-body .pos-credit-info > div:nth-child(odd){border-right:1px solid #d8dee6 !important}
  body.pos-standalone-body .pos-credit-info > div:nth-child(even){border-right:0 !important}
  body.pos-standalone-body .pos-credit-info strong{font-size:15px !important}
}


/* v182.1 - painel do crediário fica no rodapé, logo abaixo do status do caixa,
   sem invadir o carrinho lateral. */
body.pos-standalone-body .pos-credit-info{
  position:fixed !important;
  left:0 !important;
  right:340px !important;
  bottom:30px !important;
  z-index:250 !important;
  width:auto !important;
  height:70px !important;
  min-height:70px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  background:#fff !important;
  border-top:1px solid #d8dee6 !important;
  border-bottom:1px solid #d8dee6 !important;
}
body.pos-standalone-body .pos-page.pos-standalone.pos-credit-active .pos-main > .pos-product-results{
  padding-bottom:100px !important;
}
@media(max-width:900px){
  body.pos-standalone-body .pos-credit-info{right:300px !important}
}
@media(max-width:600px){
  body.pos-standalone-body .pos-credit-info{
    right:280px !important;
    bottom:26px !important;
    height:auto !important;
    min-height:70px !important;
  }
  body.pos-standalone-body .pos-page.pos-standalone.pos-credit-active .pos-main > .pos-product-results{
    padding-bottom:96px !important;
  }
}

/* v183 - aviso de inadimplencia na selecao do cliente */
body.pos-standalone-body .pos-overdue-popup{
  width:min(760px,calc(100vw - 32px)) !important;
  border-radius:14px !important;
  padding:0 !important;
  overflow:hidden !important;
}
body.pos-standalone-body .pos-overdue-popup .swal2-title{
  margin:0 !important;
  padding:18px 24px 12px !important;
  color:#315a86 !important;
  font-size:24px !important;
  text-align:left !important;
  border-bottom:1px solid #e2e6eb !important;
}
body.pos-standalone-body .pos-overdue-alert{padding:16px 24px 8px;text-align:left}
body.pos-standalone-body .pos-overdue-lead{margin:0 0 12px;color:#4f5c6b;font-size:15px;line-height:1.45}
body.pos-standalone-body .pos-overdue-lead strong{color:#d13b3b}
body.pos-standalone-body .pos-overdue-meta{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:12px;color:#315a86;font-size:13px}
body.pos-standalone-body .pos-overdue-meta strong{color:#25384e;margin-left:5px}
body.pos-standalone-body .pos-overdue-table{border:1px solid #d8dee6;border-radius:8px;overflow:hidden;max-height:260px;overflow-y:auto}
body.pos-standalone-body .pos-overdue-table .row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;padding:9px 12px;border-bottom:1px solid #e4e8ed;color:#42546a;font-size:13px}
body.pos-standalone-body .pos-overdue-table .row:last-child{border-bottom:0}
body.pos-standalone-body .pos-overdue-table .row.head{background:#eef3f7;color:#315a86;font-weight:700;position:sticky;top:0;z-index:1}
body.pos-standalone-body .pos-overdue-table .row span:nth-child(2),
body.pos-standalone-body .pos-overdue-table .row span:nth-child(3){text-align:right}
body.pos-standalone-body .pos-overdue-table .late{color:#d13b3b;font-weight:800}
body.pos-standalone-body .pos-overdue-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:14px 24px 18px;border-top:1px solid #e2e6eb;background:#fafbfc}
body.pos-standalone-body .pos-overdue-btn{border:0;border-radius:7px;padding:10px 15px;font:600 14px inherit;cursor:pointer;background:#e9edf2;color:#315a86}
body.pos-standalone-body .pos-overdue-btn:hover{filter:brightness(.97)}
body.pos-standalone-body .pos-overdue-primary{background:#5a2aa8;color:#fff}
body.pos-standalone-body .pos-overdue-pay{background:#315a86;color:#fff}
body.pos-standalone-body .pos-overdue-cancel{background:#fff;border:1px solid #d3d9e0;color:#6b7480}
@media(max-width:600px){
  body.pos-standalone-body .pos-overdue-popup .swal2-title{font-size:20px !important;padding:15px 16px 10px !important}
  body.pos-standalone-body .pos-overdue-alert{padding:13px 16px 6px}
  body.pos-standalone-body .pos-overdue-actions{padding:12px 16px 15px;justify-content:stretch}
  body.pos-standalone-body .pos-overdue-btn{flex:1 1 45%}
}

/* v189 - tela de pagamento no tema roxo do Avance Gestão; destaque amarelo somente no ícone */
body.pos-standalone-body .pos-payment-reference{
  width:min(1080px,calc(100vw - 34px)) !important; max-width:1080px !important;
  height:min(700px,calc(100vh - 34px)) !important; max-height:calc(100vh - 34px) !important;
  overflow:hidden !important; padding:0 !important; border-radius:16px !important;
  border:1px solid #e5dcf1 !important; background:#fff !important;
  box-shadow:0 24px 70px rgba(58,28,99,.28) !important;
}
body.pos-standalone-body .pos-payment-header{height:76px;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;padding:0 72px 0 24px;border-bottom:1px solid #eee7f5;background:#fff}
body.pos-standalone-body .pos-payment-header strong{display:block;color:#54208f;font-size:21px;text-align:left;font-weight:800}
body.pos-standalone-body .pos-payment-header small{display:block;color:#8a7b98;font-size:12px;text-align:left;margin-top:4px}
body.pos-standalone-body .pos-payment-header + .pos-payment-layout{height:calc(100% - 76px)}
body.pos-standalone-body .pos-payment-layout{display:grid;grid-template-columns:370px minmax(0,1fr);min-height:0;background:#f7f4fb;overflow:hidden}
body.pos-standalone-body .pos-payment-methods{padding:14px;background:#f5f0fa;display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:0}
body.pos-standalone-body .pos-payment-method[hidden]{display:none !important}
body.pos-standalone-body .pos-payment-method{height:52px;flex:0 0 52px;border:1px solid #e7dfef;background:#fff;display:grid;grid-template-columns:52px minmax(0,1fr) 112px;align-items:center;text-align:left;padding:0;border-radius:10px;cursor:pointer;color:#35283f;box-shadow:0 2px 7px rgba(77,39,105,.05);transition:border-color .15s,box-shadow .15s}
body.pos-standalone-body .pos-payment-method:hover{border-color:#cdb5e4;box-shadow:0 4px 12px rgba(77,39,105,.08)}
body.pos-standalone-body .pos-payment-method .pm-icon{position:relative;z-index:1;height:40px;width:40px;margin-left:6px;border-radius:10px;background:#6d28d9;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;box-sizing:border-box;overflow:visible;transform:none;transition:background .15s,color .15s,box-shadow .15s}
body.pos-standalone-body .pos-payment-method.is-active .pm-icon,
body.pos-standalone-body .pos-payment-method.has-payment .pm-icon{background:#6d28d9;color:#fff;box-shadow:-4px 0 0 #f4c542,0 4px 10px rgba(109,40,217,.20)}
body.pos-standalone-body .pos-payment-method.is-active .pm-icon{transform:none}
body.pos-standalone-body .pos-payment-method>span:nth-child(2){font-size:14px;font-weight:700;letter-spacing:.005em;padding-left:10px;white-space:nowrap;color:#35283f;line-height:1.15}
body.pos-standalone-body .pos-payment-method>span:nth-child(2) small{display:block;font-size:10px;font-weight:500;color:#8c789d;margin-top:2px}
body.pos-standalone-body .pos-payment-method input{width:100%;min-width:0;height:100%;box-sizing:border-box;border:0;background:transparent;color:#5b2a8c;font-size:20px;font-weight:650;text-align:right;padding:0 12px 0 4px;outline:none;border-radius:10px}
body.pos-standalone-body .pos-payment-method input:focus{background:#fbf9fd;box-shadow:inset 0 -2px 0 #6d28d9}
body.pos-standalone-body .pos-payment-right{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff;border-left:1px solid #e5dff0;overflow:hidden}
body.pos-standalone-body .pos-payment-list-head{height:48px;flex:0 0 48px;display:flex;align-items:center;padding:0 20px;background:#5b21a8;color:#fff;font-size:15px;font-weight:750;letter-spacing:.005em}
body.pos-standalone-body .pos-payment-list{flex:1;min-height:0;padding:0 18px;overflow:auto;background:#fff}
body.pos-standalone-body .pos-payment-row{min-height:48px;display:grid;grid-template-columns:34px minmax(0,1fr) 120px;align-items:center;border-bottom:1px solid #eee9f3;color:#665d70;font-size:13.5px;font-weight:500;letter-spacing:.002em}
body.pos-standalone-body .pos-payment-row strong{text-align:right;font-weight:700;color:#5b21a8;font-size:14px;letter-spacing:.005em}
body.pos-standalone-body .pos-payment-delete{border:0;background:transparent;color:#a49aaa;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px}
body.pos-standalone-body .pos-payment-delete:hover{color:#d43d4f;background:#fff2f3}
body.pos-standalone-body .pos-payment-empty{height:100%;min-height:180px;display:flex;align-items:center;justify-content:center;color:#a096aa;font-size:13px}
body.pos-standalone-body .pos-payment-totals{flex:0 0 auto;padding:12px 22px 4px;border-top:1px solid #e9e3ef;background:#fff}
body.pos-standalone-body .pos-payment-totals>div{display:grid;grid-template-columns:1fr 140px;align-items:center;padding:6px 0;color:#756c7e;font-size:13.5px;font-weight:500;letter-spacing:.002em}
body.pos-standalone-body .pos-payment-totals strong{text-align:right;font-weight:750;color:#5b21a8;font-size:15px;letter-spacing:.005em}
body.pos-standalone-body .pos-payment-totals [data-pos-payment-diff].is-paid{color:#159451}
body.pos-standalone-body .pos-payment-totals [data-pos-payment-diff].is-over{color:#d13b3b}
body.pos-standalone-body .pos-payment-totals [data-pos-payment-diff].is-change{color:#159451;font-weight:800}
body.pos-standalone-body .pos-payment-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:10px;padding:11px 18px 16px;border-top:1px solid #e9e3ef;background:#fff}
body.pos-standalone-body .pos-payment-cancel{height:46px;padding:0 22px;border:1px solid #ddd4e7;background:#f7f4fa;color:#665b70;border-radius:9px;cursor:pointer;font-weight:700}
body.pos-standalone-body .pos-payment-confirm{height:46px;min-width:150px;margin:0!important;border:0;border-radius:9px;background:#6d28d9;color:#fff;font-size:15px;font-weight:750;letter-spacing:.005em;cursor:pointer;box-shadow:0 6px 16px rgba(109,40,217,.22)}
body.pos-standalone-body .pos-payment-confirm:hover{background:#5b21b6}
body.pos-standalone-body .pos-payment-confirm:disabled{opacity:.55;cursor:not-allowed}
body.pos-standalone-body .pos-payment-method input::selection{background:#d9c7fb;color:#2b1b4d}
@media(max-width:850px){
 body.pos-standalone-body .pos-payment-reference{width:calc(100vw - 18px)!important;height:calc(100vh - 18px)!important;max-height:calc(100vh - 18px)!important}
 body.pos-standalone-body .pos-payment-header{height:68px}
 body.pos-standalone-body .pos-payment-header + .pos-payment-layout{height:calc(100% - 68px)}
 body.pos-standalone-body .pos-payment-layout{grid-template-columns:1fr;overflow:auto}
 body.pos-standalone-body .pos-payment-methods{display:grid;grid-template-columns:1fr 1fr;max-height:330px;overflow:auto}
 body.pos-standalone-body .pos-payment-method{grid-template-columns:42px minmax(0,1fr) 86px;height:46px;flex-basis:46px}
 body.pos-standalone-body .pos-payment-method .pm-icon{height:35px;width:35px;font-size:19px}
 body.pos-standalone-body .pos-payment-method>span:nth-child(2){font-size:13px}
 body.pos-standalone-body .pos-payment-method input{font-size:16px}
 body.pos-standalone-body .pos-payment-list{min-height:120px}
}

/* v197 - ações da tela de pagamento: Orçamento e Vender no mesmo padrão visual */
body.pos-standalone-body .pos-payment-actions-main{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:0;
  padding:0;
}
body.pos-standalone-body .pos-payment-quote{
  height:46px;
  min-width:145px;
  margin:0;
  padding:0 22px;
  border:1px solid #d8c9e8;
  border-radius:9px;
  background:#fff;
  color:#5b21a8;
  font-size:15px;
  font-weight:750;
  letter-spacing:.005em;
  cursor:pointer;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:background .15s,border-color .15s,box-shadow .15s;
}
body.pos-standalone-body .pos-payment-quote:hover{
  background:#f7f1fc;
  border-color:#bfa4db;
  box-shadow:0 3px 10px rgba(77,39,105,.08);
}
body.pos-standalone-body .pos-payment-quote i{font-size:14px}
body.pos-standalone-body .pos-payment-actions .pos-payment-confirm{
  min-width:145px;
}
@media(max-width:800px){
  body.pos-standalone-body .pos-payment-actions-main{width:100%;}
  body.pos-standalone-body .pos-payment-quote,
  body.pos-standalone-body .pos-payment-actions .pos-payment-confirm{flex:1;min-width:0;}
}

/* v199 - pedido e cancelamento no cabeçalho do carrinho lateral */
body.pos-standalone-body .pos-topbar .pos-order-label{display:none!important}
body.pos-standalone-body .pos-side-head{
  height:72px!important;
  min-height:72px!important;
  padding:7px 12px 0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
  gap:0!important;
}
body.pos-standalone-body .pos-side-head-top{
  height:25px;
  flex:0 0 25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
body.pos-standalone-body .pos-order-side-label{
  color:#3b2a49;
  font-size:12px;
  font-weight:600;
  line-height:1;
}
body.pos-standalone-body .pos-order-side-label strong{
  font-size:12px;
  font-weight:700;
  color:#5b21a8;
}
body.pos-standalone-body .pos-cancel-order{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  color:#8d8493;
  border-radius:6px;
  cursor:pointer;
  padding:0;
}
body.pos-standalone-body .pos-cancel-order:hover{
  color:#c83232;
  background:#fff0f0;
}
body.pos-standalone-body .pos-side-head-bottom{
  height:40px;
  flex:0 0 40px;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
}
body.pos-standalone-body .pos-side-head-bottom .pos-sale-switch{
  height:40px;
  display:flex;
  align-items:stretch;
}
body.pos-standalone-body .pos-side-head-bottom .pos-sale-option{
  height:40px;
  padding:0 12px;
  border:0;
  border-bottom:3px solid transparent;
  background:transparent;
  color:#2a2630;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
}
body.pos-standalone-body .pos-side-head-bottom .pos-sale-option.is-active{
  border-bottom-color:#4e78a3;
  color:#1e2737;
}
body.pos-standalone-body .pos-side-head-bottom .pos-client-badge{display:none!important}

/* v200 - Novo Pedido e cancelar ficam dentro da barra azul superior da lateral */
body.pos-standalone-body .pos-topbar .pos-order-label{
  display:flex !important;
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  width:340px !important;
  height:64px !important;
  box-sizing:border-box !important;
  padding:0 12px 0 16px !important;
  align-items:center !important;
  justify-content:space-between !important;
  background:#3b5f82 !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1 !important;
  z-index:25 !important;
}
body.pos-standalone-body .pos-topbar .pos-order-label > span{
  display:block !important;
  color:#fff !important;
}
body.pos-standalone-body .pos-topbar .pos-order-label strong{
  color:#fff !important;
  font-weight:500 !important;
  margin-left:3px !important;
  font-size:13px !important;
}
body.pos-standalone-body .pos-topbar .pos-order-label .pos-cancel-order{
  position:static !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  background:transparent !important;
  color:rgba(255,255,255,.82) !important;
  border-radius:6px !important;
  padding:0 !important;
  cursor:pointer !important;
}
body.pos-standalone-body .pos-topbar .pos-order-label .pos-cancel-order:hover{
  color:#fff !important;
  background:rgba(255,255,255,.12) !important;
}
body.pos-standalone-body .pos-side-head{
  padding:0 14px !important;
}
body.pos-standalone-body .pos-side-head-top,
body.pos-standalone-body .pos-order-side-label{
  display:none !important;
}
@media(max-width:900px){
  body.pos-standalone-body .pos-topbar .pos-order-label{
    width:270px !important;
  }
}


/* Gerenciador de Pedidos */
.orders-manager-page{display:flex;flex-direction:column;gap:14px}
.orders-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px}
.orders-filters{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.orders-filter{padding:8px 12px;border-radius:7px;color:#5d5367;text-decoration:none;font-size:12px;font-weight:700}
.orders-filter:hover{background:#f2eef7}.orders-filter.active{background:#5b2a8f;color:#fff}
.orders-search{display:flex;gap:8px;margin:0}.orders-search input{height:36px;min-width:240px;border:1px solid #ddd6e5;border-radius:7px;padding:0 10px;box-sizing:border-box}
.orders-manager-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(420px,1fr);gap:14px;min-height:560px}
.orders-list-card,.orders-detail-card{min-width:0;overflow:hidden}.orders-card-head,.orders-detail-head{height:50px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8e2eb;background:#f8f6fa}.orders-card-head strong{color:#4c256f;font-size:15px}.orders-card-head span{color:#8a8090;font-size:11px}
.orders-table-wrap{max-height:610px;overflow:auto}.orders-table,.orders-items-table{width:100%;border-collapse:collapse;font-size:12px}.orders-table th,.orders-items-table th{position:sticky;top:0;background:#315d86;color:#fff;text-align:left;padding:9px 8px;font-size:11px;z-index:1}.orders-table td,.orders-items-table td{padding:9px 8px;border-bottom:1px solid #ece8ef;color:#4f4755}.orders-table tbody tr{cursor:pointer}.orders-table tbody tr:hover{background:#f5f1fa}.orders-table tbody tr.selected{background:#dfeefb}.orders-table td:first-child{width:28px;color:#5a6d80}.orders-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800}.status-pendente{background:#fff1c9;color:#9b6a00}.status-aberto{background:#e8eef8;color:#41658b}.status-confirmado{background:#dff5e7;color:#19733c}.status-cancelado{background:#fde1e1;color:#a62f2f}.orders-empty{text-align:center;padding:30px!important;color:#958b9e!important}
.orders-detail-head{background:#315d86;color:#fff}.orders-detail-head strong{font-size:16px;display:block}.orders-detail-head small{font-size:11px;opacity:.82;display:block;margin-top:3px}.orders-detail-head .orders-status{background:rgba(255,255,255,.18);color:#fff}
.orders-detail-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#e7e2e9;border-bottom:1px solid #e7e2e9}.orders-detail-summary>div{background:#fff;padding:11px 12px}.orders-detail-summary span{display:block;color:#8b8291;font-size:10px;margin-bottom:4px}.orders-detail-summary strong{color:#4f315f;font-size:13px}.orders-detail-section{padding:12px 14px}.orders-detail-section h3{margin:0 0 8px;color:#4c256f;font-size:13px}.orders-items-table th{background:#6a3aa3}.orders-items-table td{padding:8px}.orders-payment-list{border:1px solid #e9e3ed;border-radius:7px;overflow:hidden}.orders-payment-list>div{display:grid;grid-template-columns:1fr 120px;padding:9px 11px;border-bottom:1px solid #eee9f1;font-size:12px}.orders-payment-list>div:last-child{border-bottom:0}.orders-payment-list strong{text-align:right;color:#5b21a8}.orders-no-payment{display:block;padding:12px;color:#93899c;font-size:12px}.orders-observation{margin:0 14px 12px;padding:10px 12px;border:1px solid #eadfee;background:#faf8fc;border-radius:7px;font-size:11px}.orders-observation strong{display:block;color:#5b2a8f;margin-bottom:3px}.orders-observation span{color:#6e6576}.orders-detail-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 14px;border-top:1px solid #e8e2eb}.orders-detail-empty{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#918898;text-align:center;padding:20px}.orders-detail-empty i{font-size:34px;color:#6b35a5}.orders-detail-empty strong{color:#5a2a8f;font-size:16px}.orders-detail-empty span{max-width:360px;font-size:12px}
@media(max-width:1050px){.orders-manager-grid{grid-template-columns:1fr}.orders-detail-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.orders-toolbar{align-items:stretch;flex-direction:column}.orders-search input{min-width:0;width:100%}.orders-search{width:100%}.orders-detail-summary{grid-template-columns:1fr 1fr}.orders-detail-actions{flex-wrap:wrap}}
body.pos-standalone-body .pos-payment-confirm:disabled{opacity:.42!important;cursor:not-allowed!important;filter:grayscale(.25)}

/* v209 - Gerenciador de Pedidos em modal no Frente de Caixa */
.pos-orders-modal{z-index:1400!important;padding:18px}.pos-orders-modal .pos-modal-backdrop{background:rgba(20,16,31,.62);backdrop-filter:blur(2px)}
.pos-orders-dialog{position:relative;width:min(1220px,calc(100vw - 28px));height:min(760px,calc(100vh - 28px));max-height:calc(100vh - 28px);background:#f8f6fb;border-radius:16px;box-shadow:0 24px 80px rgba(21,12,35,.35);overflow:hidden;display:flex;flex-direction:column}
.pos-orders-modal-inner{height:100%;display:flex;flex-direction:column;min-height:0}.pos-orders-modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 20px;background:#fff;border-bottom:1px solid #e7e0ec}.pos-orders-modal-head h2{margin:0;color:#17203b;font-size:20px}.pos-orders-modal-head span{display:block;margin-top:4px;color:#81788d;font-size:11px}.pos-orders-close{width:34px;height:34px;border:0;border-radius:9px;background:#f1ecf5;color:#73677e;cursor:pointer;font-size:15px}.pos-orders-close:hover{background:#e7def0;color:#4f256f}
.pos-orders-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;background:#fff;border-bottom:1px solid #e8e2ed}.pos-orders-filters{display:flex;gap:4px;flex-wrap:wrap}.pos-orders-filter{border:0;background:transparent;padding:8px 12px;border-radius:7px;color:#5d5367;font-size:11px;font-weight:800;cursor:pointer}.pos-orders-filter:hover{background:#f3eef7}.pos-orders-filter.active{background:#5b2a8f;color:#fff}.pos-orders-search{display:flex;gap:7px}.pos-orders-search input{height:36px;width:240px;border:1px solid #ddd5e5;border-radius:7px;padding:0 10px;box-sizing:border-box}.pos-orders-search .btn{height:36px}
.pos-orders-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(470px,1fr);gap:12px;padding:12px;min-height:0;flex:1}.pos-orders-list-card,.pos-orders-detail-card{min-width:0;min-height:0;background:#fff;border:1px solid #e6dfea;border-radius:12px;overflow:hidden}.pos-orders-card-head{height:43px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7e1ea}.pos-orders-card-head strong{color:#4c256f;font-size:13px}.pos-orders-card-head span{color:#8a8090;font-size:10px}.pos-orders-table-wrap{height:calc(100% - 43px);overflow-y:scroll;overflow-x:auto;scrollbar-width:auto;scrollbar-color:#8a7a98 #eeeaf1}.pos-orders-table{width:100%;border-collapse:collapse;font-size:11px}.pos-orders-table th{position:sticky;top:0;background:#315d86;color:#fff;text-align:left;padding:8px 8px;font-size:10px;z-index:1}.pos-orders-table td{padding:9px 8px;border-bottom:1px solid #ece8ef;color:#4f4755}.pos-orders-table tbody tr{cursor:pointer}.pos-orders-table tbody tr:hover{background:#f5f1fa}.pos-orders-table tbody tr.selected{background:#dfeefb}.pos-orders-table td:first-child{width:62px}.pos-orders-detail-card{display:flex;flex-direction:column;overflow:auto}.pos-orders-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;background:#315d86;color:#fff}.pos-orders-detail-head strong{font-size:15px}.pos-orders-detail-head small{display:block;margin-top:3px;font-size:10px;opacity:.85}.pos-orders-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#e7e2e9;border-bottom:1px solid #e7e2e9}.pos-orders-summary>div{background:#fff;padding:9px 10px}.pos-orders-summary span{display:block;color:#8b8291;font-size:9px;margin-bottom:3px}.pos-orders-summary strong{color:#4f315f;font-size:11px}.pos-orders-detail-section{padding:10px 12px}.pos-orders-detail-section h3{margin:0 0 7px;color:#4c256f;font-size:12px}.pos-orders-items-wrap{overflow:auto}.pos-orders-items{width:100%;border-collapse:collapse;font-size:10px}.pos-orders-items th{background:#6a3aa3;color:#fff;text-align:left;padding:7px}.pos-orders-items td{padding:7px;border-bottom:1px solid #eee9f1;color:#514958}.pos-orders-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:auto;padding:10px 12px;border-top:1px solid #e8e2eb;background:#fcfbfd}.pos-orders-empty,.pos-orders-loading,.pos-orders-error{height:100%;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#918898;gap:8px}.pos-orders-empty i,.pos-orders-loading i{font-size:32px;color:#6b35a5}.pos-orders-empty strong{color:#5a2a8f;font-size:15px}.pos-orders-empty span{font-size:11px}.pos-orders-error{color:#a62f2f;padding:20px}.pos-orders-error:before{content:'⚠';font-size:28px}
@media(max-width:900px){.pos-orders-grid{grid-template-columns:1fr}.pos-orders-detail-card{display:none}.pos-orders-search input{width:180px}.pos-orders-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.pos-orders-modal{padding:8px}.pos-orders-dialog{width:100%;height:calc(100vh - 16px);max-height:none;border-radius:12px}.pos-orders-toolbar{align-items:stretch;flex-direction:column}.pos-orders-search{width:100%}.pos-orders-search input{width:100%;flex:1}.pos-orders-grid{padding:8px}.pos-orders-modal-head h2{font-size:17px}}

/* v215 - Gerenciador de Pedidos: filtros/status e barra de ações */
.pos-orders-table-wrap::-webkit-scrollbar{width:12px;height:10px}
.pos-orders-table-wrap::-webkit-scrollbar-track{background:#eeeaf1}
.pos-orders-table-wrap::-webkit-scrollbar-thumb{background:#8a7a98;border-radius:8px;border:3px solid #eeeaf1}
.pos-orders-detail-card{position:relative}
.pos-orders-actions{flex-wrap:wrap;align-items:center}
.pos-orders-actions .btn{white-space:nowrap}
.pos-orders-actions-empty{margin-top:auto}
.pos-orders-actions .btn:disabled{opacity:.48;cursor:not-allowed}

/* v216 - Gerenciador de Pedidos: layout fixo no estilo da retaguarda */
.pos-orders-dialog{width:min(1260px,calc(100vw - 28px));height:min(780px,calc(100vh - 28px));}
.pos-orders-grid{grid-template-columns:minmax(500px,.84fr) minmax(650px,1.16fr);gap:12px;padding:12px;}
.pos-orders-list-card{display:flex;flex-direction:column;min-height:0;}
.pos-orders-table-wrap{height:auto;flex:1;min-height:0;overflow-y:auto;overflow-x:auto;scrollbar-width:auto;}
.pos-orders-detail-card{display:flex;flex-direction:column;overflow:hidden;min-height:0;}
.pos-orders-detail-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:auto;scrollbar-color:#8a7a98 #eeeaf1;background:#fff;}
.pos-orders-detail-body::-webkit-scrollbar{width:12px}
.pos-orders-detail-body::-webkit-scrollbar-track{background:#eeeaf1}
.pos-orders-detail-body::-webkit-scrollbar-thumb{background:#8a7a98;border-radius:8px;border:3px solid #eeeaf1}
.pos-orders-detail-body-empty{display:flex;align-items:center;justify-content:center;}
.pos-orders-detail-body .pos-orders-detail-head{flex:none;}
.pos-orders-detail-body .pos-orders-summary{flex:none;}
.pos-orders-detail-body .pos-orders-detail-section{flex:none;}
.pos-orders-detail-body .orders-observation{flex:none;}
.pos-orders-items-wrap{max-height:none;overflow:visible;}
.pos-orders-actions{flex:0 0 auto;min-height:58px;box-sizing:border-box;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #e8e2eb;background:#fcfbfd;position:relative;z-index:2;}
.pos-orders-actions .btn{height:38px;padding:0 12px;}
.pos-orders-actions-empty{justify-content:flex-end;}
.pos-orders-empty{min-height:0;width:100%;height:100%;box-sizing:border-box;padding:24px;}
@media(max-width:1280px){
  .pos-orders-dialog{width:calc(100vw - 20px)}
  .pos-orders-grid{grid-template-columns:minmax(470px,.82fr) minmax(610px,1.18fr)}
  .pos-orders-actions{gap:6px;padding-left:8px;padding-right:8px}
  .pos-orders-actions .btn{padding-left:9px;padding-right:9px;font-size:11px}
}
@media(max-width:1050px){
  .pos-orders-grid{grid-template-columns:1fr}
  .pos-orders-detail-card{min-height:520px}
}

/* v217 - Gerenciador de Pedidos: proporções e colunas conforme modelo do usuário */
.pos-orders-grid{
  grid-template-columns:minmax(540px,42fr) minmax(650px,58fr);
  gap:12px;
}
.pos-orders-list-card{min-width:0;}
.pos-orders-table-wrap{
  flex:1 1 auto;
  min-height:0;
  height:auto;
  overflow-y:auto;
  overflow-x:hidden;
}
.pos-orders-table{
  width:100%;
  table-layout:fixed;
}
.pos-orders-table th,
.pos-orders-table td{
  box-sizing:border-box;
}
.pos-orders-table th:nth-child(1),
.pos-orders-table td:nth-child(1){width:9%;white-space:nowrap;}
.pos-orders-table th:nth-child(2),
.pos-orders-table td:nth-child(2){width:31%;}
.pos-orders-table th:nth-child(3),
.pos-orders-table td:nth-child(3){width:20%;white-space:nowrap;}
.pos-orders-table th:nth-child(4),
.pos-orders-table td:nth-child(4){width:13%;white-space:nowrap;}
.pos-orders-table th:nth-child(5),
.pos-orders-table td:nth-child(5){width:14%;white-space:nowrap;}
.pos-orders-table th:nth-child(6),
.pos-orders-table td:nth-child(6){width:13%;white-space:nowrap;}
.pos-orders-table td:nth-child(2){overflow-wrap:anywhere;}
.pos-orders-table td:nth-child(4),
.pos-orders-table td:nth-child(5){white-space:nowrap;}
.pos-orders-detail-card{overflow:hidden;}
.pos-orders-detail-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;}
.pos-orders-actions{
  flex:0 0 auto;
  margin-top:0;
  width:100%;
  box-sizing:border-box;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  min-height:58px;
}
.pos-orders-actions .btn{white-space:nowrap;}
.pos-orders-empty{
  min-height:0;
  height:100%;
}
@media(max-width:1280px){
  .pos-orders-grid{grid-template-columns:minmax(500px,42fr) minmax(600px,58fr);}
}

/* v218 - Gerenciador: rolagem condicional e rodapé fixo no painel direito */
.pos-orders-modal-inner{overflow:hidden;min-height:0;}
.pos-orders-grid{flex:1 1 auto;min-height:0;overflow:hidden;grid-template-columns:minmax(570px,46fr) minmax(610px,54fr);}
.pos-orders-list-card{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;}
.pos-orders-table-wrap{flex:1 1 auto;min-height:0;height:auto;overflow-x:hidden;overflow-y:hidden;}
.pos-orders-table-wrap.has-scroll{overflow-y:scroll;}
.pos-orders-table{min-width:570px;table-layout:fixed;}
.pos-orders-table th,.pos-orders-table td{white-space:nowrap;}
.pos-orders-table th:nth-child(1),.pos-orders-table td:nth-child(1){width:10%;}
.pos-orders-table th:nth-child(2),.pos-orders-table td:nth-child(2){width:30%;}
.pos-orders-table th:nth-child(3),.pos-orders-table td:nth-child(3){width:21%;}
.pos-orders-table th:nth-child(4),.pos-orders-table td:nth-child(4){width:13%;}
.pos-orders-table th:nth-child(5),.pos-orders-table td:nth-child(5){width:12%;}
.pos-orders-table th:nth-child(6),.pos-orders-table td:nth-child(6){width:14%;}
.pos-orders-table td:nth-child(2){white-space:normal;overflow-wrap:break-word;}
.pos-orders-detail-card{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;}
.pos-orders-detail-body{flex:1 1 auto;min-height:0;height:auto!important;overflow-x:hidden;overflow-y:hidden;}
.pos-orders-detail-body.has-scroll{overflow-y:scroll;}
.pos-orders-detail-body-empty{flex:1 1 auto;height:auto!important;min-height:0;}
.pos-orders-detail-body-empty .pos-orders-empty{height:100%;min-height:0;}
.pos-orders-items-wrap{overflow-y:hidden;overflow-x:auto;max-height:none;}
.pos-orders-items-wrap.has-scroll{overflow-y:scroll;max-height:100%;}
.pos-orders-actions{flex:0 0 58px!important;height:58px;min-height:58px;max-height:58px;box-sizing:border-box;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:10px 12px;margin:0;border-top:1px solid #e8e2eb;background:#fcfbfd;position:relative;z-index:5;}
.pos-orders-actions-empty{flex:0 0 58px!important;height:58px;min-height:58px;}
.pos-orders-actions .btn{white-space:nowrap;height:38px;}
@media(max-width:1100px){.pos-orders-grid{grid-template-columns:minmax(520px,45fr) minmax(560px,55fr);}.pos-orders-table{min-width:520px;}}


/* v219 - Gerenciador: estrutura rígida para rodapé fixo e rolagem somente quando necessária */
.pos-orders-modal-inner{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.pos-orders-grid{
  display:grid!important;
  grid-template-columns:minmax(570px,46fr) minmax(610px,54fr)!important;
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  padding:12px!important;
}
.pos-orders-list-card{
  display:grid!important;
  grid-template-rows:43px minmax(0,1fr)!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.pos-orders-table-wrap{
  height:auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:auto!important;
  flex:none!important;
}
.pos-orders-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.pos-orders-detail-card{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) 58px!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.pos-orders-detail-body{
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:auto!important;
}
.pos-orders-detail-body-empty{
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}
.pos-orders-detail-body-empty .pos-orders-empty{
  height:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
}
.pos-orders-actions,
.pos-orders-actions-empty{
  grid-row:2!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  flex:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  overflow:hidden!important;
  position:relative!important;
  z-index:10!important;
}
.pos-orders-items-wrap{
  max-height:none!important;
  overflow:visible!important;
}
.pos-orders-detail-body .pos-orders-items-wrap{
  overflow:visible!important;
}
.pos-orders-table th:nth-child(1),.pos-orders-table td:nth-child(1){width:10%!important;white-space:nowrap!important}
.pos-orders-table th:nth-child(2),.pos-orders-table td:nth-child(2){width:30%!important}
.pos-orders-table th:nth-child(3),.pos-orders-table td:nth-child(3){width:21%!important;white-space:nowrap!important}
.pos-orders-table th:nth-child(4),.pos-orders-table td:nth-child(4){width:13%!important;white-space:nowrap!important}
.pos-orders-table th:nth-child(5),.pos-orders-table td:nth-child(5){width:12%!important;white-space:nowrap!important}
.pos-orders-table th:nth-child(6),.pos-orders-table td:nth-child(6){width:14%!important;white-space:nowrap!important}
.pos-orders-table td:nth-child(2){white-space:normal!important;overflow-wrap:break-word!important}
@media(max-width:1100px){
  .pos-orders-grid{grid-template-columns:minmax(520px,45fr) minmax(560px,55fr)!important}
}

/* v220 - Gerenciador de Pedidos: correção definitiva de rolagem, colunas e rodapé */
.pos-orders-table-wrap{
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
}
.pos-orders-table{
  min-width:0!important;
  width:100%!important;
  table-layout:fixed!important;
}
.pos-orders-table th:nth-child(1),.pos-orders-table td:nth-child(1){width:11%!important;}
.pos-orders-table th:nth-child(2),.pos-orders-table td:nth-child(2){width:28%!important;}
.pos-orders-table th:nth-child(3),.pos-orders-table td:nth-child(3){width:19%!important;}
.pos-orders-table th:nth-child(4),.pos-orders-table td:nth-child(4){width:13%!important;}
.pos-orders-table th:nth-child(5),.pos-orders-table td:nth-child(5){width:13%!important;}
.pos-orders-table th:nth-child(6),.pos-orders-table td:nth-child(6){width:16%!important;}
.pos-orders-table td:nth-child(4),
.pos-orders-table td:nth-child(5),
.pos-orders-table td:nth-child(6){white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;}
.pos-orders-table td:nth-child(6) .orders-status{max-width:100%;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pos-orders-actions,
.pos-orders-actions-empty{
  grid-row:2!important;
  flex:0 0 96px!important;
  height:96px!important;
  min-height:96px!important;
  max-height:96px!important;
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:38px;
  align-content:center;
  gap:8px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.pos-orders-actions .btn,
.pos-orders-actions-empty .btn{
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  padding:0 8px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-orders-detail-card{
  grid-template-rows:minmax(0,1fr) 96px!important;
}
.pos-orders-detail-body{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
}
.pos-orders-detail-body .pos-orders-items-wrap{
  overflow:visible!important;
}
@media(max-width:1100px){
  .pos-orders-actions,.pos-orders-actions-empty{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* v221 - Gerenciador: painéis independentes
   Esquerda: rolagem SOMENTE quando a lista ultrapassar a área disponível.
   Direita: ocupa toda a altura do painel e rola somente o conteúdo do pedido;
   os botões permanecem fixos no rodapé. */
.pos-orders-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}

/* PAINEL ESQUERDO - LISTA DE PEDIDOS */
.pos-orders-list-card{
  display:grid!important;
  grid-template-rows:43px minmax(0,1fr)!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.pos-orders-table-wrap{
  min-height:0!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-gutter:auto!important;
  scrollbar-width:auto!important;
}
.pos-orders-table-wrap::-webkit-scrollbar{width:12px}
.pos-orders-table-wrap::-webkit-scrollbar-track{background:#eeeaf1}
.pos-orders-table-wrap::-webkit-scrollbar-thumb{background:#8a7a98;border-radius:8px;border:3px solid #eeeaf1}

/* PAINEL DIREITO - PEDIDO SELECIONADO */
.pos-orders-detail-card{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) 96px!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.pos-orders-detail-body{
  min-height:0!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-gutter:auto!important;
  scrollbar-width:auto!important;
}
.pos-orders-detail-body::-webkit-scrollbar{width:12px}
.pos-orders-detail-body::-webkit-scrollbar-track{background:#eeeaf1}
.pos-orders-detail-body::-webkit-scrollbar-thumb{background:#8a7a98;border-radius:8px;border:3px solid #eeeaf1}
.pos-orders-detail-body-empty{overflow:hidden!important}

/* Rodapé pertence SOMENTE ao painel direito. */
.pos-orders-actions,
.pos-orders-actions-empty{
  grid-row:2!important;
  width:100%!important;
  height:96px!important;
  min-height:96px!important;
  max-height:96px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:38px 38px!important;
  align-content:center!important;
  gap:8px!important;
  margin:0!important;
  padding:10px 12px!important;
  overflow:hidden!important;
  background:#fcfbfd!important;
  border-top:1px solid #e8e2eb!important;
}
.pos-orders-actions .btn,
.pos-orders-actions-empty .btn{
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}


/* v222 - Gerenciador de Pedidos: layout estrutural definitivo
   Cada painel tem seu próprio fluxo. Não usar overflow no card direito inteiro.
   A lista esquerda só ganha rolagem quando o conteúdo realmente ultrapassa a área. */
.pos-orders-modal-inner{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.pos-orders-grid{display:grid!important;flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow:hidden!important}

/* ESQUERDA: cabeçalho fixo + lista flexível */
.pos-orders-list-card{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;overflow:hidden!important}
.pos-orders-list-card .pos-orders-card-head{flex:0 0 43px!important;height:43px!important;min-height:43px!important;box-sizing:border-box!important}
.pos-orders-table-wrap{flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-x:hidden!important;overflow-y:hidden!important;scrollbar-gutter:stable!important;box-sizing:border-box!important}
.pos-orders-table-wrap.has-scroll{overflow-y:scroll!important}

/* DIREITA: conteúdo independente + rodapé sempre reservado */
.pos-orders-detail-card{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;overflow:hidden!important}
.pos-orders-detail-body{flex:1 1 auto!important;width:100%!important;height:auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;box-sizing:border-box!important}
.pos-orders-detail-body-empty{flex:1 1 auto!important;height:auto!important;min-height:0!important;overflow:hidden!important}
.pos-orders-detail-body-empty .pos-orders-empty{height:100%!important;min-height:0!important;box-sizing:border-box!important}
.pos-orders-actions,.pos-orders-actions-empty{flex:0 0 96px!important;width:100%!important;height:96px!important;min-height:96px!important;max-height:96px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:38px 38px!important;align-content:center!important;gap:8px!important;margin:0!important;padding:10px 12px!important;box-sizing:border-box!important;overflow:hidden!important;background:#fcfbfd!important;border-top:1px solid #e8e2eb!important}
.pos-orders-actions .btn,.pos-orders-actions-empty .btn{width:100%!important;height:38px!important;min-width:0!important;box-sizing:border-box!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* Tabela: preserva o visual atual sem deixar colunas se sobreporem. */
.pos-orders-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
.pos-orders-table th:nth-child(1),.pos-orders-table td:nth-child(1){width:11%!important;white-space:nowrap!important}
.pos-orders-table th:nth-child(2),.pos-orders-table td:nth-child(2){width:28%!important;white-space:normal!important;overflow-wrap:break-word!important}
.pos-orders-table th:nth-child(3),.pos-orders-table td:nth-child(3){width:19%!important;white-space:nowrap!important}
.pos-orders-table th:nth-child(4),.pos-orders-table td:nth-child(4){width:13%!important;white-space:nowrap!important}
.pos-orders-table th:nth-child(5),.pos-orders-table td:nth-child(5){width:13%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.pos-orders-table th:nth-child(6),.pos-orders-table td:nth-child(6){width:16%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.pos-orders-table td:nth-child(6) .orders-status{max-width:100%!important;box-sizing:border-box!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

.pos-orders-table-wrap::-webkit-scrollbar,.pos-orders-detail-body::-webkit-scrollbar{width:12px}
.pos-orders-table-wrap::-webkit-scrollbar-track,.pos-orders-detail-body::-webkit-scrollbar-track{background:#eeeaf1}
.pos-orders-table-wrap::-webkit-scrollbar-thumb,.pos-orders-detail-body::-webkit-scrollbar-thumb{background:#8a7a98;border-radius:8px;border:3px solid #eeeaf1}

/* V223 - correção da raiz do modal do Gerenciador de Pedidos
   O conteúdo AJAX é um filho direto do dialog e precisa participar do flex
   do modal. Sem isso, o .pos-orders-modal-inner com height:100% cresce fora
   da área disponível e o painel direito/rodapé e a rolagem esquerda deixam
   de respeitar o tamanho real do modal. */
.pos-orders-dialog > [data-pos-orders-content]{
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.pos-orders-modal-inner{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}
.pos-orders-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}
.pos-orders-list-card{
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.pos-orders-table-wrap{
  min-height:0!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.pos-orders-detail-card{
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.pos-orders-detail-body{
  min-height:0!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.pos-orders-actions,
.pos-orders-actions-empty{
  flex:none!important;
  min-height:96px!important;
  height:96px!important;
  max-height:96px!important;
  overflow:visible!important;
}


/* V224 - Gerenciador: mais espaço para a lista e coluna Tipo sem cortar Orçamento. */
.pos-orders-grid{
  grid-template-columns:minmax(600px,50fr) minmax(600px,50fr)!important;
  gap:12px!important;
}
.pos-orders-table th:nth-child(1),.pos-orders-table td:nth-child(1){width:11%!important}
.pos-orders-table th:nth-child(2),.pos-orders-table td:nth-child(2){width:27%!important}
.pos-orders-table th:nth-child(3),.pos-orders-table td:nth-child(3){width:18%!important}
.pos-orders-table th:nth-child(4),.pos-orders-table td:nth-child(4){width:13%!important}
.pos-orders-table th:nth-child(5),.pos-orders-table td:nth-child(5){width:18%!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
.pos-orders-table th:nth-child(6),.pos-orders-table td:nth-child(6){width:13%!important}
@media(max-width:1100px){
  .pos-orders-grid{grid-template-columns:minmax(580px,50fr) minmax(580px,50fr)!important;}
}
\n/* V225 - Gerenciador: status sem truncamento e colunas equilibradas. */\n.pos-orders-table th:nth-child(1),.pos-orders-table td:nth-child(1){width:9%!important;white-space:nowrap!important}\n.pos-orders-table th:nth-child(2),.pos-orders-table td:nth-child(2){width:26%!important;white-space:normal!important;overflow-wrap:break-word!important}\n.pos-orders-table th:nth-child(3),.pos-orders-table td:nth-child(3){width:19%!important;white-space:nowrap!important}\n.pos-orders-table th:nth-child(4),.pos-orders-table td:nth-child(4){width:12%!important;white-space:nowrap!important}\n.pos-orders-table th:nth-child(5),.pos-orders-table td:nth-child(5){width:16%!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}\n.pos-orders-table th:nth-child(6),.pos-orders-table td:nth-child(6){width:18%!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}\n.pos-orders-table td:nth-child(6) .orders-status{display:inline-flex!important;align-items:center;justify-content:center;max-width:none!important;min-width:0!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:10px!important;padding:5px 8px!important}\n
/* V226 - Gerenciador: reduzir Tipo e ampliar Status.
   O tipo precisa apenas acomodar "Orçamento"; o espaço liberado vai para
   o status para que "Confirmado" nunca seja cortado. */
.pos-orders-table{table-layout:fixed!important;width:100%!important;min-width:0!important}
.pos-orders-table th:nth-child(1),.pos-orders-table td:nth-child(1){width:11%!important;white-space:nowrap!important}
.pos-orders-table th:nth-child(2),.pos-orders-table td:nth-child(2){width:27%!important;white-space:normal!important;overflow-wrap:break-word!important}
.pos-orders-table th:nth-child(3),.pos-orders-table td:nth-child(3){width:18%!important;white-space:nowrap!important}
.pos-orders-table th:nth-child(4),.pos-orders-table td:nth-child(4){width:12%!important;white-space:nowrap!important}
.pos-orders-table th:nth-child(5),.pos-orders-table td:nth-child(5){width:12%!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
.pos-orders-table th:nth-child(6),.pos-orders-table td:nth-child(6){width:20%!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
.pos-orders-table td:nth-child(6) .orders-status{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap!important;max-width:none!important;min-width:0!important;overflow:visible!important;text-overflow:clip!important;box-sizing:border-box!important;padding:5px 8px!important}

/* V229 - Gerenciador: seleção e unificação de pedidos. */
.pos-orders-table .orders-select-wrap{display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap}
.pos-orders-table .orders-select{width:15px;height:15px;accent-color:#5a2aa8;cursor:pointer;flex:0 0 auto}
.pos-orders-table .orders-select:disabled{cursor:not-allowed;opacity:.45}
.pos-orders-table tr.unify-selected{background:#eee7fb!important;box-shadow:inset 3px 0 0 #6b35ad}
.pos-orders-table tr.unify-selected td:first-child{font-weight:700}
.orders-unify-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.58)}
.orders-unify-modal{width:min(980px,94vw);max-height:min(680px,90vh);background:#fff;border:1px solid #d9d1e5;border-radius:12px;box-shadow:0 24px 70px rgba(15,23,42,.32);display:flex;flex-direction:column;overflow:hidden}
.orders-unify-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f7f4fb;border-bottom:1px solid #ddd5e7}
.orders-unify-head strong{display:block;font-size:19px;color:#19335c}
.orders-unify-head span{display:block;margin-top:4px;font-size:13px;color:#756c80}
.orders-unify-close{border:0;background:#eee8f5;color:#6b35ad;width:34px;height:34px;border-radius:8px;font-size:23px;cursor:pointer}
.orders-unify-table-wrap{overflow:auto;padding:14px 18px;flex:1}
.orders-unify-table-wrap table{width:100%;border-collapse:collapse;font-size:13px}
.orders-unify-table-wrap th{background:#365f89;color:#fff;text-align:left;padding:9px 10px;font-size:11px;text-transform:uppercase}
.orders-unify-table-wrap td{padding:11px 10px;border-bottom:1px solid #e5e0e9;color:#51495b}
.orders-unify-table-wrap tbody tr:hover{background:#f5f0fb}
.orders-unify-table-wrap tbody tr:has(input:checked){background:#e4f0fb}
.orders-unify-table-wrap input[type=radio]{width:17px;height:17px;accent-color:#5a2aa8}
.orders-unify-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;border-top:1px solid #ddd5e7;background:#fff}
.orders-unify-foot>span{font-size:12px;color:#756c80}
.orders-unify-foot>div{display:flex;gap:8px;flex:0 0 auto}
.orders-unify-foot .btn{min-width:130px;height:40px}
@media(max-width:760px){.orders-unify-foot{flex-direction:column;align-items:stretch}.orders-unify-foot>div{justify-content:flex-end}.orders-unify-table-wrap{padding:10px}.orders-unify-modal{width:96vw}.pos-orders-table .orders-select-wrap{gap:4px}.pos-orders-table .orders-select{width:13px;height:13px}}

/* V230 - Ações do Gerenciador: hover e cancelamento de pedidos pendentes. */
.pos-orders-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;align-items:stretch!important;}
.pos-orders-actions .btn{width:100%;min-width:0;transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease;}
.pos-orders-actions .btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(60,35,90,.14);}
.pos-orders-actions .btn.btn-primary:not(:disabled):hover{background:#6f20d7!important;border-color:#6f20d7!important;color:#fff!important;}
.pos-orders-actions .btn.btn-light:not(:disabled):hover{background:#eee5fa!important;border-color:#b98be6!important;color:#4d2376!important;}
.pos-orders-actions .btn.btn-orders-cancel:not(:disabled):hover{background:#dc3545!important;border-color:#dc3545!important;color:#fff!important;}
.pos-orders-actions .btn[data-orders-exit]:not(:disabled):hover{background:#293142!important;border-color:#293142!important;color:#fff!important;}
.pos-orders-actions .btn:disabled{opacity:.48;cursor:not-allowed;transform:none!important;box-shadow:none!important;}
@media(max-width:760px){.pos-orders-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}

/* V232 - SweetAlert do Gerenciador de Pedidos deve ficar acima do modal */
body.pos-standalone-body .swal2-container{
  z-index: 200000 !important;
}
body.pos-standalone-body .swal2-popup{
  z-index: 200001 !important;
}

/* V239 - tooltip portal da Frente de Caixa e modal de Abertura/Fechamento */
.pos-tooltip-portal{position:fixed;z-index:1000000;pointer-events:none;background:#111;color:#fff;font-size:12px;line-height:1.2;padding:7px 10px;border-radius:3px;box-shadow:0 2px 7px rgba(0,0,0,.22);white-space:nowrap}.pos-tooltip-portal:before{content:"";position:absolute;left:50%;top:-5px;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #111}.pos-tooltip-portal[hidden]{display:none!important}
.pos-cash-modal{z-index:300000!important}.pos-cash-modal .pos-modal-backdrop{z-index:0}.pos-cash-dialog{position:relative;z-index:1;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 36px);background:#fff;border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden}.pos-cash-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:#315d86;color:#fff}.pos-cash-head h2{margin:0;font-size:18px}.pos-cash-head span{display:block;margin-top:4px;font-size:11px;opacity:.88}.pos-cash-head .pos-modal-close{background:rgba(255,255,255,.14);color:#fff}.pos-cash-head .pos-modal-close:hover{background:rgba(255,255,255,.24)}.pos-cash-body{padding:18px;max-height:calc(100vh - 140px);overflow:auto}.pos-cash-form{display:flex;flex-direction:column;gap:14px}.pos-cash-form label{display:flex;flex-direction:column;gap:5px;color:#5c5561;font-size:11px;font-weight:700}.pos-cash-form input,.pos-cash-form textarea{border:1px solid #d9d0e1;border-radius:7px;background:#fff;padding:9px 10px;font:inherit;color:#333;box-sizing:border-box}.pos-cash-highlight{display:flex;align-items:center;gap:12px;padding:12px;border-radius:9px;background:#f4f0f8;color:#4d315f}.pos-cash-highlight i{width:38px;height:38px;border-radius:9px;background:#6a3aa3;color:#fff;display:grid;place-items:center;font-size:17px}.pos-cash-highlight strong,.pos-cash-highlight span{display:block}.pos-cash-highlight span{font-size:10px;color:#887d90;margin-top:2px}.pos-cash-open-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pos-cash-open-info>div{border:1px solid #e4dce9;border-radius:8px;padding:9px}.pos-cash-open-info span{display:block;color:#8a8190;font-size:9px}.pos-cash-open-info strong{display:block;color:#3e3450;font-size:12px;margin-top:3px}.pos-cash-values{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pos-cash-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:3px}.pos-cash-report-head{padding-bottom:10px;border-bottom:1px solid #e5dfe8}.pos-cash-report-head strong{display:block;color:#315d86;font-size:15px}.pos-cash-report-head span{display:block;color:#81788b;font-size:10px;margin-top:4px}.pos-cash-report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.pos-cash-report-summary div{border:1px solid #e4dce9;border-radius:8px;padding:9px}.pos-cash-report-summary span{display:block;color:#8a8190;font-size:9px}.pos-cash-report-summary strong{display:block;margin-top:3px;color:#3f3450;font-size:12px}.pos-cash-report-summary .negative{color:#b42318}.pos-cash-report-summary .positive{color:#147a43}.pos-cash-report table{width:100%;border-collapse:collapse;font-size:10px}.pos-cash-report th{background:#315d86;color:#fff;padding:7px;text-align:left}.pos-cash-report td{border-bottom:1px solid #eee8f1;padding:7px;color:#4d4653}.pos-cash-report td:not(:first-child),.pos-cash-report th:not(:first-child){text-align:right}.pos-cash-report-note{margin-top:12px;padding:10px;background:#faf8fc;border:1px solid #e8e1ed;border-radius:7px;font-size:10px;color:#5d5562}
@media(max-width:650px){.pos-cash-values{grid-template-columns:1fr}.pos-cash-open-info{grid-template-columns:1fr}.pos-cash-dialog{width:calc(100vw - 16px)}.pos-cash-report-summary{grid-template-columns:repeat(2,1fr)}}

/* V248 - SweetAlert deve ficar acima dos modais do PDV/gerenciadores. */
.swal2-container{z-index:400000!important}
/* V240 - Gerenciador de Caixas baseado exclusivamente em controlecaixa. */
.pos-cash-manager-modal{z-index:310000!important}.pos-cash-manager-modal .pos-modal-backdrop{z-index:0}
.pos-cash-manager-dialog{position:relative;z-index:1;width:min(1100px,calc(100vw - 24px));max-height:calc(100vh - 24px);background:#fff;border-radius:2px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden}
.pos-cash-manager-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;background:#315d86;color:#fff}
.pos-cash-manager-head h2{margin:0;font-size:18px}.pos-cash-manager-head span{display:block;margin-top:2px;font-size:11px;opacity:.88}.pos-cash-manager-head .pos-modal-close{background:rgba(255,255,255,.14);color:#fff}
.pos-cash-manager-filters{display:grid;grid-template-columns:150px 140px 140px 190px 1fr 130px;gap:8px;padding:8px 12px;background:#f5f5f5;border-bottom:1px solid #ddd;align-items:end}
.pos-cash-manager-filters label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:#666}.pos-cash-manager-filters input{height:30px;border:1px solid #d5d5d5;border-radius:3px;padding:4px 8px;box-sizing:border-box}.cash-manager-date-to label{padding-top:14px}.cash-manager-search{height:34px}
.cash-manager-switch{width:34px;height:22px;border:0;border-radius:15px;background:#ccc;padding:2px;cursor:pointer}.cash-manager-switch span{display:block;width:18px;height:18px;border-radius:50%;background:#eee;transition:.15s}.cash-manager-switch[aria-pressed="true"]{background:#315d86}.cash-manager-switch[aria-pressed="true"] span{transform:translateX(12px)}
.pos-cash-manager-list-wrap{height:min(430px,calc(100vh - 240px));overflow:auto;background:#fff}.pos-cash-manager-table{width:100%;border-collapse:collapse;font-size:12px;min-width:1000px}.pos-cash-manager-table th{position:sticky;top:0;z-index:2;background:#315d86;color:#fff;padding:8px 10px;text-align:left;font-weight:700;white-space:nowrap}.pos-cash-manager-table td{padding:7px 10px;border-bottom:1px solid #e7e7e7;white-space:nowrap;color:#444}.pos-cash-manager-table tbody tr{cursor:pointer}.pos-cash-manager-table tbody tr:hover{background:#edf4fa}.pos-cash-manager-table tbody tr.selected{background:#b9d7ee}.pos-cash-manager-table tbody tr[data-open="1"] td{color:#d33}
.pos-cash-manager-loading,.pos-cash-manager-empty,.pos-cash-manager-error{padding:35px;text-align:center;color:#777}.pos-cash-manager-error{color:#b42318}
.pos-cash-manager-footer{display:flex;justify-content:flex-end;gap:8px;padding:8px 10px;background:#f5f5f5;border-top:1px solid #ddd}.pos-cash-manager-footer .btn{min-width:130px;height:34px}
@media(max-width:900px){.pos-cash-manager-filters{grid-template-columns:1fr 1fr 1fr}.cash-manager-operator{grid-column:1 / span 2}.cash-manager-search{grid-column:3}.pos-cash-manager-list-wrap{height:55vh}}
@media(max-width:600px){.pos-cash-manager-filters{grid-template-columns:1fr 1fr}.cash-manager-operator,.cash-manager-search{grid-column:auto}}

/* V242 - Gerenciador de Caixas alinhado ao padrão visual dos modais atuais da Retaguarda. */
.pos-cash-manager-modal{z-index:310000!important}
.pos-cash-manager-modal .pos-modal-backdrop{z-index:0}
.pos-cash-manager-dialog{
  position:relative;
  z-index:1;
  width:min(1100px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  background:#fff;
  border:1px solid #e7e1eb;
  border-radius:16px;
  box-shadow:0 24px 70px rgba(28,18,45,.28);
  overflow:hidden;
}
/* Cabeçalho branco: igual aos demais modais atuais, sem faixa azul. */
.pos-cash-manager-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:74px;
  box-sizing:border-box;
  padding:16px 20px 14px;
  background:#fff;
  color:#14213d;
  border-bottom:1px solid #e8e1eb;
}
.pos-cash-manager-head h2{
  margin:0;
  color:#14213d;
  font-size:20px;
  font-weight:800;
  line-height:1.15;
}
.pos-cash-manager-head span{
  display:block;
  margin-top:5px;
  color:#7b6f84;
  font-size:11px;
  line-height:1.25;
}
.pos-cash-manager-head .pos-modal-close{
  width:34px;
  height:34px;
  border:1px solid #eee7f1;
  border-radius:9px;
  background:#f4f0f6;
  color:#7d6f86;
  display:grid;
  place-items:center;
}
.pos-cash-manager-head .pos-modal-close:hover{background:#eee7f4;color:#5a2aa8}

/* Filtros: card interno limpo, como nos modais de Gerenciadores. */
.pos-cash-manager-filter-section{
  background:#fff;
  padding:12px 12px 0;
}
.pos-cash-manager-section-title{
  height:34px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 13px;
  box-sizing:border-box;
  border-radius:8px 8px 0 0;
  background:linear-gradient(90deg,#5a2aa8 0%,#8b2de2 58%,#b84be8 100%);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.pos-cash-manager-section-title>i{font-size:12px}
.pos-cash-manager-section-toggle{
  margin-left:auto;
  width:28px;
  height:26px;
  border:0;
  border-radius:7px;
  background:rgba(255,255,255,.12);
  color:#fff;
  cursor:pointer;
}
.pos-cash-manager-section-toggle:hover{background:rgba(255,255,255,.2)}
.pos-cash-manager-filters{
  display:grid;
  grid-template-columns:150px 140px 140px 190px 1fr 130px;
  gap:10px;
  padding:12px 12px 13px;
  background:#fbfafd;
  border:1px solid #e8e0ed;
  border-top:0;
  border-radius:0 0 9px 9px;
  align-items:end;
}
.pos-cash-manager-filters label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:11px;
  font-weight:700;
  color:#51465c;
}
.pos-cash-manager-filters input{
  width:100%;
  height:34px;
  border:1px solid #dcd1e4;
  border-radius:7px;
  background:#fff;
  padding:6px 9px;
  box-sizing:border-box;
  color:#39313f;
  font-size:12px;
}
.pos-cash-manager-filters input:focus{
  outline:none;
  border-color:#8b4bd0;
  box-shadow:0 0 0 2px rgba(139,75,208,.10);
}
.cash-manager-date-to label{padding-top:0}
.cash-manager-switch{
  width:38px;
  height:24px;
  border:0;
  border-radius:15px;
  background:#d2cfd5;
  padding:2px;
  cursor:pointer;
}
.cash-manager-switch span{
  display:block;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#f6f4f7;
  transition:.15s;
}
.cash-manager-switch[aria-pressed="true"]{background:#6f2bb5}
.cash-manager-switch[aria-pressed="true"] span{transform:translateX(14px)}
.cash-manager-search{
  height:36px;
  border:1px solid #6b28b1!important;
  border-radius:9px!important;
  background:linear-gradient(90deg,#5a2aa8 0%,#8b2de2 65%,#a83ce1 100%)!important;
  color:#fff!important;
  box-shadow:0 6px 15px rgba(106,42,177,.18);
}
.cash-manager-search:hover{filter:brightness(1.04)}

/* Área da tabela */
.pos-cash-manager-list-section{
  margin:12px 12px 0;
  background:#fff;
  border:1px solid #e8e0ed;
  border-radius:10px;
  overflow:hidden;
}
.pos-cash-manager-list-section .pos-cash-manager-section-title{border-radius:0}
.pos-cash-manager-list-wrap{
  height:min(430px,calc(100vh - 265px));
  overflow:auto;
  background:#fff;
}
.pos-cash-manager-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
  min-width:1000px;
}
.pos-cash-manager-table th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f7f4f9;
  color:#594c65;
  border-bottom:1px solid #e2dbe7;
  padding:9px 10px;
  text-align:left;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.pos-cash-manager-table td{
  padding:9px 10px;
  border-bottom:1px solid #eee9f1;
  color:#514a58;
  white-space:nowrap;
}
.pos-cash-manager-table tbody tr{cursor:pointer}
.pos-cash-manager-table tbody tr:hover{background:#faf7fd}
.pos-cash-manager-table tbody tr.selected{background:#f0e5fa}
.pos-cash-manager-table tbody tr.selected td{color:#4c2478}
.pos-cash-manager-table tbody tr[data-open="1"] td{color:#d83a3a}
.pos-cash-manager-empty{padding:45px 20px;text-align:center;color:#7e7384;font-size:14px}
.pos-cash-manager-loading{padding:45px 20px;text-align:center;color:#7e7384}
.pos-cash-manager-error{padding:45px 20px;text-align:center;color:#b42318}

/* Rodapé no mesmo padrão dos outros gerenciadores: branco, arredondado e ações roxas. */
.pos-cash-manager-footer{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  min-height:62px;
  box-sizing:border-box;
  padding:10px 12px 12px;
  margin-top:12px;
  background:#fff;
  border-top:1px solid #eee8f1;
}
.pos-cash-manager-footer .btn{
  min-width:132px;
  height:38px;
  border-radius:9px;
  font-weight:800;
}
.pos-cash-manager-footer .btn.btn-secondary{
  background:#fff;
  color:#8b8590;
  border:1px solid #e7e0ea;
}
.pos-cash-manager-footer .btn.btn-secondary:not(:disabled):hover{
  border-color:#cdb6dc;
  color:#5a2aa8;
  background:#fbf8fd;
}
.pos-cash-manager-footer .btn.btn-primary{
  background:linear-gradient(90deg,#5a2aa8 0%,#8b2de2 65%,#a83ce1 100%);
  border-color:#6b28b1;
  color:#fff;
  box-shadow:0 6px 15px rgba(106,42,177,.18);
}
.pos-cash-manager-footer .btn:disabled{opacity:.42;box-shadow:none}

@media(max-width:900px){
  .pos-cash-manager-dialog{width:calc(100vw - 20px)}
  .pos-cash-manager-filters{grid-template-columns:1fr 1fr 1fr}
  .cash-manager-operator{grid-column:1 / span 2}
  .cash-manager-search{grid-column:3}
  .pos-cash-manager-list-wrap{height:55vh}
}
@media(max-width:600px){
  .pos-cash-manager-dialog{width:calc(100vw - 12px);max-height:calc(100vh - 12px);border-radius:13px}
  .pos-cash-manager-head{padding:14px}
  .pos-cash-manager-filters{grid-template-columns:1fr 1fr}
  .cash-manager-operator,.cash-manager-search{grid-column:auto}
  .pos-cash-manager-footer{display:grid;grid-template-columns:1fr 1fr}
  .pos-cash-manager-footer .btn{width:100%;min-width:0}
  .pos-cash-manager-footer .btn:last-child{grid-column:1 / -1}
}


/* V244 - Responsivo: rodapé do Gerenciador de Caixas sempre visível em telas menores. */
.pos-cash-manager-dialog{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.pos-cash-manager-list-section{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.pos-cash-manager-list-wrap{
  flex:1 1 auto;
  min-height:0;
  height:auto;
}
.pos-cash-manager-footer{
  flex:0 0 auto;
}
@media(max-height:700px){
  .pos-cash-manager-head{min-height:64px;padding:12px 18px 10px}
  .pos-cash-manager-filters{padding:7px 10px}
  .pos-cash-manager-list-section{margin-top:8px}
  .pos-cash-manager-footer{min-height:58px;padding:8px 10px}
}

/* V243 - Gerenciador de Caixas: schema controlecaixa e padrão do Gerenciador de Pedidos. */
.pos-cash-manager-dialog,.pos-cash-manager-dialog *{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.pos-cash-manager-filters{grid-template-columns:150px 140px 140px 1fr 130px}
.cash-manager-closed{display:flex;flex-direction:column;justify-content:flex-end;gap:5px}
.cash-manager-closed>label{display:block!important}
.pos-cash-manager-table{min-width:920px}
.pos-cash-manager-table tbody tr[data-open="1"] td{color:#18864b}
.pos-cash-manager-table tbody tr[data-open="0"] td{color:#c43d45}
.pos-cash-manager-table tbody tr.selected td{color:#4c2478}
.cash-status{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800;line-height:1}
.cash-status.open{background:#e8f8ef;color:#118a4d}
.cash-status.closed{background:#fdebec;color:#c43d45}
.pos-cash-manager-table td:nth-child(4),.pos-cash-manager-table td:nth-child(5){font-variant-numeric:tabular-nums}
@media(max-width:900px){.pos-cash-manager-filters{grid-template-columns:1fr 1fr 1fr}.cash-manager-search{grid-column:auto}}
@media(max-width:600px){.pos-cash-manager-filters{grid-template-columns:1fr 1fr}.cash-manager-search{grid-column:auto}}

/* V246 - Gerenciador de Caixas: mesma escala e aproveitamento de área do Gerenciador de Pedidos. */
.pos-cash-manager-dialog{
  width:min(1260px,calc(100vw - 28px));
  height:min(780px,calc(100vh - 28px));
  max-height:calc(100vh - 28px);
  border-radius:16px;
}
.pos-cash-manager-head{
  min-height:70px;
  padding:17px 20px;
}
.pos-cash-manager-head h2{font-size:20px}
.pos-cash-manager-head span{font-size:11px}
.pos-cash-manager-filter-section{padding:12px 12px 0}
.pos-cash-manager-section-title{height:34px;font-size:12px}
.pos-cash-manager-filters{padding:11px 12px 12px;gap:10px}
.pos-cash-manager-filters label{font-size:11px}
.pos-cash-manager-filters input{height:36px;font-size:12px}
.cash-manager-search{height:36px;font-size:12px}
.pos-cash-manager-list-section{margin:12px 12px 0;flex:1 1 auto;min-height:0}
.pos-cash-manager-list-wrap{height:auto;flex:1 1 auto;min-height:0}
.pos-cash-manager-table{font-size:11px;min-width:0;width:100%;table-layout:auto}
.pos-cash-manager-table th{padding:8px 9px;font-size:10px}
.pos-cash-manager-table td{padding:9px 9px;font-size:11px}
.pos-cash-manager-empty,.pos-cash-manager-loading,.pos-cash-manager-error{font-size:12px;padding:30px 20px}
.pos-cash-manager-footer{min-height:62px;padding:10px 12px 12px;margin-top:12px}
.pos-cash-manager-footer .btn{height:38px;min-width:132px;font-size:12px}
@media(max-width:1280px){
  .pos-cash-manager-dialog{width:calc(100vw - 20px)}
}
@media(max-width:650px){
  .pos-cash-manager-dialog{width:100%;height:calc(100vh - 16px);max-height:none;border-radius:12px}
}

/* V247 - Tipografia do Gerenciador de Caixas alinhada ao Gerenciador de Pedidos. */
.pos-cash-manager-dialog,
.pos-cash-manager-dialog input,
.pos-cash-manager-dialog button,
.pos-cash-manager-dialog table,
.pos-cash-manager-dialog th,
.pos-cash-manager-dialog td,
.pos-cash-manager-dialog label,
.pos-cash-manager-dialog span,
.pos-cash-manager-dialog h2{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.pos-cash-manager-head h2{
  font-size:20px;
  font-weight:700;
  line-height:1.2;
}
.pos-cash-manager-head span{
  font-size:11px;
  font-weight:400;
  line-height:1.25;
}
.pos-cash-manager-section-title{
  font-size:11px;
  font-weight:800;
}
.pos-cash-manager-filters label{
  font-size:10px;
  font-weight:700;
}
.pos-cash-manager-filters input{
  font-size:12px;
  font-weight:400;
}
.pos-cash-manager-search{
  font-size:12px;
  font-weight:800;
}
.pos-cash-manager-table{
  font-size:11px;
}
.pos-cash-manager-table th{
  font-size:10px;
  font-weight:800;
}
.pos-cash-manager-table td{
  font-size:11px;
  font-weight:400;
}
.cash-status{
  font-size:10px;
  font-weight:800;
}
.pos-cash-manager-footer .btn{
  font-size:12px;
  font-weight:800;
}

/* V249 - Gerenciador de Cupons: modal seguindo o padrão do Gerenciador de Pedidos. */
.pos-coupons-modal{position:fixed;inset:0;z-index:13000;display:flex;align-items:center;justify-content:center;padding:14px}.pos-coupons-modal[hidden]{display:none}.pos-coupons-modal .pos-modal-backdrop{position:absolute;inset:0;background:rgba(15,20,38,.58);backdrop-filter:blur(2px)}
.pos-coupons-dialog{position:relative;z-index:1;width:min(1260px,calc(100vw - 28px));height:min(760px,calc(100vh - 28px));max-height:calc(100vh - 28px);background:#f8f6fb;border-radius:16px;box-shadow:0 24px 80px rgba(21,12,35,.35);overflow:hidden;display:flex;flex-direction:column}
.pos-coupons-modal-inner{height:100%;min-height:0;display:flex;flex-direction:column;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#4c4554}.pos-coupons-modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 20px;background:#fff;border-bottom:1px solid #e7e0ec}.pos-coupons-modal-head h2{margin:0;color:#17203b;font-size:20px;line-height:1.15;font-weight:750}.pos-coupons-modal-head span{display:block;margin-top:4px;color:#81788d;font-size:11px}.pos-coupons-close{width:34px;height:34px;border:0;border-radius:9px;background:#f1ecf5;color:#73677e;cursor:pointer;font-size:15px}.pos-coupons-close:hover{background:#e7def0;color:#4f256f}
.pos-coupons-modebar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 20px 8px;background:#fff;border-bottom:1px solid #e7e0ec}.pos-coupons-modes{display:flex;align-items:center;gap:9px;color:#766c7e;font-size:12px;font-weight:650}.pos-coupons-mode{border:0;background:transparent;color:#766c7e;font:inherit;padding:5px 0;cursor:pointer}.pos-coupons-mode.active{color:#4f237f}.pos-coupons-switch{width:34px;height:20px;border:0;border-radius:20px;background:#d8d7dc;padding:2px;cursor:pointer}.pos-coupons-switch span{display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.15);transition:.15s}.pos-coupons-switch[aria-pressed="true"]{background:#7a2bd1}.pos-coupons-switch[aria-pressed="true"] span{transform:translateX(14px)}
.pos-coupons-filter-card{margin:0 14px 10px;padding:10px 12px 12px;background:#fff;border:1px solid #e5dceb;border-radius:10px}.pos-coupons-filters{display:grid;grid-template-columns:135px minmax(250px,1fr) 105px 105px 115px minmax(180px,1.2fr) auto;gap:10px;align-items:end}.pos-coupons-filters label{display:flex;flex-direction:column;gap:5px;color:#645a6e;font-size:11px;font-weight:650}.pos-coupons-filters input,.pos-coupons-filters select{height:37px;border:1px solid #ddd2e7;border-radius:8px;background:#fff;color:#514858;padding:0 10px;font:500 12px Inter,ui-sans-serif,system-ui,sans-serif;outline:none}.pos-coupons-filters input:focus,.pos-coupons-filters select:focus{border-color:#9b4be0;box-shadow:0 0 0 3px rgba(126,42,209,.10)}.pos-coupons-period>label{margin-bottom:0}.pos-coupons-period>div{display:flex;align-items:center;gap:7px}.pos-coupons-period span{font-size:11px;color:#82778b}.pos-coupons-client{position:relative}.pos-coupons-client input{padding-right:38px}.pos-coupons-client-search{position:absolute;right:3px;bottom:3px;width:31px;height:31px;border:0;border-radius:7px;background:#5d2ba0;color:#fff;cursor:pointer}.pos-coupons-search{height:37px;white-space:nowrap;padding:0 17px}
.pos-coupons-table-card{margin:0 14px;min-height:0;flex:1;background:#fff;border:1px solid #e5dceb;border-radius:10px;overflow:hidden;display:flex}.pos-coupons-table-wrap{flex:1;min-height:0;overflow:auto}.pos-coupons-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.pos-coupons-table thead{background:linear-gradient(90deg,#6527ad 0%,#8f2fd1 50%,#b83fe6 100%)}.pos-coupons-table th{height:30px;background:transparent!important;color:#fff;text-align:left;padding:0 9px;font-size:10px;font-weight:750;letter-spacing:.15px;white-space:nowrap}.pos-coupons-table td{height:38px;padding:0 9px;border-bottom:1px solid #e9e3ed;color:#514958;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-coupons-table tbody tr:hover{background:#faf7fd}.pos-coupons-table th:nth-child(1){width:8%}.pos-coupons-table th:nth-child(2){width:7%}.pos-coupons-table th:nth-child(3){width:14%}.pos-coupons-table th:nth-child(4){width:10%}.pos-coupons-table th:nth-child(5){width:10%}.pos-coupons-table th:nth-child(6){width:20%}.pos-coupons-table th:nth-child(7){width:10%}.pos-coupons-table th:nth-child(8){width:11%}.pos-coupons-table th:nth-child(9){width:10%}.coupons-key{font-size:10px}.coupons-empty{text-align:center!important;color:#91879a!important;padding:40px!important}
.pos-coupons-footer{min-height:74px;padding:10px 20px;background:#fff;border-top:1px solid #e7e0ec;display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.pos-coupons-status{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:11px;color:#62586b}.pos-coupons-status span{display:inline-flex;align-items:center;gap:6px}.coupon-dot{display:inline-block;width:17px;height:17px;border-radius:50%;background:#777}.coupon-dot.green{background:#27b56b}.coupon-dot.blue{background:#315c88}.coupon-dot.orange{background:#f5a000}.coupon-dot.gray{background:#8a8a8a}.coupon-dot.purple{background:#6b169f}.coupon-dot.red{background:#ed5144}.pos-coupons-actions{display:flex;gap:8px;align-items:center}.pos-coupons-actions .btn{height:38px;white-space:nowrap}.pos-coupons-loading,.pos-coupons-error{height:100%;display:flex;align-items:center;justify-content:center;color:#82778b;font-size:13px}.pos-coupons-error{color:#b33b45}.pos-coupons-loading i{margin-right:8px}.pos-coupons-modal .btn-primary{background:linear-gradient(90deg,#6527ad,#a93fe1);border:0;color:#fff}.pos-coupons-modal .btn-light{background:#fff;border:1px solid #e4dcea;color:#33243f}
@media(max-width:1050px){.pos-coupons-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.pos-coupons-search{grid-column:4}.pos-coupons-client{grid-column:span 2}.pos-coupons-status{gap:10px}.pos-coupons-footer{align-items:flex-end}}
@media(max-width:720px){.pos-coupons-modal{padding:8px}.pos-coupons-dialog{width:100%;height:calc(100vh - 16px);max-height:none;border-radius:12px}.pos-coupons-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-coupons-search{grid-column:span 2}.pos-coupons-client{grid-column:span 2}.pos-coupons-footer{flex-direction:column;align-items:stretch}.pos-coupons-actions{justify-content:flex-end}.pos-coupons-status{gap:8px}.pos-coupons-table{min-width:980px}.pos-coupons-modal-head h2{font-size:17px}}

/* V253 - Ajuste final do Gerenciador de Cupons: filtros sem sobreposição e rodapé sempre visível. */
.pos-coupons-dialog > [data-pos-coupons-content]{
  flex:1 1 auto;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
}
.pos-coupons-modal-inner{
  flex:1 1 auto;
  min-height:0;
  height:100%;
}
.pos-coupons-filter-card{flex:0 0 auto}
.pos-coupons-filters{
  grid-template-columns:135px 185px 105px 105px 115px minmax(180px,1fr) auto;
  gap:10px;
}
.pos-coupons-period > div{min-width:0}
.pos-coupons-period > div input{width:84px;min-width:0}
.pos-coupons-period > div span{flex:0 0 auto}
.pos-coupons-client{min-width:0}
.pos-coupons-client input{width:100%;box-sizing:border-box}
.pos-coupons-search{min-width:126px}
.pos-coupons-table-card{flex:1 1 auto;min-height:0}
.pos-coupons-footer{flex:0 0 auto;min-height:74px;box-sizing:border-box}

@media(max-width:1100px){
  .pos-coupons-filters{grid-template-columns:130px 185px 95px 95px 105px minmax(150px,1fr) auto;gap:8px}
  .pos-coupons-search{min-width:118px;padding:0 12px}
}
@media(max-width:900px){
  .pos-coupons-filters{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pos-coupons-period{grid-column:span 2}
  .pos-coupons-client{grid-column:span 2}
  .pos-coupons-search{grid-column:4;min-width:0}
}
@media(max-width:720px){
  .pos-coupons-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pos-coupons-period{grid-column:span 2}
  .pos-coupons-client{grid-column:span 2}
  .pos-coupons-search{grid-column:span 2}
  .pos-coupons-footer{min-height:auto}
}

/* V254 - Simplificação do Gerenciador de Cupons e seleção para reimpressão. */
.pos-coupons-filters{grid-template-columns:minmax(220px,1.1fr) 120px 100px 120px minmax(220px,1.5fr) auto;gap:10px}
.pos-coupons-table th.coupon-select-head,.pos-coupons-table td.coupon-select-cell{width:38px;text-align:center;padding:0 6px}
.pos-coupons-table th:nth-child(2){width:8%}.pos-coupons-table th:nth-child(3){width:7%}.pos-coupons-table th:nth-child(4){width:14%}.pos-coupons-table th:nth-child(5){width:10%}.pos-coupons-table th:nth-child(6){width:23%}.pos-coupons-table th:nth-child(7){width:10%}.pos-coupons-table th:nth-child(8){width:28%}
.pos-coupons-table .coupon-select{width:16px;height:16px;accent-color:#6b2bb2;cursor:pointer}
.pos-coupons-table tbody tr.coupon-selected{background:#f4eafd}
.pos-coupons-actions .btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:1100px){.pos-coupons-filters{grid-template-columns:minmax(190px,1fr) 110px 90px 110px minmax(180px,1fr) auto}.pos-coupons-search{min-width:118px}}
@media(max-width:900px){.pos-coupons-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.pos-coupons-period{grid-column:span 2}.pos-coupons-client{grid-column:span 2}.pos-coupons-search{grid-column:4}}
@media(max-width:720px){.pos-coupons-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-coupons-period,.pos-coupons-client,.pos-coupons-search{grid-column:span 2}.pos-coupons-table{min-width:900px}}

/* V255 - Gerenciador de Cupons: cabeçalho da tabela igual ao Gerenciador de Pedidos */


/* V262 - Tela inicial multiempresa por CNPJ */
.tenant-login-page{min-height:100vh;margin:0;background:#f6f7fb;overflow:auto;color:#17203a}
.tenant-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);position:relative;overflow:hidden}
.tenant-login-hero{position:relative;overflow:hidden;padding:58px clamp(40px,6vw,105px);display:flex;align-items:center;background:
 radial-gradient(circle at 84% 16%,rgba(185,76,255,.55),transparent 34%),
 radial-gradient(circle at 30% 72%,rgba(91,0,195,.35),transparent 42%),
 linear-gradient(135deg,#fbfbff 0%,#f4f0ff 43%,#d8c7ff 100%)}
.tenant-login-hero:before{content:"";position:absolute;width:820px;height:820px;border-radius:50%;right:-430px;top:-310px;background:linear-gradient(145deg,rgba(112,15,209,.88),rgba(91,0,185,.35));transform:rotate(-15deg)}
.tenant-login-hero:after{content:"";position:absolute;width:900px;height:230px;right:-150px;bottom:-80px;border-radius:50% 50% 0 0;background:linear-gradient(100deg,rgba(91,0,185,.95),rgba(151,34,229,.7),transparent);transform:rotate(-7deg)}
.tenant-hero-glow{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.tenant-hero-glow-one{width:420px;height:420px;right:-120px;top:80px;background:rgba(184,64,255,.16)}.tenant-hero-glow-two{width:260px;height:260px;left:-90px;bottom:20px;background:rgba(108,25,201,.08)}
.tenant-hero-content{position:relative;z-index:2;max-width:760px}
.tenant-login-logo{display:block;width:min(560px,76%);max-height:185px;object-fit:contain;object-position:left center;margin-bottom:24px}
.tenant-slogan{font-size:28px;line-height:1.05;font-weight:850;letter-spacing:-1px;color:#16213b}.tenant-slogan strong{color:#5f16c7}.tenant-hero-text{font-size:16px;line-height:1.5;color:#4d5570;max-width:540px;margin:13px 0 27px}
.tenant-features{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:14px;max-width:760px}.tenant-feature{display:flex;align-items:center;gap:9px}.tenant-feature>span{width:56px;height:56px;flex:0 0 56px;background:rgba(255,255,255,.85);border:1px solid rgba(125,67,194,.09);border-radius:14px;display:grid;place-items:center;color:#6b19d0;font-size:22px;box-shadow:0 9px 25px rgba(81,42,141,.12)}.tenant-feature b{display:block;font-size:13px;color:#101a34}.tenant-feature small{display:block;font-size:10px;color:#68708a;line-height:1.25;margin-top:3px}
.tenant-login-card-wrap{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;padding:44px 6vw;background:linear-gradient(90deg,rgba(246,247,251,.7),#fff 38%,#fff);}
.tenant-login-card{width:min(520px,100%);background:rgba(255,255,255,.97);border-radius:26px;padding:48px 52px;box-shadow:0 20px 60px rgba(53,34,93,.10);border:1px solid rgba(106,35,190,.08)}
.tenant-card-logo{width:240px;height:92px;object-fit:contain;display:block;margin:0 auto 25px}.tenant-login-card h1{font-size:29px;line-height:1.12;letter-spacing:-.8px;margin:0;color:#202944}.tenant-login-card h1 strong{color:#6817d0}.tenant-card-intro{font-size:14px;line-height:1.5;color:#667089;margin:15px 0 23px}
.tenant-form label{display:block;font-size:12px;font-weight:800;color:#404961;margin:0 0 7px}.tenant-input-wrap{position:relative;margin-bottom:15px}.tenant-input-wrap>i{position:absolute;left:17px;top:50%;transform:translateY(-50%);font-size:17px;color:#7f88a1;pointer-events:none}.tenant-input-wrap input{width:100%;height:58px;border:1px solid #d9deeb;border-radius:12px;padding:0 16px 0 51px;font:inherit;font-size:15px;color:#202944;background:#fff;outline:none;box-shadow:0 4px 14px rgba(28,39,67,.03)}.tenant-input-wrap input::placeholder{color:#98a0b5}.tenant-input-wrap input:focus{border-color:#7c27dc;box-shadow:0 0 0 4px rgba(124,39,220,.10)}
.tenant-access-btn{width:100%;height:58px;border:0;border-radius:12px;background:linear-gradient(90deg,#7011df,#8217ec);color:#fff;font:inherit;font-size:16px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:13px;box-shadow:0 10px 22px rgba(112,17,223,.23);transition:.16s}.tenant-access-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}.tenant-access-btn span{font-size:29px;font-weight:300;line-height:0}
.tenant-security{display:flex;align-items:flex-start;gap:14px;background:#f1e9ff;border-radius:12px;padding:17px 18px;margin-top:28px;color:#5d2ba4}.tenant-security>i{font-size:25px;margin-top:2px}.tenant-security b{display:block;font-size:12px}.tenant-security span{display:block;font-size:10px;color:#6d6680;line-height:1.45;margin-top:4px}
.tenant-alert{display:flex;align-items:flex-start;gap:9px;background:#fff2f3;border:1px solid #ffd6db;color:#b22d42;border-radius:10px;padding:11px 12px;font-size:11px;line-height:1.4;margin-bottom:15px}.tenant-alert i{margin-top:1px}
.tenant-company-pill{display:flex;align-items:center;gap:12px;background:#f5efff;border:1px solid #e7d8ff;border-radius:12px;padding:12px 14px;margin:0 0 18px}.tenant-company-pill>i{width:38px;height:38px;border-radius:10px;background:#fff;color:#711bd1;display:grid;place-items:center}.tenant-company-pill b{display:block;font-size:13px}.tenant-company-pill span{display:block;font-size:10px;color:#757d91;margin-top:3px}.tenant-change-form{text-align:center;margin-top:14px}.tenant-change-form button{border:0;background:transparent;color:#6e22c9;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.tenant-change-form button:hover{text-decoration:underline}
@media(max-width:1050px){.tenant-login-shell{grid-template-columns:1fr}.tenant-login-hero{min-height:520px;padding:48px 7vw}.tenant-login-card-wrap{padding:40px 7vw}.tenant-login-hero:before{right:-300px}.tenant-features{grid-template-columns:repeat(5,minmax(100px,1fr))}.tenant-login-card{margin-top:-70px}}
@media(max-width:760px){.tenant-login-hero{min-height:auto;padding:36px 24px 42px}.tenant-login-logo{width:min(420px,92%);height:auto}.tenant-slogan{font-size:22px}.tenant-hero-text{font-size:13px}.tenant-features{grid-template-columns:1fr 1fr;gap:11px}.tenant-feature>span{width:48px;height:48px;flex-basis:48px;font-size:18px}.tenant-login-card-wrap{padding:0 16px 30px;background:#f6f7fb}.tenant-login-card{margin-top:-28px;padding:30px 24px;border-radius:20px}.tenant-card-logo{width:190px;height:72px}.tenant-login-card h1{font-size:25px}.tenant-login-card{box-shadow:0 15px 45px rgba(53,34,93,.12)}}
@media(max-width:420px){.tenant-features{grid-template-columns:1fr}.tenant-feature{background:rgba(255,255,255,.58);border-radius:12px;padding:8px}.tenant-login-card{padding:28px 18px}.tenant-login-card h1{font-size:23px}}

/* V263 - Novo visual da tela de CNPJ/login, mantendo o fluxo multiempresa V262 */
body.tenant-login-page{
  min-height:100vh!important;
  width:100%;
  margin:0!important;
  overflow:hidden!important;
  background:#fff url('/assets/login-gestao-bg.png') center center / cover no-repeat!important;
  color:#17203a;
}
body.tenant-login-page .tenant-login-shell{
  position:relative!important;
  min-height:100vh!important;
  width:100%!important;
  display:block!important;
  overflow:hidden!important;
  background:transparent!important;
}
body.tenant-login-page .tenant-login-hero{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  display:block!important;
  background:transparent!important;
  pointer-events:none!important;
}
body.tenant-login-page .tenant-login-hero:before,
body.tenant-login-page .tenant-login-hero:after,
body.tenant-login-page .tenant-hero-content{display:none!important}
body.tenant-login-page .tenant-login-card-wrap{
  position:absolute!important;
  z-index:10!important;
  top:50%!important;
  right:4.6vw!important;
  transform:translateY(-50%)!important;
  width:min(505px,28vw)!important;
  min-width:430px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
}
body.tenant-login-page .tenant-login-card{
  width:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
  background:rgba(255,255,255,.985)!important;
  border:1px solid rgba(111,31,210,.10)!important;
  border-radius:26px!important;
  padding:38px 42px 34px!important;
  box-shadow:0 18px 55px rgba(39,20,77,.18)!important;
}
body.tenant-login-page .tenant-card-logo{
  width:205px!important;
  height:82px!important;
  margin:0 auto 23px!important;
  object-fit:contain!important;
}
body.tenant-login-page .tenant-login-card h1{
  margin:0!important;
  font-size:29px!important;
  line-height:1.12!important;
  letter-spacing:-.7px!important;
  color:#17203a!important;
}
body.tenant-login-page .tenant-login-card h1 strong{color:#6a13d7!important}
body.tenant-login-page .tenant-card-intro{
  margin:15px 0 22px!important;
  font-size:14px!important;
  line-height:1.45!important;
  color:#68718a!important;
}
body.tenant-login-page .tenant-form label{
  display:block!important;
  margin:0 0 7px!important;
  color:#20263b!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.tenant-login-page .tenant-input-wrap{
  position:relative!important;
  height:58px!important;
  margin-bottom:16px!important;
}
body.tenant-login-page .tenant-input-wrap i{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
  color:#8190ad!important;
  font-size:17px!important;
  pointer-events:none!important;
}
body.tenant-login-page .tenant-input-wrap input{
  width:100%!important;
  height:58px!important;
  box-sizing:border-box!important;
  border:1px solid #d6dbea!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#20263b!important;
  padding:0 16px 0 48px!important;
  font-size:15px!important;
  outline:none!important;
  transition:border-color .18s,box-shadow .18s!important;
}
body.tenant-login-page .tenant-input-wrap input:focus{
  border-color:#8615e8!important;
  box-shadow:0 0 0 3px rgba(134,21,232,.10)!important;
}
body.tenant-login-page .tenant-access-btn{
  width:100%!important;
  height:58px!important;
  margin-top:0!important;
  border:0!important;
  border-radius:12px!important;
  background:linear-gradient(90deg,#7411e7,#9618ed)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:800!important;
  cursor:pointer!important;
  box-shadow:0 12px 26px rgba(126,20,225,.24)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:15px!important;
}
body.tenant-login-page .tenant-access-btn span{font-size:26px!important;font-weight:400!important;line-height:1!important}
body.tenant-login-page .tenant-security{
  margin-top:18px!important;
  border-radius:12px!important;
  padding:13px 14px!important;
  background:#f3edff!important;
  color:#654a8e!important;
}
body.tenant-login-page .tenant-security i{color:#7b19dc!important}
body.tenant-login-page .tenant-security b{color:#5b3989!important}
body.tenant-login-page .tenant-company-pill{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 14px!important;
  margin:0 0 18px!important;
  border:1px solid #e2d2ff!important;
  border-radius:12px!important;
  background:#f4edff!important;
}
body.tenant-login-page .tenant-company-pill>i{
  width:40px!important;
  height:40px!important;
  border-radius:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  color:#7115df!important;
  font-size:17px!important;
  flex:0 0 40px!important;
}
body.tenant-login-page .tenant-company-pill b{display:block!important;color:#20263b!important;font-size:13px!important;margin-bottom:3px!important}
body.tenant-login-page .tenant-company-pill span{display:block!important;color:#7b849c!important;font-size:10px!important}
body.tenant-login-page .tenant-change-form{text-align:center!important;margin-top:18px!important}
body.tenant-login-page .tenant-change-form button{
  border:0!important;background:transparent!important;color:#6e16d6!important;font-size:12px!important;cursor:pointer!important;padding:4px 8px!important
}
body.tenant-login-page .tenant-alert{margin:0 0 14px!important;border-radius:10px!important}
@media(max-width:1250px){
  body.tenant-login-page .tenant-login-card-wrap{right:2.5vw!important;width:430px!important;min-width:430px!important}
  body.tenant-login-page .tenant-login-card{padding:34px 34px 30px!important}
}
@media(max-width:900px){
  body.tenant-login-page{overflow:auto!important;background-position:34% center!important;background-attachment:fixed!important}
  body.tenant-login-page .tenant-login-shell{min-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:28px 16px!important;box-sizing:border-box!important}
  body.tenant-login-page .tenant-login-shell:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.66);backdrop-filter:blur(2px)}
  body.tenant-login-page .tenant-login-card-wrap{position:relative!important;top:auto!important;right:auto!important;transform:none!important;width:min(500px,100%)!important;min-width:0!important;z-index:11!important}
  body.tenant-login-page .tenant-login-card{padding:32px 26px!important}
}
@media(max-width:520px){
  body.tenant-login-page .tenant-login-card{border-radius:20px!important;padding:28px 20px!important}
  body.tenant-login-page .tenant-card-logo{width:185px!important;height:72px!important;margin-bottom:18px!important}
  body.tenant-login-page .tenant-login-card h1{font-size:25px!important}
}
\n\n/* Avance Gestão: correção de layout e responsividade (09/10/2026) */
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:320px;line-height:1.5}
.main{min-width:0;max-width:100%;overflow-x:hidden}
.content{width:100%;max-width:1500px;padding:clamp(16px,2vw,32px);}
.content h1,.page-head h1{font-size:clamp(22px,2vw,30px);line-height:1.25}
.content p,.content label,.content input,.content select,.content button,.content table{font-size:inherit}
.page-head{gap:16px;flex-wrap:wrap}
.actions{display:flex;gap:8px;flex-wrap:wrap}
/* Evita que gráficos, tabelas e cartões comprimam todo o dashboard */
.content>*,.dashboard-grid,.stats-grid,.cards-grid,.chart-grid{min-width:0;max-width:100%}
.content table{max-width:100%}
.table-wrap,.table-responsive,.content .table-container{max-width:100%;overflow-x:auto}
img,canvas,svg{max-width:100%}
@media(max-width:1100px){.sidebar{width:220px}.main{margin-left:220px;width:calc(100% - 220px)}.topbar{padding:0 18px}.content{padding:20px}.page-head{align-items:flex-start}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s ease}.sidebar.open,.sidebar.active{transform:translateX(0)}.main{margin-left:0;width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center}.topbar{height:60px;padding:0 14px;gap:10px}.content{padding:16px}.page-head h1{font-size:23px}.actions{width:100%}.actions>*{max-width:100%}.content table{display:block;overflow-x:auto;white-space:nowrap}.stats-grid,.cards-grid,.chart-grid,.dashboard-grid{grid-template-columns:repeat(1,minmax(0,1fr))!important}}

/* Dashboard: estilos explícitos para não depender de estilos globais */
.dash-page{width:100%;min-width:0;color:var(--ink)}
.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:4px 0 22px}
.dash-head h1{margin:0 0 8px;font-size:clamp(24px,2vw,30px);line-height:1.25;color:var(--ink)}
.dash-head p{margin:0;color:var(--muted);font-size:14px}
.dash-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.dash-filters label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.dash-filters input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 10px;min-height:38px;font:inherit;color:var(--ink);max-width:100%}
.dash-update{border:0;border-radius:9px;padding:10px 14px;background:var(--purple);color:white;font-weight:700;cursor:pointer;min-height:38px}
.dash-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;border-bottom:1px solid var(--line);padding-bottom:10px}
.dash-tabs a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:#fff;color:var(--ink);font-size:13px;font-weight:700}
.dash-tabs a.active{background:var(--purple);border-color:var(--purple);color:#fff}
.dash-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.dash-card{display:flex;align-items:center;gap:14px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow)}
.dash-card>i{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:#f0e7fb;color:var(--purple);font-size:18px}
.dash-card>div{display:flex;flex-direction:column;min-width:0}.dash-card b{font-size:clamp(17px,1.5vw,24px);line-height:1.3;overflow-wrap:anywhere}.dash-card span{font-size:12px;color:var(--muted);margin-top:4px}
.dash-card.c-green>i{background:#e7f8f0;color:#087b4d}.dash-card.c-blue>i{background:#eaf2ff;color:#2866b4}.dash-card.c-violet>i{background:#f0e7fb;color:#6722a8}
.dash-section-title{font-size:18px;font-weight:800;margin:22px 0 12px}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.dash-panel{min-width:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}
.dash-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:17px 19px;border-bottom:1px solid var(--line)}.dash-panel-head h3{margin:0;font-size:14px}.dash-panel-head span{font-size:11px;color:var(--muted)}
.dash-bars{display:flex;align-items:flex-end;gap:clamp(5px,1vw,14px);height:220px;padding:20px;overflow-x:auto}.dash-bar-col{flex:1 0 30px;min-width:30px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px}.dash-bar-value{font-size:10px;color:var(--muted);overflow-wrap:anywhere;text-align:center}.dash-bar{width:min(34px,80%);min-height:4px;background:linear-gradient(180deg,var(--purple2),var(--purple));border-radius:6px 6px 2px 2px}.dash-bar-col small{font-size:10px;color:var(--muted)}
.dash-empty{margin:auto;color:var(--muted);font-size:13px}.dash-type-list{padding:18px}.dash-type-row{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:12px}.dash-type-row>div{min-width:0}.dash-type-row b{overflow-wrap:anywhere}.dash-type-row span{color:var(--muted);white-space:nowrap}
@media(max-width:1100px){.dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.dash-head{display:block}.dash-filters{margin-top:16px;align-items:stretch}.dash-filters label{flex:1;min-width:130px;display:flex;flex-direction:column;align-items:stretch}.dash-filters input{width:100%}.dash-update{width:100%}.dash-cards{grid-template-columns:minmax(0,1fr)}.dash-card{padding:15px}.dash-tabs a{flex:1;justify-content:center;padding:9px 8px}.dash-bars{height:190px;padding:14px 10px}}


/* Correção visual do dashboard — estilos explícitos para todos os componentes */
.dash-page{width:100%;max-width:1600px;margin:0 auto;padding:0;min-width:0}
.dash-section-title{display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(100deg,#4b0f9d,#a832e6);border-radius:10px;padding:12px 16px;font-size:13px;line-height:1.35;margin:18px 0 12px;box-shadow:0 6px 18px rgba(75,15,157,.12)}
.dash-grid.two{grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr)}
.dash-panel{min-width:0}
.dash-bars{min-height:250px}
.dash-bar-col{overflow:visible}
.dash-bar-value{font-size:10px;white-space:nowrap}
.dash-type-list{padding:12px 16px}
.dash-type-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 14px;padding:7px 0 10px;margin:0 0 6px;border-bottom:1px solid #f0edf4}
.dash-type-row:last-child{border-bottom:0}
.dash-type-row>div:first-child{display:flex;flex-direction:column;gap:4px}
.dash-type-row small{display:block;color:var(--muted);font-size:10px}
.dash-type-row strong{color:var(--purple);font-size:12px;white-space:nowrap}
.dash-progress{grid-column:1/-1;height:5px;border-radius:99px;background:#eee7f7;overflow:hidden}
.dash-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--purple),var(--purple2))}
.dash-table{width:100%;overflow-x:auto}
.dash-tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,100px) minmax(90px,130px);align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f0edf4;font-size:12px;color:var(--ink)}
.dash-tr:last-child{border-bottom:0}
.dash-tr>*{min-width:0;overflow-wrap:anywhere}
.dash-tr>*:nth-child(2),.dash-tr>*:nth-child(3){text-align:right}
.dash-tr strong{color:var(--purple);white-space:nowrap}
.dash-th{background:#fbfafd;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--purple)}
.dash-big-number{padding:18px 20px 8px;font-size:24px;line-height:1.3;font-weight:800;color:var(--ink)}
.dash-big-number.danger{color:var(--purple)}
.dash-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:8px 20px 20px}
.dash-mini-grid>div{display:flex;flex-wrap:wrap;gap:5px;font-size:12px}
.dash-mini-grid span{color:var(--muted)}
.dash-mini-grid b{font-weight:800}
.dash-note{padding:0 20px 20px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}
@media(max-width:1100px){.dash-grid.two{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
 .content{padding:18px 14px}
 .dash-head{display:flex;flex-direction:column;align-items:stretch}
 .dash-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .dash-filters label{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0}
 .dash-filters input{width:100%;min-width:0}
 .dash-update{grid-column:1/-1;width:100%}
 .dash-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .dash-card{padding:12px;gap:9px}
 .dash-card>i{flex-basis:34px;height:34px;font-size:15px}
 .dash-card b{font-size:17px}
 .dash-card span{font-size:11px}
 .dash-tr{grid-template-columns:minmax(120px,1fr) 58px 90px;gap:8px;padding:10px}
 .dash-bars{height:210px;padding:16px 10px}
}
@media(max-width:420px){.dash-cards{grid-template-columns:minmax(0,1fr)}.dash-tabs a{font-size:12px}}
