:root{
  --navy:#253a5b;--navy-2:#1d304e;--red:#e24436;--bg:#f4f6f9;--surface:#fff;--line:#dfe4ea;--text:#202938;--muted:#667085;
  --green:#15945c;--amber:#b7791f;--danger:#c93b32;--blue:#2f6fb4;--shadow:0 4px 18px rgba(28,45,74,.08);--radius:12px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:258px;background:#fff;border-right:1px solid var(--line);position:fixed;left:0;top:0;bottom:0;overflow-y:auto;z-index:50}.brand{height:74px;background:var(--navy);display:flex;align-items:center;padding:16px 22px}.brand img{width:188px;max-height:46px;object-fit:contain}.company-chip{margin:14px;padding:13px 15px;background:#f7f9fc;border:1px solid var(--line);border-radius:10px}.company-chip strong{display:block;font-size:14px}.company-chip small{display:block;color:var(--muted);margin-top:4px}.nav-menu{padding-bottom:28px}.nav-item{display:flex;align-items:center;gap:11px;padding:12px 17px;border-left:4px solid transparent;color:#4c5668;font-size:14px}.nav-item:hover{background:#f6f8fb;color:var(--navy)}.nav-item.active{background:#eef2f7;color:var(--navy);border-left-color:var(--red);font-weight:700}.nav-icon{width:24px;text-align:center;font-weight:700}.count{margin-left:auto;background:var(--red);color:#fff;border-radius:999px;min-width:22px;padding:2px 7px;text-align:center;font-size:11px}.nav-section{padding:18px 20px 8px;color:#98a2b3;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.main{margin-left:258px;min-width:0;flex:1}.topbar{height:64px;background:var(--navy);display:flex;align-items:center;padding:0 24px;gap:18px;color:#fff;position:sticky;top:0;z-index:40}.global-search{flex:1;max-width:680px}.global-search input{width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);color:#fff;border-radius:8px;padding:10px 13px;outline:none}.global-search input::placeholder{color:#d3d9e3}.top-actions{margin-left:auto;display:flex;align-items:center;gap:15px;font-size:13px}.top-link,.bell,.logout{opacity:.9}.bell{position:relative}.bell b{position:absolute;top:-9px;right:-10px;background:var(--red);border-radius:999px;color:#fff;font-size:10px;min-width:18px;text-align:center;padding:2px 5px}.user-menu{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.2);padding-left:15px}.user-menu small{color:#d7deea}.content{padding:24px;max-width:1700px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h1{font-size:26px;margin:0 0 4px}.page-head p{margin:0;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:8px}.btn{border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.btn-primary{background:var(--navy);color:#fff}.btn-red{background:var(--red);color:#fff}.btn-success{background:var(--green);color:#fff}.btn-light{background:#fff;border:1px solid var(--line);color:var(--text)}.btn-warning{background:#fff4df;color:#7a4c00;border:1px solid #f0d8aa}.btn-danger{background:#fff0ee;color:#9a291f;border:1px solid #efc0bb}.btn-sm{padding:7px 10px;font-size:12px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:18px}.card h2,.card h3{margin-top:0}.metric{padding:18px;position:relative;overflow:hidden;min-height:132px}.metric .label{font-size:13px;color:var(--muted);font-weight:700}.metric .value{font-size:29px;font-weight:800;margin-top:15px}.metric .sub{font-size:12px;color:var(--muted);margin-top:8px}.metric.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.metric.primary .label,.metric.primary .sub{color:#d7deea}.metric.red-accent{border-top:4px solid var(--red)}.metric.green-accent{border-top:4px solid var(--green)}.metric.blue-accent{border-top:4px solid var(--blue)}.metric.amber-accent{border-top:4px solid #d99b28}.metric .corner{position:absolute;right:13px;bottom:6px;font-size:50px;opacity:.07;font-weight:900}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-title h2{font-size:18px;margin:0}.panel-title small{color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{background:#f7f8fa;color:#475467;font-size:12px;text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:12px;border-bottom:1px solid #edf0f3;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fbfcfd}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;background:#eef1f5;color:#4d5665}.badge.success{background:#e8f7ef;color:#137048}.badge.warning{background:#fff5df;color:#8b5b00}.badge.danger{background:#fdeceb;color:#9c2f28}.badge.neutral{background:#eef1f5;color:#536071}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}.filters input,.filters select{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 10px;min-width:150px}.form-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1/-1}.form-group label{font-size:12px;font-weight:800;color:#475467}.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid #cfd6df;border-radius:8px;padding:10px;background:#fff}.form-group textarea{min-height:105px;resize:vertical}.help{font-size:12px;color:var(--muted)}.flash{padding:12px 14px;border-radius:8px;margin-bottom:15px;background:#eef2f7}.flash.success{background:#e9f8ef;color:#176b45}.flash.error{background:#fdeceb;color:#992c24}.flash.warning{background:#fff4df;color:#825300}.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:14px;align-items:flex-start}.kanban-col{min-width:310px;width:310px;background:#eef1f4;border:1px solid #dde2e8;border-radius:11px;min-height:520px}.kanban-head{padding:13px 14px;border-bottom:1px solid #d8dde5;background:#f5f7f9;border-radius:11px 11px 0 0;position:sticky;top:0}.kanban-head strong{display:block}.kanban-head small{color:var(--muted)}.kanban-body{padding:11px;min-height:450px}.project-card{background:#fff;border:1px solid #dfe4ea;border-top:4px solid var(--navy);border-radius:8px;padding:13px;margin-bottom:10px;box-shadow:0 2px 8px rgba(25,39,65,.06);cursor:grab}.project-card.dragging{opacity:.45}.project-card h4{margin:0 0 8px;font-size:14px}.project-card .meta{font-size:12px;color:var(--muted);display:grid;gap:4px}.project-card .project-value{margin-top:10px;font-size:13px;font-weight:800;color:var(--green)}.progress{height:6px;background:#e8edf2;border-radius:99px;overflow:hidden;margin-top:9px}.progress>span{display:block;height:100%;background:var(--navy)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow:auto}.tab{padding:10px 12px;font-size:13px;color:var(--muted);white-space:nowrap}.tab.active{color:var(--navy);font-weight:800;border-bottom:3px solid var(--red)}.timeline{display:grid;gap:11px}.timeline-item{border-left:3px solid #d9dfe7;padding:2px 0 2px 14px}.timeline-item strong{font-size:13px}.timeline-item small{display:block;color:var(--muted);margin-top:3px}.chat-box{height:410px;overflow-y:auto;background:#f7f8fa;border:1px solid var(--line);border-radius:10px;padding:14px}.message{max-width:82%;background:#fff;border:1px solid #e0e4ea;border-radius:10px;padding:9px 11px;margin-bottom:9px}.message.mine{margin-left:auto;background:#eef3fa;border-color:#d6e0ed}.message .who{font-size:11px;font-weight:800;color:var(--navy);margin-bottom:4px}.message .when{font-size:10px;color:#98a2b3;margin-top:5px}.chat-compose{display:flex;gap:8px;margin-top:9px}.chat-compose textarea{flex:1;min-height:62px;border:1px solid var(--line);border-radius:8px;padding:9px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);background:#fff}.cal-head,.cal-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px}.cal-head{text-align:center;background:#f7f8fa;font-weight:800;font-size:12px}.cal-day{min-height:112px;position:relative}.cal-day.muted{background:#fafafa;color:#b2bac6}.cal-num{font-size:12px;font-weight:700}.cal-event{display:block;margin-top:5px;background:#eaf0f8;border-left:3px solid var(--navy);padding:4px 5px;border-radius:4px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.external{background:#f3f3f3;border-color:#9aa4b2}.notification-list{display:grid;gap:8px}.notification{background:#fff;border:1px solid var(--line);border-radius:9px;padding:13px}.notification.unread{border-left:4px solid var(--red)}.doc-preview{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);max-width:900px;margin:auto}.document-sheet{background:#fff;color:#202938;width:794px;min-height:1123px;padding:78px 64px 112px;position:relative;font:13px Arial,sans-serif}.document-sheet .doc-head{position:absolute;top:28px;left:64px;right:64px;height:44px;border-bottom:2px solid var(--navy);display:flex;align-items:center;justify-content:space-between}.document-sheet .doc-head img{height:34px;max-width:230px;object-fit:contain}.document-sheet .doc-head .company-info{text-align:right;font-size:9px;color:#5e6876}.document-sheet .doc-title{text-align:center;margin:26px 0 25px}.document-sheet .doc-title h1{font-size:18px;color:var(--navy);margin:0}.document-sheet .doc-title .number{font-size:11px;color:#697386;margin-top:5px}.document-sheet table{width:100%;border-collapse:collapse}.document-sheet th,.document-sheet td{border:1px solid #cdd4dd;padding:7px}.document-sheet th{background:#f0f3f7;color:var(--navy);font-size:11px}.document-sheet .doc-foot{position:absolute;left:64px;right:64px;bottom:24px;border-top:1px solid #cfd5dd;padding-top:8px;display:flex;gap:14px;align-items:center;color:#697386;font-size:8.5px}.document-sheet .qr{width:64px;height:64px}.document-sheet .qr img,.document-sheet .qr canvas{width:64px!important;height:64px!important}.doc-section{margin-bottom:18px}.doc-section h2{font-size:12px;color:var(--navy);border-bottom:1px solid #dfe4ea;padding-bottom:5px;text-transform:uppercase}.doc-total{font-size:18px;font-weight:800;color:var(--navy);text-align:right;padding:14px 0}.budget-items .row{display:grid;grid-template-columns:1fr 90px 100px 120px 42px;gap:8px;margin-bottom:7px}.budget-items input{border:1px solid #cfd6df;border-radius:7px;padding:9px;width:100%}.account-bars{display:grid;gap:9px}.account-row{display:grid;grid-template-columns:190px 1fr 130px;gap:10px;align-items:center;font-size:12px}.bar{height:10px;background:#edf0f4;border-radius:99px;overflow:hidden}.bar span{height:100%;display:block;background:var(--navy)}.login-page{min-height:100vh;background:var(--navy);display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:16px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.login-card .login-logo{background:var(--navy);margin:-34px -34px 28px;padding:22px 34px;border-radius:16px 16px 0 0}.login-card .login-logo img{width:260px;max-width:100%;display:block}.login-card h1{font-size:22px;margin-bottom:5px}.login-card p{color:var(--muted);margin-top:0}.mobile-only{display:none}.icon-btn{border:0;background:transparent;color:#fff;font-size:21px}.empty{text-align:center;color:var(--muted);padding:35px}.kpi-row{display:flex;align-items:flex-end;gap:8px}.kpi-row .big{font-size:28px;font-weight:800}.kpi-row .small{font-size:12px;color:var(--muted);padding-bottom:4px}.whatsapp-layout{display:grid;grid-template-columns:330px 1fr;min-height:620px}.wa-list{border-right:1px solid var(--line);background:#fff}.wa-item{display:block;padding:13px;border-bottom:1px solid #edf0f3}.wa-item.active{background:#eef3f8}.wa-item strong{display:block;font-size:13px}.wa-item small{color:var(--muted)}.wa-pane{display:flex;flex-direction:column;background:#f4f6f8}.wa-header{padding:14px 16px;background:#fff;border-bottom:1px solid var(--line)}.wa-messages{flex:1;padding:16px;overflow:auto}.wa-message{max-width:75%;padding:9px 11px;border-radius:9px;background:#fff;margin-bottom:8px;border:1px solid #e0e4e9}.wa-message.out{margin-left:auto;background:#e7f5ed}.wa-message.internal{margin-left:auto;margin-right:auto;background:#fff6df;border-color:#ecd8a8;color:#6d4a00}.wa-compose{background:#fff;border-top:1px solid var(--line);padding:12px;display:flex;gap:8px}.wa-compose textarea{flex:1;min-height:58px;border:1px solid var(--line);border-radius:8px;padding:9px}.search-results{display:grid;gap:10px}.search-result{background:#fff;border:1px solid var(--line);border-radius:9px;padding:13px}.search-result small{color:var(--muted)}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.mobile-only{display:inline-block}.global-search{display:none}.topbar{padding:0 13px}.top-actions .top-link,.top-actions .user-menu{display:none}.content{padding:15px}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.whatsapp-layout{grid-template-columns:1fr}.wa-list{max-height:240px;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.document-sheet{width:100%;min-height:auto;padding:70px 30px 105px}.document-sheet .doc-head{left:30px;right:30px}.document-sheet .doc-foot{left:30px;right:30px}.budget-items .row{grid-template-columns:1fr 75px 90px 100px 38px}.account-row{grid-template-columns:1fr}.calendar{min-width:760px}.calendar-wrap{overflow:auto}}
@media print{body{background:#fff}.no-print{display:none!important}.doc-preview{border:0;box-shadow:none}.document-sheet{margin:0}}

.period-control{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;height:38px}.period-control input{border:0;padding:7px 8px;color:var(--navy);font-weight:750;background:#fff;outline:0}.period-arrow{width:34px;height:38px;display:grid;place-items:center;font-size:24px;color:var(--navy);background:#f7f8fa}.period-arrow:hover{background:#edf1f5}.text-link{font-size:11px;color:var(--navy);font-weight:750;text-decoration:underline}.text-link:hover{color:var(--red)}

.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);border-radius:9px;overflow:hidden}.mini-cal-head{padding:7px 4px;background:#f7f8fa;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;font-size:10px;font-weight:800;color:#5f6b7a}.mini-cal-day{min-height:58px;padding:5px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text);background:#fff;overflow:hidden}.mini-cal-day.muted{background:#fafafa;color:#b7bec8}.mini-cal-day.today{box-shadow:inset 0 0 0 2px var(--navy)}.mini-cal-day>span{font-size:11px;font-weight:800}.mini-cal-day>b{position:absolute;right:4px;top:4px;min-width:16px;height:16px;border-radius:999px;background:var(--red);color:#fff;font-size:9px;display:grid;place-items:center}.mini-cal-day>small{display:block;margin-top:5px;font-size:8px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* MASTER OPERAÇÃO 2.0 */
.sidebar{width:286px}.main{margin-left:286px}.brand{height:78px;padding:15px 20px}.brand img{width:205px;max-height:50px}.company-chip{margin:15px 14px;padding:15px 16px}.company-chip strong{font-size:16px}.company-chip small{font-size:12px}.nav-item{gap:13px;padding:14px 18px;font-size:16px;line-height:1.2}.nav-icon{width:26px;font-size:16px}.nav-section{padding:20px 20px 9px;font-size:12px;letter-spacing:.07em}.nav-sub{padding-left:31px;font-size:15px}.topbar{height:68px}.top-actions{font-size:14px}.global-search input{font-size:15px;padding:11px 14px}.content{padding:26px;max-width:1760px}.page-head h1{font-size:28px}.page-head p{font-size:14px}.table th{font-size:13px;padding:12px 13px}.table td{font-size:14px;padding:13px}.badge{font-size:12px;padding:5px 10px}.form-group label{font-size:13px}.help{font-size:13px}.tab{font-size:14px;padding:11px 14px}.project-card h4{font-size:15px}.project-card .meta{font-size:13px}.panel-title h2{font-size:19px}.metric .label{font-size:14px}.metric .sub{font-size:13px}

.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.report-card{position:relative;overflow:hidden;min-height:142px;padding:20px;border-radius:12px;color:#fff;box-shadow:var(--shadow)}.report-card h3{font-size:21px;margin:0 0 8px}.report-card p{margin:0;line-height:1.4;max-width:82%;font-size:13px;opacity:.95}.report-card .report-icon{position:absolute;right:18px;bottom:8px;font-size:62px;opacity:.13;font-weight:900}.report-card .report-link{position:absolute;left:20px;bottom:14px;font-size:12px;font-weight:800}.report-blue{background:#247bb7}.report-green{background:#0aa866}.report-orange{background:#ef9417}.report-red{background:#ef6552}.report-navy{background:#132638}.report-purple{background:#9130b3}.report-wine{background:#8d144d}.report-cyan{background:#11afd4}.report-section-title{font-size:20px;margin:25px 0 12px;color:var(--navy)}

.lookup-row{display:flex;gap:8px;align-items:flex-end}.lookup-row>div{flex:1}.lookup-status{font-size:12px;margin-top:5px;color:var(--muted)}.image-upload-preview{border:1px dashed #b8c2cf;border-radius:10px;background:#fafbfc;padding:12px;display:grid;gap:10px}.image-upload-preview img{width:100%;aspect-ratio:10.5/1;object-fit:contain;background:white;border:1px solid var(--line)}.dimension-note{font-size:12px;color:var(--muted)}

.stage-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}.stage-summary .mini{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px}.stage-summary .mini strong{display:block;font-size:19px;color:var(--navy)}.stage-summary .mini small{font-size:11px;color:var(--muted)}.stage-macro{font-size:11px;text-transform:uppercase;color:#768195;font-weight:800;letter-spacing:.04em}.stage-row-current td{background:#f2f6fb!important}.stage-note{max-width:320px;white-space:normal}.template-stage-row{display:grid;grid-template-columns:55px minmax(220px,1.5fr) minmax(150px,1fr) 90px 90px 90px 90px 42px;gap:7px;align-items:center;margin-bottom:8px}.template-stage-row input,.template-stage-row select{width:100%;border:1px solid #cfd6df;border-radius:7px;padding:8px}.template-stage-row .check{display:flex;align-items:center;justify-content:center}.template-stage-head{font-size:11px;font-weight:800;color:var(--muted);margin-bottom:7px}.template-stage-head>span{text-align:center}.template-stage-head>span:nth-child(2),.template-stage-head>span:nth-child(3){text-align:left}

.document-sheet{width:210mm;min-height:297mm;padding:31mm 15mm 39mm;position:relative;font:10.5pt Arial,sans-serif}.document-sheet .doc-head{position:absolute;top:0;left:0;right:0;width:210mm;height:20mm;border:0;display:block}.document-sheet .doc-head .institutional-banner{display:block;width:210mm;height:20mm;object-fit:fill;background:#fff}.document-sheet .doc-head.fallback{left:15mm;right:15mm;width:auto;top:7mm;height:14mm;border-bottom:1px solid var(--navy);display:flex}.document-sheet .doc-head.fallback img{height:11mm;max-width:70mm}.document-sheet .doc-title{margin:2mm 0 7mm}.document-sheet .doc-foot-image{position:absolute;left:0;right:0;bottom:0;width:210mm;height:20mm}.document-sheet .doc-foot-image img{width:210mm;height:20mm;object-fit:fill;background:#fff}.document-sheet .doc-validation{position:absolute;left:15mm;right:15mm;bottom:21mm;min-height:15mm;border-top:1px solid #cfd5dd;padding-top:2mm;display:flex;gap:4mm;align-items:center;color:#697386;font-size:7.5pt}.document-sheet .doc-validation .qr{width:13mm;height:13mm}.document-sheet .doc-validation .qr img,.document-sheet .doc-validation .qr canvas{width:13mm!important;height:13mm!important}.document-sheet .doc-foot.fallback{left:15mm;right:15mm;bottom:5mm}.document-sheet th,.document-sheet td{padding:2mm}.document-sheet .doc-section{margin-bottom:5mm}.document-sheet .doc-section h2{font-size:9.5pt}.document-sheet .doc-title h1{font-size:14pt}.doc-preview{max-width:980px}

@media(max-width:1100px){.report-grid{grid-template-columns:repeat(2,1fr)}.stage-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.sidebar{width:286px}.main{margin-left:0}.report-grid{grid-template-columns:1fr}.template-stage-row{grid-template-columns:1fr}.template-stage-head{display:none}.document-sheet{width:100%;min-height:auto;padding:90px 30px 150px}.document-sheet .doc-head,.document-sheet .doc-head .institutional-banner,.document-sheet .doc-foot-image,.document-sheet .doc-foot-image img{width:100%}.document-sheet .doc-validation{left:30px;right:30px;bottom:85px}}
.finance-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.finance-status{border:1px solid var(--line);border-top:4px solid #7d8793;border-radius:9px;padding:12px;background:#fff}.finance-status small{display:block;color:var(--muted);font-size:12px;font-weight:800}.finance-status strong{display:block;font-size:18px;margin-top:8px}.finance-status.danger{border-top-color:#d93c47}.finance-status.warning{border-top-color:#ef9a1b}.finance-status.success{border-top-color:#20a84b}.finance-status.neutral{border-top-color:#7d8793}@media(max-width:1100px){.finance-status-grid{grid-template-columns:repeat(2,1fr)}}
.template-stage-row{grid-template-columns:48px minmax(230px,1.5fr) minmax(170px,1fr) 72px 78px 78px 78px 88px 100px 82px 42px}.template-stage-row select{font-size:12px}.template-stage-head>span{font-size:10px}.nav-item{font-size:17px}.nav-sub{font-size:16px}.company-chip strong{font-size:17px}

/* MASTER OPERAÇÃO 3.0 */
.process-status-strip{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:9px;margin:0 0 16px}.process-status-strip>a{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 12px;box-shadow:0 2px 7px rgba(18,38,56,.04);text-decoration:none;color:inherit}.process-status-strip>a:hover{border-color:#9eacbd;background:#f9fbfd}.process-status-strip small{display:block;color:var(--muted);font-size:11px;font-weight:800}.process-status-strip strong{display:block;color:var(--navy);font-size:21px;margin-top:4px}.process-tabs{overflow-x:auto;white-space:nowrap}.process-flow-step{display:flex;gap:12px;align-items:flex-start;position:relative;padding:0 0 20px}.process-flow-step>span{width:13px;height:13px;border-radius:50%;background:#d1d7df;margin-top:3px;position:relative;z-index:2;flex:0 0 auto}.process-flow-step:not(:last-child)>span:after{content:"";position:absolute;left:5px;top:13px;width:3px;height:29px;background:#dfe4ea}.process-flow-step.done>span{background:#17a05e}.process-flow-step.current>span{background:var(--red);box-shadow:0 0 0 4px rgba(232,61,52,.12)}.process-flow-step div{display:grid}.process-flow-step strong{font-size:14px}.process-flow-step small{color:var(--muted);font-size:11px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-grid>div{padding:11px;border:1px solid var(--line);border-radius:8px;background:#fafbfd}.detail-grid .full{grid-column:1/-1}.detail-grid small{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:3px}.detail-grid strong{font-size:14px;line-height:1.4}.mini-stat{background:#fff;border:1px solid var(--line);border-radius:9px;padding:13px}.mini-stat small{display:block;color:var(--muted);font-weight:800;font-size:11px}.mini-stat strong{display:block;color:var(--navy);font-size:19px;margin-top:5px}.cost-table-head,.cost-row{display:grid;grid-template-columns:190px 180px minmax(250px,1fr) 75px 75px 120px 42px;gap:7px;align-items:center}.cost-table-head{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:900;margin:11px 0 6px;padding:0 5px}.cost-row{margin-bottom:7px}.cost-row input,.cost-row select{width:100%;border:1px solid #cfd6df;border-radius:7px;padding:9px;background:#fff}.efficiency-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}.efficiency-summary>div{border:1px solid var(--line);border-radius:9px;padding:12px;background:#fafbfd}.efficiency-summary small{display:block;color:var(--muted);font-size:11px;font-weight:800}.efficiency-summary strong{display:block;font-size:18px;color:var(--navy);margin-top:5px}.text-success{color:#168653!important;font-weight:800}.text-danger{color:#c83d45!important;font-weight:800}.row-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.action-square{min-width:34px;height:32px;padding:0 7px;border:1px solid #ccd3dc;background:#fff;color:var(--navy);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;text-decoration:none;cursor:pointer}.action-square:hover{background:#eef3f8}.action-square.success{background:#e8f6ee;border-color:#aad7bc;color:#137f4c}.soft{border:0;border-top:1px solid var(--line);margin:20px 0}.status-form label{display:block;font-weight:800;font-size:12px;margin-bottom:6px}.check-line{display:flex;gap:7px;align-items:center;font-size:13px}.budget-row{display:grid;grid-template-columns:210px minmax(260px,1fr) 85px 100px 120px 42px;gap:8px;margin-bottom:8px}
@media(max-width:1300px){.process-status-strip{grid-template-columns:repeat(5,1fr)}.cost-table-head{display:none}.cost-row{grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);padding:10px;border-radius:9px}.cost-row input:nth-of-type(1){grid-column:1/-1}.efficiency-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.process-status-strip,.efficiency-summary,.detail-grid{grid-template-columns:1fr}.detail-grid .full{grid-column:auto}.cost-row{grid-template-columns:1fr}.budget-row{grid-template-columns:1fr}.row-actions{min-width:220px}}

/* Assinaturas */
.signature-contact-list{display:grid;gap:7px;max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px}.check-card{display:flex;gap:9px;align-items:flex-start;padding:9px;border:1px solid #e3e7ed;border-radius:7px;background:#fafbfd;cursor:pointer}.check-card span{display:grid}.check-card small{color:var(--muted);margin-top:2px}.signature-position-toolbar{position:sticky;top:78px;z-index:10;margin-bottom:14px}.signature-pdf-viewer{display:grid;gap:18px;justify-items:center}.signature-pdf-page{position:relative;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.18);max-width:100%;overflow:hidden}.signature-pdf-page canvas{display:block;width:100%;height:100%}.sig-placeholder{position:absolute;border:2px dashed var(--navy);background:rgba(37,58,91,.08);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;cursor:move;user-select:none;touch-action:none}.sig-placeholder.rubric{border-color:var(--red);background:rgba(226,68,54,.08);color:#a6332a}.sig-remove{position:absolute;right:-9px;top:-9px;width:20px;height:20px;border:0;border-radius:50%;background:var(--danger);color:#fff;cursor:pointer;line-height:18px;padding:0}.badge.signed{background:#e8f7ef;color:#176b45}

/* Legibilidade operacional 3.0 */
.sidebar{width:272px}
.main{margin-left:272px}
.company-chip{padding:15px 16px;margin:15px}
.company-chip strong{font-size:15.5px;line-height:1.25}
.company-chip small{font-size:12.5px;line-height:1.3}
.nav-section{font-size:12px;padding:20px 20px 9px;letter-spacing:.075em}
.nav-item{font-size:15.5px;line-height:1.2;padding:13px 18px;gap:12px;min-height:47px}
.nav-icon{width:25px;font-size:15px}
.nav-item.nav-sub{padding-left:22px}
.count{font-size:11.5px}
@media(max-width:820px){.sidebar{width:286px}.main{margin-left:0}}


/* PDF institucional 3.0: padrão definitivo 5x2 cm + 20x2 cm */
.document-sheet{box-sizing:border-box!important;width:210mm!important;padding:5mm!important;background:#fff!important;}
.document-sheet .doc-head{height:20mm!important;margin:0 0 2.5mm 0!important;padding:0!important;display:flex!important;justify-content:flex-start!important;align-items:flex-start!important;}
.document-sheet .doc-head .institutional-banner,.document-sheet .doc-head.fallback img{width:50mm!important;height:20mm!important;max-width:50mm!important;object-fit:contain!important;object-position:left top!important;}
.document-sheet .doc-title,.document-sheet .doc-section{margin-left:3mm!important;margin-right:3mm!important;}
.document-sheet .doc-validation{position:relative!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;width:auto!important;height:auto!important;min-height:10mm!important;margin:4mm 3mm 1.5mm!important;padding:1.5mm 2mm!important;border:1px solid #d6dce5!important;border-radius:1.5mm!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:2mm!important;writing-mode:horizontal-tb!important;transform:none!important;overflow:visible!important;background:#fafbfd!important;}
.document-sheet .doc-validation .qr{width:16mm!important;height:16mm!important;min-width:16mm!important;min-height:16mm!important;flex:0 0 16mm!important;}
.document-sheet .doc-validation .qr img,.document-sheet .doc-validation .qr canvas{width:16mm!important;height:16mm!important;}
.document-sheet .doc-validation-text{font-size:6.8pt!important;line-height:1.25!important;white-space:normal!important;max-height:none!important;writing-mode:horizontal-tb!important;transform:none!important;}
.document-sheet .doc-foot-image{box-sizing:border-box!important;width:200mm!important;height:20mm!important;margin:2mm 0 0 0!important;overflow:hidden!important;break-inside:avoid!important;page-break-inside:avoid!important;}
.document-sheet .doc-foot-image img{display:block!important;width:200mm!important;height:20mm!important;object-fit:contain!important;object-position:left bottom!important;}
.image-upload-preview img{width:auto!important;max-width:100%!important;max-height:110px!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:left center!important;}
@media(max-width:820px){.document-sheet .doc-foot-image{width:100%!important;height:auto!important;margin:16px 0 0!important}.document-sheet .doc-foot-image img{width:100%!important;height:auto!important;aspect-ratio:10/1!important}.document-sheet .doc-validation{display:flex!important}}

/* MASTER OPERAÇÃO 3.1 ------------------------------------------------------- */
.analysis-dashboard{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;margin-top:16px}.analysis-panel{border:1px solid var(--line);border-radius:11px;background:#fff;padding:16px}.analysis-panel h3{margin:0 0 12px;font-size:15px;color:var(--navy)}.analysis-bar-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(140px,2fr) 105px 55px;gap:10px;align-items:center;margin:10px 0;font-size:12px}.analysis-bar-row>span{font-weight:700}.analysis-bar-row>strong{text-align:right;color:var(--navy)}.analysis-bar-row>small{text-align:right;color:var(--muted)}.analysis-track{height:11px;border-radius:99px;background:#edf0f4;overflow:hidden}.analysis-track i{display:block;height:100%;border-radius:99px}.cost-donut-wrap{display:flex;align-items:center;justify-content:center;min-height:230px}.cost-donut{width:190px;height:190px;border-radius:50%;position:relative}.cost-donut:after{content:"";position:absolute;inset:32px;border-radius:50%;background:#fff}.donut-center{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center small{color:var(--muted);font-weight:700}.donut-center strong{color:var(--navy);font-size:18px;margin-top:4px}.analysis-text{border-left:4px solid var(--navy);background:#f7f9fc;border-radius:8px;padding:14px 16px;line-height:1.55}.suggestion-list{margin:8px 0 0;padding-left:20px}.suggestion-list li{margin:7px 0;line-height:1.45}.comparison-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(220px,3fr) 110px 110px 100px;gap:9px;align-items:center;margin:10px 0;font-size:12px}.comparison-pair{display:grid;gap:5px}.comparison-pair .analysis-track{height:9px}.comparison-pair i.actual{background:var(--red)}.comparison-pair i.planned{background:var(--navy)}.compact{padding:10px!important}.provider-callout{border-left:4px solid var(--blue);background:#f2f7fd;padding:13px 15px;border-radius:8px}.portal-shell{min-height:100vh;background:#f4f6f9}.portal-top{background:var(--navy);color:#fff;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.portal-top img{height:34px;max-width:190px;object-fit:contain}.portal-content{max-width:1250px;margin:0 auto;padding:24px}.portal-tabs{display:flex;gap:4px;overflow:auto;margin:0 0 18px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:5px}.portal-tabs a{padding:9px 12px;border-radius:7px;white-space:nowrap;color:var(--muted);font-size:13px;font-weight:700}.portal-tabs a.active{background:var(--navy);color:#fff}.status-checklist{display:grid;gap:8px}.status-check{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:8px;padding:10px 12px}.status-check b{color:var(--green);font-size:17px}.status-check.missing b{color:var(--red)}.fiscal-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fiscal-status-grid>div{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fafbfd}.fiscal-status-grid small{display:block;color:var(--muted);font-size:11px;font-weight:800}.fiscal-status-grid strong{display:block;margin-top:4px;color:var(--navy)}
/* PDF institucional definitivo: A4, 0,5 cm laterais, cabeçalho 5x2 e rodapé 20x2 */
.document-sheet{width:210mm!important;min-height:297mm!important;padding:5mm!important;font-size:10.5pt!important}.document-sheet .doc-head{position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:200mm!important;height:20mm!important;margin:0 0 2mm!important}.document-sheet .doc-head .institutional-banner{width:50mm!important;height:20mm!important;object-fit:contain!important;object-position:left top!important}.document-sheet .doc-title,.document-sheet .doc-section{margin-left:0!important;margin-right:0!important}.document-sheet .doc-title{margin-top:1.5mm!important;margin-bottom:5mm!important}.document-sheet .doc-title h1{font-size:17pt!important}.document-sheet .doc-title .number{font-size:9.5pt!important}.document-sheet .doc-section{margin-bottom:4.5mm!important}.document-sheet .doc-section h2{font-size:11.5pt!important;text-transform:uppercase!important;color:var(--navy)!important;border-bottom:1px solid #cbd3df!important;padding-bottom:1.3mm!important;margin:0 0 2.5mm!important}.document-sheet .doc-section h3{font-size:10.5pt!important;color:var(--navy)!important}.document-sheet p{font-size:10.5pt!important;line-height:1.45!important}.document-sheet table{table-layout:fixed!important;width:100%!important;font-size:9.5pt!important}.document-sheet th,.document-sheet td{font-size:9.5pt!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;padding:1.8mm!important}.document-sheet th{font-weight:700!important}.document-sheet .report-table{font-size:9.5pt!important}.document-sheet .doc-total{font-size:13pt!important}.document-sheet .report-summary .box small{font-size:8pt!important}.document-sheet .report-summary .box strong{font-size:11pt!important}.document-sheet .doc-foot-image{width:200mm!important;height:20mm!important}.document-sheet .doc-foot-image img{width:200mm!important;height:20mm!important;object-fit:contain!important}.pdf-chart{break-inside:avoid;page-break-inside:avoid;border:1px solid #dde3eb;border-radius:2mm;padding:3mm;margin:2mm 0 4mm}.pdf-chart-row{display:grid;grid-template-columns:48mm 1fr 28mm;gap:2mm;align-items:center;margin:2mm 0;font-size:8.5pt}.pdf-chart-track{height:4mm;background:#eef1f5;border-radius:2mm;overflow:hidden}.pdf-chart-track span{display:block;height:100%;background:#253a5b;border-radius:2mm}.pdf-chart-track span.actual{background:#e24436}.pdf-analysis{background:#f7f9fc;border-left:1.3mm solid #253a5b;padding:3mm;margin:2mm 0 4mm;line-height:1.45;break-inside:avoid}.pdf-suggestions{margin:2mm 0 0 5mm;padding:0}.pdf-suggestions li{margin:1.5mm 0}.doc-toolbar{flex-wrap:wrap}.doc-toolbar select{max-width:170px}
@media(max-width:1050px){.analysis-dashboard{grid-template-columns:1fr}.fiscal-status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.analysis-bar-row,.comparison-row{grid-template-columns:1fr}.analysis-bar-row>strong,.analysis-bar-row>small{text-align:left}.fiscal-status-grid{grid-template-columns:1fr}.portal-content{padding:14px}}

/* MASTER OPERAÇÃO 3.1 · consolidação final */
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.billing-metrics .metric-card{min-width:0}
.closure-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.closure-check{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.closure-check.ok{background:#edf8f2;color:#176b45}.closure-check.pending{background:#fff7e7;color:#825300}.closure-check small{color:inherit;opacity:.8}
.cost-grid{display:grid;grid-template-columns:190px 190px minmax(260px,1fr) 78px 78px 120px 120px 44px;gap:8px;align-items:end;margin-bottom:8px}.cost-grid>div{min-width:0}.cost-grid label{display:block;font-size:10px;text-transform:uppercase;font-weight:800;color:#667085;margin:0 0 5px 4px}.cost-grid input,.cost-grid select{width:100%;border:1px solid #cfd6df;border-radius:8px;padding:9px 10px;background:#fff}.remove-cost-row{height:38px;border:1px solid #f1b9b1;background:#fff1ef;color:#a6382f;border-radius:8px;font-weight:800;cursor:pointer}
.metric-card{border:1px solid var(--line);background:#fff;border-radius:9px;padding:13px 14px}.metric-card small{display:block;color:var(--muted);font-size:11px;font-weight:700}.metric-card strong{display:block;color:var(--navy);font-size:20px;margin-top:5px}
.analysis-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;align-items:start}.analysis-grid h3{margin:0 0 10px}.analysis-bar-row{display:grid;grid-template-columns:minmax(135px,1.2fr) minmax(130px,2fr) 90px 55px;gap:8px;align-items:center;margin:8px 0;font-size:12px}.analysis-track{height:10px;background:#edf0f4;border-radius:99px;overflow:hidden}.analysis-track i{height:100%;display:block;background:var(--navy);border-radius:99px}.cost-donut{width:190px;height:190px;border-radius:50%;margin:12px auto;position:relative;display:grid;place-items:center}.donut-center{width:112px;height:112px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px solid var(--line)}.donut-center strong{color:var(--navy);font-size:17px}.donut-center small{color:var(--muted);margin-top:3px}.comparison-row{padding:8px 0;border-bottom:1px solid #edf0f4}.comparison-row>strong{font-size:12px}.comparison-pair{display:grid;grid-template-columns:minmax(20px,1fr) 130px;gap:8px;align-items:center;margin-top:6px}.comparison-pair:before{content:'';display:block;height:9px;background:#e8edf3;border-radius:99px;grid-column:1}.comparison-pair span{display:block;height:9px;background:var(--navy);border-radius:99px;grid-column:1;grid-row:1}.comparison-pair span.actual{background:var(--red)}.comparison-pair small{grid-column:2;grid-row:1;font-size:11px}.analysis-callout{margin-top:16px;border-left:4px solid var(--navy);background:#f5f7fa;padding:14px 16px;border-radius:7px}.analysis-callout h3{margin:0 0 6px}.analysis-callout p{margin:6px 0}.receipt-inline{display:flex;gap:6px;flex-wrap:wrap}.receipt-inline select,.receipt-inline input{border:1px solid var(--line);border-radius:7px;padding:6px 8px;font-size:12px;max-width:165px}
.stage-macro-cell{display:block;white-space:normal;line-height:1.25;margin:0}.stage-macro-cell+strong{margin-left:0}

/* Gráficos preserváveis no PDF */
.pdf-chart-row{display:grid;grid-template-columns:42mm 1fr 28mm 17mm;gap:2mm;align-items:center;margin:2.2mm 0;font-size:9pt}.pdf-chart-track{height:3mm;background:#edf0f4;border-radius:2mm;overflow:hidden}.pdf-chart-track i{display:block;height:100%;background:#253a5b;border-radius:2mm}.pdf-chart-row strong,.pdf-chart-row small{text-align:right}.pdf-compare-row{border-bottom:.2mm solid #e2e6ec;padding:2.5mm 0}.pdf-compare-row>strong{display:block;margin-bottom:1.5mm;font-size:9.5pt}.pdf-compare-line{display:grid;grid-template-columns:18mm 1fr 25mm;gap:2mm;align-items:center;font-size:8pt;margin:1.2mm 0}.pdf-compare-line.actual .pdf-chart-track i{background:#e24436}.pdf-compare-line b{text-align:right}

@media(max-width:1200px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-grid .wide{grid-column:1/-1}.analysis-grid{grid-template-columns:1fr}}
@media(max-width:700px){.grid-5,.closure-checklist{grid-template-columns:1fr}.billing-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-grid{grid-template-columns:1fr}.cost-grid .wide{grid-column:auto}.analysis-bar-row{grid-template-columns:1fr}.cost-donut{width:150px;height:150px}.donut-center{width:90px;height:90px}}


/* MASTER OPERAÇÃO 3.1.1 -----------------------------------------------------
   Correção consolidada de contenção responsiva e motor PDF institucional.
*/
html,body{max-width:100%;overflow-x:hidden}
.content,.card,.card-pad,.form-card,.analysis-grid,.analysis-grid>div,.comparison-chart,.cost-chart-bars,.table-wrap{min-width:0;max-width:100%}
.card-pad{overflow:hidden}
.panel-title{min-width:0}.panel-title>div{min-width:0}.panel-title h2,.panel-title small{overflow-wrap:anywhere}

.analysis-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)!important;
  gap:24px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.analysis-grid>div{min-width:0!important;max-width:100%!important;overflow:hidden}
.analysis-grid h3{overflow-wrap:anywhere}
.analysis-bar-row{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:minmax(0,1.25fr) minmax(100px,1.8fr) minmax(74px,.7fr) minmax(42px,.42fr)!important;
  gap:8px!important;
}
.analysis-bar-row>*{min-width:0!important}
.analysis-bar-row>span{overflow-wrap:anywhere;word-break:normal}
.analysis-track{width:100%!important;min-width:0!important}
.cost-donut{
  width:min(190px,100%)!important;
  max-width:100%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
}
.donut-center{
  width:min(112px,60%)!important;
  aspect-ratio:1/1!important;
  height:auto!important;
}
.comparison-row{min-width:0!important;width:100%!important}
.comparison-pair{
  grid-template-columns:minmax(0,1fr) minmax(96px,125px)!important;
  min-width:0!important;
  width:100%!important;
}
.comparison-pair small{min-width:0!important;overflow-wrap:anywhere}
.fiscal-status-grid,.billing-metrics{min-width:0;max-width:100%}
.fiscal-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:16px;align-items:start}
.fiscal-page-grid>*{min-width:0;max-width:100%}
.fiscal-table .table{min-width:0!important;table-layout:fixed!important}
.fiscal-table .table th,.fiscal-table .table td{white-space:normal!important;overflow-wrap:anywhere!important}
.fiscal-table{overflow:hidden!important}

/* Preview do documento: A4 real, 0,5 cm laterais, sem estouro horizontal. */
.doc-wrap{overflow:auto!important}
.doc-preview{max-width:210mm!important;width:100%!important;overflow:hidden!important}
.document-sheet{
  box-sizing:border-box!important;
  width:210mm!important;
  max-width:210mm!important;
  min-height:297mm!important;
  padding:5mm!important;
  overflow:hidden!important;
  font-size:10.5pt!important;
}
.document-sheet *{box-sizing:border-box}
.document-sheet .doc-head{
  position:relative!important;
  width:200mm!important;
  max-width:200mm!important;
  height:20mm!important;
  margin:0 0 2.5mm!important;
  overflow:hidden!important;
}
.document-sheet .doc-head .institutional-banner,
.document-sheet .doc-head.fallback img{
  display:block!important;
  width:50mm!important;
  max-width:50mm!important;
  height:20mm!important;
  object-fit:contain!important;
  object-position:left top!important;
}
.document-sheet .doc-title,
.document-sheet .doc-section,
.document-sheet .report-summary,
.document-sheet .doc-validation,
.document-sheet .doc-foot-image{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.document-sheet .doc-title{margin:1.5mm 0 5mm!important}
.document-sheet .doc-title h1{
  margin:0 0 1.2mm!important;
  font-size:17.5pt!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
}
.document-sheet .doc-title .number{font-size:9.5pt!important}
.document-sheet .doc-section{margin:0 0 4.5mm!important;overflow:visible!important}
.document-sheet .doc-section h2{
  font-size:11.7pt!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  color:var(--navy)!important;
  border-bottom:1px solid #cbd3df!important;
  padding:0 0 1.3mm!important;
  margin:0 0 2.5mm!important;
  overflow-wrap:anywhere!important;
}
.document-sheet p,.document-sheet li{
  font-size:10.5pt!important;
  line-height:1.45!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.document-sheet .doc-preformatted{
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.document-sheet table{
  border-collapse:collapse!important;
  table-layout:fixed!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.document-sheet th,.document-sheet td{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  vertical-align:top!important;
  padding:1.7mm!important;
}
.document-sheet .doc-items-table th:nth-child(n+3),
.document-sheet .doc-items-table td:nth-child(n+3),
.document-sheet .doc-cost-table th:nth-child(n+5),
.document-sheet .doc-cost-table td:nth-child(n+5),
.document-sheet .doc-efficiency-table th:nth-child(n+2),
.document-sheet .doc-efficiency-table td:nth-child(n+2){
  font-variant-numeric:tabular-nums;
}
.document-sheet .doc-total{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:visible!important;
  padding:2.5mm 0 0!important;
  margin:0!important;
  font-size:13pt!important;
  line-height:1.2!important;
}
.document-sheet .report-summary{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:2.2mm!important;
  margin:0 0 4mm!important;
}
.document-sheet .report-summary .box{
  min-width:0!important;
  padding:2.5mm!important;
  overflow:hidden!important;
}
.document-sheet .report-summary .box strong{overflow-wrap:anywhere!important}
.document-sheet .doc-origin{font-size:9pt!important;color:#596579}
.document-sheet .doc-origin p{font-size:9pt!important}

/* Gráficos editoriais para PDF: sempre dentro dos 20 cm úteis. */
.document-sheet .pdf-chart-row{
  display:grid!important;
  grid-template-columns:minmax(0,42mm) minmax(0,1fr) 27mm 16mm!important;
  gap:2mm!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.document-sheet .pdf-chart-row>*{min-width:0!important}
.document-sheet .pdf-chart-row>span{overflow-wrap:anywhere!important}
.document-sheet .pdf-chart-track{width:100%!important;min-width:0!important}
.document-sheet .pdf-compare-row{max-width:100%!important;min-width:0!important;break-inside:avoid}
.document-sheet .pdf-compare-line{
  display:grid!important;
  grid-template-columns:18mm minmax(0,1fr) 29mm!important;
  gap:2mm!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.document-sheet .pdf-compare-line>*{min-width:0!important}
.document-sheet .pdf-compare-line b{text-align:right!important;white-space:nowrap!important}



@media(max-width:1450px){
  .analysis-grid{grid-template-columns:1fr!important}
  .fiscal-page-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .analysis-bar-row{grid-template-columns:minmax(0,1fr)!important}
  .analysis-bar-row>strong,.analysis-bar-row>small{text-align:left!important}
  .comparison-pair{grid-template-columns:minmax(0,1fr)!important}
  .comparison-pair small{grid-column:1!important;grid-row:2!important}
  .document-sheet{width:100%!important;max-width:100%!important;min-height:auto!important;padding:18px!important}
  .document-sheet .doc-head{width:100%!important;max-width:100%!important;height:auto!important}
  .document-sheet .doc-head .institutional-banner,.document-sheet .doc-head.fallback img{width:min(50mm,45vw)!important;height:auto!important;aspect-ratio:5/2!important}
  .document-sheet .report-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .document-sheet .report-summary{grid-template-columns:1fr!important}
}

/* Fiscal 3.1.1 · diagnóstico armazenado e legível */
.fiscal-diagnostic-summary{display:flex;flex-direction:column;gap:5px;border-left:4px solid var(--navy);background:#f7f9fc;padding:14px 16px;border-radius:10px;margin-bottom:12px;min-width:0}
.fiscal-diagnostic-summary span{overflow-wrap:anywhere;line-height:1.45}
.fiscal-diagnostic-summary.is-ok{border-left-color:var(--green);background:#eef8f2}
.fiscal-diagnostic-summary.is-pending{border-left-color:var(--red);background:#fff4f2}
.fiscal-diagnostic-steps{display:grid;gap:8px;margin:14px 0}
.fiscal-diagnostic-step{display:grid;grid-template-columns:14px minmax(0,1fr);gap:9px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line)}
.fiscal-diagnostic-step:last-child{border-bottom:0}.fiscal-diagnostic-step p{margin:3px 0 0;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.diag-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;background:#aab3c0}.diag-ok{background:var(--green)}.diag-error{background:var(--red)}.diag-warning{background:#b7791f}.fiscal-methods{margin:12px 0}.fiscal-methods summary{cursor:pointer;font-weight:700;color:var(--navy)}.fiscal-methods code{white-space:normal;overflow-wrap:anywhere}



/* MASTER OPERAÇÃO 4.1.0 -----------------------------------------------------
   Interface SVG + padrão documental único A4 + composição/relatórios.
*/
.ui-icon,.top-svg,.btn-svg{display:block;fill:none;stroke:currentColor;flex:0 0 auto}
.ui-icon{width:20px;height:20px}.top-svg{width:19px;height:19px}.btn-svg{width:18px;height:18px}
.nav-icon{width:27px;height:27px;display:grid;place-items:center;color:currentColor}
.nav-icon .ui-icon{width:21px;height:21px}
.top-icon-link{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:6px 8px;border-radius:8px}
.top-icon-link:hover{background:rgba(255,255,255,.08);opacity:1}
.btn-disabled,.btn:disabled{cursor:not-allowed!important;opacity:.5!important}
.process-head-actions form{margin:0}
.delete-process-form .btn-danger{border-color:#edb6b1;background:#fff3f1;color:#a12b23}

.cost-grid{
  grid-template-columns:minmax(145px,1.05fr) minmax(150px,1.05fr) minmax(220px,2fr) minmax(68px,.48fr) minmax(68px,.48fr) minmax(105px,.72fr) minmax(112px,.78fr) 42px!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
}
.cost-grid>div,.cost-grid input,.cost-grid select{min-width:0!important;max-width:100%!important}
.cost-rows{width:100%;max-width:100%;min-width:0;overflow:visible}
.auto-tax-box{margin:14px 0;padding:11px 13px;border:1px solid #d9e1ec;background:#f7f9fc;border-radius:9px;color:#475467;font-size:12px;line-height:1.45}
.tax-summary-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.tax-summary-line>div{border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:#fafbfd;min-width:0}
.tax-summary-line small{display:block;color:var(--muted);font-size:11px;font-weight:800}
.tax-summary-line strong{display:block;color:var(--navy);font-size:16px;margin-top:4px;overflow-wrap:anywhere}
.detail-grid>div,.detail-grid strong,.process-flow-step div,.process-flow-step strong,.process-flow-step small{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.cost-donut{position:relative!important;display:block!important}
.cost-donut .donut-center{position:absolute!important;inset:auto!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;margin:0!important;z-index:3!important}

.report-screen-chart-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,3fr) minmax(110px,.8fr);gap:12px;align-items:center;margin:10px 0;min-width:0}
.report-screen-chart-row>*{min-width:0}.report-screen-chart-row span{overflow-wrap:anywhere}.report-screen-chart-row strong{text-align:right;white-space:nowrap}.report-chart-card{overflow:hidden}

/* Padrão visual oficial dos documentos: baseado no orçamento aprovado. */
.doc-wrap{overflow:auto!important;padding:24px!important}
.doc-preview{width:min(210mm,100%)!important;max-width:210mm!important;margin:0 auto!important;overflow:visible!important;background:#fff!important}
.document-sheet{
  position:relative!important;
  box-sizing:border-box!important;
  width:210mm!important;
  max-width:210mm!important;
  min-width:210mm!important;
  min-height:297mm!important;
  padding:5mm!important;
  margin:0 auto!important;
  background:#fff!important;
  color:#202938!important;
  overflow:visible!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:10.5pt!important;
  line-height:1.42!important;
  box-shadow:none!important;
}
.document-sheet *{box-sizing:border-box!important}
.document-sheet .doc-head{
  position:relative!important;inset:auto!important;
  width:200mm!important;max-width:200mm!important;height:20mm!important;
  margin:0 0 3mm!important;padding:0!important;border:0!important;
  display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;overflow:hidden!important
}
.document-sheet .doc-head .institutional-banner,
.document-sheet .doc-head.fallback img{
  display:block!important;width:50mm!important;max-width:50mm!important;height:20mm!important;
  object-fit:contain!important;object-position:left top!important
}
.document-sheet .doc-head.fallback .doc-fallback-company{height:20mm!important}
.document-sheet .doc-head.fallback .company-info{display:none!important}
.document-sheet .doc-title{
  width:100%!important;max-width:100%!important;margin:0 0 8mm!important;padding:0!important;
  text-align:center!important;break-after:avoid!important;page-break-after:avoid!important
}
.document-sheet .doc-title h1{
  margin:0!important;color:#253a5b!important;font-size:18pt!important;line-height:1.15!important;
  font-weight:800!important;text-transform:uppercase!important;overflow-wrap:normal!important;word-break:normal!important
}
.document-sheet .doc-title .number{margin-top:2mm!important;color:#667085!important;font-size:9.5pt!important;line-height:1.25!important}
.document-sheet .doc-meta-line{display:flex!important;justify-content:center!important;gap:4mm!important;flex-wrap:wrap!important}

.document-sheet .doc-section{
  width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 5.5mm!important;padding:0!important;
  overflow:visible!important;break-inside:auto!important
}
.document-sheet .doc-section>h2{
  color:#253a5b!important;font-size:12pt!important;line-height:1.2!important;text-transform:uppercase!important;
  font-weight:800!important;margin:0 0 3mm!important;padding:0 0 1.4mm!important;border-bottom:.35mm solid #c9d2df!important;
  text-align:left!important;break-after:avoid!important;page-break-after:avoid!important
}
.document-sheet .doc-section>h3{color:#253a5b!important;font-size:10.5pt!important;margin:0 0 2mm!important}
.document-sheet p,.document-sheet li{font-size:10.5pt!important;line-height:1.43!important;overflow-wrap:break-word!important;word-break:normal!important}
.document-sheet p{margin:0 0 3.5mm!important}
.document-sheet .doc-preformatted{white-space:pre-wrap!important;overflow-wrap:break-word!important;word-break:normal!important}

.document-sheet table{
  width:100%!important;max-width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;
  margin:0!important;font-size:9.5pt!important
}
.document-sheet th,.document-sheet td{
  border:.25mm solid #cbd3df!important;padding:2mm!important;vertical-align:top!important;
  font-size:9.5pt!important;line-height:1.25!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important
}
.document-sheet th{background:#eef1f6!important;color:#253a5b!important;font-weight:800!important}
.document-sheet .doc-kv-table th{text-align:left!important}
.document-sheet .doc-kv-table td{text-align:left!important}
.document-sheet .doc-items-table thead th,
.document-sheet .doc-cost-table thead th,
.document-sheet .report-table thead th{text-align:center!important;vertical-align:middle!important}
.document-sheet .doc-items-table td:first-child,
.document-sheet .doc-cost-table .cell-item{text-align:center!important;white-space:nowrap!important}
.document-sheet .cell-money,
.document-sheet .cell-number,
.document-sheet .doc-total{white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important}
.document-sheet .doc-items-table td:nth-last-child(-n+2),
.document-sheet .doc-cost-table td:nth-last-child(-n+2){white-space:nowrap!important;overflow-wrap:normal!important}
.document-sheet .doc-total{font-size:13pt!important;color:#253a5b!important;font-weight:800!important;text-align:right!important;margin-top:3mm!important}
.document-sheet .tax-auto-row td{background:#f7f9fc!important}
.document-sheet .tax-auto-row td:nth-child(4){font-weight:600!important}
.document-sheet .report-summary{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2mm!important;
  width:100%!important;max-width:100%!important;margin:0 0 4mm!important
}
.document-sheet .report-summary .box{min-width:0!important;border:.25mm solid #cbd3df!important;background:#f7f8fa!important;padding:2.5mm!important}
.document-sheet .report-summary .box small{display:block!important;color:#667085!important;font-size:8pt!important}
.document-sheet .report-summary .box strong{display:block!important;color:#253a5b!important;font-size:11pt!important;margin-top:1mm!important;white-space:nowrap!important}

.document-sheet .pdf-chart-section{break-inside:avoid!important;page-break-inside:avoid!important}
.document-sheet .pdf-chart-track{height:4mm!important;background:#edf0f4!important;border-radius:99px!important;overflow:hidden!important}
.document-sheet .pdf-chart-track i{display:block!important;height:100%!important;background:#253a5b!important;border-radius:99px!important}
.document-sheet .pdf-report-chart-row{display:grid!important;grid-template-columns:48mm minmax(0,1fr) 36mm!important;gap:2mm!important;align-items:center!important;margin:2.2mm 0!important}
.document-sheet .pdf-report-chart-row strong{text-align:right!important;white-space:nowrap!important;font-size:9.5pt!important}
.document-sheet .pdf-economic-bar{display:flex!important;width:100%!important;height:8mm!important;background:#edf0f4!important;border-radius:2mm!important;overflow:hidden!important;margin:2mm 0!important}
.document-sheet .pdf-economic-bar i{display:block!important;height:100%!important}.document-sheet .pdf-economic-bar .cost{background:#253a5b!important}.document-sheet .pdf-economic-bar .profit{background:#b8c3d3!important}
.document-sheet .pdf-economic-legend{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3mm!important;font-size:9pt!important}
.document-sheet .pdf-chart-row{display:grid!important;grid-template-columns:42mm minmax(0,1fr) 29mm 15mm!important;gap:2mm!important;align-items:center!important;margin:2mm 0!important;font-size:9pt!important}
.document-sheet .pdf-chart-row strong,.document-sheet .pdf-chart-row small{text-align:right!important;white-space:nowrap!important}
.document-sheet .pdf-compare-row{break-inside:avoid!important;page-break-inside:avoid!important}

.document-sheet .doc-validation{display:flex!important}
.document-sheet .doc-foot-image{display:block!important}
.document-sheet.pdf-export{
  width:200mm!important;max-width:200mm!important;min-width:200mm!important;min-height:0!important;
  padding:0!important;margin:0!important;overflow:visible!important;background:#fff!important
}
.document-sheet.pdf-export .doc-title,.document-sheet.pdf-export .doc-section,.document-sheet.pdf-export .report-summary{width:200mm!important;max-width:200mm!important;margin-left:0!important;margin-right:0!important}
.document-sheet.pdf-export .doc-head,.document-sheet.pdf-export .doc-foot-image{display:none!important}

/* Evita que blocos sensíveis sejam partidos pelo novo paginador. */
.document-sheet tr,.document-sheet .doc-total,.document-sheet .report-summary,.document-sheet .pdf-compare-row,.document-sheet .pdf-report-chart-row{break-inside:avoid!important;page-break-inside:avoid!important}

/* Toolbar e previews responsivos. */
.doc-toolbar{flex-wrap:wrap!important}.doc-toolbar select{max-width:170px}
@media(max-width:1320px){
  .cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd;align-items:end}
  .cost-grid .wide{grid-column:1/-1!important}.cost-grid .remove-cost-row{grid-column:2;justify-self:end;width:42px}
}
@media(max-width:900px){
  .top-icon-link span{display:none}
  .document-sheet{transform-origin:top left}
}
@media(max-width:760px){
  .cost-grid{grid-template-columns:1fr!important}.cost-grid .wide,.cost-grid .remove-cost-row{grid-column:auto!important}.cost-grid .remove-cost-row{justify-self:start}
  .tax-summary-line,.report-screen-chart-row{grid-template-columns:1fr!important}
  .report-screen-chart-row strong{text-align:left}
}
/* MASTER OPERAÇÃO 4.2 - menções e contadores */
.mention-suggest{position:absolute;z-index:90;left:0;right:0;bottom:calc(100% + 4px);max-height:230px;overflow:auto;background:#fff;border:1px solid #d7dee8;border-radius:10px;box-shadow:0 12px 30px rgba(26,39,58,.14);padding:5px}.mention-suggest[hidden]{display:none}.mention-option{display:flex;justify-content:space-between;gap:12px;width:100%;border:0;background:transparent;padding:9px 10px;border-radius:7px;text-align:left;cursor:pointer}.mention-option:hover,.mention-option.active{background:#eef3f9}.mention-option small{color:var(--muted)}
.nav-item .notification-count,.top-link .notification-count{display:inline-flex;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#c62828;color:#fff;align-items:center;justify-content:center;font-size:10px;font-weight:800;line-height:1;margin-left:auto}.notification.unread{background:#fff6f6;border-left:3px solid #c62828}.permission-group{padding:10px 0;border-top:1px solid var(--line)}.permission-group:first-of-type{border-top:0}
/* Master Operação 4.3 · WhatsApp compartilhado por QR */
.whatsapp-layout-v43{grid-template-columns:320px minmax(420px,1fr) 260px;min-height:680px;overflow:hidden}.wa-list-tools{padding:10px;border-bottom:1px solid var(--line);background:#fafbfc}.wa-list-tools form{display:grid;gap:7px}.wa-list-tools input,.wa-list-tools select{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}.wa-item-head{display:flex;align-items:center;gap:8px;justify-content:space-between}.wa-label-line{font-size:10px;color:#536071;margin-top:5px}.wa-side-panel{background:#fff;border-left:1px solid var(--line);padding:15px;overflow:auto}.wa-side-panel h3{font-size:13px;color:var(--navy);margin:8px 0 10px}.wa-labels{display:flex;gap:6px;flex-wrap:wrap}.wa-labels form{display:inline}.wa-label{border:1px solid color-mix(in srgb,var(--label-color) 45%,#fff);background:#fff;border-radius:999px;padding:5px 9px;font-size:11px;cursor:pointer}.wa-label.active{background:color-mix(in srgb,var(--label-color) 14%,#fff);border-color:var(--label-color);font-weight:800}.wa-new-label{display:grid;grid-template-columns:1fr 42px auto;gap:6px;margin-top:10px}.wa-new-label input{min-width:0;border:1px solid var(--line);border-radius:7px;padding:7px}.wa-compose-stack{background:#fff;border-top:1px solid var(--line)}.wa-compose-stack .wa-compose{border-top:0}.wa-attach{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(160px,1fr) auto}.wa-attach input{border:1px solid var(--line);border-radius:8px;padding:8px;min-width:0}.wa-internal{background:#fff8e8}.wa-media-link{display:inline-block;margin-top:7px;font-size:11px;font-weight:800;color:var(--navy)}.wa-connection-chip{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:#fff;font-size:12px}.wa-dot{width:9px;height:9px;border-radius:50%;background:#9aa4b2}.wa-connection-chip.is-on .wa-dot{background:#1b8d5b}.wa-connection-chip.is-off .wa-dot{background:#c43f35}.wa-connect-panel{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;margin-bottom:16px}.wa-qr-box{min-width:190px;text-align:center}.wa-qr-box img{display:block;width:180px;height:180px;object-fit:contain;background:#fff;border:10px solid #fff;border-radius:10px;box-shadow:0 3px 16px rgba(0,0,0,.08)}.wa-qr-box small{display:block;margin-top:5px;color:var(--muted)}
@media(max-width:1180px){.whatsapp-layout-v43{grid-template-columns:300px 1fr}.wa-side-panel{display:none}}@media(max-width:820px){.whatsapp-layout-v43{grid-template-columns:1fr}.wa-connect-panel{grid-template-columns:1fr}.wa-qr-box{justify-self:center}.wa-attach{grid-template-columns:1fr}}
.wa-connected-box{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;min-width:180px;min-height:110px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f7faf8;color:var(--text)}.wa-connected-box small{color:var(--muted);text-align:center}

/* MASTER OPERAÇÃO 4.4.0 --------------------------------------------------- */
.pricing-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;margin:12px 0}.pricing-summary>div{display:flex;flex-direction:column;gap:4px}.pricing-summary small,.attachment-row small,.funding-box small{color:var(--muted)}.pricing-summary strong{font-size:17px}.pricing-summary [data-pricing-warning]{grid-column:1/-1}
.composition-attachments{border-top:1px solid var(--line);padding-top:16px}.attachment-list{display:flex;flex-direction:column;gap:8px}.attachment-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,280px) 70px 34px 34px;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.attachment-row>div{display:flex;flex-direction:column;min-width:0}.attachment-row strong,.attachment-row small{overflow-wrap:anywhere}
.row-action-icons{align-items:center;flex-wrap:wrap}.icon-action{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--primary);cursor:pointer;text-decoration:none;padding:0}.icon-action svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}.icon-action:hover{background:#f4f7fb}.icon-action.danger{color:#b42318;border-color:#f0c4c0;background:#fff8f7}.icon-action.danger:hover{background:#fdecea}
.inline-pay{position:relative}.inline-pay>summary{list-style:none;cursor:pointer}.inline-pay>summary::-webkit-details-marker{display:none}.inline-pay[open]>.payment-funding-form,.inline-pay[open]>form{position:absolute;right:0;top:38px;z-index:30;width:min(430px,85vw);padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 35px rgba(20,31,48,.16);display:flex;flex-direction:column;gap:10px}.inline-pay form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}.funding-box{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}.funding-box>label:not(:last-child){display:grid!important;grid-template-columns:1fr auto 110px;align-items:center;gap:8px}.funding-box>label input{min-width:0}.compact-pay[open]>form{width:240px}
@media(max-width:900px){.pricing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-summary>.btn{grid-column:1/-1}.attachment-row{grid-template-columns:1fr 1fr 60px 34px 34px}}@media(max-width:620px){.pricing-summary{grid-template-columns:1fr}.attachment-row{grid-template-columns:1fr 60px 34px 34px}.attachment-row>input:first-of-type{grid-column:1/-1}.funding-box>label:not(:last-child){grid-template-columns:1fr auto}.funding-box>label input{grid-column:1/-1}}

/* Master Operação 4.7.0 · Central operacional NFS-e */
.btn-dark{background:#101f2b;color:#fff;border:1px solid #101f2b}.nfse-ok{color:var(--green)}.nfse-danger{color:var(--red)}
.nfse-metrics{margin-bottom:16px}.nfse-center{overflow:visible}.nfse-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.nfse-toolbar-left,.nfse-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nfse-month-select{border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 10px;font-weight:700;color:var(--text)}
.nfse-menu,.nfse-row-menu{position:relative}.nfse-menu>summary,.nfse-row-menu>summary{list-style:none}.nfse-menu>summary::-webkit-details-marker,.nfse-row-menu>summary::-webkit-details-marker{display:none}.nfse-menu-panel,.nfse-row-menu-panel{position:absolute;z-index:35;top:calc(100% + 6px);right:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 14px 36px rgba(20,31,50,.16);padding:6px}.nfse-menu-panel{left:0;right:auto}.nfse-menu-panel a,.nfse-row-menu-panel a,.nfse-row-menu-panel button{display:block;width:100%;padding:9px 10px;border:0;background:transparent;text-align:left;border-radius:6px;color:var(--text);font-weight:600;cursor:pointer}.nfse-menu-panel a:hover,.nfse-row-menu-panel a:hover,.nfse-row-menu-panel button:hover{background:#f2f5f8}.nfse-row-menu-panel form{margin:0}
.nfse-search{display:grid;grid-template-columns:2fr repeat(4,minmax(130px,1fr));gap:10px;padding:14px;background:#f7f9fc;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.nfse-search[hidden]{display:none}.nfse-search-actions{display:flex;gap:8px;align-items:flex-end;grid-column:1/-1}.nfse-quick-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.nfse-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f2f4f7;border:1px solid #e3e7ed;color:#536071;font-size:12px;font-weight:800}.nfse-chip span{min-width:20px;text-align:center;background:#fff;border-radius:999px;padding:2px 6px}.nfse-chip.active{background:#eaf0f8;color:var(--navy);border-color:#cdd9e8}.nfse-list-title{margin:6px 0 10px}.nfse-list-table{min-width:1180px}.nfse-row-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.nfse-icon-btn{width:34px;height:32px;border-radius:6px;border:0;display:inline-flex;align-items:center;justify-content:center;font-weight:900;cursor:pointer;font-size:17px}.nfse-icon-btn.view{background:#05a8d8;color:#fff}.nfse-icon-btn.edit{background:#f2a000;color:#fff}.nfse-icon-btn.delete{background:#f2f3f5;color:#596270;border:1px solid #e1e4e8}.nfse-icon-btn.more{background:#08a65a;color:#fff}.nfse-row-menu-panel{right:0;top:38px}.nfse-row-menu[open]{z-index:40}
.nfse-detail{margin-top:16px;scroll-margin-top:85px}.nfse-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.nfse-detail-grid section{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:14px}.nfse-detail-grid h3,.nfse-description h3,.nfse-share h3,.nfse-danger-zone h3,.nfse-replacement h3,#history h3{margin:0 0 12px}.nfse-detail dl{display:grid;grid-template-columns:minmax(95px,.8fr) 1.2fr;gap:7px 9px;margin:0;font-size:12px}.nfse-detail dt{color:var(--muted);font-weight:700}.nfse-detail dd{margin:0;font-weight:700;overflow-wrap:anywhere}.nfse-description,.nfse-share,.nfse-danger-zone,.nfse-replacement,#history{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.nfse-description p{white-space:normal;line-height:1.5}.nfse-validation{border-radius:9px;padding:13px 14px;margin-top:14px}.nfse-validation.ok{background:#edf8f2;border:1px solid #c8ead7}.nfse-validation.warning{background:#fff7e8;border:1px solid #f0ddb2}.nfse-validation-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.nfse-validation-groups ul{margin:6px 0 0 18px;padding:0}.nfse-detail-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-top:16px}.nfse-email-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;align-items:end;max-width:720px;margin-top:12px}.nfse-danger-zone{border-left:4px solid #d44a3f;padding-left:14px}.nfse-replacement{border-left:4px solid #d99b28;padding-left:14px}
.nfse-emitter{margin-top:16px;scroll-margin-top:85px}.nfse-step{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:18px 0;border-top:1px solid var(--line)}.nfse-step:first-of-type{border-top:0}.nfse-step-number{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-weight:900}.nfse-step-body h3{margin:4px 0 12px}.nfse-advanced{border:1px solid var(--line);border-radius:10px;background:#fafbfd;padding:0 14px;margin-top:12px}.nfse-advanced>summary{cursor:pointer;padding:13px 0;font-weight:800;color:var(--navy)}.nfse-advanced[open]>summary{border-bottom:1px solid var(--line);margin-bottom:12px}.nfse-tax-summary{margin:12px 0}.nfse-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.nfse-review-grid>div{border:1px solid var(--line);border-radius:8px;padding:10px;background:#f8fafc}.nfse-review-grid small{display:block;color:var(--muted);font-weight:700}.nfse-review-grid strong{display:block;margin-top:5px;overflow-wrap:anywhere}.nfse-toast{position:fixed;right:22px;bottom:22px;z-index:120;background:#182433;color:#fff;border-radius:9px;padding:11px 14px;box-shadow:0 10px 30px rgba(0,0,0,.2);font-size:13px}
@media(max-width:1100px){.nfse-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nfse-search{grid-template-columns:repeat(2,minmax(0,1fr))}.nfse-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.nfse-toolbar{align-items:stretch;flex-direction:column}.nfse-toolbar-left,.nfse-toolbar-right{width:100%}.nfse-search,.nfse-detail-grid,.nfse-detail-actions,.nfse-validation-groups,.nfse-review-grid,.nfse-email-form{grid-template-columns:1fr}.nfse-step{grid-template-columns:1fr}.nfse-step-number{margin-bottom:-4px}.nfse-menu-panel{left:0}.nfse-row-menu-panel{right:0}}
/* 4.7.0 · paginação da central NFS-e */
.nfse-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px 0;color:var(--muted);font-size:13px}.nfse-pagination .actions{display:flex;align-items:center;gap:8px}.nfse-page-label{font-weight:700;color:var(--text)}@media(max-width:720px){.nfse-pagination{align-items:flex-start;flex-direction:column}}
.nfse-menu-disabled{display:block;padding:9px 12px;color:var(--muted);font-size:12px;background:#f6f8fb;border-top:1px solid var(--border);cursor:not-allowed}

/* MASTER OPERAÇÃO 4.8.0 · ficha fiscal e catálogos */
.fiscal-kind-panel{margin-top:18px;padding:16px;border:1px solid var(--border,#dbe2ea);border-radius:12px;background:#fbfcfe}
.fiscal-kind-panel[hidden]{display:none!important}
.fiscal-kind-title{display:flex;flex-direction:column;gap:3px;margin-bottom:14px}
.fiscal-kind-title strong{font-size:16px;color:#1f2a3a}
.fiscal-kind-title span{font-size:13px;color:#667085}
.fiscal-catalog-input{background-image:none}

/* MASTER OPERAÇÃO 4.9.0 · emissão NFS-e operacional */
.nfse-simple-emitter{margin-top:16px;padding:0;overflow:hidden}.nfse-simple-emitter>.nfse-box,.nfse-simple-emitter>.nfse-local-toggle,.nfse-simple-emitter>.nfse-advanced{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;padding:20px 22px}.nfse-box-head{margin:-20px -22px 18px;padding:16px 22px;background:#fbfcfd;border-bottom:1px solid var(--line)}.nfse-box-head h3{margin:0 0 5px;font-size:17px;color:var(--text)}.nfse-box-head small{color:var(--muted)}.nfse-five{grid-template-columns:.8fr 1.2fr 1.25fr .8fr .65fr}.nfse-three{grid-template-columns:repeat(3,minmax(0,1fr))}.nfse-tax-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.nfse-switch{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-weight:600}.nfse-local-toggle{background:#fbfcfd!important}.nfse-emitter-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#fbfcfd;position:sticky;bottom:0;z-index:15;border-top:1px solid var(--line)}.nfse-emitter-footer .actions{display:flex;gap:8px}.nfse-live-total{margin-left:auto;text-align:right}.nfse-live-total small{display:block;color:var(--muted)}.nfse-live-total strong{display:block;font-size:24px;color:var(--navy)}.inline-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.inline-input>label{display:flex;align-items:center;gap:5px;white-space:nowrap}.nfse-advanced>summary{display:flex;flex-direction:column;gap:4px}.nfse-advanced>summary small{font-weight:400;color:var(--muted)}
@media(max-width:1250px){.nfse-five{grid-template-columns:repeat(3,minmax(0,1fr))}.nfse-tax-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.nfse-five,.nfse-three,.nfse-tax-tabs{grid-template-columns:1fr}.nfse-emitter-footer{align-items:stretch;flex-direction:column}.nfse-live-total{margin-left:0;text-align:left}.nfse-emitter-footer .actions{width:100%}.nfse-emitter-footer .actions .btn{flex:1}}
/* NFS-e: respeitar o atributo hidden nos campos condicionais de construção civil. */
.nfse-construction-fields[hidden]{display:none!important}

/* Ações financeiras ficam abaixo dos dados da linha, sem comprimir as colunas. */
.table-wrap tr.table-action-row>td{padding:8px 12px 12px!important;background:#f8fafc!important;border-top:0!important}
.table-wrap tr.table-action-row .actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.table-wrap tr.table-action-row form{margin:0}


/* MASTER OPERAÇÃO · CORREÇÃO DOCUMENTAL 2026-08-19
   Rodapé institucional 21 x 2 cm e zona de validação protegida. */
.document-sheet:not(.pdf-export){
  box-sizing:border-box!important;
  position:relative!important;
  width:210mm!important;
  min-height:297mm!important;
  padding-left:5mm!important;
  padding-right:5mm!important;
  padding-bottom:46mm!important;
}
.document-sheet:not(.pdf-export) .doc-foot-image{
  box-sizing:border-box!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:210mm!important;
  height:20mm!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.document-sheet:not(.pdf-export) .doc-foot-image img{
  display:block!important;
  width:210mm!important;
  height:20mm!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  background:#fff!important;
}
.document-sheet:not(.pdf-export) .doc-validation{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:auto!important;
  min-height:20mm!important;
  margin:4mm 0 4mm!important;
  padding:2mm!important;
  z-index:2!important;
  background:#fafbfd!important;
  overflow:visible!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
@media(max-width:820px){
  .document-sheet:not(.pdf-export){width:100%!important;min-height:auto!important;padding:18px!important}
  .document-sheet:not(.pdf-export) .doc-foot-image{position:relative!important;width:100%!important;height:auto!important;margin:16px 0 0!important}
  .document-sheet:not(.pdf-export) .doc-foot-image img{width:100%!important;height:auto!important;aspect-ratio:10.5/1!important}
  .document-sheet:not(.pdf-export) .doc-validation{margin:16px 0!important}
}

/* MASTER UI 2026-08-19 · Sidebar recolhível + ações NFS-e preservadas */
.sidebar-collapse-control{position:fixed;left:242px;top:84px;width:32px;height:32px;border:1px solid #cfd7e2;border-radius:9px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;z-index:70;box-shadow:0 4px 14px rgba(20,31,48,.10);cursor:pointer;transition:left .18s ease,transform .18s ease}.sidebar-collapse-control svg{width:17px;height:17px;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sidebar,.main{transition:width .18s ease,margin-left .18s ease}.sidebar.is-collapsed{width:78px;overflow-x:hidden}.sidebar.is-collapsed+.main,.app-shell.sidebar-collapsed .main,body.sidebar-collapsed .main{margin-left:78px}.sidebar.is-collapsed .brand{padding-left:18px;padding-right:0;overflow:hidden}.sidebar.is-collapsed .brand img{width:188px;max-width:none;min-width:188px;object-fit:contain;object-position:left center}.sidebar.is-collapsed .company-chip,.sidebar.is-collapsed .nav-section{display:none}.sidebar.is-collapsed .nav-item{font-size:0;gap:0;justify-content:center;padding-left:0;padding-right:0;position:relative;min-height:48px}.sidebar.is-collapsed .nav-item .nav-icon{width:28px;min-width:28px;margin:0;font-size:14px}.sidebar.is-collapsed .nav-item .nav-icon .ui-icon{width:23px;height:23px}.sidebar.is-collapsed .nav-item .count,.sidebar.is-collapsed .nav-item .notification-count{position:absolute;right:6px;top:6px;margin:0;min-width:17px;height:17px;padding:0 4px;font-size:9px}.sidebar.is-collapsed .nav-item::after{content:attr(title);position:fixed;left:84px;display:none;background:#17283e;color:#fff;font-size:12px;font-weight:700;padding:7px 9px;border-radius:7px;white-space:nowrap;z-index:120;box-shadow:0 6px 18px rgba(0,0,0,.16)}.sidebar.is-collapsed .nav-item:hover::after{display:block}.sidebar.is-collapsed~.sidebar-collapse-control,body.sidebar-collapsed .sidebar-collapse-control{left:62px}.sidebar-collapse-control.is-collapsed svg{transform:rotate(180deg)}
.nfse-list-table th:last-child,.nfse-list-table td.nfse-actions-cell{min-width:98px!important;width:98px!important}.nfse-actions-cell{overflow:visible!important}.nfse-row-actions{min-width:78px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;overflow:visible!important}.nfse-row-menu{display:inline-block!important;flex:0 0 auto!important;visibility:visible!important}.nfse-icon-btn.view,.nfse-icon-btn.more{display:inline-flex!important;flex:0 0 34px!important}.nfse-icon-btn.more{background:#08a65a!important;color:#fff!important}.nfse-row-menu-panel.nfse-floating-menu{position:fixed!important;right:auto!important;z-index:1000!important;max-height:min(520px,70vh);overflow:auto}
@media(max-width:900px){.sidebar-collapse-control{display:none!important}.sidebar.is-collapsed{width:258px}.sidebar.is-collapsed .company-chip{display:block}.sidebar.is-collapsed .nav-section{display:block}.sidebar.is-collapsed .nav-item{font-size:14px;gap:11px;justify-content:flex-start;padding:12px 17px}.sidebar.is-collapsed .brand{padding:16px 22px}.sidebar.is-collapsed .brand img{width:188px;min-width:0}.sidebar.is-collapsed+.main,.app-shell.sidebar-collapsed .main,body.sidebar-collapsed .main{margin-left:0}}


/* MASTER OPERAÇÃO 5.0.0 · responsividade sem rolagem horizontal */
/* Camada final e conservadora: não altera regras de negócio, apenas contenção e disposição visual. */
html,body,.app-shell,.main,.content{max-width:100%;overflow-x:hidden}
.table-wrap{overflow-x:visible!important;overflow-y:visible!important;max-width:100%!important}
.table,.nfse-list-table,.doclib-table,.doclib-recent .table{width:100%!important;min-width:0!important;max-width:100%!important}
.table th,.table td{min-width:0!important;max-width:none;white-space:normal!important;overflow-wrap:anywhere;word-break:normal}
.table .actions,.table .row-actions,.table .nfse-row-actions{min-width:0!important;max-width:100%;flex-wrap:wrap!important;white-space:normal!important}
.table input,.table select,.table textarea{max-width:100%;min-width:0}
.doclib-table-wrap{overflow-x:visible!important;overflow-y:visible!important}
.doclib-table th:last-child,.doclib-table td:last-child{position:static!important;right:auto!important;min-width:0!important;box-shadow:none!important}
.doclib-module-actions,.tabs,.portal-tabs,.process-tabs{flex-wrap:wrap!important;overflow-x:visible!important;overflow-y:visible!important;white-space:normal!important}
.doclib-module-actions .btn,.tab,.portal-tabs a,.process-tabs .tab{white-space:normal!important}
.kanban{display:flex;flex-wrap:wrap;overflow-x:visible!important;align-items:flex-start}
.kanban-col{width:auto!important;min-width:min(310px,100%)!important;flex:1 1 310px;max-width:100%}
.nfse-center,.nfse-row-actions,.nfse-actions-cell{max-width:100%}
.calendar{min-width:0!important}.calendar-wrap{overflow-x:hidden!important;max-width:100%!important}

@media(max-width:1320px){
  .template-stage-head{display:none!important}
  .template-stage-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;border:1px solid var(--line);border-radius:10px;padding:10px;align-items:end}
  .template-stage-row .check{justify-content:flex-start!important}
}
@media(max-width:1180px){
  .budget-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nfse-search{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:760px){
  .template-stage-row,.budget-row,.nfse-search{grid-template-columns:1fr!important}
  .content{padding:14px}
  .page-head,.panel-title,.doclib-section-head,.nfse-toolbar{flex-direction:column;align-items:stretch!important}
  .page-head>.actions,.panel-title>.actions,.doclib-section-head>.actions,.nfse-toolbar-left,.nfse-toolbar-right{width:100%}
  .filters,.doclib-module-actions,.tabs,.portal-tabs{width:100%;display:flex;flex-wrap:wrap!important}
  .filters input,.filters select,.filters .btn,.doclib-module-actions .btn,.tabs .tab,.portal-tabs a{min-width:0;max-width:100%;flex:1 1 150px}

  /* Tabelas operacionais passam a cartões verticais, usando o cabeçalho como rótulo. */
  /* Tabelas sem JavaScript mantêm cabeçalho convencional e quebram conteúdo sem rolagem lateral. */
  .table-wrap>.table:not(.responsive-table-ready){table-layout:fixed!important;font-size:12px}
  .table-wrap>.table:not(.responsive-table-ready) th,.table-wrap>.table:not(.responsive-table-ready) td{padding:7px 6px!important}

  .table-wrap{border:0!important;background:transparent!important;border-radius:0!important}
  .table-wrap>.table.responsive-table-ready{display:block!important;border-collapse:separate!important}
  .table-wrap>.table.responsive-table-ready>thead{display:none!important}
  .table-wrap>.table.responsive-table-ready>tbody{display:grid!important;gap:12px!important;width:100%!important}
  .table-wrap>.table.responsive-table-ready>tbody>tr{display:block!important;width:100%!important;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:visible;box-shadow:0 2px 8px rgba(28,45,74,.04)}
  .table-wrap>.table.responsive-table-ready>tbody>tr>td{display:grid!important;grid-template-columns:minmax(108px,38%) minmax(0,1fr);gap:10px;align-items:start;width:100%!important;padding:9px 11px!important;border-bottom:1px solid #edf0f3!important;background:#fff!important;text-align:left!important}
  .table-wrap>.table.responsive-table-ready>tbody>tr>td:last-child{border-bottom:0!important}
  .table-wrap>.table.responsive-table-ready>tbody>tr>td::before{content:attr(data-label);font-size:11px;font-weight:800;color:#667085;line-height:1.35}
  .table-wrap>.table.responsive-table-ready>tbody>tr>td[data-label=""]::before,.table-wrap>.table.responsive-table-ready>tbody>tr>td:not([data-label])::before{display:none}
  .table-wrap>.table.responsive-table-ready>tbody>tr>td[colspan]{display:block!important;width:100%!important}
  .table-wrap>.table.responsive-table-ready>tbody>tr>td[colspan]::before{display:none!important}
  .table-wrap>.table.responsive-table-ready>tbody>tr>td .actions,.table-wrap>.table.responsive-table-ready>tbody>tr>td .row-actions,.table-wrap>.table.responsive-table-ready>tbody>tr>td .nfse-row-actions{justify-content:flex-start!important;width:100%;flex-wrap:wrap!important}
  .doclib-menu-panel,.nfse-row-menu-panel{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;width:auto!important;max-width:none!important;max-height:70vh;overflow:auto!important}

  /* Calendário deixa de exigir sete colunas simultâneas. */
  .calendar-wrap{overflow:visible!important}
  .calendar{display:block!important;min-width:0!important;border:0!important;background:transparent!important}
  .calendar .cal-head{display:none!important}
  .calendar .cal-day{display:block!important;min-height:0!important;margin:0 0 9px;border:1px solid var(--line)!important;border-radius:9px;background:#fff;padding:10px!important}
  .calendar .cal-day.muted{display:none!important}
  .calendar .cal-event{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}

  .kanban{display:grid!important;grid-template-columns:1fr!important}
  .kanban-col{width:100%!important;min-width:0!important}
}

/* MASTER OPERAÇÃO 5.0.0 · R3 · correção de legibilidade das tabelas
   Corrige a regressão que comprimira palavras, badges, valores e botões.
   A responsividade permanece vertical quando o contêiner não comporta a tabela. */
.table-wrap{
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}
.table,
.nfse-list-table,
.doclib-table,
.doclib-recent .table{
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  table-layout:auto!important;
}
.table th,
.table td{
  min-width:initial!important;
  max-width:none!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.table th{
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:1.25;
}
.table td{
  line-height:1.35;
}
.table .btn,
.table .action-square,
.table button,
.table input[type="submit"],
.table input[type="button"]{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.table .badge{
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-align:center;
  max-width:190px;
}
.table td.cell-nowrap,
.table td.cell-money,
.table td.cell-date{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.table td.cell-actions{
  white-space:normal!important;
  overflow:visible!important;
}
.table td.cell-actions .row-actions,
.table td.cell-actions .actions,
.table td.cell-actions .nfse-row-actions{
  min-width:0!important;
  max-width:none!important;
  width:max-content;
  max-width:100%!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.table td.cell-status{
  min-width:84px!important;
}
.table td.cell-money{
  min-width:88px!important;
  font-variant-numeric:tabular-nums;
}
.table td.cell-date{
  min-width:88px!important;
}

/* Quando a largura real do bloco não comporta a quantidade de colunas,
   o registro desce para formato vertical em vez de esmagar o texto. */
.table-wrap>.table.responsive-table-cards{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  border-collapse:separate!important;
}
.table-wrap>.table.responsive-table-cards>thead{
  display:none!important;
}
.table-wrap>.table.responsive-table-cards>tbody{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
  gap:12px!important;
  width:100%!important;
}
.table-wrap>.table.responsive-table-cards>tbody>tr{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(28,45,74,.04);
}
.table-wrap>.table.responsive-table-cards>tbody>tr>td{
  display:grid!important;
  grid-template-columns:minmax(118px,34%) minmax(0,1fr);
  gap:12px;
  align-items:start;
  width:100%!important;
  min-width:0!important;
  padding:10px 12px!important;
  border-bottom:1px solid #edf0f3!important;
  background:#fff!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}
.table-wrap>.table.responsive-table-cards>tbody>tr>td:last-child{
  border-bottom:0!important;
}
.table-wrap>.table.responsive-table-cards>tbody>tr>td::before{
  content:attr(data-label);
  font-size:11px;
  font-weight:800;
  color:#667085;
  line-height:1.35;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.table-wrap>.table.responsive-table-cards>tbody>tr>td[data-label=""]::before,
.table-wrap>.table.responsive-table-cards>tbody>tr>td:not([data-label])::before{
  display:none;
}
.table-wrap>.table.responsive-table-cards>tbody>tr>td[colspan]{
  display:block!important;
  width:100%!important;
}
.table-wrap>.table.responsive-table-cards>tbody>tr>td[colspan]::before{
  display:none!important;
}
.table-wrap>.table.responsive-table-cards>tbody>tr>td.cell-nowrap,
.table-wrap>.table.responsive-table-cards>tbody>tr>td.cell-money,
.table-wrap>.table.responsive-table-cards>tbody>tr>td.cell-date{
  white-space:normal!important;
  min-width:0!important;
}
.table-wrap>.table.responsive-table-cards>tbody>tr>td.cell-actions .row-actions,
.table-wrap>.table.responsive-table-cards>tbody>tr>td.cell-actions .actions,
.table-wrap>.table.responsive-table-cards>tbody>tr>td.cell-actions .nfse-row-actions{
  width:100%!important;
  justify-content:flex-start!important;
}
.table-wrap>.table.responsive-table-cards .badge{
  display:inline-flex;
  width:max-content;
  max-width:100%;
}

/* O modo de cartão é controlado pela largura do próprio bloco via JS.
   Esta regra mantém o comportamento correto mesmo antes do ResizeObserver rodar. */
@media(max-width:760px){
  .table th,.table td{overflow-wrap:break-word!important;word-break:normal!important}
  .table .btn,.table .action-square,.table button{white-space:nowrap!important}
}



/* MASTER OPERAÇÃO 5.0.0 · R4 · Lista padrão, Cards opcionais e cartões íntegros */
.table-view-switch{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:0 0 10px;
  min-height:38px;
}
.table-view-switch-label{
  font-size:14px;
  font-weight:700;
  color:#667085;
}
.table-view-switch-buttons{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.table-view-option{
  appearance:none;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#344054;
  font:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1;
  padding:9px 12px;
  cursor:pointer;
  white-space:nowrap;
}
.table-view-option.is-active{
  background:#243f68;
  color:#fff;
}

/* LISTA é sempre o modo inicial. Nenhuma palavra é fragmentada artificialmente. */
.table-wrap>.table.responsive-table-ready.responsive-table-list{
  display:table!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:auto!important;
  border-collapse:collapse!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list>thead{
  display:table-header-group!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list>tbody{
  display:table-row-group!important;
  width:auto!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list>tbody>tr{
  display:table-row!important;
  width:auto!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list>tbody>tr>td{
  display:table-cell!important;
  width:auto!important;
  min-width:0!important;
  padding:12px 14px!important;
  border-bottom:1px solid var(--line)!important;
  background:transparent!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  vertical-align:middle!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list>tbody>tr>td::before{
  display:none!important;
  content:none!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .responsive-card-value{
  display:contents!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list th{
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  line-height:1.25!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .btn,
.table-wrap>.table.responsive-table-ready.responsive-table-list .action-square,
.table-wrap>.table.responsive-table-ready.responsive-table-list button,
.table-wrap>.table.responsive-table-ready.responsive-table-list .badge,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-money,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-date{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .btn,
.table-wrap>.table.responsive-table-ready.responsive-table-list .action-square,
.table-wrap>.table.responsive-table-ready.responsive-table-list button,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-money,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-date{
  white-space:nowrap!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .badge{
  white-space:normal!important;
  width:max-content;
  max-width:190px;
}

/* CARDS: cada célula possui exatamente dois blocos: rótulo e valor.
   O conteúdo original fica agrupado, evitando sobreposição de textos, links, versões e hashes. */
.table-wrap>.table.responsive-table-ready.responsive-table-cards{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  border-collapse:separate!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>thead{display:none!important}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr))!important;
  gap:14px!important;
  width:100%!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  overflow:hidden!important;
  box-shadow:0 2px 8px rgba(28,45,74,.04)!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td{
  display:grid!important;
  grid-template-columns:minmax(170px,32%) minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
  padding:13px 16px!important;
  border-bottom:1px solid #e7ebf0!important;
  background:#fff!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  word-break:normal!important;
  hyphens:none!important;
  font-size:16px!important;
  line-height:1.4!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td:last-child{border-bottom:0!important}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td::before{
  content:attr(data-label)!important;
  display:block!important;
  min-width:0!important;
  font-size:15px!important;
  font-weight:700!important;
  color:#667085!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td[data-label=""]::before,
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td:not([data-label])::before{display:none!important}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .responsive-card-value{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  font-size:16px!important;
  line-height:1.42!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .responsive-card-value>*{
  max-width:100%;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .responsive-card-value small{
  display:block;
  margin-top:4px;
  font-size:14px;
  line-height:1.35;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-money .responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-date .responsive-card-value{
  white-space:nowrap!important;
  font-weight:700;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .badge{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-size:15px!important;
  line-height:1.2!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .btn,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .action-square,
.table-wrap>.table.responsive-table-ready.responsive-table-cards button{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-size:15px!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions .responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions .row-actions,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions .actions,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions .nfse-row-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td[colspan]{
  display:block!important;
  width:100%!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td[colspan]::before{display:none!important}

@media(max-width:620px){
  .table-view-switch{justify-content:flex-start;flex-wrap:wrap}
  .table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody{grid-template-columns:1fr!important}
  .table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
  .table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td::before{
    font-size:14px!important;
  }
}

/* MASTER OPERAÇÃO 5.0.0 · R5 · padrão global de listagens
   Lista é o modo inicial; Cards são opcionais. A camada abaixo substitui
   as regras R3/R4 sem alterar HTML, PHP, dados ou regras de negócio. */

/* Contenção global: nenhum componente de listagem pode ampliar a página. */
.table-wrap{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#fff!important;
}
.table-wrap>.table.responsive-table-ready{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  border:0!important;
  table-layout:fixed!important;
}

/* Seletor Lista/Cards, discreto e uniforme em todas as listagens. */
.table-view-switch{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin:0 0 8px!important;
  min-height:34px!important;
}
.table-view-switch-label{font-size:13px!important;font-weight:700!important;color:#667085!important}
.table-view-switch-buttons{display:inline-flex!important;gap:3px!important;padding:3px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important}
.table-view-option{border:0!important;border-radius:6px!important;background:transparent!important;color:#344054!important;padding:7px 11px!important;font-size:13px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;cursor:pointer!important}
.table-view-option.is-active{background:var(--navy)!important;color:#fff!important}

/* LISTA: grade determinística. Cabeçalho e linhas usam a mesma malha calculada pelo JS. */
.table-wrap>.table.responsive-table-ready.responsive-table-list{
  display:block!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list>thead,
.table-wrap>.table.responsive-table-ready.responsive-table-list>tbody{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list>thead>tr,
.table-wrap>.table.responsive-table-ready.responsive-table-list>tbody>tr{
  display:grid!important;
  grid-template-columns:var(--master-table-grid)!important;
  width:100%!important;
  min-width:0!important;
  align-items:stretch!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list>thead>tr{
  background:#f7f8fa!important;
  border-bottom:1px solid var(--line)!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list>tbody>tr{
  border-bottom:1px solid #e8ecf1!important;
  background:#fff!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list>tbody>tr:last-child{border-bottom:0!important}
.table-wrap>.table.responsive-table-ready.responsive-table-list>tbody>tr:hover{background:#fbfcfd!important}

.table-wrap>.table.responsive-table-ready.responsive-table-list th,
.table-wrap>.table.responsive-table-ready.responsive-table-list td{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:9px 10px!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
  align-self:stretch!important;
  line-height:1.28!important;
  overflow:hidden!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list th{
  display:flex!important;
  align-items:center!important;
  color:#475467!important;
  font-size:13px!important;
  font-weight:800!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list td{
  color:var(--text)!important;
  font-size:14px!important;
  vertical-align:middle!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list td::before{display:none!important;content:none!important}
.table-wrap>.table.responsive-table-ready.responsive-table-list .responsive-card-value{display:block!important;min-width:0!important;max-width:100%!important}
.table-wrap>.table.responsive-table-ready.responsive-table-list .responsive-card-value br{line-height:.65!important}
.table-wrap>.table.responsive-table-ready.responsive-table-list small{font-size:12.5px!important;line-height:1.25!important}

/* Células compactas não partem valores ou palavras curtas. */
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-money,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-date,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-nowrap{
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-status .responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-list .head-col-status{
  overflow:visible!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .badge{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:1.18!important;
  font-size:12px!important;
  padding:5px 9px!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-identifier,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-contact{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* Ações sempre permanecem dentro da última coluna. Botões descem quando necessário. */
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions{
  overflow:visible!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions>.responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions .actions,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions .row-actions,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions .nfse-row-actions{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions .btn,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions .action-square,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions button,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions summary{
  flex:0 0 auto!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-size:12.5px!important;
  padding:7px 9px!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list td[colspan],
.table-wrap>.table.responsive-table-ready.responsive-table-list td.cell-span-all{
  grid-column:1/-1!important;
  width:100%!important;
}

/* Tabelas extensas mantêm legibilidade com densidade apenas um pouco maior. */
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-many-columns th{font-size:12.5px!important;padding:8px 8px!important}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-many-columns td{font-size:13.5px!important;padding:8px 8px!important}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-very-many-columns th{font-size:12px!important;padding:8px 7px!important}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-very-many-columns td{font-size:13px!important;padding:8px 7px!important}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-very-many-columns .cell-actions .btn,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-very-many-columns .cell-actions button,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-very-many-columns .cell-actions summary{font-size:12px!important;padding:6px 7px!important}

/* CARDS: compactos, sem espaços artificiais e sem sobreposição. */
.table-wrap>.table.responsive-table-ready.responsive-table-cards{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>thead{display:none!important}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr))!important;
  gap:10px!important;
  width:100%!important;
  padding:0!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  overflow:hidden!important;
  box-shadow:0 1px 5px rgba(28,45,74,.035)!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td{
  display:grid!important;
  grid-template-columns:minmax(142px,190px) minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:8px 12px!important;
  border:0!important;
  border-bottom:1px solid #e8ecf1!important;
  background:#fff!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  font-size:15px!important;
  line-height:1.30!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td:last-child{border-bottom:0!important}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td::before{
  content:attr(data-label)!important;
  display:block!important;
  min-width:0!important;
  color:#667085!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.28!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td[data-label=""]::before,
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td:not([data-label])::before{display:none!important}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .responsive-card-value{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  font-size:15px!important;
  line-height:1.30!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .responsive-card-value br{
  display:block!important;
  content:""!important;
  margin:2px 0 0!important;
  line-height:.35!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .responsive-card-value small{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font-size:13.5px!important;
  line-height:1.25!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .responsive-card-value strong{line-height:1.25!important}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-money .responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-date .responsive-card-value{
  white-space:nowrap!important;
  font-weight:700!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-identifier .responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-contact .responsive-card-value{overflow-wrap:anywhere!important}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .badge{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  padding:5px 9px!important;
  font-size:13px!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions>.responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions .actions,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions .row-actions,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions .nfse-row-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions .btn,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions button,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions summary{
  white-space:nowrap!important;
  font-size:13px!important;
  padding:7px 9px!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards td[colspan],
.table-wrap>.table.responsive-table-ready.responsive-table-cards td.cell-span-all{
  display:block!important;
  width:100%!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards td[colspan]::before,
.table-wrap>.table.responsive-table-ready.responsive-table-cards td.cell-span-all::before{display:none!important}

/* Fallback para áreas que usam app.css mas não carregam o JS principal, como portais externos. */
.table-wrap>.table:not(.responsive-table-ready){
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:auto!important;
}
.table-wrap>.table:not(.responsive-table-ready) th,
.table-wrap>.table:not(.responsive-table-ready) td{
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.table-wrap>.table:not(.responsive-table-ready) .btn,
.table-wrap>.table:not(.responsive-table-ready) button,
.table-wrap>.table:not(.responsive-table-ready) .badge{white-space:nowrap!important}

@media(max-width:760px){
  .table-view-switch{justify-content:flex-start!important}
  .table-wrap>.table.responsive-table-ready.responsive-table-list th{font-size:12px!important;padding:7px 6px!important}
  .table-wrap>.table.responsive-table-ready.responsive-table-list td{font-size:13px!important;padding:7px 6px!important}
  .table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody{grid-template-columns:1fr!important}
  .table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td{grid-template-columns:minmax(130px,170px) minmax(0,1fr)!important;padding:8px 10px!important}
}
@media(max-width:520px){
  .table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td{grid-template-columns:1fr!important;gap:3px!important}
  .table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td::before{font-size:13px!important}
  .table-wrap>.table.responsive-table-ready.responsive-table-cards .responsive-card-value{font-size:14.5px!important}
}

/* MASTER OPERAÇÃO 5.0.0 · R7 · enquadramento global definitivo de listagens
   Evita vazamento lateral, preserva palavras e mantém Lista como padrão. */
.table-wrap{
  contain:inline-size!important;
  overflow:hidden!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list>thead>tr,
.table-wrap>.table.responsive-table-ready.responsive-table-list>tbody>tr{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list th,
.table-wrap>.table.responsive-table-ready.responsive-table-list td{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .list-column-hidden{
  display:none!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .responsive-card-value{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-money,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-date,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-nowrap{
  white-space:nowrap!important;
  text-overflow:clip!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-status,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions{
  min-width:0!important;
  overflow:hidden!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-status .responsive-card-value{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  overflow:hidden!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .badge{
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
/* Ações nunca podem sair da própria coluna. Frases podem descer apenas nos espaços. */
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions>.responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions .actions,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions .row-actions,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions .nfse-row-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions form,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions details{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions .btn,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions a.btn,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions .action-square,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions button,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-actions summary{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:6px 8px!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-align:center!important;
  line-height:1.16!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .nfse-row-actions{
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .nfse-row-actions .nfse-icon-btn{
  width:34px!important;
  max-width:34px!important;
  min-width:34px!important;
  flex:0 0 34px!important;
  padding:0!important;
}
/* Contatos e identificadores longos podem quebrar a sequência, mas jamais ampliam a página. */
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-contact,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-identifier,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-contact .responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-identifier .responsive-card-value{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
/* Cards mais compactos, sem grandes vazios entre rótulo e conteúdo. */
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody{
  gap:8px!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td{
  grid-template-columns:minmax(132px,176px) minmax(0,1fr)!important;
  gap:8px!important;
  padding:6px 10px!important;
  line-height:1.24!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td::before{
  font-size:13.5px!important;
  line-height:1.22!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .responsive-card-value{
  font-size:14.5px!important;
  line-height:1.24!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .responsive-card-value br{
  margin:0!important;
  line-height:.20!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions>.responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions .actions,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions .row-actions,
.table-wrap>.table.responsive-table-ready.responsive-table-cards .cell-actions .nfse-row-actions{
  gap:5px!important;
}
@media(max-width:760px){
  .table-wrap>.table.responsive-table-ready.responsive-table-list th{font-size:12px!important;padding:7px 6px!important}
  .table-wrap>.table.responsive-table-ready.responsive-table-list td{font-size:13px!important;padding:7px 6px!important}
}
@media(max-width:520px){
  .table-wrap>.table.responsive-table-ready.responsive-table-cards>tbody>tr>td{
    grid-template-columns:1fr!important;
    gap:2px!important;
    padding:6px 9px!important;
  }
}

/* MASTER OPERAÇÃO 5.0.0 · R9 · Ações de tabela em modal
   Formulários acionados por botões não podem expandir/remontar linhas da listagem. */
.master-action-modal-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:10000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
  background:rgba(15,23,42,.48)!important;
  backdrop-filter:blur(1.5px);
}
.master-action-modal-backdrop[hidden]{display:none!important}
.master-action-modal{
  width:min(560px,calc(100vw - 32px))!important;
  max-height:min(760px,calc(100vh - 40px))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  box-shadow:0 24px 70px rgba(15,23,42,.28)!important;
}
.master-action-modal-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:14px 16px!important;
  border-bottom:1px solid var(--line)!important;
  background:#fff!important;
}
.master-action-modal-title{
  margin:0!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:700!important;
  color:var(--text)!important;
}
.master-action-modal-close{
  flex:0 0 auto!important;
  width:36px!important;
  height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--text)!important;
  font-size:22px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.master-action-modal-body{
  min-width:0!important;
  padding:16px!important;
  overflow:auto!important;
}
.master-action-modal-body>form{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  z-index:auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:11px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.master-action-modal-body>form label{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  font-size:13px!important;
  font-weight:600!important;
}
.master-action-modal-body>form input,
.master-action-modal-body>form select,
.master-action-modal-body>form textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.master-action-modal-body .funding-box{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
.master-action-modal-body .funding-box>label:not(:last-child){grid-template-columns:minmax(0,1fr) auto minmax(90px,120px)!important}
body.master-action-modal-open{overflow:hidden!important}

/* Dentro das tabelas, details.inline-pay funciona visualmente apenas como botão.
   O formulário é transportado pelo JS para o modal global. */
.table-wrap .cell-actions details.inline-pay{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
.table-wrap .cell-actions details.inline-pay>summary{width:100%!important}
.table-wrap .cell-actions details.inline-pay[open]>form,
.table-wrap .cell-actions details.inline-pay[open]>.payment-funding-form{
  display:none!important;
}
@media(max-width:620px){
  .master-action-modal-backdrop{padding:10px!important;align-items:flex-end!important}
  .master-action-modal{width:100%!important;max-height:88vh!important;border-radius:14px 14px 0 0!important}
  .master-action-modal-body{padding:14px!important}
  .master-action-modal-body .funding-box>label:not(:last-child){grid-template-columns:1fr!important}
}

/* MASTER OPERAÇÃO 5.0.1 · ações do Faturamento fora da coluna estreita */
.table-wrap .billing-primary-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;min-width:0!important}
.table-wrap .billing-primary-actions .btn{width:100%!important;max-width:170px!important;white-space:normal!important;line-height:1.15!important;text-align:center!important}
.table-wrap tr.billing-action-row>td{padding:7px 12px 10px!important;background:#f8fafc!important;border-top:0!important}
.table-wrap tr.billing-action-row .responsive-card-value{width:100%!important}
.billing-row-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;width:100%!important;min-width:0!important}
.billing-row-actions-label{font-size:12px!important;font-weight:700!important;color:var(--muted)!important;margin-right:4px!important;white-space:nowrap!important}
.billing-row-actions form.billing-action-form{margin:0!important}
.billing-row-actions .btn{white-space:nowrap!important}
.billing-action-details{position:static!important;margin:0!important}
@media(max-width:760px){
  .billing-row-actions{align-items:stretch!important}
  .billing-row-actions-label{width:100%!important}
  .billing-row-actions>form,.billing-row-actions>details{width:100%!important}
  .billing-row-actions .btn,.billing-primary-actions .btn{width:100%!important;max-width:none!important}
}


/* MASTER OPERAÇÃO 5.0.1 · R11 · ações inferiores nas listagens
   Quando Ações é a última coluna, ela deixa de consumir largura lateral e vira
   uma faixa horizontal inferior do próprio registro. Cards mantêm ações ao final. */
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom .head-col-actions{
  display:none!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:7px 10px 9px!important;
  border-top:1px solid #edf0f4!important;
  background:#fbfcfd!important;
  overflow:visible!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions>.responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .actions,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .row-actions,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .nfse-row-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions form,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions details{
  display:inline-block!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .btn,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions a.btn,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .action-square,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions button,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions summary{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  flex:0 0 auto!important;
  padding:7px 10px!important;
  margin:0!important;
  white-space:nowrap!important;
  line-height:1.15!important;
}
@media(max-width:680px){
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions>.responsive-card-value,
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .actions,
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .row-actions,
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .nfse-row-actions{
    justify-content:flex-start!important;
  }
}

/* R12 · tabelas, checklist e módulos fiscais sem conteúdo fora do campo de visão */
.processes-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.processes-table{table-layout:fixed;min-width:1060px;width:100%}
.processes-table.responsive-table-ready{min-width:0!important}
.processes-table th:nth-child(1){width:10%}.processes-table th:nth-child(2){width:16%}.processes-table th:nth-child(3){width:20%}.processes-table th:nth-child(4){width:11%}.processes-table th:nth-child(5){width:14%}.processes-table th:nth-child(6){width:10%}.processes-table th:nth-child(7){width:7%}.processes-table th:nth-child(8){width:7%}.processes-table th:nth-child(9){width:5%}
.processes-table td{min-width:0;overflow-wrap:anywhere;word-break:normal;vertical-align:top}
.processes-table .process-doc-ref{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.processes-table .process-row-actions{vertical-align:bottom}.processes-table .process-row-actions .btn{white-space:nowrap}
.tax-situation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tax-situation-grid .finance-status{min-height:118px}.tax-situation-grid .finance-status small{line-height:1.25}.tax-situation-grid .finance-status strong{overflow-wrap:normal;word-break:normal}
a.closure-check{color:inherit;text-decoration:none;min-width:0;transition:border-color .15s ease,transform .15s ease}a.closure-check:hover{border-color:var(--navy);transform:translateY(-1px)}
.nfse-link-form{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.nfse-link-form .btn{justify-self:start}
@media(max-width:1100px){.processes-table{min-width:980px}.tax-situation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.tax-situation-grid{grid-template-columns:1fr}.tax-situation-grid .finance-status{min-height:0}}

/* Reservas Financeiras · gráficos em sequência vertical e largura integral */
.reserve-chart-stack{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
}
.reserve-chart-stack>.card{
  width:100%!important;
  min-width:0!important;
}
.reserve-chart-frame{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
}
.reserve-chart-frame-composition,
.reserve-chart-frame-evolution{
  height:440px!important;
}
.reserve-chart-frame>.chart-canvas{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
}
@media(max-width:680px){
  .reserve-chart-frame-composition,
  .reserve-chart-frame-evolution{height:320px!important;}
}

/* Reservas Financeiras · gráfico temporal funcional */
.reserve-trend-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.reserve-trend-periods{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}
.reserve-trend-periods a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 9px;
  border-radius:6px;
  color:#475467;
  font-size:12.5px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.reserve-trend-periods a.active{
  background:var(--navy);
  color:#fff;
}
.reserve-trend-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.reserve-trend-summary>div{
  min-width:0;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fafbfc;
}
.reserve-trend-summary small{
  display:block;
  color:#667085;
  font-size:11.5px;
  font-weight:700;
  line-height:1.2;
}
.reserve-trend-summary strong{
  display:block;
  margin-top:3px;
  color:var(--text);
  font-size:15px;
  line-height:1.2;
}
@media(max-width:760px){
  .reserve-trend-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* MASTER OPERAÇÃO 5.0.1 · R12 · hierarquia estável de situação e ações */
.status-stack{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
}
.status-stack .badge{
  flex:0 0 auto!important;
  width:max-content!important;
  max-width:100%!important;
}
.status-stack small{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list .cell-status>.responsive-card-value{
  display:block!important;
  width:100%!important;
  overflow:visible!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom .head-col-actions{
  display:none!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:8px 10px 10px!important;
  border-top:1px solid #e8ecf1!important;
  background:#f8fafc!important;
  overflow:visible!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions>.responsive-card-value,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .actions,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .row-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions form,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions details{
  display:inline-block!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .btn,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions a.btn,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .action-square,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions button,
.table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions summary{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  flex:0 0 auto!important;
  margin:0!important;
  white-space:nowrap!important;
}
@media(max-width:680px){
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions>.responsive-card-value,
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .actions,
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .row-actions{
    align-items:stretch!important;
  }
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions form,
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions details{
    width:100%!important;
  }
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions .btn,
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions button,
  .table-wrap>.table.responsive-table-ready.responsive-table-list.table-actions-bottom>tbody>tr>.cell-actions summary{
    width:100%!important;
  }
}
.dg-item-head,.dg-item-row{display:grid;grid-template-columns:minmax(260px,1fr) 120px 130px 150px 44px;gap:10px;align-items:center}.dg-item-head{padding:0 0 7px;font-size:13px;font-weight:800;color:var(--muted)}.dg-item-row{margin-bottom:10px}.dg-item-row .btn{justify-content:center}@media(max-width:900px){.dg-item-head{display:none}.dg-item-row{grid-template-columns:1fr 1fr}.dg-item-row input:first-child{grid-column:1/-1}.dg-item-row .btn{width:44px}}

/* MASTER 5.0.4 · conferência e destinação financeira */
.allocation-flow-note{margin-bottom:16px;padding:13px 15px;border:1px solid #b9d6f5;border-left:4px solid #2563a6;border-radius:10px;background:#f3f8fe;color:#27415f;line-height:1.45}
.allocation-metrics .metric-card{min-height:118px}.allocation-metrics .metric-card span{display:block;margin-top:7px;color:var(--muted);font-size:12px;font-weight:700}.allocation-metrics .metric-attention{border-color:#e8bd55;background:#fffaf0}.allocation-metrics .metric-attention strong{color:#8a5a00}
.reserve-rate-list{display:grid;gap:8px}.reserve-rate-list>div{display:flex;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}.reserve-rate-list span{font-weight:700;color:var(--muted)}.reserve-rate-list strong{color:var(--text)}.reserve-rate-list .reserve-rate-total{border-color:#b9d6f5;background:#f3f8fe}.reserve-rate-list .reserve-rate-total span,.reserve-rate-list .reserve-rate-total strong{color:#25466f}
.allocation-list{display:grid;gap:16px}.allocation-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.allocation-card.is-pending{border-color:#e5ba55}.allocation-card.is-confirmed{border-color:#8ac9aa}.allocation-card.is-reversed{opacity:.78}.allocation-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:15px 17px;border-bottom:1px solid var(--line);background:#f8fafc}.allocation-card-head h3{margin:0;color:var(--text);font-size:17px}.allocation-card-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.allocation-state-note{margin:14px 16px 0;padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.4}.allocation-state-note.warning{background:#fff7e5;color:#775111}.allocation-state-note.success{background:#ebf8f0;color:#17623b}.allocation-state-note.neutral{background:#f1f3f5;color:#586174}
.allocation-memory{margin:14px 16px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.allocation-line{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 12px;border-bottom:1px solid #edf0f3;color:#465166}.allocation-line:last-child{border-bottom:0}.allocation-line span{min-width:0}.allocation-line small{display:block;margin-top:2px;color:#7b8597;font-size:11.5px}.allocation-line strong{flex:0 0 auto;color:var(--text);font-variant-numeric:tabular-nums}.allocation-line.main{background:#f8fafc;font-weight:800}.allocation-line.subtotal{background:#f4f6f8;font-weight:800}.allocation-line.reserve{padding-left:28px}.allocation-line.available{background:#eef8f2;color:#17623b;font-weight:800}.allocation-line.available strong{color:#17623b}.allocation-line.total{background:#eef4fb;color:#25466f;font-weight:800}.allocation-line.total strong{color:#25466f}
.allocation-check{display:grid;grid-template-columns:1fr auto;gap:2px 16px;margin:0 16px 14px;padding:10px 12px;border-radius:8px}.allocation-check span,.allocation-check strong{font-weight:800}.allocation-check small{grid-column:2;text-align:right}.allocation-check.ok{background:#ebf8f0;color:#17623b}.allocation-check.error{background:#fdecec;color:#9d2626}
.allocation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:13px 16px;border-top:1px solid var(--line);background:#fafbfc}.allocation-actions form{margin:0}.allocation-regularization{margin-left:auto}.allocation-regularization summary{cursor:pointer;color:#6b7280;font-size:12px;font-weight:800}.allocation-regularization>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px}
@media(max-width:760px){.allocation-card-head{flex-direction:column}.allocation-line{align-items:flex-start}.allocation-line strong{text-align:right}.allocation-actions{align-items:stretch}.allocation-actions form,.allocation-actions .btn,.allocation-regularization{width:100%}.allocation-regularization{margin-left:0}.allocation-regularization>div{justify-content:stretch}.allocation-regularization>div form{width:100%}.allocation-check{grid-template-columns:1fr}.allocation-check small{grid-column:1;text-align:left}}

/* SIGMA 2026.09.02-3 - situacoes e composicoes */
.badge.info{background:#e7f1fb;color:#205f93}.badge.purple{background:#f0eafb;color:#67409a}.badge.navy{background:#e8edf5;color:#253a5b}
.process-status-strip{grid-template-columns:repeat(10,minmax(0,1fr))}
.process-status-card{border-top-width:3px!important}.process-status-card.status-request_received{border-top-color:#5b8cc0!important}.process-status-card.status-technical_visit{border-top-color:#3778b5!important}.process-status-card.status-cost_composition{border-top-color:#7957a8!important}.process-status-card.status-budget_drafting{border-top-color:#c49328!important}.process-status-card.status-awaiting_feedback{border-top-color:#d27a2e!important}.process-status-card.status-planning{border-top-color:#408b9b!important}.process-status-card.status-execution{border-top-color:#3f5fa8!important}.process-status-card.status-acceptance{border-top-color:#5b9b71!important}.process-status-card.status-closing{border-top-color:#2f8057!important}.process-status-card.status-completed{border-top-color:#6b7280!important;background:#f7f8fa!important}
.cf-product-row{display:grid;grid-template-columns:minmax(260px,1.8fr) 90px 120px 120px 105px 42px;gap:8px;align-items:end;margin-bottom:8px}.cf-product-row label,.cf-closing-row label{display:block;font-size:11px;font-weight:800;color:#475467;margin-bottom:5px}.cf-product-row input,.cf-product-row select,.cf-closing-row input,.cf-unplanned input,.cf-unplanned select{width:100%;border:1px solid #cfd6df;border-radius:7px;padding:9px;background:#fff}.cf-closing-list{display:grid;gap:8px}.cf-closing-row{display:grid;grid-template-columns:minmax(300px,1fr) 1px 150px 160px;gap:10px;align-items:end;border:1px solid var(--line);border-radius:9px;padding:11px;background:#fafbfd}.cf-closing-row small{display:block;color:var(--muted);margin-top:4px}.cf-unplanned{display:grid;grid-template-columns:180px minmax(250px,1fr) 90px 90px 130px;gap:8px}.process-closed-banner{background:#f3f4f6;border:1px solid #d1d5db;border-radius:10px;padding:12px 14px;margin-bottom:16px;display:flex;justify-content:space-between;gap:12px;align-items:center}
@media(max-width:1300px){.process-status-strip{grid-template-columns:repeat(5,1fr)}.cf-product-row,.cf-closing-row,.cf-unplanned{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.cf-product-row,.cf-closing-row,.cf-unplanned{grid-template-columns:1fr}}

/* SIGMA 2026.09.02-3 - gravador de áudio e processos encerrados */
.wa526-audio-record{border:1px solid #d7dde7;background:#fff;border-radius:8px;padding:7px 10px;font:inherit;font-size:12px;cursor:pointer;color:#334155}.wa526-audio-record.recording{background:#fff1f2;border-color:#fda4af;color:#be123c}.closed-process-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:13px 16px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.closed-process-banner>div{display:flex;flex-direction:column;gap:3px}.closed-process-banner span{font-size:12px;color:#64748b}.closed-process-reopen{display:flex;gap:8px;align-items:center}.closed-process-reopen input{min-width:260px}.badge.info{background:#e0f2fe;color:#075985}.badge.purple{background:#f3e8ff;color:#6b21a8}.badge.navy{background:#e0e7ff;color:#3730a3}.process-status-card.status-request_received{border-top-color:#3b82f6}.process-status-card.status-technical_visit{border-top-color:#0ea5e9}.process-status-card.status-cost_composition{border-top-color:#8b5cf6}.process-status-card.status-budget_drafting{border-top-color:#eab308}.process-status-card.status-awaiting_feedback{border-top-color:#f97316}.process-status-card.status-planning{border-top-color:#06b6d4}.process-status-card.status-execution{border-top-color:#4f46e5}.process-status-card.status-acceptance{border-top-color:#22c55e}.process-status-card.status-closing{border-top-color:#16a34a}.process-status-card.status-completed{border-top-color:#64748b}
@media(max-width:820px){.closed-process-banner,.closed-process-reopen{align-items:stretch;flex-direction:column}.closed-process-reopen input{min-width:0;width:100%}}


/* SIGMA MASTER · contadores de caracteres */
.char-limit-counter{font-size:.92em;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0;white-space:nowrap}
.char-limit-counter.is-over{color:var(--red);font-weight:800}
.char-limit-counter-standalone{display:block;width:100%;margin-top:4px;text-align:right}

/* SIGMA MASTER · contenção dos contadores em grids compactos */
.char-limit-field-wrap{min-width:0;max-width:100%;display:flex;flex-direction:column;gap:4px;align-self:stretch}
.char-limit-field-wrap>input,.char-limit-field-wrap>textarea,.char-limit-field-wrap>select{min-width:0;max-width:100%;width:100%}
.char-limit-field-wrap .char-limit-counter-standalone{display:block;width:100%;max-width:100%;margin:0;text-align:right;white-space:normal;overflow-wrap:anywhere;line-height:1.2}
.budget-row>*{min-width:0;max-width:100%}
.form-grid>*{min-width:0;max-width:100%}
.cost-row>*{min-width:0;max-width:100%}
.cf-product-row>*{min-width:0;max-width:100%}
.cf-service-cost-row{grid-template-columns:190px 180px minmax(220px,1fr) 75px 75px 120px 120px 42px}
@media(max-width:1300px){.cf-service-cost-row{grid-template-columns:repeat(2,minmax(0,1fr))}.cf-service-cost-row>.remove-cost-row{justify-self:end}}
@media(max-width:820px){.cf-service-cost-row{grid-template-columns:1fr}.cf-service-cost-row>.remove-cost-row{justify-self:start}}


/* SIGMA MASTER · Sistema visual unificado de campos · 2026-09-11
   Referência: bloco Produtos da Composição. Somente apresentação. */
:root{
  --master-control-height:42px;
  --master-control-radius:9px;
  --master-control-border:#c9d4e0;
  --master-control-bg:#fff;
  --master-control-readonly:#f7f9fb;
  --master-field-gap:10px;
  --master-label-color:#475467;
}
.master-field-cell,.template-stage-field,.budget-field,.cost-grid>div,.cf-product-row>div,.cf-product-cost-row>div,.cf-close-cost-row>div,.cf-close-product-cost-row>div,.cf-unplanned>div,.cf-unplanned-product>div{min-width:0;max-width:100%}
.master-field-cell>label,.template-stage-field>label,.budget-field>label,.cost-grid>div>label,.cf-product-row>div>label,.cf-product-cost-row>div>label,.cf-close-cost-row>div>label,.cf-close-product-cost-row>div>label,.cf-unplanned>div>label,.cf-unplanned-product>div>label,
.payment-funding-form label,.billing-action-details form label{display:block;margin:0 0 6px;font-size:12px;font-weight:800;line-height:1.2;color:var(--master-label-color);text-transform:none;letter-spacing:0}
.master-field-cell input,.master-field-cell select,.master-field-cell textarea,.template-stage-field input,.template-stage-field select,.budget-field input,.budget-field select,
.cost-grid input,.cost-grid select,.cf-product-row input,.cf-product-row select,.cf-product-cost-row input,.cf-product-cost-row select,.cf-close-cost-row input,.cf-close-cost-row select,.cf-close-product-cost-row input,.cf-close-product-cost-row select,.cf-unplanned input,.cf-unplanned select,.cf-unplanned-product input,.cf-unplanned-product select,
.payment-funding-form input,.payment-funding-form select,.payment-funding-form textarea,.funding-box input,.funding-box select,.funding-box textarea,.billing-action-details input,.billing-action-details select,.billing-action-details textarea{
  width:100%;max-width:100%;min-width:0;min-height:var(--master-control-height);border:1px solid var(--master-control-border);border-radius:var(--master-control-radius);background:var(--master-control-bg);padding:9px 10px;color:var(--text);line-height:1.25;box-shadow:none
}
.master-field-cell textarea,.payment-funding-form textarea,.funding-box textarea,.billing-action-details textarea{min-height:92px;resize:vertical}
.master-field-cell input:focus,.master-field-cell select:focus,.master-field-cell textarea:focus,.template-stage-field input:focus,.template-stage-field select:focus,.budget-field input:focus,.budget-field select:focus,.cost-grid input:focus,.cost-grid select:focus,.cf-product-row input:focus,.cf-product-row select:focus,.cf-product-cost-row input:focus,.cf-product-cost-row select:focus,.payment-funding-form input:focus,.payment-funding-form select:focus,.payment-funding-form textarea:focus,.funding-box input:focus,.funding-box select:focus,.funding-box textarea:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 3px rgba(37,58,91,.10)}
.master-readonly,.cf-readonly-value{display:flex;align-items:center;width:100%;min-height:var(--master-control-height);border:1px solid var(--master-control-border);border-radius:var(--master-control-radius);background:var(--master-control-readonly);padding:9px 10px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.master-entry-row,.cf-product-row,.cf-product-cost-row,.cost-grid,.cf-close-cost-row,.cf-close-product-cost-row,.cf-unplanned,.cf-unplanned-product{display:grid;gap:var(--master-field-gap);align-items:start}
.master-remove,.cf-remove,.remove-cost-row{width:42px!important;min-width:42px!important;height:var(--master-control-height)!important;min-height:var(--master-control-height)!important;padding:0!important;margin-top:24px;display:grid!important;place-items:center!important;border:1px solid #efcbc7!important;border-radius:var(--master-control-radius)!important;background:#fff6f4!important;color:#a43a31!important;cursor:pointer}
.master-remove:hover,.cf-remove:hover,.remove-cost-row:hover{background:#fff0ed!important;border-color:#e8aea7!important}
.cf-product-row,.cf-product-cost-row{margin-bottom:12px}.cf-product-row>.cf-remove,.cf-product-cost-row>.cf-remove{margin-top:24px}.cf-product-row small{font-size:11.5px}
.cf-product-cost-row{padding-top:2px}.cf-product-cost-row>div{display:flex;flex-direction:column;gap:0}
.cost-grid{grid-template-columns:190px 190px minmax(260px,1fr) 78px 78px 120px 120px 42px}.cost-grid .wide{min-width:0}.cost-grid>.remove-cost-row{align-self:start}

/* Orçamento: mesma linguagem do bloco Produtos */
.budget-items{display:grid;gap:12px}.budget-row{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(300px,2fr) 82px 100px 125px 130px 42px;gap:10px;align-items:start;margin-bottom:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.budget-row .budget-field-description{min-width:0}.budget-row .item-desc{width:100%}.budget-row .master-remove{align-self:start}.budget-row .char-limit-field-wrap{gap:0}.budget-row .char-limit-counter-standalone{margin-top:5px;font-size:11px}.budget-row .master-readonly{white-space:nowrap}

/* Modelos de execução: labels dentro de cada célula, sem cabeçalho paralelo */
.template-stage-list{display:grid;gap:12px}.template-stage-row{display:grid;grid-template-columns:52px minmax(220px,1.55fr) minmax(175px,1.1fr) 76px 84px 90px 90px 96px 108px 94px 42px;gap:10px;align-items:start;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.template-stage-head{display:none!important}.template-stage-index{min-width:0}.template-stage-index label{display:block;margin:0 0 6px;font-size:12px;font-weight:800;color:var(--master-label-color)}.template-stage-index .stage-order{display:flex;align-items:center;justify-content:center;min-height:var(--master-control-height);border:1px solid var(--master-control-border);border-radius:var(--master-control-radius);background:var(--master-control-readonly);font-weight:900;color:var(--navy)}.template-stage-row>.master-remove{align-self:start}

/* Formulários compactos e financeiros seguem a mesma geometria */
.master-inline-fields{display:grid;grid-template-columns:minmax(260px,1fr) 160px auto;gap:10px;align-items:start}.master-inline-fields>.btn{margin-top:24px;min-height:var(--master-control-height)}
.receipt-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.receipt-inline input,.receipt-inline select{min-height:38px;border:1px solid var(--master-control-border);border-radius:var(--master-control-radius);padding:7px 9px;background:#fff;max-width:190px}.payment-funding-form{gap:12px!important}.funding-box{gap:10px;border-radius:12px;padding:12px}.funding-box>label:not(:last-child){grid-template-columns:minmax(0,1fr) auto minmax(100px,125px);gap:10px}.billing-action-details form{gap:10px!important}.attachment-row input,.attachment-row select{min-height:var(--master-control-height);border:1px solid var(--master-control-border);border-radius:var(--master-control-radius);padding:9px 10px;background:#fff}.lookup-row{gap:10px}.lookup-row .btn{min-height:var(--master-control-height)}

/* Campos normais: mesma geometria institucional sem alterar layouts especializados */
.form-group input,.form-group select{min-height:var(--master-control-height)}.form-group input,.form-group select,.form-group textarea{border-color:var(--master-control-border);border-radius:var(--master-control-radius);padding:9px 10px}.form-group label{font-size:12px;line-height:1.2}.form-grid{gap:14px}

@media(max-width:1450px){
  .budget-row{grid-template-columns:minmax(180px,1fr) minmax(260px,1.8fr) 80px 95px 115px 120px 42px}
  .template-stage-row{grid-template-columns:52px minmax(220px,1.5fr) minmax(170px,1fr) repeat(3,minmax(90px,1fr));}
  .template-stage-row .stage-name{grid-column:span 2}.template-stage-row .stage-macro-field{grid-column:span 2}.template-stage-row>.master-remove{grid-column:-2/-1;justify-self:end}
}
@media(max-width:1180px){
  .budget-row{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-row .budget-field-description{grid-column:span 2}.budget-row>.master-remove{justify-self:end}
  .template-stage-row{grid-template-columns:repeat(3,minmax(0,1fr))}.template-stage-row .template-stage-index{grid-column:auto}.template-stage-row .stage-name,.template-stage-row .stage-macro-field{grid-column:span 2}.template-stage-row>.master-remove{grid-column:auto;justify-self:end}
  .cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-grid .wide{grid-column:1/-1}.cost-grid>.remove-cost-row{justify-self:end}
}
@media(max-width:700px){
  .budget-row,.template-stage-row,.cost-grid,.master-inline-fields{grid-template-columns:1fr!important}.budget-row .budget-field-description,.template-stage-row .stage-name,.template-stage-row .stage-macro-field,.cost-grid .wide{grid-column:auto!important}.budget-row>.master-remove,.template-stage-row>.master-remove,.cost-grid>.remove-cost-row{justify-self:start!important}.master-inline-fields>.btn{margin-top:0;width:100%}
  .funding-box>label:not(:last-child){grid-template-columns:1fr!important}.funding-box>label input{grid-column:1!important}
}

/* O símbolo M do cabeçalho documental tem prévia quadrada exclusiva; não altera o rodapé. */
.image-upload-preview.document-logo-square-preview img{width:30mm!important;height:30mm!important;max-width:30mm!important;max-height:30mm!important;aspect-ratio:1/1!important;object-fit:contain!important;object-position:center!important;}

/* SIGMA MASTER 18/09/2026: quadros documentais conforme Composição de Custos. */
.document-sheet .doc-section>h2{background:#253a5b!important;color:#fff!important;border:.35mm solid #253a5b!important;border-radius:2mm!important;padding:2.1mm 3.4mm!important;margin:0 0 2.4mm!important;font-size:10.2pt!important;line-height:1.25!important}
.document-sheet table{border:.30mm solid #253a5b!important;border-radius:2mm!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important}
.document-sheet th,.document-sheet td{border:0!important;border-right:.12mm solid #bccbdc!important;border-bottom:.12mm solid #bccbdc!important;vertical-align:middle!important;padding:2mm!important}
.document-sheet tr:last-child>*{border-bottom:0!important}
.document-sheet tr>*:last-child{border-right:0!important}
.document-sheet .doc-kv-table th{background:#eff4fa!important;color:#253a5b!important}
.document-sheet .doc-items-table thead th,.document-sheet .doc-cost-table thead th,.document-sheet .report-table thead th{background:#253a5b!important;color:#fff!important;border-color:#7188a9!important}
.document-sheet .doc-product-card{border:.34mm solid #253a5b!important;border-radius:2mm!important;overflow:hidden!important}
.document-sheet .doc-product-photo{border:.24mm solid #253a5b!important;border-radius:1.5mm!important;align-self:center!important}
.document-sheet .report-summary .box{border:.30mm solid #253a5b!important;border-radius:2mm!important}
.document-sheet .doc-validation{border:.35mm solid #253a5b!important;border-radius:2mm!important}
.document-sheet .doc-client-card{border:.34mm solid #253a5b!important;border-radius:2mm!important;overflow:hidden!important;background:#fff!important}
.document-sheet .doc-client-card .doc-client-row{border:0!important;border-radius:0!important;margin:0!important;table-layout:fixed!important}
.document-sheet .doc-client-card .doc-client-row tr>*{padding:1.45mm 2mm!important;border-bottom:.12mm solid #c4d1e1!important}
.document-sheet .doc-client-card .doc-client-row:last-child tr>*{border-bottom:0!important}
.document-sheet .doc-client-card .doc-client-row th{font-size:8.4pt!important;white-space:normal!important}
.document-sheet .doc-client-card .doc-client-row td{font-size:9pt!important;overflow-wrap:anywhere!important}

/* PDF e prévia: quantidade e preços mais legíveis, sem alterar a descrição. */
.document-sheet .doc-product-price{font-size:11pt!important;gap:2mm!important;align-self:stretch!important}
.document-sheet .doc-product-price strong{font-size:14pt!important}

/* Hotfix 18/09: isola os itens do novo formulário e contém rótulos/counters. */
#budgetItemsModern .budget-row{min-width:0}
#budgetItemsModern .budget-field{min-width:0}
#budgetItemsModern .budget-field>label{max-width:100%;overflow-wrap:anywhere;white-space:normal;line-height:1.2}
#budgetItemsModern .budget-field .char-limit-counter{white-space:normal;overflow-wrap:anywhere}
#budgetItemsModern .budget-field .item-unit{min-width:0}
#budgetItemsModern .budget-row>.master-remove{grid-column:7;justify-self:end}
@media(max-width:1180px){#budgetItemsModern .budget-row>.master-remove{grid-column:auto}}
