
:root{--bg:#f4f6fb;--card:#fff;--txt:#172033;--muted:#667085;--pri:#1f5eff;--ok:#0f7a45;--warn:#a15c00;--danger:#b42318;--line:#dce3ee;--dark:#101827}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--txt)}.app{display:flex;min-height:100vh}.sidebar{width:285px;background:var(--dark);color:white;padding:18px;display:flex;flex-direction:column;gap:10px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:8px}.logo{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#2b6cff,#00b894);display:grid;place-items:center;font-weight:900}.brand small{display:block;color:#aab3c4}.navbtn{border:0;background:transparent;color:#dbe5f5;text-align:left;padding:10px 12px;border-radius:10px;cursor:pointer;font-size:14px}.navbtn:hover,.navbtn.active{background:#233452;color:white}.ghost,.primary,.danger,.ok{border:0;border-radius:10px;padding:10px 13px;cursor:pointer;font-weight:700}.ghost{background:#233049;color:#fff}.primary{background:var(--pri);color:white}.ok{background:var(--ok);color:white}.danger{background:var(--danger);color:white}.full{width:100%;text-align:center}.import input{display:none}main{flex:1;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:5px 0 0;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;background:white}textarea{min-height:80px}.search{width:370px}.grid{display:grid;gap:16px}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.mt{margin-top:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 8px 20px rgba(20,32,50,.05)}.kpi strong{font-size:25px;display:block}.kpi span,.hint{color:var(--muted)}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap}.table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden}.table th,.table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;font-size:13.5px;vertical-align:top}.table th{background:#f8fafc;color:#475467}.badge{display:inline-block;padding:4px 8px;border-radius:99px;font-size:12px;font-weight:700;background:#eef4ff;color:#1849a9}.badge.ok{background:#e8fff2;color:#087a3d}.badge.warn{background:#fff5df;color:#986000}.badge.danger{background:#ffe8e6;color:#b42318}.actions{display:flex;gap:6px;flex-wrap:wrap}.mini{padding:7px 9px;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer}.form{display:grid;gap:12px}.form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form label{font-size:13px;font-weight:700;color:#4b5563}.modalBack{position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;z-index:10;padding:20px}.modal{background:white;border-radius:18px;max-width:980px;width:100%;max-height:92vh;overflow:auto}.modalHead{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.modalHead h2{margin:0}.modalBody{padding:18px}.icon{border:0;background:#f1f5f9;border-radius:8px;font-size:22px;cursor:pointer;width:35px;height:35px}.line{display:grid;grid-template-columns:2fr .55fr .75fr 1.2fr 35px;gap:8px;margin-bottom:8px}.printArea{background:white;padding:22px}.docHead{display:flex;justify-content:space-between;border-bottom:2px solid #111827;padding-bottom:14px;margin-bottom:16px}.totals{text-align:right;font-size:18px}.empty{padding:25px;text-align:center;color:var(--muted)}@media(max-width:950px){.app{display:block}.sidebar{position:relative;width:100%;height:auto}.topbar,.form .row{display:block}.search{width:100%;margin-top:12px}.cols2,.cols3,.cols4{grid-template-columns:1fr}.line{grid-template-columns:1fr}.table{display:block;overflow:auto}}@media print{body{background:#fff}.sidebar,.topbar,.toolbar,.noPrint{display:none!important}main{padding:0}.card{box-shadow:none;border:0}.modalBack{position:static;background:white;padding:0}.modal{max-height:none}.modalHead{display:none}}
.clientPick{display:flex;gap:8px;align-items:end}.clientPick select{flex:1}.roundBtns{display:flex;gap:8px;align-items:end;padding-top:22px}.line select{min-width:260px}.line input[name=valor]{max-width:120px}.line input[name=qtd]{max-width:80px}

.line{grid-template-columns:2fr 1.5fr .55fr .75fr 1fr 35px;align-items:end}.lineHead{display:grid;grid-template-columns:2fr 1.5fr .55fr .75fr 1fr 35px;gap:8px;margin:8px 0;color:#667085;font-size:12px}.line small{display:block;color:#667085;font-size:11px;margin-bottom:3px}.varWrap select{min-width:190px}.line input[readonly]{background:#f8fafc;color:#475467}@media(max-width:950px){.line,.lineHead{grid-template-columns:1fr}.lineHead{display:none}}
.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filters input{min-width:260px}.filters select{min-width:210px}.produtoBusca{margin-bottom:5px;background:#f8fafc}.quickProducts{border:1px dashed var(--line);border-radius:12px;padding:10px;margin:8px 0 12px;background:#fbfcff}.quickProducts small{display:block;color:var(--muted);font-weight:700;margin-bottom:8px}.quickProducts .mini{font-size:12px}.table td:first-child{text-align:center}.line>div:first-child{min-width:250px}

/* ===== IMPRESSAO A4 COMPACTA E FINANCEIRO PRO ===== */
.a4doc{width:210mm;min-height:297mm;margin:0 auto;background:white;color:#111;padding:10mm;font-size:11.5px;line-height:1.25;border:1px solid #e5e7eb}.a4top{display:flex;justify-content:space-between;gap:12px;border-bottom:2px solid #111;padding-bottom:7px;margin-bottom:7px}.a4empresa{display:flex;gap:10px;align-items:flex-start}.a4empresa h2{margin:0 0 3px;font-size:18px}.a4empresa p{margin:0;color:#333}.a4logo{max-width:95px;max-height:58px;object-fit:contain}.a4LogoText{width:54px;height:54px;border-radius:10px;background:#111;color:white;display:grid;place-items:center;font-weight:900;font-size:20px}.a4numero{text-align:right}.a4numero h1{font-size:22px;margin:0}.a4numero p{margin:4px 0 0}.a4cliente{background:#f4f6fb;border:1px solid #dce3ee;border-radius:8px;padding:7px;margin-bottom:7px;display:flex;gap:14px;flex-wrap:wrap}.a4table{width:100%;border-collapse:collapse;margin:6px 0}.a4table th,.a4table td{border:1px solid #cfd7e3;padding:5px;text-align:left;vertical-align:top}.a4table th{background:#f1f5f9}.a4totais{text-align:right;margin-top:6px;font-size:12px}.a4totais .totalFinal{font-size:18px;font-weight:900;margin-top:4px}.a4obs{border:1px solid #dce3ee;border-radius:8px;padding:7px;margin-top:8px;min-height:36px}.a4assinaturas{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.a4assinaturas div{border-top:1px solid #111;text-align:center;padding-top:5px}.a4rodape{text-align:center;color:#667085;font-size:10px;margin-top:8px}.reciboTexto{font-size:15px;line-height:1.5;margin:18px 0}.relResumo{margin-bottom:10px}.relResumo .kpi strong{font-size:20px}
@page{size:A4;margin:0}
@media print{html,body{width:210mm;height:297mm;margin:0!important;background:#fff!important}.app{display:block}.sidebar,.topbar,.modalHead,.noPrint,#menu,.ghost.full,.import{display:none!important}main{padding:0!important}.modalBack{position:static!important;background:#fff!important;padding:0!important;display:block!important}.modal{width:210mm!important;max-width:210mm!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}.modalBody{padding:0!important}.printArea.a4doc{border:0!important;width:210mm!important;min-height:297mm!important;max-height:297mm!important;margin:0!important;padding:9mm!important;box-shadow:none!important;overflow:hidden!important}.a4doc{font-size:10.8px}.a4table th,.a4table td{padding:4px}.a4numero h1{font-size:20px}.a4totais .totalFinal{font-size:16px}.card{box-shadow:none!important;border:0!important}}


/* Correção: impressão exclusiva do documento aberto */
@media print{
  body.printing-doc *{visibility:hidden!important}
  body.printing-doc .printArea, body.printing-doc .printArea *{visibility:visible!important}
  body.printing-doc .modalBack{position:static!important;background:#fff!important;padding:0!important;display:block!important;visibility:visible!important}
  body.printing-doc .modal, body.printing-doc .modalBody{display:block!important;visibility:visible!important;width:210mm!important;max-width:210mm!important;padding:0!important;margin:0!important;overflow:visible!important;box-shadow:none!important;border:0!important}
  body.printing-doc .printArea.a4doc{position:absolute!important;left:0!important;top:0!important;border:0!important;width:210mm!important;min-height:297mm!important;max-height:297mm!important;margin:0!important;padding:9mm!important;overflow:hidden!important}
}

/* Fluxo de pagamento ao virar OS */
.card.soft,.payPreview{background:#f8fafc;border:1px solid #dce3ee;box-shadow:none}.payPreview h3{margin:0 0 10px}.payPreview .grid>div{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px}.payPreview small{display:block;color:#667085}.payPreview b{font-size:16px}.pagamentoOS .actions{justify-content:flex-end}.badge:contains('Parcial'){}


/* Correções financeiras e recibo */
.tableScroll{width:100%;overflow-x:auto}
.card .table{min-width:680px}
.financeiroLayout{grid-template-columns:minmax(0,1.6fr) minmax(340px,.85fr);align-items:start}
.financeiroMain,.financeiroSide{min-width:0;overflow:hidden}
.financeiroSide .table{min-width:360px}
.a4assinaturas.one{grid-template-columns:1fr;max-width:90mm;margin-left:auto;margin-right:auto}
@media(max-width:1100px){.financeiroLayout{grid-template-columns:1fr}.card .table{min-width:640px}}
@media print{.a4assinaturas.one{grid-template-columns:1fr!important;max-width:90mm!important;margin-left:auto!important;margin-right:auto!important}}

/* Ajustes finais: orçamento sem assinatura, histórico de pagamentos e caixa */
.a4paybox{border:1px solid #dce3ee;border-radius:8px;padding:7px;margin-top:8px;background:#fbfcff}
.caixaPrint{max-width:210mm;margin:0 auto;background:white;padding:10mm}
.caixaPrint .card{box-shadow:none}
@media print{.caixaPrint{width:210mm!important;min-height:297mm!important;margin:0!important;padding:9mm!important}.caixaPrint .grid{gap:8px}.caixaPrint .card{padding:8px;border:1px solid #dce3ee!important}.caixaPrint .kpi strong{font-size:16px}}


/* Login e permissões */
.topActions{display:flex;align-items:center;gap:12px}.userBox{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);border-radius:12px;padding:7px 9px;white-space:nowrap}.userBox span{display:block;line-height:1.05}.userBox small{display:block;color:var(--muted);font-size:11px}.loginMode .app{filter:blur(2px);pointer-events:none;user-select:none}.loginScreen{position:fixed;inset:0;background:linear-gradient(135deg,rgba(16,24,39,.96),rgba(31,94,255,.92));display:grid;place-items:center;z-index:9999;padding:20px}.loginCard{width:min(420px,100%);background:white;border-radius:22px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.35);display:grid;gap:13px}.loginLogo{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#2b6cff,#00b894);display:grid;place-items:center;color:white;font-weight:900;font-size:24px}.loginImg{max-width:220px;max-height:110px;object-fit:contain;border-radius:14px;margin:auto;display:block}.loginCard h1{margin:0}.loginCard p{margin:0;color:var(--muted)}.loginCard label{font-weight:700;color:#344054}.loginErro{background:#fee4e2;color:#b42318;border:1px solid #fda29b;border-radius:10px;padding:9px;font-weight:700}.card.soft{background:#f8fafc;border:1px solid #dce3ee;box-shadow:none}
@media(max-width:950px){.topActions{display:block}.userBox{margin-bottom:10px}.search{width:100%}}
.checkGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 14px;margin:10px 0 16px}.checkGrid label{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px;font-size:13px}.permissionsForm .card.soft{margin-bottom:14px}.permissionsForm h3{margin:0 0 10px}

/* Dashboard profissional, histórico do cliente e fila de produção */
.kanbanProd{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:start}.kanbanCol{background:#f8fafc;border:1px solid #dce3ee;border-radius:14px;padding:10px;min-height:120px}.kanbanCol h4{margin:0 0 10px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.kanbanCol h4 span{background:#e0e7ff;color:#273ea5;border-radius:99px;padding:2px 8px;font-size:12px}.prodCard{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:9px;margin-bottom:8px;display:grid;gap:4px;box-shadow:0 4px 12px rgba(16,24,40,.04)}.prodCard.late{border-color:#fda29b;background:#fff7f6}.prodCard small{color:#667085}.prodCard select{padding:6px;border-radius:8px;font-size:12px}.tagDanger{background:#fee4e2;color:#b42318;border-radius:99px;padding:2px 6px;font-size:10px;font-weight:800;margin-left:4px}.emptyMini{border:1px dashed #cfd7e3;border-radius:10px;padding:14px;text-align:center;color:#667085;background:white}.clientHistory .card{min-width:0}.toolbar h3{margin:0}.mt{margin-top:14px}
@media(max-width:950px){.kanbanProd{grid-template-columns:1fr}.clientHistory .grid{grid-template-columns:1fr}}

/* Correção visual da tela de recibos */
.recibosTela img{max-width:80px;max-height:50px;object-fit:contain}
.emptyState{border:1px dashed #cbd5e1;border-radius:14px;padding:28px;text-align:center;background:#f8fafc;color:#475569}
.emptyState h3{margin:0 0 6px;color:#0f172a}
.emptyState p{margin:0 0 16px}

/* Central de documentos e recibos */
.filtersDoc{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin:12px 0 16px}.filtersDoc input,.filtersDoc select{width:100%}.emptyState{text-align:center;padding:28px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc}.emptyState h3{margin:0 0 6px}.danger{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}.tagDanger{background:#fee2e2;color:#991b1b;border-radius:99px;padding:2px 7px;font-size:11px}
@media(max-width:900px){.filtersDoc{grid-template-columns:1fr}}

/* ===== ESTILOS PRO ADICIONAIS ===== */
.kanbanAmplo{overflow-x:auto;padding-bottom:8px}.kanbanAmplo .kanbanCol{min-width:230px}.osCard{background:#fff;border:1px solid #dfe6f1;border-radius:12px;padding:10px;margin:8px 0;box-shadow:0 2px 8px rgba(15,23,42,.04)}.osCard b{display:block}.osCard small{display:block;color:#64748b;margin-top:2px}.dangerCard{border-color:#fca5a5;background:#fff7f7}.etiquetasPrint{display:flex;align-items:flex-start;justify-content:center}.etiquetaProd{width:95mm;min-height:55mm;border:2px dashed #111;border-radius:10px;padding:10px;background:white;color:#111}.etiquetaProd h2{margin:0 0 8px;font-size:22px}.etiquetaProd p{margin:4px 0}.permissionsForm .checkGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.card.soft{background:#f8fafc}.mt{margin-top:16px}.filtersDoc{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.filtersDoc input,.filtersDoc select{max-width:260px}.mini.danger,.danger{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}.quickProducts .actions{max-height:95px;overflow:auto}.totals b{font-size:15px}@media print{.noPrint,.sidebar,.topbar,button{display:none!important}.modalBack{position:static!important;background:white!important}.modal{box-shadow:none!important;width:auto!important;max-width:none!important}.modalHead{display:none!important}}
/* Correção status da produção */
.statusSelect{width:100%;padding:7px 9px;border:1px solid #d7dce5;border-radius:8px;background:#fff;margin:6px 0;font-size:13px}
.miniLabel{display:block;font-size:11px;color:#667085;margin-top:5px}
.osCard .actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}

/* ===== CORREÇÃO FINAL: RELATÓRIOS NÃO ESTOURAM A TELA ===== */
.relatorioGerencial{max-width:1180px;margin:0 auto;overflow-x:hidden}
.relatorioGerencial .grid{min-width:0}
.relatorioGerencial .card{min-width:0;overflow:hidden}
.relatorioGerencial .table{min-width:0;width:100%;table-layout:auto}
.relatorioGerencial .table th,.relatorioGerencial .table td{font-size:12px;padding:8px;word-break:break-word}
.relatorioGerencial .reportHeader{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #dce3ee;margin-bottom:10px;padding-bottom:10px}
.relatorioGerencial .reportLogo{max-width:95px;max-height:55px;object-fit:contain}
.relatorioGerencial h2{margin:0;font-size:22px}.relatorioGerencial h3{margin:0 0 10px;font-size:15px}
.relatorioGerencial .kpi strong{font-size:18px}.relatorioGerencial .kpi span{font-size:12px}
.relatorioGerencial .cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.relatorioGerencial .cols2{grid-template-columns:repeat(2,minmax(0,1fr))}
.relatorioPrintCompacto{font-size:9.8px!important;overflow:hidden!important}
.relatorioPrintCompacto .card{padding:7px!important;margin-top:6px!important;box-shadow:none!important;border:1px solid #dce3ee!important}
.relatorioPrintCompacto .grid{gap:6px!important}.relatorioPrintCompacto .table th,.relatorioPrintCompacto .table td{font-size:8.6px!important;padding:3px!important}
.relatorioPrintCompacto h2{font-size:17px!important;margin:0!important}.relatorioPrintCompacto h3{font-size:11px!important;margin:0 0 4px!important}
.relatorioPrintCompacto .kpi strong{font-size:13px!important}.relatorioPrintCompacto .reportHeader{margin-bottom:5px!important;padding-bottom:5px!important}
@media(max-width:1100px){.relatorioGerencial .cols4,.relatorioGerencial .cols2{grid-template-columns:1fr}.relatorioGerencial{overflow-x:auto}.relatorioGerencial .table{min-width:650px}}
@media print{.relatorioPrintCompacto{width:210mm!important;max-height:297mm!important;padding:7mm!important}.relatorioPrintCompacto .cols4{grid-template-columns:repeat(4,1fr)!important}.relatorioPrintCompacto .cols2{grid-template-columns:repeat(2,1fr)!important}.relatorioPrintCompacto .a4rodape{font-size:8px!important}}


/* Ajustes financeiro/comissão */
.prodCheckGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px;max-height:260px;overflow:auto;padding:8px;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa}
.checkLine{display:flex;align-items:center;gap:6px;font-size:13px;padding:4px}
.danger{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}
.relatorioGerencial .table{font-size:12px}
.relatorioGerencial .card{break-inside:avoid}

/* Correção visual: OS entregue compacta */
.entregueCompacto{
  min-height: auto !important;
  padding: 10px 12px !important;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.entregueCompacto small{font-size:12px;color:#334155;}

/* Ajustes de uso na gráfica */
.entregueCompacto.clicavel{cursor:pointer;transition:.15s ease;}
.entregueCompacto.clicavel:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.12);}
.caixaDiaFull table td,.caixaDiaFull table th{white-space:normal;}
