:root{--navy:#06152b;--navy2:#0b1f3d;--gold:#d2a044;--gold2:#f1ca72;--bg:#f4f6fa;--text:#071126;--muted:#667085;--line:#e5e7ef;--green:#16a34a;--red:#dc2626;--orange:#d97706}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#07162e,#061225);color:white;padding:18px 14px;display:flex;flex-direction:column;gap:12px;position:sticky;top:0;height:100vh}.logoBox{text-align:center;padding-bottom:8px}.logoBox img{width:205px;height:176px;object-fit:contain}.navBtn{border:0;background:transparent;color:white;display:flex;align-items:center;gap:14px;padding:13px 15px;border-radius:10px;text-align:left;font-size:15px}.navBtn .ico{width:24px;text-align:center;color:var(--gold2);font-size:21px}.navBtn:hover,.navBtn.active{background:linear-gradient(90deg,var(--gold),#c79135);color:white;box-shadow:0 5px 14px #0004}.officeCard{margin-top:auto;border:1px solid #ffffff30;border-radius:12px;padding:14px;font-size:12px;line-height:1.55;background:#0c203d}.officeCard b{color:var(--gold2)}.main{min-width:0}.topbar{height:100px;background:linear-gradient(90deg,#07162e,#071a33);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.title h1{font-size:28px;margin:0;color:var(--gold2);font-weight:800}.title span{display:block;margin-top:4px;color:#e9eef8}.hamb{font-size:30px;margin-right:18px}.topLeft{display:flex;align-items:center}.topIcons{display:flex;align-items:center;gap:24px;font-size:24px}.user{display:flex;align-items:center;gap:12px}.avatar{width:58px;height:58px;border-radius:50%;background:#fff;border:3px solid #f7e6b4;display:grid;place-items:center;color:#0a1a33;font-weight:800}.content{padding:24px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px}.metric{background:linear-gradient(135deg,#07162e,#0b203f);color:white;border-radius:9px;padding:22px 18px;display:flex;gap:16px;align-items:center;box-shadow:0 5px 14px #001b3b33}.metricIcon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#ffffff0d;color:var(--gold2);font-size:33px;border:1px solid #d2a04455}.metric .label{font-size:14px}.metric .num{font-size:25px;font-weight:800;margin:8px 0 3px}.metric .sub{font-size:13px;color:#d7dce7}.green{color:#57d86d!important}.grid{display:grid;grid-template-columns:1fr 360px;gap:20px}.panel{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 20px #11182712;padding:18px}.panel h2{margin:0 0 4px;font-size:20px}.panel .desc{color:var(--muted);font-size:14px;margin-bottom:15px}.rowBetween{display:flex;align-items:center;justify-content:space-between;gap:12px}.monthCtl{display:flex;align-items:center;gap:10px}.goldBtn{background:linear-gradient(90deg,var(--gold),#c28b31);color:white;border:0;border-radius:7px;padding:10px 14px;font-weight:700}.ghostBtn{background:#fff;color:#0a1730;border:1px solid var(--line);border-radius:7px;padding:9px 13px}.dangerBtn{background:#fee2e2;color:#991b1b;border:0;border-radius:7px;padding:9px 12px}.successBtn{background:#dcfce7;color:#166534;border:0;border-radius:7px;padding:9px 12px}.tableWrap{overflow:auto;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;font-size:14px}th{background:#06152b;color:white;text-align:left;padding:13px 16px;white-space:nowrap}td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}.badge{display:inline-block;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:700}.bGreen{background:#e8f5e9;color:#166534}.bRed{background:#fee2e2;color:#991b1b}.bOrange{background:#fff7ed;color:#9a3412}.sideList{display:flex;flex-direction:column;gap:12px}.deadline{border:1px solid var(--line);border-radius:9px;padding:12px;display:grid;grid-template-columns:58px 1fr;gap:12px}.datebox{text-align:center;border-right:1px solid var(--line);font-weight:800;font-size:24px}.datebox small{display:block;font-size:12px;font-weight:700;color:#344054}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick button{border:1px solid var(--line);background:#f8fafc;border-radius:9px;padding:15px 8px;min-height:78px}.quick .qico{font-size:25px;display:block;color:#0b1f3d}.lower{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:20px}.donut{width:120px;height:120px;border-radius:50%;background:conic-gradient(#16a34a 0 50%,#fbbf24 50% 78%,#ef4444 78% 100%);position:relative}.donut:after{content:"";position:absolute;inset:34px;background:white;border-radius:50%}.formGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.formGrid.two{grid-template-columns:repeat(2,1fr)}label{display:block;font-size:12px;color:#475467;font-weight:700;margin-bottom:5px}input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:8px;padding:10px;background:white}textarea{min-height:110px}.full{grid-column:1/-1}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.hidden{display:none!important}.sectionHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.twoCols{display:grid;grid-template-columns:390px 1fr;gap:18px}.clientList{max-height:560px;overflow:auto}.clientCard{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px;background:#fff}.clientCard b{display:block}.clientCard small{color:var(--muted)}.receiptPrint{background:#fff;padding:20px;border:1px solid var(--line);border-radius:10px}.receiptSheet{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #222}.receiptHalf{min-height:360px;padding:20px;border-right:1px dashed #222}.receiptHalf:last-child{border-right:0}.receiptHead{display:flex;gap:14px;align-items:center;border-bottom:1px solid #ddd;padding-bottom:10px}.receiptHead img{width:80px;height:65px;object-fit:contain}.signLine{margin-top:34px;border-top:1px solid #111;text-align:center;padding-top:6px}.reportGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.reportCard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.reportCard .big{font-size:25px;font-weight:800;margin-top:8px}.backupBox{border:1px dashed #98a2b3;background:#f8fafc;border-radius:12px;padding:18px}.footer{color:#667085;font-size:13px;margin-top:25px;display:flex;justify-content:space-between}@media(max-width:1200px){.cards{grid-template-columns:repeat(2,1fr)}.grid,.lower,.twoCols{grid-template-columns:1fr}.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.quick{grid-template-columns:repeat(2,1fr)}}@media print{body{background:white}.layout>*:not(.printOnly),.noPrint{display:none!important}.printOnly{display:block!important}.receiptSheet{page-break-inside:avoid}@page{size:A4 landscape;margin:12mm}}

/* Ajustes v6: cadastro de cliente em largura total e impressão sem página em branco */
.fullClientPanel{width:100%;}
.clientForm{grid-template-columns:repeat(4,1fr);}
.clientListWide{max-height:520px;}
.clientCardWide{display:flex;align-items:center;justify-content:space-between;gap:18px;}
@media(max-width:1200px){.clientForm{grid-template-columns:repeat(2,1fr)}.clientCardWide{display:block}}
@media(max-width:700px){.clientForm{grid-template-columns:1fr}}
@media print{body{margin:0!important;background:white!important}.layout{display:none!important}#printArea{display:block!important;position:static!important;margin:0!important;padding:0!important}.printOnly{display:block!important}.hidden{display:none!important}.receiptSheet{page-break-before:avoid!important;page-break-after:avoid!important;page-break-inside:avoid!important;margin:0!important}.receiptHalf{min-height:160mm!important} @page{size:A4 landscape;margin:8mm}}
/* Ajustes v7 */
.avatarImg{width:58px;height:58px;border-radius:50%;object-fit:cover;border:3px solid #f7e6b4;background:#fff}.user{cursor:pointer}.userGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.userCard{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;display:flex;align-items:center;gap:14px;justify-content:space-between}.totalsBar{margin-top:14px;padding:14px;border-top:1px solid var(--line);display:flex;gap:24px;flex-wrap:wrap;background:#f8fafc;border-radius:0 0 10px 10px}.redText{color:#dc2626!important}.monthsGrid{grid-template-columns:repeat(3,1fr)}.chartBox{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.barRow{display:grid;grid-template-columns:170px 1fr 120px;align-items:center;gap:12px;margin:12px 0}.barTrack{height:18px;background:#eef2f7;border-radius:99px;overflow:hidden}.barFill{height:100%;background:linear-gradient(90deg,var(--gold),#c28b31)}#chartPanel{margin-top:10px}.backupBox,.backupBox *,.panel,.panel *{color:var(--text)}.backupBox .goldBtn,.backupBox .ghostBtn,.panel .goldBtn,.panel .dangerBtn,.panel .successBtn{color:white}.panel .ghostBtn{color:#0a1730}.settingsText{color:#071126!important}@media(max-width:1200px){.userGrid,.monthsGrid{grid-template-columns:1fr}.barRow{grid-template-columns:1fr}}

/* === AJUSTES VISUAIS V8 - mantendo padrão das versões 5/6/7 === */
.sidebar{min-height:100vh;height:auto;position:sticky;top:0;background:linear-gradient(180deg,#07162e,#061225)!important}.bBlue{background:#dbeafe;color:#1d4ed8}.blueBtn{background:#dbeafe;color:#1d4ed8;border:0;border-radius:7px;padding:9px 12px}.blueText{color:#2563eb}.caseCounters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.caseCounters span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;box-shadow:0 3px 10px #1118270d}.documentPreview{background:#fafafa;border:1px solid var(--line);border-radius:12px;padding:16px;min-height:320px}.docPaper{background:white;max-width:850px;margin:auto;padding:35px;border:1px solid #ddd;box-shadow:0 8px 20px #0001;line-height:1.55}.docLogo{width:160px;height:120px;object-fit:contain;display:block;margin:0 auto 15px}.compactReports{grid-template-columns:repeat(6,1fr)}.reportsLayout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.monthsMini{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.monthMini{border:1px solid var(--line);border-radius:10px;padding:11px;background:#f8fafc;display:flex;justify-content:space-between;gap:8px;align-items:center}.monthMini span{font-size:13px;color:#475467}.monthMini b{font-size:15px}.pieWrap{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap}.pieChart{width:175px;height:175px;border-radius:50%;background:conic-gradient(#16a34a 0 32%, #d2a044 32% 62%, #dc2626 62% 82%, #2563eb 82% 100%);position:relative}.pieChart:after{content:"";position:absolute;inset:48px;background:white;border-radius:50%}.pieLegend p{margin:8px 0}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px}.greenDot{background:#16a34a}.goldDot{background:#d2a044}.redDot{background:#dc2626}.blueDot{background:#2563eb}@media(max-width:1350px){.compactReports{grid-template-columns:repeat(3,1fr)}.reportsLayout{grid-template-columns:1fr}}@media(max-width:800px){.compactReports,.monthsMini{grid-template-columns:1fr}.sidebar{position:relative}}
@media print{.sidebar,.topbar,.sectionHeader button,.actions,.navBtn,.noPrint{display:none!important}.layout{display:block!important}.content{padding:0!important}.panel,.reportCard{box-shadow:none!important}.reportsLayout{grid-template-columns:1fr 1fr!important}.compactReports{grid-template-columns:repeat(3,1fr)!important}.monthsMini{grid-template-columns:repeat(2,1fr)!important} @page{size:A4 landscape;margin:10mm}}

/* ===== V9 visual refinements ===== */
.navSmall{background:#ffffff12;color:white;border:1px solid #ffffff33;border-radius:8px;padding:8px 11px;font-size:13px}.userSwitch{width:185px;background:#0b203f;color:white;border-color:#ffffff33;padding:7px}.restrictedMetric{opacity:.72}.brandName{font-size:26px;font-weight:800;color:#07162e}.brandSub{font-size:12px;color:#475467}.portraitDoc{max-width:794px;min-height:1123px;padding:2cm!important;text-align:justify;font-family:Georgia,'Times New Roman',serif;font-size:14px;line-height:1.65}.docHeader{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.docLogoTop{width:125px;height:95px;object-fit:contain}.docTitle{text-align:center;font-size:19px;margin:20px 0 25px}.docLocal{margin-top:28px}.docSign{width:320px;border-top:1px solid #111;margin:60px auto 5px}.docSignName{text-align:center;margin-top:0}.documentPreview{background:#f8fafc}.monthsCompact{grid-template-columns:1fr!important}.monthsCompact .monthMini{padding:9px 10px}.sidebar{min-height:100vh!important;background:linear-gradient(180deg,#07162e,#061225)!important}.topIcons{gap:12px!important}.bBlue{background:#dbeafe;color:#1d4ed8}@media print{#printArea .portraitDoc{box-shadow:none!important;border:0!important;margin:0!important;width:auto!important;max-width:none!important;min-height:auto!important}.documentPreview,.docPaper{box-shadow:none!important}@page{size:A4 portrait;margin:0}}
.pageNav{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px}.qrBox{width:170px;height:170px;border:2px dashed #0b1f3d;border-radius:12px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;margin-top:16px;background:#fff}.docPaper.portraitDoc{background:white;max-width:794px;min-height:1123px;margin:auto;padding:2cm!important;text-align:justify;font-family:Georgia,'Times New Roman',serif;font-size:14px;line-height:1.65}.docHeader{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.docLogoTop{width:125px;height:95px;object-fit:contain}.docTitle{text-align:center!important}.docSignName{text-align:center}.bBlue{background:#dbeafe;color:#1d4ed8}.blueBtn{background:#dbeafe;color:#1d4ed8;border:0;border-radius:7px;padding:9px 12px}.caseCounters{display:flex;gap:12px;flex-wrap:wrap}.caseCounters span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px}.sidebar{min-height:100vh!important;background:linear-gradient(180deg,#07162e,#061225)!important}.backupBox,.backupBox *,.settingsText{color:#071126!important}

/* === V13 FINAL - ajustes pedidos mantendo padrão V9 === */
.topbar .userNameBox b{font-size:13px;line-height:1.1;max-width:150px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .userNameBox small{font-size:11px;color:#e8edf7}.userCompact{gap:8px}.userArrow{width:28px!important;min-width:28px;max-width:28px;padding:0;background:#ffffff1c;color:transparent;border:1px solid #ffffff55;border-radius:7px;height:32px;appearance:auto}.userArrow option{color:#111}.successBtn{background:#16a34a!important;color:white!important;border:0!important;box-shadow:0 3px 9px #16a34a44}.dangerBtn{background:#dc2626!important;color:white!important;border:0!important;box-shadow:0 3px 9px #dc262644}.passWrap{display:flex;gap:6px}.passWrap input{flex:1}.passWrap button{width:44px;padding:8px}.miniEye{border:0;background:#eef2ff;border-radius:5px;padding:2px 6px;cursor:pointer}.shortMonths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.monthMini{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#f8fafc;display:flex;justify-content:space-between;gap:10px;font-size:13px}.reportsLayout{display:grid;grid-template-columns:1fr 440px;gap:18px}.pieChart.dynamicPie{width:190px;height:190px;border-radius:50%;position:relative}.pieChart.dynamicPie:after{content:"";position:absolute;inset:48px;background:#fff;border-radius:50%}.pieWrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px}.greenDot{background:#16a34a}.goldDot{background:#d2a044}.redDot{background:#dc2626}.blueDot{background:#2563eb}.qrBox{width:170px;height:170px;border:2px dashed #0b1f3d;border-radius:12px;display:grid;place-items:center;text-align:center;background:#f8fafc;font-weight:800;margin:14px 0}.docPaper.portraitDoc{font-family:Arial, sans-serif!important;font-size:12pt!important;line-height:1.55!important;text-align:justify!important;max-width:794px!important;min-height:1123px!important;padding:2cm!important;margin:0 auto!important;background:#fff;color:#111}.docPaper.portraitDoc p{text-align:justify!important}.docHeader{display:flex!important;justify-content:flex-end!important;align-items:flex-start!important;margin-bottom:22px!important}.docLogoTop{width:130px!important;height:auto!important;object-fit:contain!important}.brandName,.brandSub{display:none!important}.docTitle{text-align:center!important;font-weight:800!important;font-size:14pt!important;margin:18px 0 26px!important}.docSign{border-top:1px solid #111;width:70%;margin:60px auto 0}.docSignName{text-align:center!important;margin-top:6px!important}.docLocal{text-align:left!important;margin-top:30px}.docBack{text-align:center;margin-top:25px}.documentPreview{background:#f0f2f5;padding:18px}.documentPreview .docPaper{box-shadow:0 8px 22px #0002}.bBlue{background:#dbeafe;color:#1d4ed8}@media(max-width:1200px){.reportsLayout{grid-template-columns:1fr}.shortMonths{grid-template-columns:1fr}.topbar .userNameBox b{max-width:100px}}@media print{@page{size:A4 portrait;margin:0}.docPaper.portraitDoc{box-shadow:none!important;border:0!important;margin:0!important;width:auto!important;max-width:none!important;min-height:auto!important;padding:2cm!important}.docBack,.noPrint{display:none!important}.documentPreview{padding:0!important;background:white!important}}

/* ===== V14 ajustes visuais solicitados ===== */
.topbar .userNameBox{min-width:185px;text-align:center;margin-left:-8px;}
.topbar .userNameBox b{font-size:14px!important;line-height:1.15!important;max-width:230px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:block;}
.topbar .userNameBox small{font-size:12.5px!important;color:#fff2c8!important;font-weight:700;display:block;text-align:center;margin-top:2px;}
.switchIconWrap{position:relative;width:42px;height:34px;display:grid;place-items:center;margin-left:2px;}
.switchGlyph{position:absolute;color:white;font-size:18px;pointer-events:none;opacity:.95;}
.userArrow{position:absolute;inset:0;width:42px!important;min-width:42px!important;max-width:42px!important;height:34px!important;opacity:.02;color:transparent;background:transparent!important;border:0!important;cursor:pointer;}
.userArrow option{color:#111!important;}
.successBtn{background:#00a63e!important;color:white!important;border:0!important;font-weight:800!important;box-shadow:0 3px 11px rgba(0,166,62,.35)!important;}
.dangerBtn{background:#e00000!important;color:white!important;border:0!important;font-weight:800!important;box-shadow:0 3px 11px rgba(224,0,0,.35)!important;}
.docPaper.portraitDoc{font-family:Arial, sans-serif!important;font-size:12pt!important;line-height:1.55!important;text-align:justify!important;max-width:794px!important;min-height:1123px!important;padding:2cm!important;margin:0 auto!important;background:#fff;color:#111;}
.docPaper.portraitDoc p{text-align:justify!important;}
.docPaper.portraitDoc h3{font-size:12pt!important;margin:18px 0 8px!important;text-align:left!important;}
.docHeader{display:flex!important;justify-content:flex-end!important;align-items:flex-start!important;margin-bottom:22px!important;}
.docLogoTop{width:158px!important;height:auto!important;object-fit:contain!important;}
.docTitle{text-align:center!important;font-weight:800!important;font-size:14pt!important;margin:18px 0 26px!important;}
.docSign{border-top:1px solid #111;width:70%;margin:60px auto 0;}
.docSignName{text-align:center!important;margin-top:6px!important;}
.docLocal{text-align:left!important;margin-top:30px;}
.contractSigns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:65px;page-break-inside:avoid;}
.contractSigns .docSign{width:88%;margin-top:0;}
.documentPreview .docBack{display:none!important;}
@media print{@page{size:A4 portrait;margin:0}.docPaper.portraitDoc{box-shadow:none!important;border:0!important;margin:0!important;width:auto!important;max-width:none!important;min-height:auto!important;padding:2cm!important}.documentPreview{padding:0!important;background:white!important}.noPrint,.docBack{display:none!important}}

/* V16: documentos verticais Arial 12, justificado, espaçamento 1.5 */
.docPaper.portraitDoc{font-family:Arial,sans-serif!important;font-size:12pt!important;line-height:1.5!important;text-align:justify!important;max-width:794px!important;min-height:1123px!important;padding:2cm!important;margin:0 auto!important;background:#fff;color:#111}
.docPaper.portraitDoc p{text-align:justify!important;line-height:1.5!important}.docPaper.portraitDoc h3{font-size:12pt!important;margin:18px 0 8px!important}.docHeader{justify-content:flex-end!important}.docLogoTop{width:150px!important;height:auto!important}.docTitle{text-align:center!important;font-family:Arial,sans-serif!important;font-size:14pt!important;font-weight:800!important}.docSign{width:70%!important;margin:60px auto 0!important}.docSignName{text-align:center!important;margin-top:6px!important}.contractSigns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.quick button{min-height:70px;padding:10px 6px}.quick .qico{font-size:22px}@media print{@page{size:A4 portrait;margin:0}.docPaper.portraitDoc{box-shadow:none!important;border:0!important;max-width:none!important;min-height:auto!important;padding:2cm!important}.documentPreview{padding:0!important;background:white!important}.noPrint,.docBack{display:none!important}}

/* ===== V17 visual refinements ===== */
.quick button{min-height:62px!important;padding:8px 5px!important;font-size:13px!important;line-height:1.15!important;overflow:hidden}.quick .qico{font-size:20px!important;margin-bottom:2px!important}.twoDash{grid-template-columns:1fr 1fr!important;margin-top:20px}.receivablesCards{grid-template-columns:repeat(4,minmax(0,1fr))!important}.receiptDoc hr{border:0;border-top:1px solid #111;margin:18px 0}.receiptDoc .docSign{margin-top:52px!important}.redText{color:#dc2626!important}@media(max-width:1200px){.twoDash,.receivablesCards{grid-template-columns:1fr!important}}

/* ===== V26 FINAL: somente ajustes pedidos, mantendo visual V17 ===== */
.v26NotifWrap{position:relative;display:inline-block}
.v26NotifBell{font-size:22px;cursor:pointer;position:relative}
.v26NotifCount{position:absolute;right:-10px;top:-10px;background:#dc2626;color:#fff;border-radius:50%;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}
.v26NotifPanel{display:none;position:absolute;right:0;top:34px;width:390px;background:white;color:#071832;border:1px solid var(--line);box-shadow:0 14px 35px #0004;border-radius:12px;padding:12px;z-index:9999}
.v26NotifPanel.open{display:block}
.v26NotifItem{border-bottom:1px solid #e5e7eb;padding:9px 0;font-size:13px}.v26NotifItem b{display:block}
.v26DetailGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.v26DetailBox{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px;line-height:1.5}.v26DetailBox b{display:block;color:#071832}.v26Full{grid-column:1/-1}
.v26Actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.v26PayFilters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}
.v26TotalBox{margin-left:auto;background:#071832;color:white;border-radius:12px;padding:10px 16px;min-width:220px;text-align:center;box-shadow:0 4px 12px #0002}.v26TotalBox b{display:block;color:#f4c968;font-size:20px}
.v26DictControls{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.v26SquareBtn{width:44px;height:44px;border-radius:10px;border:0;display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;background:#7c3aed;color:white;cursor:pointer}.v26SquareBtn.pause{background:#f59e0b}.v26SquareBtn.stop{background:#dc2626}
.v26PedidoGrid{display:grid!important;grid-template-columns:repeat(2,minmax(330px,1fr))!important;gap:10px 16px!important;align-items:stretch!important}.v26PedidoGrid label{display:grid!important;grid-template-columns:24px 1fr!important;align-items:start!important;gap:8px!important;border:1px solid var(--line)!important;background:#f8fafc!important;border-radius:8px!important;padding:10px!important;min-height:48px!important;line-height:1.25!important;margin:0!important}.v26PedidoGrid input{margin-top:2px!important}
.v26ExpenseCards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.v26ExpenseCard{border-radius:14px;padding:18px;background:#fff;border:1px solid var(--line);box-shadow:0 2px 10px #0001}.v26ExpenseCard b{font-size:26px;display:block;margin-top:8px}.v26ExpenseCard.open b{color:#dc2626}.v26ExpenseCard.paid b{color:#16a34a}
.v26DebtBox,.v26WhatsBox{border-radius:12px;padding:12px;margin-top:12px}.v26DebtBox{background:#fff7f7;border:1px solid #fecaca}.v26WhatsBox{background:#ecfdf5;border:1px solid #86efac}
.v26ConfigGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.v26ImportPreview{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:12px}.v26BirthdayMsg{width:100%;min-height:80px}
.docHeaderDual{display:flex!important;align-items:flex-start!important;justify-content:center!important;position:relative!important;min-height:100px!important;margin-bottom:22px!important}
.docLogoCenter{width:calc(360px + 3cm)!important;max-height:105px!important;object-fit:contain!important}.docLogoOldRight{position:absolute!important;right:0!important;top:0!important;width:calc(78px + 1cm)!important;height:calc(78px + 1cm)!important;object-fit:contain!important}
.docPaper,.docPaper.portraitDoc{font-family:Arial,sans-serif!important;font-size:12pt!important;line-height:1.5!important;text-align:justify!important;padding:2cm!important}.docPaper p,.docPaper.portraitDoc p{text-align:justify!important;line-height:1.5!important}.docTitle{text-align:center!important;font-family:Arial,sans-serif!important;font-weight:900!important}
.v26SignBlock{width:66%;margin:64px auto 0;text-align:center}.v26SignLine{border-top:1px solid #111;width:100%;height:1px;margin-bottom:10px}
@media(max-width:1000px){.v26DetailGrid,.v26PedidoGrid,.v26ExpenseCards,.v26ConfigGrid{grid-template-columns:1fr!important}.v26TotalBox{margin-left:0}}
@media print{.v26NoPrint,.noPrint{display:none!important}}

/* ===== V27: correção de proporção na impressão ===== */
@media print{
  @page{size:A4 portrait;margin:0}

  html,body{
    margin:0!important;
    padding:0!important;
    width:210mm!important;
    min-height:297mm!important;
    background:#fff!important;
  }

  .sidebar,.topbar,.pageNav,.footer,.actions,.noPrint,.v26NoPrint{
    display:none!important;
  }

  .layout,.main,.content{
    display:block!important;
    margin:0!important;
    padding:0!important;
    width:210mm!important;
    max-width:210mm!important;
    background:#fff!important;
  }

  .documentPreview,
  #docPreview{
    background:#fff!important;
    margin:0!important;
    padding:0!important;
    width:210mm!important;
    max-width:210mm!important;
    overflow:visible!important;
  }

  .docPaper,
  .docPaper.portraitDoc,
  .receiptDoc{
    width:210mm!important;
    max-width:210mm!important;
    min-height:297mm!important;
    margin:0 auto!important;
    padding:20mm!important;
    box-shadow:none!important;
    border:0!important;
    background:#fff!important;
    color:#111!important;
    font-family:Arial,sans-serif!important;
    font-size:12pt!important;
    line-height:1.5!important;
    text-align:justify!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    page-break-after:always!important;
    transform:none!important;
    zoom:1!important;
  }

  .docPaper:last-child{page-break-after:auto!important}

  .docHeaderDual{
    height:30mm!important;
    min-height:30mm!important;
    max-height:30mm!important;
    margin:0 0 9mm 0!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    position:relative!important;
    overflow:hidden!important;
  }

  .docLogoCenter{
    width:118mm!important;
    max-width:118mm!important;
    height:auto!important;
    max-height:28mm!important;
    object-fit:contain!important;
    transform:none!important;
  }

  .docLogoOldRight{
    position:absolute!important;
    right:0!important;
    top:0!important;
    width:22mm!important;
    height:22mm!important;
    max-width:22mm!important;
    max-height:22mm!important;
    object-fit:contain!important;
    transform:none!important;
  }

  .docTitle{
    text-align:center!important;
    font-size:14pt!important;
    line-height:1.25!important;
    font-weight:900!important;
    margin:8mm 0 8mm!important;
  }

  .docPaper p,
  .receiptDoc p,
  .portraitDoc p{
    font-size:12pt!important;
    line-height:1.5!important;
    text-align:justify!important;
    margin:0 0 5mm!important;
  }

  .v26SignBlock,.v24SignBlock,.v22SignBlock{
    width:70%!important;
    margin:16mm auto 0!important;
    text-align:center!important;
    page-break-inside:avoid!important;
  }

  .v26SignLine,.v24SignLine,.v22SignLine{
    border-top:1px solid #111!important;
    height:1px!important;
    margin-bottom:3mm!important;
  }
}

/* Ajuste também da pré-visualização na tela */
.documentPreview .docLogoCenter,
#docPreview .docLogoCenter{
  width:118mm!important;
  max-width:70%!important;
  max-height:28mm!important;
  object-fit:contain!important;
}

.documentPreview .docLogoOldRight,
#docPreview .docLogoOldRight{
  width:22mm!important;
  height:22mm!important;
  max-width:22mm!important;
  max-height:22mm!important;
  object-fit:contain!important;
}

/* V28 reset seguro */

/* V43 ajustes cadastro menor e topo */
.minorBox{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:8px}
.switchIconWrap{display:flex;align-items:center;gap:4px}
.switchGlyph{color:#f4c968;font-weight:900;font-size:18px}
.userArrow{min-width:34px!important;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.45)!important;background:rgba(255,255,255,.12)!important;color:#fff!important}
.userArrow option{color:#111}

/* V44 buscas com botão */
.actions input[id$="SearchBox"], #feeSearchBox{border:1px solid #cfd8e6;border-radius:9px;padding:10px;font-size:14px;background:#fff}

/* V45 */
.monthsGridSmall{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px}
.monthMini{border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:8px;display:flex;justify-content:space-between;align-items:center;min-height:38px}
.v45Chart{height:230px;display:flex;gap:24px;align-items:end;padding:20px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.v45Chart div{width:90px;background:#d2a044;border-radius:8px 8px 0 0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px}
.v45Chart span{font-size:11px;writing-mode:vertical-rl;transform:rotate(180deg);color:#071832;font-weight:bold}

/* V46 */
.v46MessageBox{margin-top:12px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px}
.v46MessageBox textarea{width:100%;min-height:95px;margin-top:8px}

/* V52 - complementos sem mudar visual base V46 */
.v52PieWrap{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.v52Pie{width:210px;height:210px;border-radius:50%;border:8px solid #fff;box-shadow:0 2px 12px #0002}
.v52Legend p{margin:8px 0;font-size:15px}
.dot{display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:8px;vertical-align:middle}
.dot.green{background:#16a34a}.dot.orange{background:#f59e0b}.dot.red{background:#dc2626}.dot.blue{background:#2563eb}
.v52Month{display:grid;gap:3px;align-items:start;min-height:86px}
.printTable{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:10pt}
.printTable th,.printTable td{border:1px solid #333;padding:5px;text-align:left}

/* V53 - atalhos rápidos coloridos */
.v53Quick{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:12px}
.v53Quick button{border:0;border-radius:16px;padding:14px 10px;color:white;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:94px;box-shadow:0 8px 18px rgba(0,0,0,.14);transition:.18s}
.v53Quick button:hover{transform:translateY(-2px);filter:brightness(1.05)}
.v53Quick .qico{font-size:31px;line-height:1}
.v53Quick b{font-size:13px}
.qClient{background:linear-gradient(135deg,#2563eb,#60a5fa)}
.qCase{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
.qReceipt{background:linear-gradient(135deg,#059669,#34d399)}
.qTask{background:linear-gradient(135deg,#ea580c,#fbbf24)}
.qDocs{background:linear-gradient(135deg,#0f766e,#2dd4bf)}
.qMoney{background:linear-gradient(135deg,#ca8a04,#facc15);color:#111!important}
@media(max-width:900px){.v53Quick{grid-template-columns:repeat(2,1fr)}}

/* V54 - atalhos quadrados e painel reorganizado */
.v54Quick{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;max-width:100%;overflow:hidden}
.v54Quick button{aspect-ratio:1/1!important;min-height:0!important;height:auto!important;width:100%!important;border-radius:14px!important;padding:8px 5px!important}
.v54Quick .qico{font-size:24px!important}
.v54Quick b{font-size:11px!important;line-height:1.12!important;text-align:center!important}
.v54DashGrid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}
.v54Recebimentos{grid-column:1/2}
.sideStack{grid-column:2/3;grid-row:1/span 2;display:grid;gap:16px}
.v54SmallCard{min-height:170px}
.v54DashGrid>.v54SmallCard{grid-column:auto}
@media(min-width:1150px){
  .v54DashGrid{grid-template-columns:repeat(3,minmax(0,1fr)) 310px}
  .v54Recebimentos{grid-column:1/4}
  .sideStack{grid-column:4/5;grid-row:1/span 3}
}
@media(max-width:900px){
  .v54DashGrid{grid-template-columns:1fr}
  .v54Recebimentos,.sideStack{grid-column:1;grid-row:auto}
  .v54Quick{grid-template-columns:repeat(3,1fr)!important}
}
.logoBox img{object-fit:contain!important}

/* V57 */
.tinyBtn{padding:3px 7px!important;font-size:11px!important;margin-left:6px}
.v57ReceiptsScroll{max-height:310px;overflow-y:auto}
.v57ContactGrid{grid-template-columns:minmax(180px,.65fr) minmax(230px,1fr) auto!important;align-items:end}
.v57SearchButtons{display:flex;gap:8px;align-items:end}
.archivedRow{background:#eef9ef!important;color:#475569}
.archivedRow td{opacity:.85}
@media(max-width:900px){.v57ContactGrid{grid-template-columns:1fr!important}.v57SearchButtons{align-items:stretch}}

/* V58 documentos */
.v58ActTitle{text-align:center!important;font-weight:bold!important;margin:22px 0 26px}
.v58ActTitle h2{display:block!important;text-align:center!important;font-weight:700!important;margin:0 0 8px!important;font-size:16pt!important}
.v58ActTitle p{text-align:center!important;font-weight:700!important;margin:0!important;line-height:1.5!important}
#docExtraFields.formGrid{grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}
@media(max-width:900px){#docExtraFields.formGrid{grid-template-columns:1fr}}

/* V59 */
.v59ChargeSearch{grid-template-columns:minmax(220px,.7fr) minmax(260px,1fr) auto!important;align-items:end}
.v59ChargeBtns{display:flex;gap:8px;align-items:end}
.v59ExpenseMonths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v59MonthBox{border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:12px;min-height:140px}
.v59MonthBox h3{margin:0 0 6px!important}
.v59MonthBox p{font-size:13px;margin:5px 0}
@media(max-width:900px){.v59ChargeSearch,.v59ExpenseMonths{grid-template-columns:1fr!important}.v59ChargeBtns{align-items:stretch}}

/* V60 */
.v60MiniMsg{min-width:300px;min-height:64px}
.v60RepBox{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px;line-height:1.5}

/* V61 */
#fiscalRepPreview{line-height:1.55}

/* V62 banco próprio independente - sem alterações visuais */

/* V63 correção de quota e compressão de fotos */

/* ETAPA 2 - documentos/modelos */
.contractDoc h3{font-size:12pt;margin-top:18px;text-align:left!important}
.contractDoc p{text-align:justify!important;line-height:1.55}
#docExtraFields.formGrid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}
@media(max-width:900px){#docExtraFields.formGrid{grid-template-columns:1fr}}

/* ETAPA 3 - centralização dos títulos dos atos */
.etapa3ActTitle{text-align:center!important;margin:20px 0 26px!important}
.etapa3ActTitle h2{display:block!important;text-align:center!important;font-weight:700!important;margin:0 0 8px!important;font-size:16pt!important}
.etapa3ActTitle p{text-align:center!important;font-weight:700!important;margin:2px 0!important;line-height:1.45!important}

/* ETAPA 4 - margens de impressão dos documentos */
@media print{
  @page{margin:2cm 1.5cm 2cm 1.5cm}
  .docPaper,.portraitDoc{box-shadow:none!important;margin:0 auto!important;padding:0!important;max-width:18cm!important}
  .v26SignBlock{break-inside:avoid;page-break-inside:avoid}
}

/* ETAPA 6 - gráfico colorido no relatório impresso */
.etapa6PieSvg *{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
@media print{.etapa6PieSvg *{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}}

/* ETAPA 8 - somente impressão */
@media print{
  @page{size:A4 portrait;margin:2cm 2cm 2cm 2cm}
  .etapa8ReportHeader{min-height:68px!important;margin-bottom:6px!important}
  .etapa8ReportHeader .rpCenterLogo{width:220px!important;max-width:42%!important;height:auto!important}
  .etapa8ReportHeader .rpSideLogo{width:62px!important;height:62px!important}
  .docLogoCenter{width:220px!important;max-width:45%!important;height:auto!important}
  .docLogoOldRight{width:58px!important;height:58px!important}
}

/* FINAL LIMPO - apenas impressão */
@media print{
  @page{size:A4 portrait;margin:2cm}

  .finalReportHeader{
    min-height:72px!important;
    margin-bottom:8px!important;
  }

  .finalReportHeader .rpCenterLogo{
    width:220px!important;
    max-width:42%!important;
    height:auto!important;
    object-fit:contain!important;
  }

  .finalReportHeader .rpSideLogo{
    width:58px!important;
    height:58px!important;
    object-fit:contain!important;
  }

  .docLogoCenter{
    width:300px!important;
    max-width:58%!important;
    height:auto!important;
  }

  .docLogoOldRight{
    width:82px!important;
    height:82px!important;
  }

  .finalPageBreak{
    break-before:page!important;
    page-break-before:always!important;
  }
}

/* FINAL LIMPO CORRIGIDO - impressão proporcional */
@media print{
  @page{size:A4 portrait;margin:2cm}
  .rpCenterLogo{width:170px!important;max-width:36%!important;height:auto!important}
  .rpSideLogo{width:46px!important;height:46px!important}
  .etapa6PieSvg{width:135px!important;height:135px!important}
}

/* CORREÇÃO FINAL REAL - impressão profissional do contrato */
@media print{
  @page{size:A4 portrait;margin:2cm}
  .docPaper,.portraitDoc,.contractDoc{
    box-shadow:none!important;
    border:0!important;
    margin:0!important;
    padding:0!important;
    max-width:none!important;
  }
  .docLogoCenter{width:260px!important;max-width:52%!important;height:auto!important;max-height:78px!important}
  .docLogoOldRight{width:68px!important;height:68px!important;object-fit:contain!important}
}

/* V64 inclusões pontuais */
.v60RepBox,.desc{color:#555}
#docExtraFields.formGrid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}
@media(max-width:900px){#docExtraFields.formGrid{grid-template-columns:1fr}}


/* ===== RESPONSIVO MULTIDISPOSITIVO: Desktop / iPad / iPhone ===== */
:root{
  --safe-top: env(safe-area-inset-top);
  --safe-bottom: env(safe-area-inset-bottom);
}

/* melhora uso em Safari/iOS */
html, body {
  -webkit-text-size-adjust: 100%;
  overscroll-behavior: none;
}

input, select, textarea, button {
  font-size: 16px; /* evita zoom automático no iPhone */
}

.tableWrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Botão hamburguer funcional no mobile */
.mobileMenuToggle{
  display:none;
}

/* iPad / tablets */
@media (max-width: 1180px){
  .layout{
    grid-template-columns: 230px minmax(0,1fr) !important;
  }
  .sidebar{
    width:230px !important;
  }
  .main{
    min-width:0 !important;
  }
  .cards,
  .reportGrid,
  .compactReports{
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  .grid,
  .formGrid,
  .clientForm,
  .v26DetailGrid{
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  .panel{
    padding:16px !important;
  }
  .docPaper,
  .portraitDoc,
  .documentPreview{
    max-width:100% !important;
  }
}

/* iPhone / telas pequenas */
@media (max-width: 760px){
  body{
    margin:0 !important;
    padding:0 !important;
    background:#f6f7fb !important;
  }

  .layout{
    display:block !important;
  }

  .sidebar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    width:82vw !important;
    max-width:320px !important;
    z-index:9999 !important;
    transform:translateX(-105%) !important;
    transition:transform .25s ease !important;
    overflow-y:auto !important;
    padding-top:calc(12px + var(--safe-top)) !important;
    box-shadow:0 20px 50px rgba(0,0,0,.35) !important;
  }

  body.mobile-menu-open .sidebar{
    transform:translateX(0) !important;
  }

  body.mobile-menu-open::after{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.35);
    z-index:9998;
  }

  .main{
    width:100% !important;
    margin:0 !important;
    padding:0 10px calc(20px + var(--safe-bottom)) 10px !important;
    min-width:0 !important;
  }

  .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:9990 !important;
    padding:calc(8px + var(--safe-top)) 10px 8px 10px !important;
    border-radius:0 0 14px 14px !important;
  }

  .hamb,
  .mobileMenuToggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    border-radius:12px !important;
    background:#0b1d3a !important;
    color:#fff !important;
    font-size:22px !important;
    cursor:pointer !important;
  }

  .title h1{
    font-size:15px !important;
    line-height:1.15 !important;
  }
  .title span{
    font-size:12px !important;
  }

  .topIcons{
    gap:6px !important;
  }
  .user div,
  .userSwitch{
    display:none !important;
  }

  .cards,
  .reportGrid,
  .compactReports,
  .grid,
  .formGrid,
  .clientForm,
  .v26DetailGrid,
  .v59ExpenseMonths{
    grid-template-columns:1fr !important;
  }

  .sectionHeader{
    display:block !important;
  }
  .sectionHeader h2{
    font-size:20px !important;
    margin-bottom:10px !important;
  }

  .panel,
  .metric,
  .reportCard,
  .card{
    border-radius:14px !important;
    padding:12px !important;
    margin-bottom:10px !important;
  }

  .actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }

  .actions button,
  button,
  .ghostBtn,
  .goldBtn,
  .dangerBtn,
  .successBtn,
  .blueBtn{
    min-height:42px !important;
    border-radius:12px !important;
    white-space:normal !important;
  }

  input, select, textarea{
    width:100% !important;
    box-sizing:border-box !important;
    min-height:42px !important;
  }

  textarea{
    min-height:90px !important;
  }

  table{
    min-width:760px !important;
    font-size:13px !important;
  }

  .tableWrap{
    margin-left:-4px !important;
    margin-right:-4px !important;
    border-radius:12px !important;
  }

  .docPaper,
  .portraitDoc{
    padding:14px !important;
    width:100% !important;
    min-height:auto !important;
    font-size:14px !important;
  }

  .docLogoCenter{
    max-width:70% !important;
    height:auto !important;
  }
  .docLogoOldRight{
    width:48px !important;
    height:48px !important;
  }

  .officeCard{
    font-size:12px !important;
  }
}

/* iPhone bem pequeno */
@media (max-width: 430px){
  .main{
    padding-left:8px !important;
    padding-right:8px !important;
  }
  .metric .num,
  .big{
    font-size:20px !important;
  }
  .panel h2,
  .sectionHeader h2{
    font-size:18px !important;
  }
  .navBtn{
    min-height:46px !important;
  }
}

/* Desktop mantém aparência original */
@media (min-width: 1181px){
  .sidebar{
    transform:none !important;
  }
}

/* Ajuste solicitado: contratos com margem de impressão de 2cm e texto justificado */
@media print{
  @page{size:A4 portrait;margin:2cm 2cm!important;}
  .docPaper.portraitDoc{padding:0!important;margin:0!important;box-shadow:none!important;border:0!important;max-width:none!important;}
  .docPaper.portraitDoc p{text-align:justify;}
  .docTitle{text-align:center!important;}
}
