/* Shaddai V1.36 - interface responsiva, menu moderno e relatorios sem corte. */
:root{--v136-sidebar:244px;--v136-sidebar-bg:#12271f;--v136-sidebar-soft:#1b382c;--v136-sidebar-line:rgba(177,229,199,.22);--v136-sidebar-accent:#7bd3a2}
html,body{max-width:100%;overflow-x:clip}
.shell,.main,.view,.panel,.content-grid,.table-wrap,.rv134-wrap,.stock-table,.stock-validation-table,.cash-closing-table,.cash-closing-history{min-width:0;max-width:100%}
.main{overflow-x:clip}

/* Menu lateral: compacto, atual e com contorno claro no modulo ativo. */
.sidebar{background:linear-gradient(180deg,#10261d 0%,#173229 100%)!important}
.sidebar .brand{gap:10px}
.sidebar .brand-logo{width:58px;height:48px;border-radius:11px}
.sidebar .brand strong{font-size:13.5px}.sidebar .brand span{font-size:11.5px}
.nav{gap:4px!important}
.nav-item{position:relative;isolation:isolate;min-height:38px!important;gap:9px!important;padding:4px 8px!important;border-radius:10px!important;border:1px solid transparent!important;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.nav-item .icon{flex:0 0 29px;width:29px;height:29px;display:grid!important;place-items:center;border:1px solid rgba(180,226,199,.16);border-radius:8px;background:rgba(255,255,255,.055);color:transparent!important;font-size:0!important;line-height:1}
.nav-item .icon::before{display:block;color:#b8dec8;font:800 15px/1 system-ui,-apple-system,"Segoe UI",sans-serif;text-align:center}
.nav-item[data-view="dashboard"] .icon::before{content:"⌂"}.nav-item[data-view="lancamentos"] .icon::before{content:"▣"}.nav-item[data-view="estoque"] .icon::before{content:"▦"}.nav-item[data-view="parceiros"] .icon::before{content:"♙"}.nav-item[data-view="vendas"] .icon::before{content:"↗"}.nav-item[data-view="mercado"] .icon::before,.nav-item[data-view="mercado_auto"] .icon::before{content:"◉"}.nav-item[data-view="precos"] .icon::before{content:"$"}.nav-item[data-view="gerencial"] .icon::before{content:"▤"}.nav-item[data-view="pagar"] .icon::before,.nav-item[data-view="contas-pagar"] .icon::before{content:"↘"}.nav-item[data-view="receber"] .icon::before,.nav-item[data-view="contas-receber"] .icon::before{content:"↗"}.nav-item[data-view="conciliacao"] .icon::before{content:"⇄"}.nav-item[data-view="financeiro"] .icon::before{content:"R$";font-size:10px}.nav-item[data-view="fechamento"] .icon::before{content:"✓"}.nav-item[data-view="cadastros"] .icon::before{content:"⊕"}.nav-item[data-view="configuracoes"] .icon::before{content:"⚙"}.nav-item[data-view="bancos"] .icon::before{content:"▰"}.nav-item[data-view="dre"] .icon::before{content:"Σ"}.nav-item[data-view="controladoria"] .icon::before{content:"◎"}
.nav-item:hover{background:rgba(255,255,255,.075)!important;border-color:rgba(171,224,194,.18)!important;transform:translateX(2px)}
.nav-item:hover .icon{background:rgba(123,211,162,.12);border-color:rgba(123,211,162,.3)}
.nav-item.active,.nav-item[aria-current="page"]{background:linear-gradient(90deg,rgba(71,139,101,.36),rgba(38,83,64,.58))!important;border-color:rgba(137,218,173,.44)!important;color:#fff!important;box-shadow:0 0 0 2px rgba(111,207,154,.13),inset 3px 0 0 var(--v136-sidebar-accent)!important}
.nav-item.active .icon,.nav-item[aria-current="page"] .icon{background:#dff5e8;border-color:#dff5e8;box-shadow:0 5px 14px rgba(0,0,0,.16)}
.nav-item.active .icon::before,.nav-item[aria-current="page"] .icon::before{color:#145c3d}
.nav-item:focus-visible{outline:3px solid rgba(123,211,162,.35)!important;outline-offset:2px!important}

/* Uma unica regra final neutraliza larguras antigas de 900 a 1220px. */
.view :is(.table-wrap,.rv134-wrap,.stock-table,.stock-validation-table,.cash-closing-table,.cash-closing-history){width:100%!important;max-width:100%!important;overflow-x:hidden!important}
.view table.rv134-table,.view table.v136-balanced{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important}
.view table.rv134-table th,.view table.rv134-table td,.view table.v136-balanced th,.view table.v136-balanced td{min-width:0!important;max-width:none!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important;vertical-align:middle!important}
.view table.rv134-table td.rv134-numeric,.view table.v136-balanced td.rv134-numeric{white-space:nowrap!important;overflow-wrap:normal!important}
.view table :is(.pill,.badge,.stock-status,.bank-status,.movement-pill,.margin-status,.im133-pill,.control-severity,.accounting-change){max-width:100%!important;height:auto!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:center!important;line-height:1.12!important}
.view table :is(.action-group,.bank-actions,.a29-actions){min-width:0!important;max-width:100%!important}
.view table :is(.action-group,.bank-actions,.a29-actions) button{min-width:0!important;max-width:100%!important;height:auto!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;line-height:1.05!important}

/* Caixa Diario: carrinhos e fechamento usam a largura real do painel. */
#lancamentos .cash-market-grid,#lancamentos .cash-lane,#lancamentos .cash-picker,#lancamentos .cash-cart,#lancamentos .cash-final{min-width:0;max-width:100%}
#lancamentos .cash-closing-accounts{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));overflow-x:hidden!important}
#lancamentos .cash-closing-accounts article{min-width:0!important;width:auto!important}
#lancamentos .cash-closing-table table,#lancamentos .cash-closing-history table{min-width:0!important}

/* Estoque: area de acao larga o suficiente para botoes legiveis. */
#estoque table[data-v136-table="stockValidationRows"] .v136-action-cell .action-group{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}
#estoque table[data-v136-table="stockValidationRows"] .v136-action-cell button{width:100%!important;min-height:25px!important;padding:4px 3px!important}

/* Financeiro: formularios e filtros sempre respeitam o painel. */
:is(#financeiro,#conciliacao,#pagar,#receber,#contas-pagar,#contas-receber,#bancos) :is(.bank-form,.finance-form,.form-grid,.fields,.filters,.bank-filter-grid,.bank-statement-filters){min-width:0!important;max-width:100%!important}
:is(#financeiro,#conciliacao,#pagar,#receber,#contas-pagar,#contas-receber,#bancos) .bank-statement-table{min-width:0!important}

@media (min-width:1081px){
  .shell{grid-template-columns:var(--v136-sidebar) minmax(0,1fr)!important;align-items:stretch;background:linear-gradient(90deg,var(--v136-sidebar-bg) 0,var(--v136-sidebar-bg) var(--v136-sidebar),var(--bg) var(--v136-sidebar))!important}
  .sidebar{width:var(--v136-sidebar);height:100vh!important;min-height:100vh;padding:17px 14px!important;gap:13px!important;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#4e7b65 transparent}
  .sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-thumb{background:#4e7b65;border-radius:99px}
  .main{padding:22px!important}
  .topbar{margin-bottom:18px!important}
}

@media (min-width:821px) and (max-width:1366px){
  .view table.rv134-table th,.view table.rv134-table td,.view table.v136-balanced th,.view table.v136-balanced td{padding:5px 3px!important;font-size:8.7px!important;line-height:1.16!important}
  .view table th{letter-spacing:0!important}
  .view table td small{font-size:7.8px!important}
  .view table :is(.pill,.badge,.stock-status,.bank-status,.movement-pill,.margin-status,.im133-pill,.control-severity,.accounting-change){padding:3px 4px!important;font-size:8px!important}
  .view table :is(.action-group,.entry-action-stack,.bank-actions,.a29-actions){display:grid!important;grid-template-columns:1fr!important;gap:3px!important;width:100%!important}
  html body[data-interface-version="v136"] :is(#lancamentos,#estoque,#financeiro,#conciliacao,#pagar,#receber,#contas-pagar,#contas-receber,#bancos) table .v136-action-cell :is(.action-group,.entry-action-stack,.bank-actions,.a29-actions){display:grid!important;grid-template-columns:1fr!important;gap:3px!important;width:100%!important}
  html body[data-interface-version="v136"] #lancamentos #entryRows .entry-action-stack{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;width:100%!important}
  .view table :is(.action-group,.bank-actions,.a29-actions) button{width:100%!important;min-height:23px!important;padding:3px 2px!important;font-size:7.8px!important}
  .content-grid{gap:12px!important}
  .panel{padding:14px!important}
  .panel-head{margin-bottom:12px!important}
  .cash-closing-summary{gap:7px!important}
  .cash-closing-card{min-height:82px!important;padding:9px!important}
}

@media (min-width:1081px) and (max-width:1220px){
  .cash-market-grid{grid-template-columns:1fr!important}
  .cash-material-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cash-closing-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .cash-closing-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cash-closing-toolbar>*:last-child{grid-column:1/-1}
}

@media (max-width:1080px){
  .shell{grid-template-columns:1fr!important;background:var(--bg)!important}
  .sidebar{position:static!important;width:100%;height:auto!important;min-height:0!important;padding:13px!important;gap:11px!important;overflow:visible!important}
  .sidebar .brand{justify-content:center}.sidebar .brand-logo{width:50px;height:42px}
  .nav{grid-template-columns:repeat(8,minmax(0,1fr))!important}
  .nav-item{justify-content:center!important;padding:5px!important;transform:none!important}
  .nav-item>span:last-child{display:none!important}
  .nav-item .icon{flex-basis:31px;width:31px;height:31px}
  .main{padding:16px!important}
}

@media (max-width:820px){
  html,body{overflow-x:hidden}
  .nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .view :is(.table-wrap,.rv134-wrap,.stock-table,.stock-validation-table,.cash-closing-table,.cash-closing-history){overflow:visible!important}
  .view table.rv134-table:not(.rv134-simple),.view table.v136-balanced:not(.rv134-simple){display:block!important;width:100%!important;min-width:0!important}
  .view table :is(.pill,.badge,.stock-status,.bank-status,.movement-pill,.margin-status,.im133-pill,.control-severity,.accounting-change){width:max-content!important;max-width:100%!important}
  :is(#financeiro,#conciliacao,#pagar,#receber,#contas-pagar,#contas-receber,#bancos) :is(.bank-form,.finance-form,.form-grid,.fields,.filters,.bank-filter-grid,.bank-statement-filters){grid-template-columns:1fr!important}
  .cash-closing-accounts{grid-template-columns:1fr!important}
}

@media (max-width:430px){
  .sidebar{padding:11px 9px!important}.nav{gap:3px!important}.nav-item{min-height:36px!important}.nav-item .icon{width:29px;height:29px}
  .main{padding:11px!important}.panel{padding:11px!important}
}

@media (prefers-reduced-motion:reduce){.nav-item{transition:none!important}}
