:root{--bg:#f4f7fb;--card:#fff;--text:#0f172a;--muted:#64748b;--blue:#0f3b82;--blue2:#1554b7;--line:#dbe4f0;--green:#0f8a45;--red:#d11f1f;--orange:#df8a00;--purple:#6b21a8;--shadow:0 20px 50px rgba(15,23,42,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--blue2);text-decoration:none}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}small,.muted{color:var(--muted)}textarea,input,select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}textarea{min-height:80px}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:#071d42;color:#fff;padding:24px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,#1756c2,#11a0ff);display:grid;place-items:center;font-weight:800}.brand small{display:block;color:#bfd5ff;margin-top:3px}.nav{display:grid;gap:8px}.nav a{color:#dbeafe;padding:12px 14px;border-radius:12px}.nav a:hover{background:rgba(255,255,255,.1)}.user-box{margin-top:auto;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:14px;border-radius:16px}.user-box small,.user-box span{display:block;color:#bfd5ff}.main{padding:28px;overflow:auto;display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:6px 0 0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}.btn.primary{background:var(--blue2);border-color:var(--blue2);color:#fff}.btn.small{padding:7px 10px;font-size:13px}.btn.full{width:100%}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow);margin-bottom:20px}.card.wide{max-width:1100px}.card h2{margin:0 0 16px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.grid.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{display:block;font-size:28px;margin-top:8px}.stat.ok strong{color:var(--green)}.stat.danger strong{color:var(--red)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form{display:grid;gap:14px}.form label{font-weight:700;font-size:13px;color:#334155}.form label input,.form label select,.form label textarea{margin-top:7px}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.actions{display:flex;justify-content:flex-end;gap:10px}.filters{display:flex;gap:10px;align-items:center}.filters input{flex:1}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eaf2ff;color:var(--blue);font-weight:800;font-size:12px;padding:6px 10px;text-transform:uppercase}.pill.obra{background:#eaf2ff;color:#0b55d0}.pill.equipamento{background:#fff0f0;color:#d11f1f}.pill.servico{background:#eafaf0;color:#0f8a45}.detail-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#08245a,#1554b7);color:#fff;border-radius:26px;padding:28px;margin-bottom:18px;box-shadow:var(--shadow)}.detail-hero h2{margin:10px 0 6px;font-size:30px}.detail-hero p{margin:0;color:#dbeafe}.hero-actions{display:flex;gap:10px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:800;color:var(--muted);cursor:pointer}.tabs button.active{background:var(--blue2);color:#fff;border-color:var(--blue2)}.tab-panel{display:none}.tab-panel.active{display:block}.timeline{display:grid;gap:12px}.timeline-item{position:relative;display:grid;grid-template-columns:40px 1.2fr 160px 160px 160px 1fr 120px 100px;gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff}.timeline-item.done{border-color:#b6ebce;background:#f4fff8}.timeline-item.alert{border-color:#ffcfcf;background:#fff7f7}.timeline.small .timeline-item{display:block;padding:14px}.timeline.small .timeline-item strong,.timeline.small .timeline-item span,.timeline.small .timeline-item small{display:block}.phase-number{width:34px;height:34px;border-radius:12px;background:#eef5ff;color:var(--blue2);font-weight:900;display:grid;place-items:center}.phase-main strong{display:block}.check{display:flex!important;align-items:center;gap:8px;margin:0!important}.check input{width:auto;margin:0!important}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px}.flash{margin:0 0 18px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#eef5ff;color:var(--blue)}.flash.success{background:#effff5;color:#116b39;border-color:#bceccc}.flash.danger{background:#fff0f0;color:#ba1818;border-color:#ffd0d0}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#d9ebff,transparent 35%),linear-gradient(135deg,#071d42,#0b367b)}.login-card{width:min(440px,92vw);background:#fff;border-radius:28px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.login-card h1{margin:22px 0 8px}.login-card p{color:var(--muted);margin-bottom:20px}.login-brand .brand-mark{color:#fff}.print-page{background:#fff}.report{max-width:980px;margin:30px auto;background:#fff;padding:30px}.report header{border-bottom:3px solid var(--blue);padding-bottom:14px;margin-bottom:24px}.report header h1{margin:0;color:var(--blue)}.report header h2{margin:6px 0 0}.report footer{margin-top:28px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted)}
@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.grid.cards{grid-template-columns:repeat(2,1fr)}.two-cols{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr}.grid-form{grid-template-columns:1fr}.span-2{grid-column:span 1}.topbar{display:block}.filters{display:grid}.info-grid{grid-template-columns:1fr}}@media print{.sidebar,.topbar,.tabs,.no-print,.btn{display:none!important}.app-shell{display:block}.main{padding:0}.card,.stat,.detail-hero{box-shadow:none}.tab-panel{display:block!important}.report{margin:0;max-width:none}.print-page{background:#fff}}

/* Versão 02 */
.upload-box{border:1px dashed var(--line);border-radius:16px;padding:12px;background:#f8fbff;margin-top:10px}.upload-box summary{font-weight:800;cursor:pointer;color:var(--blue2)}.mini-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.mini-form label:nth-last-child(2){grid-column:span 2}.compact{padding:18px}.timeline-wrap{border:1px solid var(--line);border-radius:20px;padding:12px;background:#fff;margin-bottom:12px}.timeline-wrap.done{border-color:#a7e6c1;background:#f7fff9}.timeline-wrap .timeline-item{box-shadow:none;border:0}.phase-docs{padding:0 10px 10px 54px}.nested-upload{background:#f8fafc}.qr-mini{width:86px;height:86px;border:1px solid var(--line);border-radius:8px;padding:4px;background:#fff}.public-page{min-height:100vh;display:grid;place-items:center;background:#eef5ff;padding:20px}.public-card{width:min(760px,96vw);background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.brand.public{margin-bottom:16px}.qr-label{width:9cm;min-height:13cm;border:2px solid #111;border-radius:10px;padding:14px;text-align:center;margin:20px auto;font-family:Arial,sans-serif}.qr-label h1{font-size:24px;margin:0 0 10px}.qr-label img{width:220px;height:220px;margin:10px auto;display:block}.qr-label p{margin:7px 0}.public-card hr{border:0;border-top:1px solid var(--line);margin:18px 0}
@media(max-width:1100px){.mini-form{grid-template-columns:1fr}.mini-form label:nth-last-child(2){grid-column:span 1}.phase-docs{padding:0}}

/* Versão 03 */
.brand{align-items:flex-start}.brand strong{line-height:1.15}.brand small{line-height:1.3}.brand-mark{flex:0 0 46px}.dev-credit{font-size:12px;color:#b9cffb;text-align:right;opacity:.85;margin-top:-10px}.main-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#64748b;font-size:12px;padding:8px 4px 0;margin-top:auto}.main-footer strong{color:#0f3b82;letter-spacing:.04em}.pill.processo{background:#f3e8ff;color:#6b21a8}.pill.convenio{background:#fff7ed;color:#c2410c}.inline-filter{display:flex;align-items:center;gap:10px;font-weight:800;color:#334155}.inline-filter select{min-width:220px}.campo-convenio{transition:.2s}.list-table small{line-height:1.35}.exec-row td{background:#fff}.exec-doc-row td{border-bottom:2px solid var(--line)}

/* Versão 04 - pré-lançamento */
:root{--navy:#071b3d;--accent:#1d4ed8;--cyan:#0891b2;--gold:#b7791f;--soft:#f8fafc;--slate:#475569}
.sidebar{background:linear-gradient(180deg,#06152f,#0a2d62)}
.nav a{border:1px solid transparent}.nav a:hover{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.09)}
.user-box em{display:inline-block;margin-top:8px;font-style:normal;background:rgba(255,255,255,.12);padding:5px 8px;border-radius:999px;color:#dbeafe;font-size:12px}.stat.gradient{background:linear-gradient(135deg,#0f3b82,#1d4ed8);color:#fff}.stat.gradient span{color:#dbeafe}.dashboard-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:20px;margin-bottom:20px}.chart-card h2{margin-bottom:10px}.bar-chart{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:190px 1fr 50px;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;padding:12px;border-radius:16px;cursor:pointer;text-align:left}.bar-row:hover,.bar-row.selected,.mini-metric:hover,.mini-metric.selected,.status-chip:hover,.status-chip.selected{border-color:#1d4ed8;box-shadow:0 12px 30px rgba(29,78,216,.12)}.bar-track{height:16px;background:#edf2f7;border-radius:999px;overflow:hidden}.bar-track span{display:block;height:100%;background:linear-gradient(90deg,#1d4ed8,#06b6d4);border-radius:999px}.bar-label{font-weight:800;color:#1e293b}.donut-list,.status-grid{display:grid;gap:10px}.mini-metric,.status-chip{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.mini-metric b,.status-chip span{font-size:14px}.mini-metric strong,.status-chip strong{font-size:24px;color:#0f3b82}.dot{width:12px;height:12px;border-radius:99px;background:#64748b}.dot.obra{background:#1d4ed8}.dot.equipamento{background:#dc2626}.dot.servico{background:#16a34a}.table-scroll{overflow:auto}.danger-link{color:#b91c1c}.btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.btn.warning{background:#fff7ed;border-color:#fdba74;color:#9a3412}.hero-actions form{display:inline}.report-list-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.simple-report-list tr:hover td{background:#f8fbff}.memorando-card{border-left:5px solid #1d4ed8}.memorando-card.recebido{border-left-color:#16a34a}.memorando-card.enviado{border-left-color:#b7791f}.admin-note{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:16px;padding:12px}.page-break{page-break-before:always}.signature-box{margin-top:60px;text-align:center}.signature-line{border-top:1px solid #111;width:320px;margin:0 auto 8px}.report-pages{max-width:1100px;margin:0 auto}.report-page{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:32px;margin:0 0 22px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.report-page h2{color:#0f3b82;border-bottom:2px solid #dbeafe;padding-bottom:10px}.report-cover{background:linear-gradient(135deg,#071d42,#1554b7);color:#fff}.report-cover h1{font-size:34px;margin:10px 0}.report-cover p,.report-cover small{color:#dbeafe}.report-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px}.report-meta p{margin:6px 0}.report-actions{position:sticky;top:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px;margin:0 auto 16px;max-width:1100px;display:flex;justify-content:space-between;align-items:center;z-index:3}.badge-admin{background:#fef3c7;color:#92400e;padding:5px 8px;border-radius:99px;font-size:12px;font-weight:800}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr}.report-meta{grid-template-columns:1fr}}
@media print{body{background:#fff}.report-actions,.no-print{display:none!important}.report-pages{max-width:none}.report-page{border:0;box-shadow:none;border-radius:0;margin:0;min-height:270mm;page-break-after:always}.report-cover{background:#fff!important;color:#111}.report-cover p,.report-cover small{color:#333}.page-break{page-break-before:always}.signature-box{break-inside:avoid}}

/* Versão 05 - pré-lançamento */
.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#06152f,#0f3b82 55%,#0891b2);color:#fff;border-radius:24px;padding:26px;margin-bottom:20px;box-shadow:0 20px 50px rgba(15,59,130,.22)}
.dashboard-hero small{color:#bfdbfe;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.dashboard-hero h2{font-size:30px;margin:6px 0}.dashboard-hero p{color:#dbeafe;max-width:760px}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap}.interactive-stat{cursor:pointer;text-align:left}.enhanced-dashboard{grid-template-columns:1.7fr .75fr}.chart-tabs{display:flex;gap:6px;flex-wrap:wrap;background:#eef4ff;border:1px solid #dbeafe;border-radius:999px;padding:4px}.chart-tabs button{border:0;background:transparent;color:#1e3a8a;font-weight:900;padding:8px 12px;border-radius:999px;cursor:pointer}.chart-tabs button.active{background:#fff;box-shadow:0 4px 14px rgba(29,78,216,.16)}.dashboard-chart-mode{display:none}.dashboard-chart-mode.active{display:grid}.rich-bar{position:relative;overflow:hidden}.rich-bar::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,78,216,.06),rgba(6,182,212,.03));opacity:0;transition:.2s}.rich-bar:hover::before,.rich-bar.selected::before{opacity:1}.table-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.table-tools input{min-width:310px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.status-badge{display:inline-block;background:#f1f5f9;border:1px solid #e2e8f0;color:#334155;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.dashboard-table tbody tr{transition:.15s}.dashboard-table tbody tr:hover td{background:#f8fbff}.vertical-filter{display:grid;gap:10px}.guide-flow{display:grid;gap:10px;margin:12px 0}.guide-flow div{border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;padding:12px}.guide-flow b{display:block;color:#0f3b82}.guide-flow span{display:block;color:#64748b;margin-top:4px}.memorando-layout{align-items:start}.memorando-card{border-top:4px solid #1d4ed8}.memo-table td{vertical-align:top}.doc-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:2px solid #e2e8f0;padding-bottom:14px;margin-bottom:24px}.doc-logos{display:flex;align-items:center;gap:22px}.doc-logos img:first-child{width:250px;height:auto;object-fit:contain}.doc-logos img:last-child{width:165px;height:auto;object-fit:contain}.doc-title{text-align:right;color:#0f172a}.doc-title strong{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:#0f3b82}.doc-title span{display:block;font-size:11px;color:#64748b;margin-top:4px}.report-clean{background:#eef2f7}.clean-report .report-page{border-radius:8px;box-shadow:0 10px 30px rgba(15,23,42,.06);padding:28px 34px}.clean-report .report-page h2{font-size:20px;color:#0f3b82;border-bottom:1px solid #dbeafe;margin-top:0}.cover-page{background:#fff!important;color:#111!important}.cover-title{margin:62px 0 32px;text-align:center}.cover-title small{text-transform:uppercase;letter-spacing:.16em;color:#64748b;font-weight:900}.cover-title h1{font-size:30px;line-height:1.2;color:#0f172a;margin:12px auto;max-width:860px}.cover-title p{color:#0f3b82;font-weight:800}.clean-meta{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px 18px}.compact-meta{grid-template-columns:repeat(3,1fr)}.report-signature{margin:70px 0 10px;text-align:center;break-inside:avoid}.report-signature .signature-line{width:360px}.report-signature small{display:block;color:#475569;margin-top:4px}.qr-print-body{background:#fff}.qr-label-pro{width:10cm;min-height:14cm;border:2px solid #0f172a;border-radius:14px;padding:12px;margin:10px auto;background:#fff;color:#0f172a;font-family:Arial,sans-serif;box-shadow:0 8px 30px rgba(15,23,42,.08)}.qr-label-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #e2e8f0;padding-bottom:8px;margin-bottom:8px}.qr-label-head img:first-child{width:160px;object-fit:contain}.qr-label-head img:last-child{width:120px;object-fit:contain}.qr-label-title{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px;margin-bottom:10px}.qr-label-title small{font-weight:900;text-transform:uppercase;color:#0f3b82;letter-spacing:.08em}.qr-label-title h1{font-size:22px;margin:5px 0;color:#0f172a}.qr-label-title span{font-size:12px;color:#475569}.qr-main{display:grid;grid-template-columns:140px 1fr;gap:10px;align-items:start}.qr-main>img{width:140px;height:140px;border:1px solid #e2e8f0;border-radius:10px;padding:4px}.qr-data p{margin:0 0 6px;font-size:11px;line-height:1.25}.qr-label-foot{border-top:1px solid #e2e8f0;margin-top:10px;padding-top:8px;text-align:center}.qr-label-foot span{display:block;font-size:11px;font-weight:800;color:#0f3b82}.qr-label-foot small{display:block;font-size:8px;color:#64748b;word-break:break-all;margin-top:4px}.public-logo-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.public-logo-row img:first-child{width:260px}.public-logo-row img:last-child{width:160px}.status-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(135deg,#0f3b82,#1d4ed8);color:#fff;border-radius:16px;padding:14px 16px;margin:12px 0}.status-banner strong{font-size:18px}.status-banner span{background:rgba(255,255,255,.16);border-radius:999px;padding:6px 10px;font-weight:800}
@media(max-width:1100px){.dashboard-hero{align-items:flex-start;flex-direction:column}.enhanced-dashboard{grid-template-columns:1fr}.doc-header,.doc-logos,.public-logo-row{flex-direction:column;align-items:flex-start}.doc-title{text-align:left}.table-tools input{min-width:0;width:100%}.compact-meta{grid-template-columns:1fr}}
@media print{.clean-report .report-page{box-shadow:none;border:0;border-radius:0;min-height:267mm;page-break-after:always;padding:18mm 16mm}.doc-header{margin-bottom:16px}.doc-logos img:first-child{width:230px}.doc-logos img:last-child{width:155px}.qr-label-pro{box-shadow:none;margin:0 auto;page-break-inside:avoid}.qr-label-head img:first-child{width:150px}.qr-label-head img:last-child{width:115px}.qr-main{grid-template-columns:135px 1fr}.qr-main>img{width:135px;height:135px}}

/* Versão 06 - pré-lançamento financeiro */
.empenho-master-card{border:1px solid #bfdbfe;background:linear-gradient(180deg,#ffffff,#f8fbff);margin-bottom:20px}.compact-form{align-items:end}.empenho-table-wrap{margin-top:16px}.empenho-table th{background:#eff6ff;color:#1e3a8a}.empenho-selected-box{border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;align-items:center}.empenho-selected-box small{color:#64748b;font-weight:800}.empenho-selected-box strong{color:#0f3b82}.finance-resume{display:grid;gap:12px}.finance-resume div{border:1px solid #e2e8f0;border-radius:18px;padding:18px;background:#fff}.finance-resume span{display:block;color:#64748b;font-weight:800;font-size:12px;text-transform:uppercase}.finance-resume strong{display:block;font-size:26px;color:#0f3b82;margin-top:5px}.saldo-negativo td{background:#fff7f7!important}.dashboard-hero{background:linear-gradient(135deg,#06152f,#0b4fb3 58%,#0891b2);color:#fff;border:0}.dashboard-hero p,.dashboard-hero small{color:#dbeafe}.enhanced-dashboard .card,.dashboard-stats .stat{border:1px solid #dbeafe}.rich-bar{position:relative;overflow:hidden}.rich-bar::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,78,216,.04),rgba(8,145,178,.08));pointer-events:none}.dashboard-table-head input{border:1px solid #bfdbfe;background:#fff}.stat.interactive-stat:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(15,59,130,.14)}
.report-v06{background:#f1f5f9}.report-book{max-width:1120px;margin:0 auto 40px}.report-v06 .report-page{border:1px solid #dbe3ef;border-radius:20px;box-shadow:0 12px 34px rgba(15,23,42,.08);padding:34px 38px;margin:0 0 22px;background:#fff}.report-cover-v06{min-height:830px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 58%,#eff6ff 100%)}.cover-logo-row{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #0f3b82;padding-bottom:24px}.cover-logo-row img:first-child{width:265px;max-height:78px;object-fit:contain}.cover-logo-row img:last-child{width:300px;max-height:84px;object-fit:contain}.cover-kicker{text-transform:uppercase;letter-spacing:.12em;color:#1d4ed8;font-weight:900;margin-top:36px}.report-cover-v06 h1{font-size:42px;color:#071b3d;margin:18px 0 6px}.report-cover-v06 h2{font-size:30px;color:#0f3b82;margin:0 0 20px}.cover-badges{display:flex;gap:10px;flex-wrap:wrap}.cover-badges span{border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;padding:9px 13px;border-radius:999px;font-weight:900}.cover-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.cover-summary div,.report-metrics div{border:1px solid #dbeafe;background:#fff;border-radius:18px;padding:16px}.cover-summary small,.report-metrics span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.cover-summary strong,.report-metrics strong{display:block;color:#0f3b82;font-size:18px;margin-top:5px}.cover-footer{border-top:1px solid #cbd5e1;padding-top:16px;color:#475569;text-align:center;font-weight:700}.report-v06 .doc-header{border-bottom:2px solid #dbeafe;margin-bottom:22px;padding-bottom:16px}.report-v06 .doc-logos img{max-height:52px}.report-v06 h2{color:#071b3d;border-left:6px solid #1d4ed8;padding-left:12px;border-bottom:0;margin:14px 0 14px}.report-v06 h3{color:#0f3b82}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 24px}.report-metrics.compact{grid-template-columns:repeat(3,1fr)}.report-index-grid{display:grid;grid-template-columns:1fr 320px;gap:24px}.report-index-grid ol{margin:0;padding-left:22px;line-height:2}.report-observation{background:#f8fbff;border:1px solid #dbeafe;border-radius:18px;padding:18px}.report-text-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.report-table{font-size:12px}.report-table th{background:#0f3b82;color:#fff;border-color:#0f3b82}.report-table td{vertical-align:top}.report-signature{margin-top:70px;text-align:center;break-inside:avoid}.report-signature .signature-line{border-top:1px solid #111;width:360px;margin:0 auto 10px}.report-signature small{display:block;color:#475569;margin-top:4px}@media print{.report-v06{background:#fff}.report-book{max-width:none;margin:0}.report-v06 .report-page{box-shadow:none;border:0;border-radius:0;margin:0;min-height:277mm;page-break-after:always}.cover-logo-row img:first-child{width:230px}.cover-logo-row img:last-child{width:270px}.cover-summary{grid-template-columns:repeat(2,1fr)}.report-metrics{grid-template-columns:repeat(2,1fr)}.report-index-grid{grid-template-columns:1fr}.report-table{font-size:10.5px}}
.executive-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.executive-strip div{position:relative;overflow:hidden;border:1px solid #bfdbfe;border-radius:22px;padding:20px;background:linear-gradient(135deg,#fff,#eff6ff);box-shadow:0 10px 30px rgba(15,23,42,.06)}.executive-strip div::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:99px;background:rgba(29,78,216,.08)}.executive-strip span{display:block;color:#475569;font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.04em}.executive-strip strong{display:block;font-size:28px;color:#071b3d;margin:6px 0}.executive-strip small{color:#64748b}@media(max-width:1100px){.executive-strip{grid-template-columns:1fr 1fr}}@media(max-width:700px){.executive-strip{grid-template-columns:1fr}}


/* V07 - ajustes pré-lançamento: execução financeira, documentos internos, dashboard e relatórios */
.notice-soft{margin-top:14px;border:1px solid #bae6fd;background:#f0f9ff;color:#0c4a6e;border-radius:16px;padding:14px 16px;font-weight:700}.progress-cell{min-width:150px}.progress-cell strong{display:block;color:#0f3b82;margin-bottom:5px}.progress-cell span{display:block;height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress-cell span i{display:block;height:100%;background:linear-gradient(90deg,#1d4ed8,#22c55e);border-radius:999px}.progress-cell small{display:block;color:#64748b;margin-top:4px}.pill.documento{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.campo-documento-interno{display:none}.memo-report-v07 .report-table{font-size:10.5px}.report-v07 .report-page{border-top:8px solid #0f3b82}.report-v07 .report-title-block{border:1px solid #dbeafe;background:linear-gradient(135deg,#f8fbff,#ffffff);border-radius:20px;padding:22px;margin:18px 0 22px}.report-v07 .report-title-block h1{margin:0 0 8px;color:#071b3d;font-size:28px}.report-v07 .report-title-block p{margin:0;color:#334155;font-weight:700}.report-v07 .cover-summary{grid-template-columns:repeat(3,1fr)}@media print{.progress-cell span{border:1px solid #cbd5e1}.progress-cell span i{background:#1d4ed8}.report-v07 .report-page{border-top:6px solid #0f3b82}}


/* V10 - Rodapé institucional profissional */
.professional-footer{display:grid;grid-template-columns:1.1fr 2fr .8fr;gap:18px;align-items:start;margin-top:16px;padding:18px 20px;border:1px solid #dbe3ef;border-radius:20px;background:linear-gradient(135deg,#ffffff,#f8fbff);box-shadow:0 10px 26px rgba(15,23,42,.06);color:#334155;font-size:12px}.professional-footer .footer-brand strong{display:block;color:#0f3b82;font-size:14px}.professional-footer .footer-brand span{display:block;color:#64748b;margin-top:4px}.professional-footer .footer-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}.professional-footer .footer-contact span{display:block;color:#475569;line-height:1.35}.professional-footer .footer-right{text-align:right}.professional-footer .footer-right span{display:block;color:#64748b}.professional-footer .footer-right strong{display:block;color:#0f3b82;font-size:15px;margin-top:3px;letter-spacing:.02em}@media(max-width:980px){.professional-footer{grid-template-columns:1fr}.professional-footer .footer-contact{grid-template-columns:1fr}.professional-footer .footer-right{text-align:left}}@media print{.professional-footer{display:none}}


/* V11 - rodapé aplicado conforme modelo visual e login mais legível */
.login-card .login-brand small{
  color:#1d4ed8!important;
  font-weight:700;
  opacity:1;
  text-shadow:none;
}
.login-card .login-brand strong{
  color:#071b3d;
  font-weight:900;
}
.login-card .login-brand .brand-mark{
  background:linear-gradient(135deg,#1554b7,#0891b2);
  color:#fff;
  box-shadow:0 8px 22px rgba(21,84,183,.25);
}
.professional-footer.footer-dark{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1.05fr 1.55fr .8fr;
  align-items:center;
  gap:34px;
  margin-top:28px;
  padding:34px 42px;
  border:0;
  border-radius:22px;
  background:linear-gradient(135deg,#061827 0%,#071f34 48%,#082a48 100%);
  box-shadow:0 18px 42px rgba(2,10,22,.18);
  color:#e5f2ff;
  font-size:14px;
}
.professional-footer.footer-dark::before{
  content:"";
  position:absolute;
  left:0;top:0;right:0;height:7px;
  background:linear-gradient(90deg,#0b4860 0%,#0b4860 86%,#18c69a 86%,#18c69a 100%);
}
.professional-footer.footer-dark::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:1px;
  background:rgba(125,211,252,.12);
}
.professional-footer.footer-dark .footer-brand,
.professional-footer.footer-dark .footer-contact,
.professional-footer.footer-dark .footer-right{
  position:relative;
  z-index:1;
}
.professional-footer.footer-dark .footer-brand{padding-left:4px;}
.professional-footer.footer-dark .footer-brand strong{
  color:#fff;
  font-size:25px;
  line-height:1.18;
  letter-spacing:-.03em;
  display:block;
  max-width:250px;
}
.professional-footer.footer-dark .footer-brand .footer-accent{
  display:block;
  width:68px;
  height:3px;
  background:#22e6d0;
  margin:18px 0 18px;
  border-radius:999px;
}
.professional-footer.footer-dark .footer-brand span{
  display:block;
  color:#e6fbff;
  font-size:15px;
  line-height:1.45;
}
.professional-footer.footer-dark .footer-brand span b{
  color:#24e3cd;
  font-weight:700;
}
.professional-footer.footer-dark .footer-contact{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  padding-left:34px;
  border-left:1px solid rgba(34,211,238,.35);
}
.professional-footer.footer-dark .footer-contact span{
  display:grid;
  grid-template-columns:48px 1fr;
  align-items:center;
  gap:16px;
  color:#f8fbff;
  line-height:1.3;
  font-size:15px;
}
.professional-footer.footer-dark .footer-contact i{
  width:42px;height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-style:normal;
  color:#35fff0;
  background:rgba(8,145,178,.22);
  box-shadow:inset 0 0 0 1px rgba(34,211,238,.08);
}
.professional-footer.footer-dark .footer-right{
  min-height:160px;
  padding-left:34px;
  border-left:1px solid rgba(34,211,238,.35);
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  text-align:right;
}
.professional-footer.footer-dark .footer-right small{
  color:rgba(226,242,255,.72);
  font-size:13px;
  letter-spacing:.01em;
}
@media(max-width:1100px){
  .professional-footer.footer-dark{grid-template-columns:1fr;padding:28px;gap:24px}
  .professional-footer.footer-dark .footer-contact,
  .professional-footer.footer-dark .footer-right{border-left:0;padding-left:0;text-align:left;justify-content:flex-start;min-height:auto}
}
@media print{.professional-footer.footer-dark{display:none!important}}


/* V12 - rodapé compacto */
.professional-footer.footer-dark{
  min-height:150px!important;
  max-height:190px!important;
  padding:14px 22px!important;
  margin-top:14px!important;
  gap:14px!important;
  border-radius:18px!important;
}
.professional-footer.footer-dark .footer-brand strong{font-size:24px!important;line-height:1.15!important;}
.professional-footer.footer-dark .footer-brand .footer-accent{width:48px!important;margin:10px 0 12px!important;}
.professional-footer.footer-dark .footer-brand span{font-size:14px!important;line-height:1.25!important;}
.professional-footer.footer-dark .footer-contact{gap:8px!important;min-height:116px!important;}
.professional-footer.footer-dark .footer-contact span{font-size:14px!important;line-height:1.25!important;}
.professional-footer.footer-dark .footer-contact i{width:34px!important;height:34px!important;font-size:16px!important;}
.professional-footer.footer-dark .footer-right{min-height:116px!important;}
.professional-footer.footer-dark .footer-right small{font-size:12px!important;opacity:.75!important;}
.campo-valor-servico .service-value-label{font-weight:700;font-size:13px;color:#334155;display:block;margin-bottom:7px;}
.linked-services-list{display:grid;gap:8px;margin-top:10px}.linked-service-item{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.multi-select{min-height:150px}.notice-soft{background:#f8fbff;border:1px solid #dbeafe;border-radius:14px;padding:13px;color:#334155;margin-top:12px}


/* V13 - rodapé mais estreito e permissões de consulta */
.professional-footer.footer-dark{
  min-height:88px!important;
  max-height:115px!important;
  padding:10px 18px!important;
  margin-top:28px!important;
  gap:12px!important;
  align-items:center!important;
}
.professional-footer.footer-dark .footer-brand strong{font-size:18px!important;line-height:1.05!important;}
.professional-footer.footer-dark .footer-brand .footer-accent{width:42px!important;height:2px!important;margin:6px 0 8px!important;}
.professional-footer.footer-dark .footer-brand span{font-size:12px!important;line-height:1.18!important;}
.professional-footer.footer-dark .footer-contact{gap:5px 10px!important;min-height:72px!important;align-content:center!important;}
.professional-footer.footer-dark .footer-contact span{font-size:12px!important;line-height:1.15!important;}
.professional-footer.footer-dark .footer-contact i{width:25px!important;height:25px!important;font-size:12px!important;}
.professional-footer.footer-dark .footer-right{min-height:72px!important;align-items:flex-end!important;justify-content:center!important;}
.professional-footer.footer-dark .footer-right small{font-size:11px!important;opacity:.72!important;}
.role-consulta form,
.role-consulta a[href^="convenio_form.php"],
.role-consulta .btn.danger,
.role-consulta .edit-only{display:none!important;}
.role-consulta .download-form{display:block!important;}


/* V13.2 - ajuste final do rodapé */
html,body{height:100%;}
.app-shell{min-height:100vh;align-items:stretch;}
.main{height:100vh;min-height:100vh;display:flex;flex-direction:column;overflow:auto;}
.main-footer{margin-top:auto!important;flex-shrink:0;}
.professional-footer.footer-dark{
  width:100%;
  margin-top:auto!important;
  padding:12px 18px!important;
  gap:16px!important;
  grid-template-columns:0.95fr 1.6fr 0.8fr!important;
  align-items:center!important;
  border-radius:16px!important;
  font-size:11px!important;
  box-shadow:0 8px 18px rgba(2,10,22,.14)!important;
}
.professional-footer.footer-dark .footer-brand{padding-left:0!important;}
.professional-footer.footer-dark .footer-brand strong{
  font-size:15px!important;
  line-height:1.05!important;
  margin:0!important;
}
.professional-footer.footer-dark .footer-brand .footer-accent{
  width:38px!important;
  height:2px!important;
  margin:6px 0 7px!important;
}
.professional-footer.footer-dark .footer-brand span{
  font-size:11px!important;
  line-height:1.15!important;
}
.professional-footer.footer-dark .footer-contact{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px 10px!important;
  min-height:auto!important;
  align-content:center!important;
  border-left:1px solid rgba(64,208,255,.18)!important;
  padding-left:18px!important;
}
.professional-footer.footer-dark .footer-contact span{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  font-size:11px!important;
  line-height:1.15!important;
  white-space:normal!important;
}
.professional-footer.footer-dark .footer-contact i{
  width:22px!important;
  height:22px!important;
  font-size:11px!important;
  flex:0 0 22px!important;
}
.professional-footer.footer-dark .footer-right{
  min-height:auto!important;
  border-left:1px solid rgba(64,208,255,.18)!important;
  padding-left:18px!important;
  text-align:right!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
.professional-footer.footer-dark .footer-right small{
  font-size:10px!important;
  line-height:1.2!important;
  opacity:.8!important;
}
@media(max-width:980px){
  .main{height:auto;min-height:100vh;}
  .professional-footer.footer-dark{grid-template-columns:1fr!important;padding:16px!important;gap:12px!important;}
  .professional-footer.footer-dark .footer-contact,
  .professional-footer.footer-dark .footer-right{border-left:0!important;padding-left:0!important;text-align:left!important;justify-content:flex-start!important;}
  .professional-footer.footer-dark .footer-contact{grid-template-columns:1fr!important;}
}


/* QR PDF - relatório gerado pela leitura da etiqueta */
.qr-pdf-page{
  margin:0;
  background:#eaf0f7;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  color:#102033;
}
.qr-report-actions{
  max-width:980px;
  margin:18px auto 0;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.qr-report-page{
  max-width:980px;
  margin:18px auto 30px;
  background:#fff;
  border:1px solid #dbe3ef;
  border-radius:20px;
  box-shadow:0 16px 40px rgba(15,23,42,.10);
  padding:34px 38px;
}
.qr-report-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  border-bottom:3px solid #0f3b82;
  padding-bottom:14px;
  margin-bottom:24px;
}
.qr-report-header strong{
  display:block;
  color:#071d42;
  font-size:18px;
}
.qr-report-header span,.qr-report-date{
  display:block;
  color:#64748b;
  font-size:12px;
  margin-top:4px;
}
.qr-report-title{
  background:linear-gradient(135deg,#071d42,#0f3b82);
  color:#fff;
  border-radius:18px;
  padding:22px 24px;
  margin-bottom:18px;
}
.qr-report-title small{
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#7dd3fc;
  font-weight:900;
}
.qr-report-title h1{
  margin:8px 0 4px;
  font-size:30px;
}
.qr-report-title p{
  margin:0;
  color:#dbeafe;
}
.qr-report-status{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:18px 0 24px;
}
.qr-report-status div{
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:14px;
  padding:14px;
}
.qr-report-status span{
  display:block;
  color:#64748b;
  font-size:11px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.04em;
}
.qr-report-status strong{
  display:block;
  color:#0f3b82;
  margin-top:5px;
}
.qr-report-page h2{
  color:#071d42;
  font-size:18px;
  border-left:5px solid #1d4ed8;
  padding-left:10px;
  margin:24px 0 12px;
}
.qr-info-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px 18px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:14px 16px;
  background:#fff;
}
.qr-info-grid p{
  margin:4px 0;
  font-size:13px;
}
.qr-info-grid b{
  color:#334155;
}
.qr-note{
  margin-top:14px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:14px;
  font-size:13px;
}
.qr-report-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.qr-report-table th{
  background:#0f3b82;
  color:#fff;
  border:1px solid #0f3b82;
  padding:9px;
  text-align:left;
}
.qr-report-table td{
  border:1px solid #e2e8f0;
  padding:9px;
  vertical-align:top;
}
.qr-report-table small{
  color:#64748b;
}
.qr-report-footer{
  margin-top:26px;
  padding-top:12px;
  border-top:1px solid #cbd5e1;
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:#64748b;
  font-size:11px;
}
.no-print{}
@media(max-width:760px){
  .qr-report-page{margin:0;min-height:100vh;border-radius:0;padding:22px 16px;}
  .qr-report-actions{margin:10px 10px 0;}
  .qr-report-status,.qr-info-grid{grid-template-columns:1fr;}
  .qr-report-footer{display:block;}
}
@media print{
  .no-print{display:none!important;}
  .qr-pdf-page{background:#fff;}
  .qr-report-page{
    max-width:none;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    padding:16mm 14mm;
  }
  .qr-report-table{font-size:10.5px;}
  .qr-report-header{break-inside:avoid;}
}


/* V14 - cores de situação e relatórios filtrados */
.pill.status-critico{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca;}
.pill.status-atencao{background:#ffedd5!important;color:#9a3412!important;border:1px solid #fed7aa;}
.pill.status-andamento{background:#fef9c3!important;color:#854d0e!important;border:1px solid #fde68a;}
.pill.status-finalizado{background:#dcfce7!important;color:#166534!important;border:1px solid #bbf7d0;}
.pill.status-iniciado{background:#dbeafe!important;color:#1e40af!important;border:1px solid #bfdbfe;}
.status-row-critico td{background:#fff5f5;}
.status-row-atencao td{background:#fff7ed;}
.status-row-andamento td{background:#fefce8;}
.status-row-finalizado td{background:#f0fdf4;}
.status-row-iniciado td{background:#eff6ff;}
.filtered-report td{font-size:11px;}
.campo-eprotocolo{transition:.2s}
@media print{.no-print{display:none!important}.filtered-report td{font-size:10px}}


/* V14.1 - refinamento de filtros, botão PDF, rodapé e relatórios */
.process-filter-bar{
  display:grid!important;
  grid-template-columns:minmax(240px,1.4fr) minmax(170px,.75fr) minmax(150px,.6fr) minmax(170px,.7fr) auto!important;
  gap:10px!important;
  align-items:center!important;
}
.process-filter-bar input,
.process-filter-bar select{
  height:42px!important;
  border-radius:12px!important;
}
.filter-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  align-items:center;
  white-space:nowrap;
}
.report-filter-btn{
  padding:10px 14px!important;
  border-radius:12px!important;
  box-shadow:0 8px 18px rgba(29,78,216,.16);
}
.process-actions{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:nowrap;
}
.pdf-action-btn{
  min-width:104px;
  white-space:nowrap;
  border-radius:10px!important;
  padding:7px 10px!important;
  font-size:12px!important;
  box-shadow:0 6px 14px rgba(29,78,216,.16);
}

/* rodapé um pouco maior e mais legível, mantendo no fim da tela */
.professional-footer.footer-dark{
  padding:16px 22px!important;
  gap:20px!important;
  border-radius:18px!important;
  font-size:12px!important;
}
.professional-footer.footer-dark .footer-brand strong{
  font-size:17px!important;
  line-height:1.08!important;
}
.professional-footer.footer-dark .footer-brand span{
  font-size:12px!important;
  line-height:1.22!important;
}
.professional-footer.footer-dark .footer-contact{
  gap:6px 12px!important;
}
.professional-footer.footer-dark .footer-contact span{
  font-size:12px!important;
  line-height:1.18!important;
}
.professional-footer.footer-dark .footer-contact i{
  width:26px!important;
  height:26px!important;
  font-size:12px!important;
}
.professional-footer.footer-dark .footer-right small{
  font-size:11px!important;
}

/* Relatório filtrado mais elegante e proporcional */
.filtered-report-page{
  margin:0;
  background:#e8eef6;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  color:#0f172a;
}
.filtered-report-sheet{
  max-width:1120px;
  margin:22px auto;
  background:#fff;
  border:1px solid #dbe3ef;
  border-radius:20px;
  box-shadow:0 18px 46px rgba(15,23,42,.10);
  padding:28px 32px;
}
.filtered-report-header{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  border-bottom:3px solid #0f3b82;
  padding-bottom:16px;
  margin-bottom:18px;
}
.filtered-report-header small{
  display:block;
  color:#1d4ed8;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.12em;
  font-size:11px;
}
.filtered-report-header h1{
  margin:6px 0 3px;
  color:#071d42;
  font-size:27px;
  line-height:1.12;
}
.filtered-report-header p{
  margin:0;
  color:#64748b;
  font-size:13px;
}
.filtered-report-meta{
  min-width:110px;
  text-align:right;
  color:#64748b;
  font-size:12px;
}
.filtered-report-meta b{
  display:block;
  color:#0f3b82;
  font-size:15px;
}
.filtered-report-summary{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  margin:16px 0;
}
.filtered-report-summary div{
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:14px;
  padding:11px 12px;
}
.filtered-report-summary span{
  display:block;
  color:#64748b;
  text-transform:uppercase;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
}
.filtered-report-summary strong{
  display:block;
  margin-top:4px;
  font-size:20px;
  color:#0f3b82;
}
.filtered-report-summary .c-critico{color:#991b1b}
.filtered-report-summary .c-atencao{color:#9a3412}
.filtered-report-summary .c-andamento{color:#854d0e}
.filtered-report-summary .c-iniciado{color:#1e40af}
.filtered-report-summary .c-finalizado{color:#166534}
.filtered-report-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  align-items:center;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:10px 12px;
  margin-bottom:14px;
  color:#475569;
  font-size:12px;
}
.print-action{
  display:flex;
  justify-content:flex-end;
  margin:0 0 10px;
}
.filtered-report-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:11.5px;
  overflow:hidden;
  border:1px solid #dbe3ef;
  border-radius:14px;
}
.filtered-report-table th{
  background:#0f3b82;
  color:#fff;
  text-align:left;
  padding:9px 10px;
  font-size:10px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.filtered-report-table td{
  border-top:1px solid #e2e8f0;
  padding:8px 10px;
  vertical-align:top;
}
.filtered-report-table td small{
  display:block;
  margin-top:3px;
  color:#64748b;
  line-height:1.22;
}
.filtered-report-footer{
  margin-top:22px;
  padding-top:12px;
  border-top:1px solid #cbd5e1;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#64748b;
  font-size:11px;
}
.filtered-report-footer b{color:#0f3b82}

@media(max-width:1100px){
  .process-filter-bar{grid-template-columns:1fr 1fr!important}
  .filter-actions{justify-content:flex-start}
  .filtered-report-summary{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .process-filter-bar{grid-template-columns:1fr!important}
  .process-actions{flex-direction:column;align-items:stretch}
  .pdf-action-btn{min-width:0;width:100%}
  .filtered-report-sheet{margin:0;border-radius:0;padding:20px 14px}
  .filtered-report-summary{grid-template-columns:repeat(2,1fr)}
  .filtered-report-header,.filtered-report-footer{display:block}
  .filtered-report-meta{text-align:left;margin-top:10px}
}
@media print{
  @page{size:A4 landscape;margin:10mm}
  .filtered-report-page{background:#fff}
  .filtered-report-sheet{
    max-width:none;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    padding:0;
  }
  .filtered-report-header{
    padding-bottom:10px;
    margin-bottom:10px;
  }
  .filtered-report-header h1{font-size:20px}
  .filtered-report-header p{font-size:10.5px}
  .filtered-report-summary{
    grid-template-columns:repeat(6,1fr);
    gap:6px;
    margin:8px 0;
  }
  .filtered-report-summary div{padding:6px 8px;border-radius:9px}
  .filtered-report-summary span{font-size:8.5px}
  .filtered-report-summary strong{font-size:14px}
  .filtered-report-filters{
    font-size:9.5px;
    padding:6px 8px;
    margin-bottom:8px;
  }
  .filtered-report-table{
    font-size:8.6px;
    border-radius:0;
  }
  .filtered-report-table th{
    font-size:8px;
    padding:5px 6px;
  }
  .filtered-report-table td{
    padding:5px 6px;
  }
  .filtered-report-table td small{font-size:8px}
  .filtered-report-footer{font-size:9px;margin-top:10px;padding-top:6px}
}


/* V14.2 - relatório padrão limpo/profissional */
.clean-report-body{
  margin:0;
  background:#e9eef6;
  color:#0f172a;
  font-family:Inter,Segoe UI,Arial,sans-serif;
}
.clean-report-toolbar{
  max-width:900px;
  margin:14px auto 0;
  display:flex;
  justify-content:flex-end;
}
.clean-report-page{
  width:900px;
  min-height:1180px;
  margin:14px auto 26px;
  background:#fff;
  border:1px solid #d8e0ed;
  border-radius:18px;
  box-shadow:0 18px 44px rgba(15,23,42,.12);
  padding:30px 34px;
}
.clean-report-header{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:flex-start;
  border-bottom:2px solid #0f3b82;
  padding-bottom:16px;
  margin-bottom:18px;
}
.clean-kicker{
  color:#1d4ed8;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.clean-report-header h1{
  margin:5px 0 3px;
  color:#071d42;
  font-size:24px;
  line-height:1.1;
}
.clean-report-header p{
  margin:0;
  color:#64748b;
  font-size:12px;
}
.clean-report-date{
  text-align:right;
  color:#64748b;
  font-size:11px;
}
.clean-report-date strong{
  display:block;
  color:#0f3b82;
  font-size:14px;
}
.clean-report-box{
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:14px 16px;
  margin-bottom:14px;
  background:#fff;
}
.clean-report-box h2{
  margin:0 0 10px;
  color:#0f3b82;
  font-size:15px;
  line-height:1.2;
}
.clean-filter-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 18px;
}
.clean-filter-grid p{
  margin:0;
  color:#334155;
  font-size:11.5px;
}
.clean-summary-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
  margin-bottom:14px;
}
.clean-summary-grid div{
  border:1px solid #dbeafe;
  border-radius:12px;
  padding:9px 10px;
  background:#f8fbff;
}
.clean-summary-grid span{
  display:block;
  color:#64748b;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.04em;
  font-size:9px;
}
.clean-summary-grid strong{
  display:block;
  font-size:17px;
  margin-top:3px;
  color:#0f3b82;
}
.clean-summary-grid .c-critico{color:#991b1b}
.clean-summary-grid .c-atencao{color:#9a3412}
.clean-summary-grid .c-andamento{color:#854d0e}
.clean-summary-grid .c-iniciado{color:#1e40af}
.clean-summary-grid .c-finalizado{color:#166534}
.clean-process-list{
  display:grid;
  gap:10px;
}
.clean-process-item{
  border:1px solid #e2e8f0;
  border-left:6px solid #1e40af;
  border-radius:13px;
  padding:11px 13px;
  background:#fff;
  break-inside:avoid;
}
.status-border-critico{border-left-color:#dc2626!important}
.status-border-atencao{border-left-color:#ea580c!important}
.status-border-andamento{border-left-color:#ca8a04!important}
.status-border-iniciado{border-left-color:#2563eb!important}
.status-border-finalizado{border-left-color:#16a34a!important}
.clean-process-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:8px;
}
.clean-process-top strong{
  color:#0f172a;
  font-size:13px;
  line-height:1.2;
}
.clean-process-number{
  display:inline-flex;
  width:24px;
  height:24px;
  border-radius:8px;
  align-items:center;
  justify-content:center;
  background:#eff6ff;
  color:#1e40af;
  font-weight:900;
  font-size:10px;
  margin-right:8px;
}
.clean-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  border-radius:999px;
  padding:5px 8px;
  font-size:9.5px;
  font-weight:900;
}
.status-bg-critico{background:#fee2e2;color:#991b1b}
.status-bg-atencao{background:#ffedd5;color:#9a3412}
.status-bg-andamento{background:#fef9c3;color:#854d0e}
.status-bg-iniciado{background:#dbeafe;color:#1e40af}
.status-bg-finalizado{background:#dcfce7;color:#166534}
.clean-process-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px 18px;
}
.clean-process-grid p{
  margin:0;
  color:#334155;
  font-size:10.8px;
  line-height:1.25;
}
.clean-process-desc{
  margin:8px 0 0;
  padding-top:7px;
  border-top:1px dashed #cbd5e1;
  color:#475569;
  font-size:10.7px;
  line-height:1.35;
}
.clean-report-footer{
  margin-top:28px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-end;
  color:#64748b;
  font-size:10px;
  break-inside:avoid;
}
.clean-report-footer .signature-line{
  width:260px;
  border-top:1px solid #111;
  margin-bottom:6px;
}
.clean-report-footer strong{
  display:block;
  color:#0f172a;
  font-size:11px;
}
.clean-report-footer span{
  display:block;
  color:#475569;
}
.clean-report-footer small{
  max-width:320px;
  text-align:right;
  line-height:1.3;
}

@media(max-width:980px){
  .clean-report-page{width:auto;margin:0;border-radius:0;padding:22px 16px}
  .clean-report-toolbar{margin:10px 10px 0}
  .clean-summary-grid{grid-template-columns:repeat(2,1fr)}
  .clean-filter-grid,.clean-process-grid{grid-template-columns:1fr}
  .clean-report-header,.clean-process-top,.clean-report-footer{display:block}
  .clean-report-date{text-align:left;margin-top:8px}
  .clean-status{margin-top:8px}
  .clean-report-footer small{text-align:left;display:block;margin-top:12px}
}
@media print{
  @page{size:A4 portrait;margin:12mm}
  .no-print,.clean-report-toolbar{display:none!important}
  .clean-report-body{background:#fff}
  .clean-report-page{
    width:auto;
    min-height:auto;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .clean-report-header{
    padding-bottom:9px;
    margin-bottom:10px;
  }
  .clean-kicker{font-size:8.5px}
  .clean-report-header h1{font-size:18px}
  .clean-report-header p{font-size:9.5px}
  .clean-report-date{font-size:9px}
  .clean-report-date strong{font-size:11px}
  .clean-report-box{
    padding:8px 10px;
    margin-bottom:8px;
    border-radius:8px;
  }
  .clean-report-box h2{font-size:11.5px;margin-bottom:6px}
  .clean-filter-grid p{font-size:8.8px}
  .clean-summary-grid{
    grid-template-columns:repeat(6,1fr);
    gap:5px;
    margin-bottom:8px;
  }
  .clean-summary-grid div{
    padding:5px 6px;
    border-radius:8px;
  }
  .clean-summary-grid span{font-size:7.2px}
  .clean-summary-grid strong{font-size:12px}
  .clean-process-list{gap:6px}
  .clean-process-item{
    padding:7px 8px;
    border-left-width:4px;
    border-radius:8px;
  }
  .clean-process-top{margin-bottom:5px}
  .clean-process-top strong{font-size:9.8px}
  .clean-process-number{
    width:18px;
    height:18px;
    border-radius:6px;
    font-size:7.5px;
    margin-right:5px;
  }
  .clean-status{
    padding:3px 6px;
    font-size:7.3px;
  }
  .clean-process-grid{
    gap:3px 12px;
  }
  .clean-process-grid p{
    font-size:8.2px;
    line-height:1.18;
  }
  .clean-process-desc{
    margin-top:5px;
    padding-top:4px;
    font-size:8px;
    line-height:1.2;
  }
  .clean-report-footer{
    margin-top:16px;
    font-size:8.5px;
  }
  .clean-report-footer .signature-line{
    width:220px;
    margin-bottom:5px;
  }
  .clean-report-footer strong{font-size:9px}
}


/* V14.3 - tela de processos: ações proporcionais, sem PDF na listagem */
.process-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.process-actions .btn.small,
.process-actions .delete-inline .btn.small{
  min-width:64px!important;
  height:31px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  font-size:11px!important;
  line-height:31px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.process-actions .delete-inline{
  display:inline-flex!important;
  margin:0!important;
}
.process-actions .action-delete{
  background:#ef4444!important;
  color:#fff!important;
  border-color:#ef4444!important;
}
.process-actions .action-open{
  background:#fff!important;
}

/* V14.3 - Relatório em padrão limpo tipo ABNT */
.abnt-report-body{
  margin:0;
  background:#e9eef6;
  color:#111827;
  font-family:Arial, "Times New Roman", sans-serif;
}
.abnt-toolbar{
  width:210mm;
  margin:12px auto 0;
  display:flex;
  justify-content:flex-end;
}
.abnt-page{
  width:210mm;
  min-height:297mm;
  box-sizing:border-box;
  margin:12px auto 28px;
  background:#fff;
  padding:30mm 20mm 20mm 30mm; /* ABNT: esquerda/topo maiores */
  border:1px solid #d9e1ec;
  box-shadow:0 18px 44px rgba(15,23,42,.12);
}
.abnt-cover{
  text-align:center;
  margin-bottom:20mm;
}
.abnt-org{
  margin:0 0 2mm;
  font-size:12pt;
  font-weight:bold;
  text-transform:uppercase;
}
.abnt-system{
  margin:7mm 0 0;
  font-size:11pt;
  text-transform:uppercase;
}
.abnt-cover h1{
  margin:28mm 0 18mm;
  font-size:14pt;
  line-height:1.35;
  text-transform:uppercase;
}
.abnt-meta{
  text-align:left;
  width:100%;
  border:1px solid #cbd5e1;
  padding:8mm;
  box-sizing:border-box;
  font-size:11pt;
}
.abnt-meta p{
  margin:0 0 3mm;
  line-height:1.5;
}
.abnt-section{
  margin:0 0 9mm;
  break-inside:auto;
}
.abnt-section h2{
  margin:0 0 4mm;
  font-size:12pt;
  line-height:1.5;
  text-transform:uppercase;
  color:#111827;
}
.abnt-table{
  width:100%;
  border-collapse:collapse;
  font-size:10.5pt;
  margin:0 0 4mm;
}
.abnt-table th,
.abnt-table td{
  border:1px solid #9ca3af;
  padding:2.4mm 2.6mm;
  text-align:left;
  vertical-align:top;
  line-height:1.35;
}
.abnt-table th{
  background:#f3f4f6;
  font-weight:bold;
}
.abnt-criteria th{
  width:34%;
}
.abnt-summary th,
.abnt-summary td{
  text-align:center;
}
.abnt-note{
  margin:1mm 0 0;
  font-size:10pt;
  line-height:1.5;
}
.abnt-empty{
  font-size:11pt;
  line-height:1.5;
}
.abnt-process{
  border-left:5px solid #1d4ed8;
  padding-left:4mm;
  margin:0 0 6mm;
  break-inside:avoid;
}
.abnt-process h3{
  margin:0 0 3mm;
  font-size:11.5pt;
  line-height:1.35;
  color:#111827;
}
.abnt-process-table th{
  width:18%;
}
.abnt-process-table td{
  width:32%;
}
.abnt-status{
  display:inline-block;
  font-weight:bold;
  border-radius:3mm;
  padding:1mm 2.4mm;
  font-size:9.5pt;
}
.abnt-left-critico{border-left-color:#dc2626}
.abnt-left-atencao{border-left-color:#ea580c}
.abnt-left-andamento{border-left-color:#ca8a04}
.abnt-left-iniciado{border-left-color:#2563eb}
.abnt-left-finalizado{border-left-color:#16a34a}
.abnt-status-critico,.abnt-critico{background:#fee2e2;color:#991b1b}
.abnt-status-atencao,.abnt-atencao{background:#ffedd5;color:#9a3412}
.abnt-status-andamento,.abnt-andamento{background:#fef9c3;color:#854d0e}
.abnt-status-iniciado,.abnt-iniciado{background:#dbeafe;color:#1e40af}
.abnt-status-finalizado,.abnt-finalizado{background:#dcfce7;color:#166534}
.abnt-footer{
  margin-top:18mm;
  break-inside:avoid;
  font-size:10.5pt;
  line-height:1.5;
}
.abnt-signature{
  width:75mm;
  margin:18mm auto 8mm;
  text-align:center;
}
.abnt-signature div{
  border-top:1px solid #111;
  margin-bottom:2mm;
}
.abnt-signature strong,
.abnt-signature span{
  display:block;
}
.abnt-footer p{
  text-align:justify;
  margin:0;
}

@media(max-width:900px){
  .abnt-toolbar{width:auto;margin:10px}
  .abnt-page{
    width:auto;
    min-height:auto;
    margin:0;
    padding:22px 16px;
    border:0;
    box-shadow:none;
  }
  .abnt-cover h1{margin:32px 0 24px}
  .abnt-process-table,
  .abnt-process-table tbody,
  .abnt-process-table tr,
  .abnt-process-table th,
  .abnt-process-table td{
    display:block;
    width:100%!important;
  }
}
@media print{
  @page{size:A4 portrait;margin:30mm 20mm 20mm 30mm}
  .no-print,.abnt-toolbar{display:none!important}
  .abnt-report-body{background:#fff}
  .abnt-page{
    width:auto;
    min-height:auto;
    margin:0;
    padding:0;
    border:0;
    box-shadow:none;
  }
  .abnt-cover{page-break-after:auto;margin-bottom:14mm}
  .abnt-cover h1{margin:20mm 0 14mm;font-size:14pt}
  .abnt-section h2{font-size:12pt}
  .abnt-meta{font-size:10.5pt;padding:6mm}
  .abnt-table{font-size:9.5pt}
  .abnt-table th,.abnt-table td{padding:1.8mm 2mm;line-height:1.25}
  .abnt-process{margin-bottom:4mm;padding-left:3mm;border-left-width:4px}
  .abnt-process h3{font-size:10.5pt;margin-bottom:2mm}
  .abnt-status{font-size:8.5pt;padding:.7mm 2mm}
  .abnt-note,.abnt-empty,.abnt-footer{font-size:9.5pt}
}
