:root{
  --navy:#0a2342;--navy2:#123a63;--blue:#1873b8;--cyan:#2aa6c7;--ink:#152033;--muted:#6b778b;
  --bg:#f1f5f9;--panel:#fff;--line:#dbe3ec;--soft:#eaf4fb;--yellow:#fff6dc;--yellow-line:#e5cf78;
  --green:#2d7a4f;--green-bg:#e7f5ed;--red:#b42318;--red-bg:#fff0ee;--gold:#c9962b;
  --s1:#0f6db4;--s2:#2aa6c7;--s3:#7cc7d8;--s4:#efb54a;--s5:#6b7f96;--shadow:0 18px 46px rgba(10,35,66,.09);--radius:20px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}.app{display:grid;grid-template-columns:290px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:radial-gradient(circle at top left,#174d7f 0,#0a2342 45%,#071a31 100%);color:#fff;padding:27px 18px;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:12px;padding:0 8px}.brand-orbit{width:48px;height:48px;border-radius:15px;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 5px rgba(255,255,255,.03)}.brand-orbit span{font-weight:900;letter-spacing:.04em}.brand strong,.brand small{display:block}.brand strong{font-size:14px}.brand small{font-size:11px;color:#b8cce0;margin-top:3px}
.side-summary{margin:25px 0 18px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.04));border-radius:16px;padding:16px}.side-summary span,.side-summary strong,.side-summary small{display:block}.side-summary span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#b8cce0}.side-summary strong{font-size:22px;margin:8px 0 5px}.side-summary small{font-size:11px;color:#d6e1eb}
nav{display:grid;gap:5px}.nav-item{width:100%;border:0;background:transparent;color:#d8e3ed;border-radius:13px;padding:10px 11px;display:flex;gap:11px;align-items:center;text-align:left;cursor:pointer}.nav-item i{font-style:normal;font-size:10px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.23);display:grid;place-items:center}.nav-item b,.nav-item small{display:block}.nav-item b{font-size:12px}.nav-item small{font-size:10px;color:#a9bed1;margin-top:2px}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.11);color:#fff}.nav-item.active i{background:#fff;color:var(--navy);border-color:#fff}.side-method{margin-top:auto;padding:12px 8px;display:flex;gap:10px;align-items:center}.method-badge{padding:8px 10px;border-radius:9px;background:#fff;color:var(--navy);font-weight:900;font-size:11px}.side-method b,.side-method small{display:block}.side-method b{font-size:11px}.side-method small{font-size:9px;color:#a9bed1;margin-top:2px}
main{padding:28px 40px 22px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--blue);font-weight:850}h1{margin:5px 0 0;font-size:30px;letter-spacing:-.03em}.top-actions,.panel-actions{display:flex;gap:9px;align-items:center}.file-btn input{display:none}.btn{border:0;border-radius:11px;padding:10px 14px;font-weight:750;cursor:pointer;transition:.16s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--blue),#0d5e9e);color:#fff;box-shadow:0 9px 20px rgba(24,115,184,.22)}.btn.subtle{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.small{font-size:11px;padding:8px 10px}
.official-strip{margin:20px 0;display:flex;gap:12px;align-items:center;padding:13px 15px;background:linear-gradient(90deg,#e8f4fb,#f4f9fd);border:1px solid #cfe3f1;border-radius:14px}.official-icon{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900}.official-strip strong,.official-strip span{display:block}.official-strip strong{font-size:12px}.official-strip span{font-size:12px;color:#53677a;margin-top:2px}
.screen{display:none}.screen.active{display:block}.dashboard-hero{display:grid;grid-template-columns:1fr 220px;align-items:center;background:linear-gradient(135deg,#0a2342 0%,#124879 58%,#1974ad 100%);border-radius:23px;padding:34px 38px;color:#fff;box-shadow:0 22px 55px rgba(10,35,66,.18)}.hero-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#c7dfef}.dashboard-hero>div>strong{display:block;font-size:52px;letter-spacing:-.045em;margin:8px 0}.dashboard-hero p{margin:0;color:#d9e8f3}.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.hero-tags span{font-size:11px;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1)}
.hero-gauge{position:relative;width:180px;height:180px;margin-left:auto}.hero-gauge svg{width:100%;height:100%;transform:rotate(-90deg)}.gauge-track,.gauge{fill:none;stroke-width:17}.gauge-track{stroke:rgba(255,255,255,.13)}.gauge{stroke-linecap:round;transition:.35s}.gauge.labor{stroke:#fff}.gauge.costs{stroke:#6fd1df}.gauge.taxes{stroke:#f2bd58}.gauge-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.gauge-center span,.gauge-center strong{display:block}.gauge-center span{font-size:10px;text-transform:uppercase;color:#cce0ee}.gauge-center strong{font-size:25px;margin-top:4px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px 18px;box-shadow:0 7px 20px rgba(10,35,66,.04)}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.metric-card strong{font-size:20px;color:var(--navy);margin:8px 0 3px}.metric-card small{font-size:10px;color:#8491a2}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:16px}.full-panel{grid-column:1/-1}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.panel-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-weight:850}.panel-head h3{margin:5px 0 0;font-size:17px}.legend-note{font-size:10px;color:var(--muted)}
.donut-layout{display:grid;grid-template-columns:230px 1fr;align-items:center}.donut-wrap{position:relative;width:220px;height:220px}.donut-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-bg,.donut-seg{fill:none;stroke-width:24}.donut-bg{stroke:#e8edf3}.donut-seg{stroke-linecap:butt;transition:.35s}.seg1{stroke:var(--s1)}.seg2{stroke:var(--s2)}.seg3{stroke:var(--s3)}.seg4{stroke:var(--s4)}.seg5{stroke:var(--s5)}.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.donut-center span{font-size:10px;text-transform:uppercase;color:var(--muted)}.donut-center strong{font-size:17px;margin-top:5px}.legend-list{display:grid;gap:10px}.legend-item{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;font-size:11px}.legend-dot{width:10px;height:10px;border-radius:3px}.legend-item span{color:var(--muted)}.legend-item strong{font-size:11px}
.bars{display:grid;gap:15px}.bar-item{display:grid;grid-template-columns:125px 1fr 70px;gap:10px;align-items:center;font-size:11px}.bar-track{height:12px;background:#e8edf3;border-radius:999px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan))}.bar-item strong{text-align:right}
.sensitivity-chart{height:240px}.sensitivity-chart svg{width:100%;height:100%}.axis{stroke:#cbd5e1;stroke-width:1}.sensitivity-line{fill:none;stroke:var(--blue);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.sens-point{fill:#fff;stroke:var(--blue);stroke-width:3}.sens-label{font-size:11px;fill:#607086}.sens-value{font-size:10px;fill:#17324d;font-weight:700}
.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:24px 0 15px}.section-header>div>span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-weight:850}.section-header h2{font-size:24px;margin:5px 0}.section-header p{font-size:13px;color:var(--muted);margin:0}.status-pill,.warning-pill{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:8px 10px}.status-pill{background:var(--yellow);color:#7b5a0a}.warning-pill{background:var(--red-bg);color:var(--red)}.live-result{padding:11px 14px;border-radius:13px;background:var(--green-bg);border:1px solid #b8dec7;min-width:150px}.live-result span,.live-result strong{display:block}.live-result span{font-size:9px;text-transform:uppercase;color:var(--green)}.live-result strong{font-size:18px;margin-top:4px}
.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.full{grid-column:1/-1}.form-stack{display:grid;gap:13px}.field{display:grid;gap:7px}.field>span{font-size:12px;font-weight:750;color:#344054}.field input,.field select,.field textarea{width:100%;border:1px solid var(--yellow-line);background:var(--yellow);border-radius:10px;padding:10px 11px;color:var(--ink);outline:none}.input-unit{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--yellow-line);background:var(--yellow);border-radius:10px;overflow:hidden}.input-unit input{border:0;background:transparent;border-radius:0}.input-unit em{font-style:normal;font-size:10px;color:var(--muted);padding:0 11px;white-space:nowrap}.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(24,115,184,.12)}
.table-panel{padding:0;overflow:hidden}.table-title{padding:18px 20px 0}.table-wrap{overflow:auto}table{width:100%;min-width:850px;border-collapse:collapse}th{background:var(--navy);color:#fff;text-align:left;font-size:10px;padding:12px}td{padding:9px 11px;border-top:1px solid var(--line);font-size:11px}tbody tr:nth-child(even){background:#f8fafc}table input,table select{width:100%;min-width:64px;border:1px solid var(--yellow-line);background:var(--yellow);border-radius:8px;padding:7px}table input[type=checkbox]{width:17px;height:17px;min-width:0;accent-color:var(--blue)}.td-result{text-align:right;font-weight:850;color:var(--navy);white-space:nowrap}.delete-btn{border:0;background:none;color:var(--red);cursor:pointer;font-size:18px}
.summary-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.summary-row.two{grid-template-columns:repeat(2,minmax(0,280px));justify-content:end}.summary-row article,.formula-flow article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}.summary-row span,.summary-row strong,.formula-flow span,.formula-flow strong{display:block}.summary-row span,.formula-flow span{font-size:10px;color:var(--muted)}.summary-row strong,.formula-flow strong{font-size:16px;margin-top:5px}.summary-row .accent,.formula-flow .accent{background:var(--green-bg);border-color:#b8dec7;color:var(--green)}
.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formula-flow{display:flex;gap:10px;align-items:stretch}.formula-flow article{flex:1}.formula-flow i{align-self:center;color:#98a2b3}.proposal-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#0a2342,#1974ad);color:#fff;border-radius:20px;padding:28px 32px;margin-bottom:16px}.proposal-banner span,.proposal-banner strong,.proposal-banner small{display:block}.proposal-banner>div>span{font-size:10px;text-transform:uppercase;color:#cfe3f1}.proposal-banner>div>strong{font-size:42px;margin:7px 0}.proposal-banner>div>small{color:#dbe9f2}.proposal-seal{width:86px;height:86px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.08)}.proposal-seal span{font-size:20px;font-weight:900}.proposal-seal small{font-size:9px;margin-top:2px}.proposal-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px}.calc-list{margin:0}.calc-list div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}.calc-list div:last-child{border-bottom:0}.calc-list dt{font-size:11px;color:var(--muted)}.calc-list dd{margin:0;font-size:11px;font-weight:850}.panel textarea{width:100%;min-height:175px;border:1px solid var(--line);background:#f8fafc;border-radius:11px;padding:13px;resize:vertical;line-height:1.55;color:#344054}
.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reference{background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:15px;padding:20px}.reference.official{border-left-color:var(--green)}.reference.premise{border-left-color:var(--gold)}.reference.limitation{border-left-color:var(--red)}.reference>span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--muted)}.reference h3{font-size:16px;margin:8px 0}.reference p{font-size:12px;line-height:1.5;color:var(--muted)}.reference a{font-size:11px;color:var(--blue);font-weight:850;text-decoration:none}.legal-callout{margin-top:15px;background:var(--red-bg);border:1px solid #f6c2bb;border-radius:14px;padding:17px}.legal-callout strong{color:var(--red)}.legal-callout p{font-size:12px;line-height:1.5;color:#74433e;margin:6px 0 0}
.wizard-footer{display:flex;align-items:center;gap:14px;margin-top:20px}.progress{height:7px;border-radius:999px;background:#dfe6ee;overflow:hidden;flex:1}.progress span{display:block;height:100%;width:14.28%;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:.25s}.toast{position:fixed;right:22px;bottom:22px;background:var(--ink);color:#fff;padding:11px 14px;border-radius:10px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:none}
@media(max-width:1100px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(4,1fr)}.side-method{display:none}main{padding:24px}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar nav{display:flex;overflow:auto}.nav-item{min-width:165px}.topbar{display:block}.top-actions{margin-top:14px;flex-wrap:wrap}.dashboard-hero{grid-template-columns:1fr;padding:26px}.hero-gauge{margin:20px auto 0}.dashboard-grid,.form-columns,.proposal-grid,.reference-grid,.form-grid.two,.form-grid.four{grid-template-columns:1fr}.full-panel{grid-column:auto}.metric-grid{grid-template-columns:1fr 1fr}.donut-layout{grid-template-columns:1fr}.donut-wrap{margin:auto}.summary-row{grid-template-columns:1fr 1fr}.formula-flow{display:grid;grid-template-columns:1fr 1fr}.formula-flow i{display:none}.section-header{display:block}.live-result,.status-pill,.warning-pill{display:inline-block;margin-top:12px}.dashboard-hero>div>strong{font-size:38px}.proposal-banner>div>strong{font-size:32px}.wizard-footer{position:sticky;bottom:0;background:var(--bg);padding:10px 0}.sensitivity-chart{overflow:auto}.sensitivity-chart svg{min-width:700px}}
@media print{.sidebar,.topbar,.official-strip,.wizard-footer,.btn{display:none!important}.app{display:block}main{padding:0}.screen{display:none!important}.screen[data-screen="5"]{display:block!important}.panel,.proposal-banner{box-shadow:none;break-inside:avoid}.proposal-banner{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* V4 — legibilidade reforçada */
.dashboard-hero>div>strong{font-size:62px}
.hero-label{font-size:13px}.dashboard-hero p{font-size:16px}
.hero-tags span{font-size:13px;padding:8px 12px}
.metric-card span{font-size:12px}.metric-card strong{font-size:25px}.metric-card small{font-size:12px}
.panel-kicker{font-size:12px}.panel-head h3{font-size:20px}.legend-note{font-size:12px}
.legend-item,.bar-item{font-size:13px}.legend-item strong{font-size:13px}
.bar-item{grid-template-columns:150px 1fr 86px}.bar-item strong{font-size:13px}
.sens-label{font-size:13px}.sens-value{font-size:12px}
.official-strip strong{font-size:14px}.official-strip span{font-size:13px}
.side-summary strong{font-size:24px}
.memorial-intro{display:flex;align-items:center;gap:15px;background:linear-gradient(90deg,#eaf4fb,#f8fbfd);border:1px solid #cfe3f1;border-radius:16px;padding:17px 19px;margin-bottom:16px}
.memorial-icon{width:45px;height:45px;border-radius:14px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800}.memorial-intro strong{font-size:15px}.memorial-intro p{font-size:12px;color:var(--muted);margin:4px 0 0}
.memorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.memorial-list{display:grid;gap:0}.memorial-line{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.memorial-line:last-child{border-bottom:0}.memorial-line span{font-size:12px;color:var(--muted)}.memorial-line strong{font-size:12px;text-align:right}.memorial-line.total{background:var(--green-bg);margin:7px -10px -4px;padding:12px 10px;border-radius:10px;color:var(--green);border:0}
.memorial-table tfoot td{font-weight:850;background:#edf6f1}.formula-details{display:grid;gap:11px}.formula-detail{padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.formula-detail span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--blue);font-weight:850}.formula-detail code{display:block;font-family:inherit;font-size:13px;font-weight:800;color:var(--navy);margin:6px 0}.formula-detail small{font-size:11px;color:var(--muted)}.methodology-box{padding:18px;border-radius:15px;background:var(--yellow);border:1px solid var(--yellow-line)}.methodology-box strong{color:#795900}.methodology-box p{font-size:12px;color:#655526;line-height:1.55;margin:6px 0 0}
.proposal-config{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.field textarea{min-height:100px}.complete-proposal{min-height:430px!important}
.print-report{display:none}
@media(max-width:760px){.dashboard-hero>div>strong{font-size:43px}.memorial-grid,.proposal-config{grid-template-columns:1fr}}
@media print{
  @page{size:A4;margin:16mm}
  body.printing-report .app{display:none!important}
  body.printing-report #printReport{display:block!important}
  .print-report{color:#172033;font-family:Arial,sans-serif}
  .report-page{min-height:260mm;page-break-after:always;position:relative;padding:3mm 2mm}
  .report-page:last-child{page-break-after:auto}
  .report-cover{display:flex;flex-direction:column;background:#fff}
  .report-brand{font-size:10pt;letter-spacing:.12em;color:#1873b8;font-weight:700;border-bottom:1px solid #dbe3ec;padding-bottom:6mm}
  .report-cover-main{margin:auto 0}.report-cover-main>span{font-size:14pt;color:#1873b8;font-weight:700;letter-spacing:.1em}.report-cover-main h2{font-size:32pt;line-height:1.12;color:#0a2342;margin:8mm 0}.report-cover-main p{font-size:17pt;color:#53677a}
  .report-cover-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6mm;border-top:1px solid #dbe3ec;padding-top:7mm}.report-cover-footer small,.report-cover-footer strong{display:block}.report-cover-footer small{font-size:8pt;color:#6b778b;text-transform:uppercase}.report-cover-footer strong{font-size:10pt;margin-top:2mm}
  .report-header{border-bottom:3px solid #1873b8;padding-bottom:5mm;margin-bottom:7mm}.report-header h1{font-size:22pt;color:#0a2342;margin:0}.report-header p{font-size:10pt;color:#6b778b}
  .report-section{margin-bottom:7mm;break-inside:avoid}.report-section h2{font-size:14pt;color:#0a2342;border-left:4px solid #1873b8;padding-left:4mm;margin:0 0 4mm}.report-section p,.report-section li{font-size:9.5pt;line-height:1.55}.report-section ul{padding-left:6mm}
  .report-value{background:#0a2342;color:#fff;border-radius:4mm;padding:8mm;margin:6mm 0;text-align:center}.report-value span,.report-value strong{display:block}.report-value span{font-size:9pt;text-transform:uppercase;letter-spacing:.1em}.report-value strong{font-size:28pt;margin:3mm 0}
  .report-table{width:100%;border-collapse:collapse;font-size:8.5pt;margin-top:3mm}.report-table th{background:#0a2342;color:#fff;padding:2.5mm;text-align:left}.report-table td{padding:2.2mm;border-bottom:1px solid #dbe3ec}.report-table td:last-child{text-align:right}
  .report-signature{margin-top:18mm;width:80mm;border-top:1px solid #172033;padding-top:3mm}.report-footer{position:absolute;bottom:0;left:2mm;right:2mm;border-top:1px solid #dbe3ec;padding-top:3mm;font-size:8pt;color:#6b778b;display:flex;justify-content:space-between}
}

/* V6 — autenticação, histórico em nuvem e administração */
.app-authenticated[hidden]{display:none!important}.system-loading{position:fixed;inset:0;background:#f1f5f9;z-index:9999;display:grid;place-content:center;text-align:center;gap:12px;color:#53677a}.system-loading.hidden{display:none}.loader{width:42px;height:42px;border:4px solid #d8e5ef;border-top-color:#1873b8;border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
.auth-gate{position:fixed;inset:0;z-index:9998;display:grid;grid-template-columns:1.15fr .85fr;background:#eef4f9}.auth-gate.hidden{display:none}.auth-visual{padding:46px 58px;background:radial-gradient(circle at 20% 15%,#236da6 0,#0b3158 42%,#071d36 100%);color:#fff;display:flex;flex-direction:column}.auth-brand{display:flex;align-items:center;gap:13px}.auth-logo{width:50px;height:50px;border-radius:16px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.09);display:grid;place-items:center;font-weight:900}.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:15px}.auth-brand span{font-size:12px;color:#bcd1e3;margin-top:3px}.auth-copy{margin:auto 0;max-width:680px}.auth-kicker{font-size:12px;letter-spacing:.15em;color:#76c3ef;font-weight:800}.auth-copy h1{font-size:46px;line-height:1.12;color:#fff;margin:17px 0}.auth-copy p{font-size:17px;line-height:1.55;color:#c7d9e8;max-width:600px}.auth-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.auth-features span{font-size:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);border-radius:999px;padding:8px 12px}.auth-footer{font-size:11px;color:#9db6ca}.auth-panel{display:grid;place-items:center;padding:35px}.auth-card{width:min(480px,100%);background:#fff;border:1px solid #dbe3ec;border-radius:24px;padding:30px;box-shadow:0 25px 70px rgba(10,35,66,.15)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#edf2f7;border-radius:12px;padding:4px;margin-bottom:25px}.auth-tabs button{border:0;background:transparent;padding:10px;border-radius:9px;font-weight:700;color:#667085;cursor:pointer}.auth-tabs button.active{background:#fff;color:#0a2342;box-shadow:0 4px 12px rgba(10,35,66,.08)}.auth-pane{display:none}.auth-pane.active{display:block}.auth-pane h2{margin:0;font-size:25px}.auth-pane>p{color:#667085;font-size:13px;line-height:1.5;margin:7px 0 20px}.auth-pane label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#344054;margin-bottom:13px}.auth-pane input,.auth-pane textarea{width:100%;border:1px solid #d5dee8;border-radius:10px;padding:11px 12px;outline:none}.auth-pane textarea{min-height:80px;resize:vertical}.auth-pane input:focus,.auth-pane textarea:focus{border-color:#1873b8;box-shadow:0 0 0 3px rgba(24,115,184,.12)}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-primary{width:100%;border:0;border-radius:11px;padding:12px;background:linear-gradient(135deg,#1873b8,#0b5d9b);color:#fff;font-weight:800;cursor:pointer;margin-top:4px}.auth-link{display:block;margin:12px auto 0;border:0;background:transparent;color:#1873b8;font-weight:700;cursor:pointer}.auth-message{font-size:12px;margin-top:12px;line-height:1.45}.auth-message.error{color:#b42318}.auth-message.success{color:#2d7a4f}.pending-icon{font-size:42px;text-align:center}.pending-info{background:#f4f7fa;border-radius:12px;padding:13px;font-size:12px;color:#53677a;margin:15px 0}
.cloud-actions{display:grid;gap:6px;margin-top:13px}.cloud-btn{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;border-radius:12px;padding:10px;display:flex;gap:10px;align-items:center;text-align:left;cursor:pointer}.cloud-btn:hover{background:rgba(255,255,255,.12)}.cloud-btn>span{width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.11);display:grid;place-items:center}.cloud-btn b,.cloud-btn small{display:block}.cloud-btn b{font-size:11px}.cloud-btn small{font-size:9px;color:#a9bed1;margin-top:2px}.user-card{display:grid;grid-template-columns:38px 1fr 28px;gap:9px;align-items:center;margin-top:12px;padding:11px 8px;border-top:1px solid rgba(255,255,255,.13)}.user-avatar{width:36px;height:36px;border-radius:50%;background:#fff;color:#0a2342;display:grid;place-items:center;font-weight:900}.user-card strong,.user-card small,.user-card em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card strong{font-size:11px}.user-card small{font-size:9px;color:#b8c9d9;margin-top:2px}.user-card em{font-style:normal;font-size:8px;color:#75c8ee;text-transform:uppercase;margin-top:2px}.user-card button{border:0;background:transparent;color:#fff;font-size:18px;cursor:pointer}.cloud-primary{background:#2d7a4f;color:#fff;box-shadow:0 8px 18px rgba(45,122,79,.2)}
.cloud-modal{position:fixed;inset:0;z-index:10000;display:none}.cloud-modal.open{display:block}.cloud-modal-backdrop{position:absolute;inset:0;background:rgba(6,24,43,.58);backdrop-filter:blur(3px)}.cloud-modal-card{position:relative;margin:4vh auto;width:min(1120px,94vw);max-height:92vh;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(6,24,43,.28);overflow:hidden;display:flex;flex-direction:column}.cloud-modal-card>header{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 25px;border-bottom:1px solid #dbe3ec}.cloud-modal-card header span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#1873b8;font-weight:800}.cloud-modal-card header h2{margin:5px 0 0}.modal-close{border:0;background:#eef3f7;width:36px;height:36px;border-radius:10px;font-size:24px;cursor:pointer}.modal-toolbar{padding:14px 25px;background:#f8fafc;border-bottom:1px solid #dbe3ec;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.modal-toolbar input,.modal-toolbar select{border:1px solid #d5dee8;border-radius:10px;padding:9px 11px}.modal-content{padding:20px 25px;overflow:auto}.budget-list{display:grid;gap:10px}.budget-row{display:grid;grid-template-columns:1.5fr 1fr .75fr .75fr auto;gap:12px;align-items:center;border:1px solid #dbe3ec;border-radius:14px;padding:14px 16px}.budget-row:hover{border-color:#9fc7e4;background:#f9fcfe}.budget-row strong,.budget-row span,.budget-row small{display:block}.budget-row strong{font-size:13px}.budget-row span{font-size:11px;color:#667085;margin-top:3px}.budget-row small{font-size:10px;color:#8491a2}.budget-price{font-weight:900;color:#0a2342}.budget-actions{display:flex;gap:6px}.mini-btn{border:1px solid #dbe3ec;background:#fff;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:750;cursor:pointer}.mini-btn.primary{background:#1873b8;color:#fff;border-color:#1873b8}.mini-btn.danger{color:#b42318}.empty-state{text-align:center;padding:50px 20px;color:#667085}.empty-state strong{display:block;color:#0a2342;font-size:17px;margin-bottom:6px}
.admin-tabs{display:flex;gap:7px}.admin-tab{border:1px solid #dbe3ec;background:#fff;border-radius:9px;padding:8px 11px;font-weight:700;font-size:11px;cursor:pointer}.admin-tab.active{background:#0a2342;color:#fff}.status-badge{display:inline-flex!important;padding:5px 7px;border-radius:999px;font-size:9px!important;text-transform:uppercase;font-weight:850}.status-pending{background:#fff6dc;color:#7a5900}.status-approved{background:#e7f5ed;color:#2d7a4f}.status-blocked,.status-rejected{background:#fff0ee;color:#b42318}.user-list{display:grid;gap:9px}.user-row{display:grid;grid-template-columns:1.2fr 1.2fr .8fr .7fr auto;gap:10px;align-items:center;border:1px solid #dbe3ec;border-radius:13px;padding:13px}.user-row strong,.user-row span,.user-row small{display:block}.user-row strong{font-size:12px}.user-row span{font-size:10px;color:#667085;margin-top:2px}.user-row small{font-size:9px;color:#8491a2}
@media(max-width:850px){.auth-gate{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{padding:18px}.budget-row,.user-row{grid-template-columns:1fr}.budget-actions{margin-top:7px}.cloud-modal-card{margin:2vh auto;max-height:96vh}}

/* Correções V6.1 — escopo mais legível e pictogramas */
#scopeRows td{font-size:13px;padding:12px 13px;vertical-align:middle}
#scopeRows td:nth-child(2){min-width:360px}
#scopeRows b{font-size:14px;line-height:1.3;color:#102f52}
#scopeRows input,#scopeRows select{font-size:13px;padding:9px}
#scopeRows .td-result{font-size:14px}
.activity-cell{display:flex;align-items:center;gap:12px}.activity-cell>div{min-width:0}.activity-cell small{display:block;font-size:10px;color:#7b8798;margin-top:3px}.activity-icon{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#e9f4fb,#dcecf7);border:1px solid #c9dfef;font-size:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
@media(max-width:760px){#scopeRows td:nth-child(2){min-width:280px}.activity-icon{width:32px;height:32px;flex-basis:32px}}

/* V6.2 — correção de visibilidade por permissão */
[hidden]{display:none!important}
.admin-only[hidden]{display:none!important}

/* Identidade BIM Cost Intelligence — atualização exclusiva de capa e marca */
.auth-brand-logo{display:block;width:min(440px,78%);padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 10px 28px rgba(4,22,40,.16)}
.auth-brand-logo img{display:block;width:100%;height:auto}
.auth-copy h1{max-width:760px}
.auth-copy p{max-width:740px}
.auth-download{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:11px 15px;border:1px solid rgba(255,255,255,.32);border-radius:11px;color:#fff;text-decoration:none;font-size:12px;font-weight:800;background:rgba(255,255,255,.1);transition:.16s}
.auth-download:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}
.auth-footer{max-width:760px;line-height:1.45}
.brand-orbit{overflow:hidden;background:#fff!important;padding:5px}
.brand-orbit img{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:850px){.auth-brand-logo{width:min(390px,100%)}.auth-copy h1{font-size:38px}}


/* V6.4 — experiência responsiva para desktop, tablet e celular */
.mobile-appbar,.mobile-sidebar-backdrop{display:none}

@media (max-width:1100px){
  html,body{max-width:100%;overflow-x:hidden}
  .app{display:block;min-height:100dvh}
  .sidebar{
    position:fixed;inset:0 auto 0 0;width:min(320px,88vw);height:100dvh;
    transform:translateX(-105%);transition:transform .24s ease;z-index:10020;
    overflow-y:auto;overscroll-behavior:contain;padding:22px 16px;
    box-shadow:18px 0 50px rgba(4,22,40,.28)
  }
  .sidebar.mobile-open{transform:translateX(0)}
  .sidebar nav{display:grid;grid-template-columns:1fr;overflow:visible;gap:5px}
  .nav-item{min-width:0;padding:11px}
  .side-method{display:flex}
  .mobile-sidebar-backdrop{position:fixed;inset:0;border:0;background:rgba(5,22,39,.54);backdrop-filter:blur(2px);z-index:10010}
  .mobile-sidebar-backdrop.visible{display:block}
  body.mobile-nav-open{overflow:hidden}
  main{padding:0 22px 24px}
  .mobile-appbar{
    display:flex;position:sticky;top:0;z-index:9000;align-items:center;gap:12px;
    margin:0 -22px 18px;padding:11px 18px;background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--line);box-shadow:0 6px 18px rgba(10,35,66,.07);backdrop-filter:blur(12px)
  }
  .mobile-menu-button{width:42px;height:42px;flex:0 0 42px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-content:center;gap:4px;cursor:pointer}
  .mobile-menu-button span{display:block;width:19px;height:2px;border-radius:5px;background:var(--navy)}
  .mobile-appbar-brand{display:flex;align-items:center;gap:9px;min-width:0}
  .mobile-appbar-brand img{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:9px;padding:3px;border:1px solid var(--line)}
  .mobile-appbar-brand strong,.mobile-appbar-brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-appbar-brand strong{font-size:13px;color:var(--navy)}
  .mobile-appbar-brand small{font-size:9px;color:var(--muted);margin-top:2px}
  .topbar{align-items:center}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid{grid-template-columns:1fr}
  .full-panel{grid-column:auto}
  .proposal-config,.memorial-grid{grid-template-columns:1fr}
}

@media (max-width:850px){
  .auth-gate{position:fixed;display:block;overflow-y:auto;overscroll-behavior:contain;background:#eef4f9}
  .auth-visual{display:flex;min-height:auto;padding:24px 20px 26px}
  .auth-brand-logo{width:min(360px,100%);margin:0 auto}
  .auth-copy{margin:28px 0 10px;max-width:none}
  .auth-kicker{font-size:10px}
  .auth-copy h1{font-size:31px;line-height:1.12;margin:12px 0}
  .auth-copy p{font-size:14px;line-height:1.55}
  .auth-features{margin-top:18px;gap:7px}
  .auth-features span{font-size:10px;padding:7px 9px}
  .auth-download{width:100%;font-size:11px;text-align:center;padding:11px 12px}
  .auth-footer{margin-top:24px;font-size:9px;line-height:1.5}
  .auth-panel{padding:18px 16px 32px;display:block}
  .auth-card{width:100%;max-width:560px;margin:0 auto;border-radius:18px;padding:23px;box-shadow:0 16px 42px rgba(10,35,66,.13)}
  .auth-grid{grid-template-columns:1fr}
  .cloud-modal-card{margin:0;width:100vw;max-height:100dvh;height:100dvh;border-radius:0}
  .cloud-modal-card>header{padding:17px 18px}
  .modal-toolbar,.modal-content{padding-left:16px;padding-right:16px}
  .modal-toolbar>*{max-width:100%}
  .budget-row,.user-row{grid-template-columns:1fr;padding:14px}
  .budget-actions{display:grid;grid-template-columns:repeat(3,1fr);width:100%}
  .mini-btn{min-height:38px}
}

@media (max-width:640px){
  main{padding:0 13px 90px}
  .mobile-appbar{margin:0 -13px 14px;padding:9px 12px}
  .topbar{display:block;margin-bottom:12px}
  .topbar h1{font-size:23px;line-height:1.2}
  .eyebrow{font-size:9px}
  .top-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
  .top-actions .btn{width:100%;min-height:43px;padding:9px 8px;font-size:11px;text-align:center}
  .official-strip{align-items:flex-start;margin:13px 0;padding:12px}
  .official-strip strong{font-size:12px}.official-strip span{font-size:11px;line-height:1.45}
  .dashboard-hero{grid-template-columns:1fr;padding:22px 18px;border-radius:18px;text-align:left}
  .dashboard-hero>div>strong{font-size:36px;line-height:1.05;overflow-wrap:anywhere}
  .hero-label{font-size:10px}.dashboard-hero p{font-size:13px}
  .hero-tags{gap:6px;margin-top:14px}.hero-tags span{font-size:10px;padding:6px 8px}
  .hero-gauge{width:145px;height:145px;margin:18px auto 0}
  .metric-grid{grid-template-columns:1fr;gap:9px}
  .metric-card{padding:15px}.metric-card strong{font-size:21px}
  .panel{padding:16px;border-radius:16px;margin-bottom:12px;box-shadow:0 10px 28px rgba(10,35,66,.07)}
  .panel-head{display:block;margin-bottom:14px}.panel-head>*+*{margin-top:8px}
  .panel-head h3{font-size:17px}.panel-kicker{font-size:10px}
  .donut-layout{grid-template-columns:1fr}.donut-wrap{width:190px;height:190px;margin:0 auto 16px}
  .legend-list{gap:8px}.legend-item{font-size:11px}.legend-item strong{font-size:11px}
  .bar-item{grid-template-columns:96px 1fr 60px;gap:7px;font-size:10px}.bar-item strong{font-size:10px}
  .sensitivity-chart{height:220px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .sensitivity-chart svg{min-width:620px}
  .section-header{display:block;margin:18px 0 12px}.section-header h2{font-size:21px;line-height:1.2}.section-header p{font-size:12px;line-height:1.45}
  .section-header>.btn,.section-header>.panel-actions,.live-result,.status-pill,.warning-pill{margin-top:11px}
  .panel-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.panel-actions .btn{width:100%;min-height:42px}
  .form-grid.two,.form-grid.four,.form-columns,.proposal-grid,.reference-grid{grid-template-columns:1fr}
  .field>span{font-size:12px}.field input,.field select,.field textarea,.input-unit input{min-height:44px;font-size:16px}
  .input-unit em{font-size:10px}
  .formula-flow{grid-template-columns:1fr}.formula-flow article{min-height:70px}.formula-flow i{display:none}
  .summary-row,.summary-row.two{grid-template-columns:1fr}.summary-row article{padding:13px}
  .proposal-banner{padding:21px 18px;border-radius:16px;gap:12px}.proposal-banner>div>strong{font-size:29px;overflow-wrap:anywhere}.proposal-seal{width:68px;height:68px;flex:0 0 68px}
  .complete-proposal{min-height:320px!important}
  .reference{padding:16px}
  .table-panel{border-radius:15px}
  .table-title{padding:15px 15px 0}
  .table-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .table-wrap:after{content:"Deslize horizontalmente para consultar toda a tabela →";display:block;position:sticky;left:0;width:max-content;max-width:calc(100vw - 58px);padding:8px 10px;color:#667085;font-size:10px;background:#f8fafc;border-top:1px solid var(--line)}
  table{min-width:780px}
  #scopeRows td{font-size:12px;padding:10px}#scopeRows b{font-size:13px}#scopeRows td:nth-child(2){min-width:300px}
  .activity-cell{gap:9px}.activity-icon{width:31px;height:31px;flex-basis:31px;font-size:15px}
  .wizard-footer{position:fixed;left:0;right:0;bottom:0;z-index:8500;padding:10px 12px calc(10px + env(safe-area-inset-bottom));margin:0;background:rgba(241,245,249,.97);border-top:1px solid var(--line);box-shadow:0 -8px 22px rgba(10,35,66,.08);backdrop-filter:blur(10px)}
  .wizard-footer .btn{min-width:84px;min-height:42px;font-size:11px}.progress{min-width:40px}
  .toast{left:12px;right:12px;bottom:82px;text-align:center}
  .auth-card{padding:20px 16px}.auth-tabs button{font-size:11px}.auth-pane h2{font-size:22px}.auth-pane input,.auth-pane textarea{font-size:16px;min-height:45px}
  .auth-copy h1{font-size:27px}.auth-copy p{font-size:13px}
  .auth-features{display:grid;grid-template-columns:1fr}.auth-features span{text-align:center}
  .cloud-modal-card header h2{font-size:20px}.modal-toolbar{display:grid;grid-template-columns:1fr}.modal-toolbar input,.modal-toolbar select,.modal-toolbar .btn{width:100%;min-height:42px}
  .budget-actions{grid-template-columns:1fr 1fr}.budget-actions .mini-btn:last-child:nth-child(odd){grid-column:1/-1}
}

@media (max-width:380px){
  .mobile-appbar-brand small{display:none}
  .mobile-appbar-brand strong{font-size:12px}
  .top-actions{grid-template-columns:1fr}
  .dashboard-hero>div>strong{font-size:31px}
  .proposal-banner{display:block}.proposal-seal{margin-top:15px}
}


/* V6.5 — correção do logotipo móvel e seção pública Sobre o autor */
.auth-brand-logo{
  overflow:hidden;
  color-scheme:light only;
  forced-color-adjust:none;
  background:#fff!important;
}
.auth-brand-logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  forced-color-adjust:none;
}
.auth-author-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:14px;
  font-size:12px;
  color:#d7e8f5;
}
.auth-author-line strong{color:#fff}
.auth-author-line a{
  color:#fff;
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.42);
}
.auth-author-line a:hover{border-bottom-color:#fff}
.author-details{
  margin-top:16px;
  border:1px solid rgba(255,255,255,.23);
  border-radius:14px;
  background:rgba(255,255,255,.07);
  overflow:hidden;
}
.author-details summary{
  cursor:pointer;
  list-style:none;
  padding:13px 15px;
  font-size:13px;
  font-weight:850;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.author-details summary::-webkit-details-marker{display:none}
.author-details summary::after{
  content:"+";
  width:24px;
  height:24px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.3);
  display:grid;
  place-items:center;
  font-size:16px;
  line-height:1;
}
.author-details[open] summary::after{content:"−"}
.author-content{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:20px;
  padding:0 16px 18px;
  border-top:1px solid rgba(255,255,255,.15);
}
.author-content>img{
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
  object-position:center top;
  border-radius:12px;
  margin-top:18px;
  background:#e8eef4;
}
.author-text{
  max-height:430px;
  overflow:auto;
  padding:17px 8px 4px 0;
  scrollbar-width:thin;
}
.author-text h2{
  margin:0 0 10px;
  font-size:20px;
  color:#fff;
}
.author-text p{
  max-width:none;
  margin:0 0 11px;
  font-size:12px;
  line-height:1.55;
  color:#d5e4ef;
}
.author-site-link{
  display:inline-flex;
  margin-top:3px;
  color:#fff;
  font-size:12px;
  font-weight:850;
  text-decoration:none;
  padding-bottom:2px;
  border-bottom:1px solid rgba(255,255,255,.45);
}

@media (max-width:850px){
  .auth-brand-logo{
    width:100%;
    max-width:660px;
    padding:8px 10px;
    border-radius:14px;
  }
  .auth-brand-logo img{
    width:100%;
    max-height:210px;
    object-fit:contain;
  }
  .auth-author-line{
    justify-content:center;
    text-align:center;
    font-size:11px;
    line-height:1.45;
  }
  .author-details{margin-top:15px}
  .author-content{
    grid-template-columns:1fr;
    gap:4px;
    padding:0 13px 16px;
  }
  .author-content>img{
    width:min(230px,78%);
    margin:16px auto 7px;
    aspect-ratio:2/3;
  }
  .author-text{
    max-height:none;
    overflow:visible;
    padding:8px 2px 0;
  }
  .author-text h2{font-size:19px}
  .author-text p{font-size:12px;line-height:1.58}
}

@media (max-width:420px){
  .auth-brand-logo{padding:7px 8px}
  .auth-brand-logo img{max-height:175px}
}

/* Seção institucional — Por que o BIM Cost Intelligence? */
.why-bci-section{
  margin:40px auto;
  max-width:1180px;
  padding:38px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line,#dbe3ec);
  box-shadow:0 16px 42px rgba(10,35,66,.09);
}
.why-bci-header{max-width:850px;margin-bottom:28px}
.why-bci-kicker{display:block;font-size:11px;letter-spacing:.12em;font-weight:850;color:var(--blue,#1873b8);margin-bottom:8px}
.why-bci-header h2{margin:0;color:var(--navy,#0a2342);font-size:30px;letter-spacing:-.025em}
.why-bci-header h3{margin:10px 0 0;color:var(--blue,#1873b8);font-size:20px;line-height:1.35}
.why-bci-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:start}
.why-bci-copy p{font-size:15px;line-height:1.7;color:#4d5f73;margin:0 0 18px}
.why-bci-highlight{padding:18px 20px;border-left:5px solid var(--blue,#1873b8);background:#eef6ff;border-radius:0 12px 12px 0;margin:22px 0}
.why-bci-highlight strong{font-size:17px;color:var(--navy,#0a2342)}
.why-bci-cards{display:grid;gap:13px}
.why-bci-card{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;padding:17px;border:1px solid #dbe3ec;border-radius:15px;background:#f9fbfd;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.why-bci-card:hover{transform:translateY(-2px);border-color:#a8cbe5;box-shadow:0 10px 24px rgba(10,35,66,.07)}
.why-bci-icon{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#e8f4fb,#d9edf8);display:grid;place-items:center;font-size:23px}
.why-bci-card h4{margin:0 0 6px;color:var(--navy,#0a2342);font-size:15px}
.why-bci-card p{margin:0;color:#667085;font-size:12px;line-height:1.5}
.why-bci-value{margin-top:28px;padding:24px 26px;border-radius:16px;background:linear-gradient(135deg,#0b5d9b,#0a2342);color:#fff;text-align:center}
.why-bci-value h4{font-size:18px;margin:0 0 8px;color:#fff}
.why-bci-value p{font-size:14px;line-height:1.6;margin:0;color:#e1edf6;font-weight:600}
@media(max-width:900px){
  .why-bci-section{padding:28px}
  .why-bci-layout{grid-template-columns:1fr;gap:18px}
}
@media(max-width:600px){
  .why-bci-section{margin:24px 12px;padding:22px 18px;border-radius:18px}
  .why-bci-header h2{font-size:25px}
  .why-bci-header h3{font-size:17px}
  .why-bci-copy p{font-size:14px}
  .why-bci-card{grid-template-columns:42px 1fr;padding:14px;gap:11px}
  .why-bci-icon{width:40px;height:40px;font-size:20px}
  .why-bci-value{padding:20px 17px}
  .why-bci-value h4{font-size:16px}
  .why-bci-value p{font-size:13px}
}

/* Revisão: critérios de medição, fórmula rastreável e gráfico por atividade */
.criterion-cell{font-weight:700;color:#40546a;white-space:nowrap}.td-result strong{display:block;font-size:12px}.row-formula{display:block;margin-top:4px;font-size:9px;color:#6b778b;font-weight:600;white-space:nowrap}.activity-chart-panel{overflow:hidden}.activity-hours-chart{display:grid;gap:11px;max-height:520px;overflow:auto;padding-right:8px}.activity-chart-row{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(240px,2fr) 92px;gap:12px;align-items:center}.activity-chart-label{display:flex;gap:9px;align-items:center;min-width:0}.activity-chart-label>span{width:28px;height:28px;border-radius:9px;background:#eaf4fb;display:grid;place-items:center;flex:0 0 auto}.activity-chart-label strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-chart-track{height:13px;border-radius:999px;background:#e7edf3;overflow:hidden}.activity-chart-fill{height:100%;border-radius:999px;min-width:2px}.activity-chart-fill.plan{background:#2679b9}.activity-chart-fill.coord{background:#25a0bf}.activity-chart-fill.manage{background:#56a86f}.activity-chart-fill.close{background:#d7a33c}.activity-chart-value{text-align:right}.activity-chart-value strong,.activity-chart-value small{display:block}.activity-chart-value strong{font-size:12px}.activity-chart-value small{font-size:9px;color:#7a8797;margin-top:2px}.activity-chart-row.inactive{opacity:.42}.chart-method-note{font-size:10px;color:#6b778b;margin:14px 0 0;padding-top:11px;border-top:1px solid #e3e9ef}
@media(max-width:760px){.activity-chart-row{grid-template-columns:1fr 75px}.activity-chart-track{grid-column:1/-1;grid-row:2}.activity-chart-label strong{white-space:normal}.row-formula{white-space:normal}}

/* v6.11 — configuração visual do empreendimento */
.dashboard-hero-personalized{grid-template-columns:minmax(0,1fr) minmax(250px,32%);gap:28px;overflow:hidden}
.hero-main-content{min-width:0}.hero-office-brand{min-height:34px;margin-bottom:15px;display:flex;align-items:center}.hero-office-brand img{display:block;max-width:180px;max-height:46px;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 5px rgba(0,0,0,.12))}.hero-office-brand span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#c7dfef;font-weight:800}.hero-project-location{font-size:12px!important;color:#c7deee!important;margin-top:6px!important}
.hero-project-media{position:relative;min-height:210px;border-radius:17px;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}.hero-project-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#d7e7f2}.hero-image-placeholder span{font-size:39px}.hero-image-placeholder small{display:block;font-size:10px;margin-top:7px}.hero-project-media .hero-gauge{position:absolute;right:14px;top:14px;width:118px;height:118px;padding:5px;border-radius:50%;background:rgba(8,38,68,.62);backdrop-filter:blur(5px)}.hero-project-media .gauge-center strong{font-size:20px}
.config-project-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px}.config-media-column{min-width:0}.upload-panel{overflow:hidden}.upload-preview{position:relative;border:1px dashed #aebdcb;background:#f6f9fc;border-radius:14px;overflow:hidden;display:grid;place-items:center}.upload-preview.logo-preview{height:150px}.upload-preview.project-preview{height:230px}.upload-preview img{width:100%;height:100%;object-fit:contain;padding:13px}.upload-preview.project-preview img{object-fit:cover;padding:0}.upload-empty{text-align:center;color:#667085;padding:20px}.upload-empty span,.upload-empty strong,.upload-empty small{display:block}.upload-empty span{font-size:31px}.upload-empty strong{font-size:12px;color:#344054;margin-top:7px}.upload-empty small{font-size:10px;margin-top:3px}.upload-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.upload-button input{display:none}.upload-note{font-size:10px;color:#667085;line-height:1.45;margin:11px 0 0}
.project-card-preview-panel{margin-top:2px}.project-presentation-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(270px,.95fr);min-height:340px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#0a2342,#166da7);color:#fff}.presentation-copy{padding:31px;min-width:0}.presentation-copy>img{max-width:180px;max-height:58px;object-fit:contain;object-position:left;margin-bottom:25px}.presentation-copy>span{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#9ed0ee;font-weight:800}.presentation-copy h3{font-size:27px;line-height:1.15;margin:8px 0}.presentation-copy>p{font-size:12px;line-height:1.55;color:#d2e3ef;max-width:620px}.presentation-copy dl{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:24px 0 0}.presentation-copy dl div{padding-top:10px;border-top:1px solid rgba(255,255,255,.18)}.presentation-copy dt{font-size:9px;text-transform:uppercase;color:#9fc1d8}.presentation-copy dd{font-size:11px;font-weight:700;margin:4px 0 0}.presentation-image{position:relative;background:rgba(255,255,255,.08);min-height:280px}.presentation-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.presentation-image>div{position:absolute;inset:0;display:grid;place-items:center;color:#d3e4ef}.presentation-image>div span{font-size:54px}
@media(max-width:1100px){.dashboard-hero-personalized{grid-template-columns:minmax(0,1fr) 280px}.config-project-layout{grid-template-columns:1fr}.config-media-column{display:grid;grid-template-columns:1fr 1fr;gap:16px}.upload-panel{margin-bottom:0}}
@media(max-width:760px){
 .dashboard-hero-personalized{grid-template-columns:1fr;padding:23px}.hero-project-media{min-height:230px;margin-top:4px}.hero-project-media .hero-gauge{width:105px;height:105px}.hero-office-brand img{max-width:145px;max-height:42px}
 .config-media-column{grid-template-columns:1fr}.project-presentation-card{grid-template-columns:1fr}.presentation-copy{padding:24px}.presentation-copy h3{font-size:23px}.presentation-copy dl{grid-template-columns:1fr}.presentation-image{min-height:230px;order:-1}
 .upload-preview.logo-preview{height:135px}.upload-preview.project-preview{height:210px}
}
@media(max-width:480px){.dashboard-hero>div>strong{font-size:36px}.hero-tags{gap:5px}.hero-tags span{font-size:10px;padding:6px 8px}.upload-actions .btn{flex:1;text-align:center}.presentation-copy{padding:20px}}

/* v6.12 — capa, fluxo e contato */
.auth-copy h1{margin-top:8px}.auth-features{gap:12px;margin-top:30px}.auth-features span{font-size:14px;padding:10px 14px;font-weight:750}
.auth-primary-links{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin-top:16px}.auth-primary-links .auth-download{font-size:13px;padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;margin:0}
.auth-contact-button{border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.1);color:#fff;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:800;cursor:pointer}.auth-contact-button:hover{background:rgba(255,255,255,.18)}
.auth-contact-copy{font-size:11px!important;color:#b9d0df!important;margin:11px 0 0!important}
.contact-modal{position:fixed;inset:0;z-index:12000;display:none}.contact-modal.open{display:block}.contact-modal-backdrop{position:absolute;inset:0;background:rgba(4,22,40,.66);backdrop-filter:blur(4px)}
.contact-modal-card{position:relative;width:min(690px,92vw);max-height:92vh;margin:4vh auto;background:#fff;border-radius:22px;box-shadow:0 32px 90px rgba(4,22,40,.3);overflow:auto}
.contact-modal-card>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:23px 25px;border-bottom:1px solid #dbe3ec}.contact-modal-card>header span{font-size:10px;letter-spacing:.12em;color:#1873b8;font-weight:850}.contact-modal-card>header h2{font-size:23px;margin:5px 0 0}
.contact-modal-body{padding:23px 25px}.contact-modal-body>p{font-size:13px;line-height:1.55;color:#667085;margin:0 0 18px}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form-grid label{display:grid;gap:7px;font-size:12px;font-weight:750;color:#344054}.contact-form-grid input,.contact-form-grid select,.contact-form-grid textarea{width:100%;border:1px solid #d5dee8;background:#fff;border-radius:10px;padding:10px 11px;color:#152033;outline:none}.contact-form-grid textarea{min-height:125px;resize:vertical}.contact-full{grid-column:1/-1}.contact-direct{margin-top:17px;padding:13px 14px;border-radius:12px;background:#eaf4fb;border:1px solid #cfe3f1}.contact-direct span,.contact-direct strong{display:block}.contact-direct span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#1873b8}.contact-direct strong{font-size:12px;margin-top:4px}.contact-modal-card>footer{display:flex;justify-content:flex-end;gap:9px;padding:16px 25px;border-top:1px solid #dbe3ec;background:#f8fafc}.modal-open{overflow:hidden}
@media(max-width:760px){.auth-features span{font-size:12px;padding:9px 11px}.auth-primary-links{display:grid}.auth-primary-links>*{width:100%}.contact-modal-card{margin:2vh auto;max-height:96vh}.contact-form-grid{grid-template-columns:1fr}.contact-full{grid-column:auto}.contact-modal-card>footer{position:sticky;bottom:0}.contact-modal-body{padding:20px}}

/* v6.13 — módulo funcional de Honorários de Projetos BIM */
.project-fees-screen .section-header{margin-top:22px}.project-fees-notice{display:flex;gap:12px;padding:15px 17px;border:1px solid #cfe3f1;background:#eaf4fb;border-radius:15px;margin-bottom:16px}.project-fees-notice strong{font-size:13px}.project-fees-notice p{font-size:12px;line-height:1.55;color:#53677a;margin:4px 0 0}
.project-fees-layout,.project-fees-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pf-mode-badge{padding:7px 10px;border-radius:999px;background:#e7f5ed;color:#2d7a4f;font-size:10px;font-weight:900}.pf-reference-card{margin-top:15px;padding:13px 14px;border-radius:12px;background:#f7f9fc;border:1px solid #dbe3ec;font-size:11px;line-height:1.5;color:#53677a}.pf-reference-card strong{color:#0a2342}
.pf-stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pf-stage-grid label{display:grid;gap:6px}.pf-stage-grid label>span{font-size:11px;font-weight:750;color:#344054}.pf-stage-summary{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding:12px 13px;border-radius:11px;background:#f8fafc;border:1px solid #dbe3ec}.pf-stage-summary span{font-size:11px;color:#667085}.pf-stage-summary strong{font-size:17px;color:#0a2342}
.pf-formula-display{margin-top:16px;padding:15px;border:1px solid #cfe3f1;background:#f2f8fc;border-radius:13px}.pf-formula-display span,.pf-formula-display code,.pf-formula-display small{display:block}.pf-formula-display span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#1873b8;font-weight:850}.pf-formula-display code{font-family:inherit;font-weight:850;color:#0a2342;font-size:14px;margin:7px 0}.pf-formula-display small{font-size:10px;color:#667085}
.pf-results-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:11px;margin:16px 0}.pf-results-grid article{background:#fff;border:1px solid #dbe3ec;border-radius:15px;padding:16px;box-shadow:0 7px 20px rgba(10,35,66,.04)}.pf-results-grid article span,.pf-results-grid article strong,.pf-results-grid article small{display:block}.pf-results-grid article span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#667085}.pf-results-grid article strong{font-size:18px;color:#0a2342;margin-top:7px}.pf-result-main{background:linear-gradient(135deg,#0a2342,#1873b8)!important;color:#fff!important}.pf-result-main span,.pf-result-main small{color:#d6e9f5!important}.pf-result-main strong{font-size:31px!important;color:#fff!important}.pf-result-main small{font-size:10px;margin-top:5px}
.pf-breakdown{display:grid;gap:9px}.pf-breakdown-row{display:grid;grid-template-columns:130px 1fr auto;gap:10px;align-items:center;font-size:11px}.pf-breakdown-track{height:9px;border-radius:999px;background:#e5ebf1;overflow:hidden}.pf-breakdown-fill{height:100%;background:linear-gradient(90deg,#1873b8,#2aa6c7);border-radius:999px}.pf-breakdown-row strong{font-size:11px}.pf-memorial-text{min-height:300px!important}.pf-export-actions{justify-content:flex-end;margin-top:12px}
@media(max-width:1050px){.pf-results-grid{grid-template-columns:1fr 1fr}.pf-result-main{grid-column:1/-1}.project-fees-layout,.project-fees-bottom{grid-template-columns:1fr}}
@media(max-width:650px){.pf-stage-grid,.pf-results-grid{grid-template-columns:1fr}.pf-result-main{grid-column:auto}.pf-breakdown-row{grid-template-columns:105px 1fr}.pf-breakdown-row strong{grid-column:2;text-align:right}.project-fees-screen .form-grid.four{grid-template-columns:1fr}}

/* v7.2 — Módulo nativo de Projetos BIM */
.pf-cau-assistant{border-color:#b9d7ea;background:linear-gradient(180deg,#ffffff 0%,#f7fbfe 100%)}
.pf-cau-assistant .pf-reference-card{margin-top:12px}
.legal-callout.compact{margin-top:12px;padding:11px 13px}
.project-fees-screen{padding-bottom:60px}
.project-fees-screen .status-pill{white-space:nowrap}
@media(max-width:760px){
  .project-fees-screen .section-header{align-items:flex-start}
  .project-fees-screen .status-pill{white-space:normal}
}

/* v7.3 — Biblioteca e referências oficiais CAU/BR */
.pf-header-reference-actions{margin-left:auto;display:flex;align-items:center}
.pf-reference-button{
  appearance:none;border:1px solid #b9d4e8;background:#fff;color:#0b5f9f;
  border-radius:10px;padding:9px 13px;font-size:11px;font-weight:800;
  cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;
  justify-content:center;gap:7px;transition:.18s ease
}
.pf-reference-button:hover{border-color:#2784bd;background:#eef8fe;transform:translateY(-1px)}
.pf-reference-button.primary{background:#0f74b8;border-color:#0f74b8;color:#fff;box-shadow:0 5px 14px rgba(15,116,184,.18)}
.pf-reference-button.primary:hover{background:#0b659f}
.pf-reference-button.wide{width:100%;margin-top:11px}
.pf-field-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;width:100%}
.pf-inline-reference{
  display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:7px;
  border:1px solid #bfd9eb;background:#f2f9fd;color:#086ba8;text-decoration:none;
  font-size:9px;font-weight:800;line-height:1.2
}
.pf-inline-reference:hover{background:#dff2fc;border-color:#5aa9d3}
.pf-inline-reference.calculator{background:#e9f7ef;border-color:#b9dfc9;color:#1d7648}
.pf-inline-reference.library{background:#fff7df;border-color:#ead498;color:#916b00}
.pf-official-references-panel{border-color:#b9d7ea;background:#fff}
.pf-reference-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.pf-reference-quick-card{
  min-width:0;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;
  padding:13px;border:1px solid #d5e4ee;border-radius:12px;text-decoration:none;color:#0a2342;
  background:#f9fcfe;transition:.18s ease
}
.pf-reference-quick-card:hover{transform:translateY(-2px);border-color:#55a3cf;box-shadow:0 7px 20px rgba(11,65,101,.09)}
.pf-reference-quick-card strong,.pf-reference-quick-card small{display:block}
.pf-reference-quick-card strong{font-size:11px}
.pf-reference-quick-card small{font-size:9px;color:#65798b;margin-top:3px;line-height:1.35}
.pf-reference-icon{
  width:34px;height:34px;border-radius:10px;background:#e3f2fb;color:#0b72b3;
  display:grid;place-items:center;font-weight:900;font-size:15px
}
.pf-reference-quick-card>b{color:#0b72b3}
.pf-reference-disclaimer{font-size:9px;line-height:1.5;color:#63778a;margin:12px 2px 0}
.pf-library-modal{position:fixed;inset:0;z-index:15000;display:none}
.pf-library-modal.open{display:block}
.pf-library-backdrop{position:absolute;inset:0;background:rgba(4,24,43,.72);backdrop-filter:blur(3px)}
.pf-library-dialog{
  position:relative;width:min(1050px,calc(100vw - 34px));max-height:calc(100vh - 34px);
  margin:17px auto;background:#fff;border-radius:18px;overflow:auto;
  box-shadow:0 30px 80px rgba(0,0,0,.32)
}
.pf-library-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:22px 24px 17px;border-bottom:1px solid #dce6ee
}
.pf-library-header h2{margin:4px 0 3px;font-size:24px;color:#0a2342}
.pf-library-header p{margin:0;color:#607487;font-size:11px}
.pf-library-close{
  border:0;background:#edf3f7;color:#17364f;width:36px;height:36px;border-radius:10px;
  font-size:25px;line-height:1;cursor:pointer
}
.pf-library-content{display:grid;grid-template-columns:minmax(260px,390px) 1fr;gap:20px;padding:20px 24px}
.pf-library-visual img{
  display:block;width:100%;max-height:490px;object-fit:contain;border-radius:12px;
  border:1px solid #dbe5eb;background:#eef3f5
}
.pf-library-links{display:flex;flex-direction:column;gap:10px}
.pf-library-item{
  display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;
  padding:13px 14px;border:1px solid #d7e3ea;border-radius:12px;text-decoration:none;
  color:#0a2342;background:#fbfdfe;transition:.18s ease
}
.pf-library-item:hover{border-color:#4aa0cf;background:#f1f9fd;transform:translateX(2px)}
.pf-library-item.calculator{border-color:#b8ddc7;background:#f4fbf7}
.pf-library-item-number{
  width:38px;height:38px;border-radius:10px;background:#0a7777;color:#fff;
  display:grid;place-items:center;font-weight:900;font-size:16px
}
.pf-library-item.calculator .pf-library-item-number{background:#268451}
.pf-library-item strong,.pf-library-item small{display:block}
.pf-library-item strong{font-size:12px}
.pf-library-item small{font-size:9px;color:#64788a;margin-top:4px;line-height:1.4}
.pf-library-item>b{color:#0b72b3;font-size:15px}
.pf-library-guidance{
  margin-top:2px;padding:14px;border-radius:12px;background:#eef6fb;
  border:1px solid #cfe2ee;color:#29465c;font-size:10px;line-height:1.55
}
.pf-library-guidance strong{display:block;color:#0a2342;margin-bottom:5px}
.pf-library-guidance ul{margin:0;padding-left:18px}
.pf-library-footer{
  display:flex;justify-content:space-between;align-items:center;gap:15px;
  padding:14px 24px;border-top:1px solid #dce6ee;background:#f8fafc;
  font-size:9px;color:#65798b
}
body.pf-library-open{overflow:hidden}
@media(max-width:900px){
  .pf-reference-quick-grid{grid-template-columns:1fr}
  .pf-library-content{grid-template-columns:1fr}
  .pf-library-visual img{max-height:330px}
}
@media(max-width:650px){
  .pf-header-reference-actions{width:100%;margin-left:0}
  .pf-header-reference-actions .pf-reference-button{width:100%}
  .pf-library-dialog{width:calc(100vw - 16px);margin:8px auto;max-height:calc(100vh - 16px)}
  .pf-library-header,.pf-library-content,.pf-library-footer{padding-left:14px;padding-right:14px}
  .pf-library-footer{align-items:flex-start;flex-direction:column}
}

/* v8.0 — Hora técnica, IBCI e memorial autenticado */
.auth-primary-links.contact-only{display:flex}
.authenticated-memorial-card{border-color:#91c4df!important;background:#f4fbff!important}

.pf-hourly-reference-box{
  margin-top:15px;padding:15px;border:1px solid #c9dfec;border-radius:13px;
  background:linear-gradient(180deg,#f8fcff 0%,#eef7fc 100%)
}
.pf-hourly-reference-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.pf-hourly-reference-head h4{margin:3px 0 0;color:#0a2342;font-size:14px}
.pf-hourly-reference-box>p{margin:8px 0 12px;color:#5c7183;font-size:10px;line-height:1.5}
.pf-hourly-links{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.pf-hourly-links a{
  display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;
  padding:11px;border:1px solid #d2e2ec;border-radius:10px;background:#fff;
  color:#0a2342;text-decoration:none;transition:.18s ease
}
.pf-hourly-links a:hover{border-color:#4aa0cf;transform:translateY(-1px);box-shadow:0 6px 16px rgba(9,71,111,.08)}
.pf-hourly-links strong{font-size:10px}
.pf-hourly-links small{grid-column:1/2;color:#6c7f8f;font-size:8px;line-height:1.35}
.pf-hourly-links b{grid-column:2;grid-row:1/3;color:#1174b3}
.pf-rate-source-note{margin-top:10px;padding:9px 11px;border-radius:9px;background:#fff8df;color:#735800;font-size:9px;line-height:1.45}

.pf-ibci-panel{border:1px solid #90c7df;background:linear-gradient(180deg,#fff 0%,#f6fbfe 100%)}
.pf-ibci-head-actions{display:flex;align-items:center;gap:10px}
.pf-ibci-cap{font-size:9px;font-weight:800;color:#7a5900;background:#fff4d1;border-radius:999px;padding:6px 9px}
.pf-ibci-intro{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:13px 14px;border-radius:12px;background:#eaf6fc;border:1px solid #cae4f1
}
.pf-ibci-intro strong{display:block;font-size:12px;color:#0a2342}
.pf-ibci-intro p{margin:4px 0 0;font-size:9px;color:#5e7486;line-height:1.45}
.pf-ibci-toggle{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:10px;font-weight:800;color:#0a5f96}
.pf-ibci-toggle input{width:17px;height:17px;accent-color:#1379b8}
.pf-ibci-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.pf-ibci-factor{
  display:flex;flex-direction:column;min-width:0;padding:12px;border:1px solid #d6e4ed;
  border-radius:11px;background:#fff
}
.pf-ibci-factor>span{font-size:10px;font-weight:800;color:#0a2342;line-height:1.3}
.pf-ibci-factor>small{font-size:8px;color:#6b7e8e;line-height:1.4;min-height:34px;margin-top:4px}
.pf-ibci-factor select{margin-top:8px;min-height:36px;border:1px solid #e4bf55;border-radius:9px;background:#fff8df;padding:7px;font-size:9px}
.pf-ibci-factor>b{margin-top:6px;font-size:8px;color:#1174b3}
.pf-ibci-result{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px
}
.pf-ibci-result>div{padding:12px;border:1px solid #d8e5ed;border-radius:11px;background:#fff}
.pf-ibci-result span,.pf-ibci-result small{display:block}
.pf-ibci-result span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#6a7f91}
.pf-ibci-result strong{display:block;margin-top:4px;font-size:17px;color:#0a2342}
.pf-ibci-result small{font-size:8px;color:#617687;margin-top:3px}
.pf-ibci-result .pf-ibci-total{background:#0d3d65;border-color:#0d3d65}
.pf-ibci-result .pf-ibci-total span,.pf-ibci-result .pf-ibci-total strong{color:#fff}

.pf-ibci-dialog{max-width:1120px}
.pf-ibci-memorial-content{padding:20px 24px}
.pf-ibci-memorial-content section{margin-bottom:18px}
.pf-ibci-memorial-content h3{margin:0 0 7px;color:#0a2342;font-size:15px}
.pf-ibci-memorial-content p,.pf-ibci-memorial-content li{font-size:10px;line-height:1.55;color:#4f6577}
.pf-ibci-formula{padding:13px;border-radius:10px;background:#eaf6fc;border:1px solid #c5e1ef;color:#075f96;font-weight:900;text-align:center}
.pf-ibci-table{width:100%;border-collapse:collapse;font-size:9px}
.pf-ibci-table th,.pf-ibci-table td{padding:8px;border:1px solid #d9e5ec;text-align:left}
.pf-ibci-table th{background:#eef6fa;color:#0a2342}
.pf-ibci-table .total-row{font-weight:900;background:#fff6dc}
.pf-ibci-live-summary{padding:14px;border-radius:12px;background:#f5f9fc;border:1px solid #d7e4ec}
.pf-ibci-live-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.pf-ibci-live-summary-grid div{padding:9px;border-radius:9px;background:#fff;border:1px solid #dce7ed}
.pf-ibci-live-summary-grid span,.pf-ibci-live-summary-grid strong{display:block}
.pf-ibci-live-summary-grid span{font-size:8px;color:#6a7d8c}
.pf-ibci-live-summary-grid strong{font-size:12px;color:#0a2342;margin-top:3px}
.pf-modal-actions{display:flex;gap:8px}

@media(max-width:1100px){
  .pf-hourly-links,.pf-ibci-grid{grid-template-columns:repeat(2,1fr)}
  .pf-ibci-result{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .pf-hourly-reference-head,.pf-ibci-intro,.pf-ibci-head-actions{align-items:stretch;flex-direction:column}
  .pf-hourly-links,.pf-ibci-grid,.pf-ibci-result,.pf-ibci-live-summary-grid{grid-template-columns:1fr}
  .pf-modal-actions{width:100%;flex-direction:column}
}

/* ============================================================
   CAPA FINAL — BIM COST INTELLIGENCE v8.0
   Alteração exclusiva da apresentação pública
   ============================================================ */

.auth-copy{
  max-width:1040px!important;
  width:100%!important;
  margin:18px 0 18px!important;
}

.landing-v8-cover{
  width:100%;
  color:#fff;
}

.landing-v8-top{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(285px,.88fr);
  gap:22px;
  align-items:end;
  min-height:400px;
}

.landing-v8-copy{
  position:relative;
  z-index:2;
  align-self:start;
  padding-top:8px;
}

.landing-v8-copy h1{
  margin:0;
  max-width:720px;
  font-size:clamp(34px,3.65vw,58px);
  line-height:1.03;
  letter-spacing:-.035em;
  color:#fff;
}

.landing-v8-subtitle{
  max-width:710px;
  margin:16px 0 0;
  color:#d8e8f6;
  font-size:clamp(13px,1.05vw,17px);
  line-height:1.55;
}

.landing-v8-subtitle strong{
  color:#39a9f4;
}

.landing-v8-badges{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:20px;
}

.landing-v8-badges span{
  display:flex;
  align-items:center;
  min-height:51px;
  padding:10px 12px;
  border:1px solid rgba(118,190,239,.43);
  border-radius:11px;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));
  color:#fff;
  font-size:10px;
  font-weight:800;
  line-height:1.35;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

.landing-v8-author{
  position:relative;
  min-height:400px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.landing-v8-author:before{
  content:"";
  position:absolute;
  inset:36px 4% 55px 4%;
  background:
    linear-gradient(rgba(21,125,202,.18) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,125,202,.18) 1px,transparent 1px);
  background-size:28px 28px;
  clip-path:polygon(44% 0,100% 27%,89% 100%,0 91%,9% 21%);
  opacity:.55;
}

.landing-v8-author>img{
  position:absolute;
  z-index:1;
  right:0;
  bottom:112px;
  width:min(320px,86%);
  max-height:330px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.34));
}

.landing-v8-author-card{
  position:relative;
  z-index:3;
  width:100%;
  margin-top:275px;
  padding:15px 17px;
  border:1px solid rgba(94,174,230,.5);
  border-radius:13px;
  background:rgba(5,36,65,.88);
  box-shadow:0 16px 34px rgba(0,0,0,.24);
  backdrop-filter:blur(7px);
}

.landing-v8-kicker{
  display:block;
  color:#38a9f4;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
}

.landing-v8-author-card h2{
  margin:4px 0 5px;
  color:#fff;
  font-size:20px;
  line-height:1.12;
}

.landing-v8-author-card p{
  margin:2px 0;
  color:#dce9f5;
  font-size:10px;
}

.landing-v8-author-card ul{
  margin:10px 0 0;
  padding:9px 0 0 17px;
  border-top:1px solid rgba(255,255,255,.19);
}

.landing-v8-author-card li{
  margin:5px 0;
  color:#e7f1f9;
  font-size:9px;
  line-height:1.35;
}

.landing-v8-intro,
.landing-v8-why{
  margin-top:24px;
}

.landing-v8-intro h2,
.landing-v8-why>h2{
  margin:5px 0 10px;
  color:#fff;
  font-size:27px;
  line-height:1.15;
}

.landing-v8-intro p,
.landing-v8-why>p{
  max-width:930px;
  margin:7px 0;
  color:#d7e5f1;
  font-size:12px;
  line-height:1.55;
}

.landing-v8-methods{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:15px;
}

.landing-v8-methods article{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  padding:16px;
  border:1px solid rgba(103,177,226,.35);
  border-radius:13px;
  background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.035));
}

.landing-v8-method-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(42,147,221,.17);
  color:#48b2fa;
  font-size:22px;
}

.landing-v8-methods h3{
  margin:0 0 5px;
  color:#fff;
  font-size:16px;
}

.landing-v8-methods p{
  margin:0;
  color:#d7e5f1;
  font-size:10px;
  line-height:1.52;
}

.landing-v8-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:15px;
}

.landing-v8-cards article{
  min-height:168px;
  padding:16px;
  border-radius:13px;
  background:#fff;
  color:#0b2744;
  box-shadow:0 10px 23px rgba(0,0,0,.14);
}

.landing-v8-cards article>span{
  display:grid;
  place-items:center;
  width:39px;
  height:39px;
  border-radius:11px;
  background:#e9f4fc;
  color:#2587cc;
  font-size:20px;
  font-weight:900;
}

.landing-v8-cards h3{
  margin:10px 0 7px;
  color:#103656;
  font-size:14px;
  line-height:1.2;
}

.landing-v8-cards p{
  margin:0;
  color:#536b80;
  font-size:9px;
  line-height:1.5;
}

.landing-v8-banner{
  margin-top:11px;
  padding:16px 20px;
  border:1px solid rgba(50,152,225,.8);
  border-radius:13px;
  background:
    linear-gradient(110deg,rgba(17,108,178,.86),rgba(5,42,75,.9)),
    linear-gradient(90deg,transparent,rgba(255,255,255,.04));
}

.landing-v8-banner h2{
  margin:0 0 5px;
  color:#fff;
  font-size:18px;
}

.landing-v8-banner p{
  max-width:880px;
  margin:0;
  color:#e0edf7;
  font-size:10px;
  line-height:1.5;
}

.landing-v8-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
}

.landing-v8-actions .auth-author-line{
  margin:0;
}

@media (min-width:851px){
  .auth-gate{
    grid-template-columns:minmax(0,1.55fr) minmax(385px,.55fr)!important;
  }

  .auth-visual{
    padding:24px 30px 24px!important;
  }

  .auth-brand-logo img{
    max-width:270px;
  }
}

@media (max-width:1100px) and (min-width:851px){
  .landing-v8-top{
    grid-template-columns:minmax(0,1fr) 300px;
  }

  .landing-v8-copy h1{
    font-size:40px;
  }

  .landing-v8-badges{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .landing-v8-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:850px){
  .auth-copy{
    margin-top:16px!important;
  }

  .landing-v8-top{
    display:flex;
    flex-direction:column;
    min-height:0;
  }

  .landing-v8-copy{
    order:1;
    width:100%;
  }

  .landing-v8-copy h1{
    font-size:clamp(31px,9vw,45px);
  }

  .landing-v8-subtitle{
    font-size:14px;
  }

  .landing-v8-author{
    order:2;
    width:100%;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(125px,.55fr) minmax(0,1.45fr);
    align-items:end;
    gap:10px;
    margin-top:7px;
  }

  .landing-v8-author:before{
    display:none;
  }

  .landing-v8-author>img{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    max-height:235px;
    align-self:end;
  }

  .landing-v8-author-card{
    margin:0;
    align-self:center;
  }

  .landing-v8-badges{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .landing-v8-methods,
  .landing-v8-cards{
    grid-template-columns:1fr 1fr;
  }

  .landing-v8-actions{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (max-width:560px){
  .auth-visual{
    padding:22px 18px!important;
  }

  .auth-brand-logo img{
    max-width:230px;
  }

  .landing-v8-copy h1{
    font-size:33px;
  }

  .landing-v8-badges{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }

  .landing-v8-badges span{
    min-height:48px;
    padding:9px;
    font-size:9px;
  }

  .landing-v8-author{
    grid-template-columns:105px 1fr;
  }

  .landing-v8-author>img{
    max-height:190px;
  }

  .landing-v8-author-card{
    padding:12px;
  }

  .landing-v8-author-card h2{
    font-size:16px;
  }

  .landing-v8-author-card p,
  .landing-v8-author-card li{
    font-size:8px;
  }

  .landing-v8-intro h2,
  .landing-v8-why>h2{
    font-size:23px;
  }

  .landing-v8-methods,
  .landing-v8-cards{
    grid-template-columns:1fr;
  }

  .landing-v8-cards article{
    min-height:0;
  }

  .landing-v8-banner{
    padding:15px;
  }

  .landing-v8-banner h2{
    font-size:16px;
  }
}

/* ============================================================
   AJUSTES FINAIS — MENU E CAPA
   ============================================================ */

/* Logo público visível e com boa proporção */
.auth-brand-logo{
  display:flex!important;
  align-items:center!important;
  min-height:72px!important;
  margin-bottom:18px!important;
}
.auth-brand-logo img{
  display:block!important;
  width:min(250px,72vw)!important;
  max-width:250px!important;
  height:auto!important;
  opacity:1!important;
  visibility:visible!important;
  object-fit:contain!important;
}

/* Título ligeiramente menor para acomodar o logo */
.landing-v8-title-compact{
  max-width:650px!important;
  font-size:clamp(31px,3.15vw,50px)!important;
  line-height:1.04!important;
}

/* Seis selos com contraste mais forte e texto maior */
.landing-v8-badges{
  gap:10px!important;
}
.landing-v8-badges span{
  min-height:58px!important;
  padding:12px 14px!important;
  border:1px solid rgba(129,204,255,.9)!important;
  background:linear-gradient(145deg,#1d5c93 0%,#164776 100%)!important;
  color:#ffffff!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.35!important;
  box-shadow:
    0 8px 18px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.landing-v8-badges span::first-letter{
  color:#8fd2ff;
}

/* Leitura um pouco maior nos demais textos da capa, sem alterar estrutura */
.landing-v8-subtitle{
  font-size:clamp(14px,1.08vw,17px)!important;
}
.landing-v8-intro p,
.landing-v8-why>p{
  font-size:13px!important;
}
.landing-v8-methods p{
  font-size:11px!important;
}
.landing-v8-cards p{
  font-size:10px!important;
}
.landing-v8-banner p{
  font-size:11px!important;
}

/* Mobile */
@media (max-width:850px){
  .auth-brand-logo{
    min-height:58px!important;
    margin-bottom:14px!important;
  }
  .auth-brand-logo img{
    width:min(220px,68vw)!important;
    max-width:220px!important;
  }
  .landing-v8-title-compact{
    font-size:clamp(29px,8vw,40px)!important;
  }
  .landing-v8-badges span{
    min-height:54px!important;
    padding:11px!important;
    font-size:11px!important;
  }
}

@media (max-width:560px){
  .auth-brand-logo img{
    width:min(205px,72vw)!important;
    max-width:205px!important;
  }
  .landing-v8-title-compact{
    font-size:31px!important;
  }
  .landing-v8-badges{
    grid-template-columns:1fr!important;
  }
  .landing-v8-badges span{
    min-height:48px!important;
    font-size:11px!important;
  }
}

/* ============================================================
   REVISÃO DE LEGIBILIDADE DA CAPA
   - logo maior
   - subtítulo preservado e ampliado
   - textos ampliados
   - rolagem vertical independente na apresentação pública
   - responsividade desktop e celular
   ============================================================ */

/* Permite navegar por todo o conteúdo da capa sem comprimir os elementos */
.auth-gate{
  height:100vh!important;
  min-height:100vh!important;
  overflow:hidden!important;
}

.auth-visual{
  height:100vh!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
  padding:28px 34px 42px!important;
  overscroll-behavior:contain;
}

/* Barra de rolagem discreta */
.auth-visual::-webkit-scrollbar{
  width:11px;
}
.auth-visual::-webkit-scrollbar-track{
  background:rgba(255,255,255,.05);
}
.auth-visual::-webkit-scrollbar-thumb{
  background:rgba(92,177,235,.48);
  border:3px solid transparent;
  border-radius:999px;
  background-clip:padding-box;
}
.auth-visual::-webkit-scrollbar-thumb:hover{
  background:rgba(92,177,235,.72);
  border:3px solid transparent;
  background-clip:padding-box;
}

/* Logo mais evidente */
.auth-brand-logo{
  min-height:96px!important;
  margin-bottom:26px!important;
}
.auth-brand-logo img{
  width:min(360px,82vw)!important;
  max-width:360px!important;
}

/* Área principal deixa de tentar caber inteira em uma única tela */
.auth-copy{
  max-width:1120px!important;
  margin:0 0 34px!important;
}

.landing-v8-top{
  min-height:470px!important;
  grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)!important;
  gap:32px!important;
}

/* Título continua compacto, mas com leitura confortável */
.landing-v8-title-compact{
  max-width:740px!important;
  font-size:clamp(38px,3.45vw,56px)!important;
  line-height:1.04!important;
}

/* Subtítulo integral e mais legível */
.landing-v8-subtitle{
  max-width:760px!important;
  margin-top:20px!important;
  font-size:clamp(16px,1.12vw,19px)!important;
  line-height:1.58!important;
}

/* Selos maiores, com contraste e espaçamento */
.landing-v8-badges{
  margin-top:25px!important;
  gap:12px!important;
}
.landing-v8-badges span{
  min-height:68px!important;
  padding:15px 17px!important;
  font-size:14px!important;
  line-height:1.35!important;
  border-radius:13px!important;
}

/* Bloco de autoria maior */
.landing-v8-author{
  min-height:470px!important;
}
.landing-v8-author>img{
  width:min(380px,92%)!important;
  max-height:390px!important;
  bottom:146px!important;
}
.landing-v8-author-card{
  margin-top:320px!important;
  padding:19px 21px!important;
}
.landing-v8-author-card h2{
  font-size:24px!important;
}
.landing-v8-author-card p{
  font-size:12px!important;
}
.landing-v8-author-card li{
  font-size:11px!important;
  line-height:1.5!important;
}

/* Textos gerais maiores */
.landing-v8-kicker{
  font-size:11px!important;
}
.landing-v8-intro,
.landing-v8-why{
  margin-top:34px!important;
}
.landing-v8-intro h2,
.landing-v8-why>h2{
  font-size:32px!important;
  margin-bottom:14px!important;
}
.landing-v8-intro p,
.landing-v8-why>p{
  max-width:1040px!important;
  font-size:16px!important;
  line-height:1.62!important;
  margin:10px 0!important;
}

.landing-v8-methods{
  gap:16px!important;
  margin-top:20px!important;
}
.landing-v8-methods article{
  padding:20px!important;
}
.landing-v8-methods h3{
  font-size:20px!important;
}
.landing-v8-methods p{
  font-size:14px!important;
  line-height:1.58!important;
}

.landing-v8-cards{
  gap:14px!important;
  margin-top:20px!important;
}
.landing-v8-cards article{
  min-height:205px!important;
  padding:20px!important;
}
.landing-v8-cards article>span{
  width:46px!important;
  height:46px!important;
  font-size:23px!important;
}
.landing-v8-cards h3{
  font-size:18px!important;
  margin-top:13px!important;
}
.landing-v8-cards p{
  font-size:13px!important;
  line-height:1.58!important;
}

.landing-v8-banner{
  margin-top:16px!important;
  padding:22px 25px!important;
}
.landing-v8-banner h2{
  font-size:23px!important;
}
.landing-v8-banner p{
  font-size:14px!important;
  line-height:1.58!important;
}

.landing-v8-actions{
  margin-top:20px!important;
  padding-bottom:10px!important;
}
.landing-v8-actions .auth-contact-button{
  font-size:14px!important;
  padding:12px 18px!important;
}
.landing-v8-actions .auth-author-line{
  font-size:12px!important;
}

/* Mantém o painel de login fixo e centralizado no desktop */
@media (min-width:851px){
  .auth-panel{
    height:100vh!important;
    overflow-y:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:28px!important;
  }
}

/* Tablet */
@media (max-width:1100px) and (min-width:851px){
  .auth-visual{
    padding:24px 26px 38px!important;
  }
  .auth-brand-logo img{
    width:min(320px,78vw)!important;
    max-width:320px!important;
  }
  .landing-v8-top{
    grid-template-columns:minmax(0,1fr) 330px!important;
  }
  .landing-v8-title-compact{
    font-size:44px!important;
  }
  .landing-v8-badges{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .landing-v8-cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Celular: a página inteira rola e o conteúdo fica em coluna única */
@media (max-width:850px){
  .auth-gate{
    height:auto!important;
    min-height:100vh!important;
    overflow:visible!important;
  }

  .auth-visual{
    height:auto!important;
    min-height:auto!important;
    overflow:visible!important;
    padding:25px 20px 36px!important;
  }

  .auth-panel{
    min-height:auto!important;
    padding:28px 18px 42px!important;
  }

  .auth-brand-logo{
    min-height:78px!important;
    margin-bottom:20px!important;
  }
  .auth-brand-logo img{
    width:min(300px,86vw)!important;
    max-width:300px!important;
  }

  .landing-v8-top{
    min-height:0!important;
    gap:18px!important;
  }

  .landing-v8-title-compact{
    font-size:clamp(34px,9vw,46px)!important;
  }

  .landing-v8-subtitle{
    font-size:16px!important;
    line-height:1.58!important;
  }

  .landing-v8-badges{
    grid-template-columns:1fr 1fr!important;
  }
  .landing-v8-badges span{
    min-height:62px!important;
    font-size:13px!important;
  }

  .landing-v8-author{
    grid-template-columns:minmax(125px,.48fr) minmax(0,1.52fr)!important;
    gap:13px!important;
  }
  .landing-v8-author>img{
    max-height:260px!important;
  }
  .landing-v8-author-card{
    padding:16px!important;
  }
  .landing-v8-author-card h2{
    font-size:20px!important;
  }
  .landing-v8-author-card p{
    font-size:11px!important;
  }
  .landing-v8-author-card li{
    font-size:10px!important;
  }

  .landing-v8-intro h2,
  .landing-v8-why>h2{
    font-size:28px!important;
  }
  .landing-v8-intro p,
  .landing-v8-why>p{
    font-size:15px!important;
  }

  .landing-v8-methods{
    grid-template-columns:1fr!important;
  }
  .landing-v8-methods h3{
    font-size:19px!important;
  }
  .landing-v8-methods p{
    font-size:14px!important;
  }

  .landing-v8-cards{
    grid-template-columns:1fr 1fr!important;
  }
  .landing-v8-cards article{
    min-height:190px!important;
  }
}

/* Celulares estreitos */
@media (max-width:560px){
  .auth-visual{
    padding:22px 16px 32px!important;
  }
  .auth-brand-logo img{
    width:min(270px,88vw)!important;
    max-width:270px!important;
  }
  .landing-v8-title-compact{
    font-size:34px!important;
  }
  .landing-v8-subtitle{
    font-size:15px!important;
  }
  .landing-v8-badges{
    grid-template-columns:1fr!important;
  }
  .landing-v8-badges span{
    min-height:54px!important;
    font-size:13px!important;
  }
  .landing-v8-author{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }
  .landing-v8-author>img{
    width:min(230px,75vw)!important;
    max-height:250px!important;
  }
  .landing-v8-author-card{
    width:100%!important;
  }
  .landing-v8-cards{
    grid-template-columns:1fr!important;
  }
  .landing-v8-cards article{
    min-height:0!important;
  }
  .landing-v8-banner h2{
    font-size:21px!important;
  }
}

/* V8.0 FINAL COVER FIX */
.auth-brand-logo{background:transparent!important;padding:0!important;min-height:auto!important;margin-bottom:24px!important}
.auth-brand-logo img{display:block!important;width:420px!important;max-width:92%!important;height:auto!important;object-fit:contain!important}
.auth-visual{overflow-y:auto!important}
.landing-v8-title-compact{font-size:clamp(34px,3vw,52px)!important;max-width:720px!important}
.landing-v8-subtitle{font-size:18px!important;line-height:1.7!important;max-width:760px!important}
.landing-v8-badges span{font-size:15px!important;padding:16px 18px!important;min-height:72px!important}
@media(max-width:900px){
.auth-brand-logo img{width:300px!important;max-width:90%!important}
.landing-v8-title-compact{font-size:40px!important}
.landing-v8-subtitle{font-size:16px!important}
}

/* ============================================================
   CORREÇÃO DEFINITIVA — LOGO INTEGRAL NA CAPA
   A imagem está embutida no HTML e também salva em /assets.
   ============================================================ */

.auth-brand-logo{
  display:block!important;
  position:relative!important;
  z-index:30!important;
  width:min(520px,92%)!important;
  max-width:520px!important;
  min-height:0!important;
  margin:0 0 30px 0!important;
  padding:14px 18px!important;
  overflow:visible!important;
  border-radius:16px!important;
  background:#ffffff!important;
  box-shadow:0 12px 30px rgba(0,0,0,.18)!important;
  opacity:1!important;
  visibility:visible!important;
}

.auth-brand-logo .auth-logo-integral{
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  clip-path:none!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}

/* Garante que o início da capa não fique escondido */
.auth-visual{
  align-items:flex-start!important;
  scroll-padding-top:22px!important;
}

@media (min-width:851px){
  .auth-brand-logo{
    width:min(520px,88%)!important;
    max-width:520px!important;
  }
}

@media (max-width:850px){
  .auth-brand-logo{
    width:min(430px,94%)!important;
    max-width:430px!important;
    margin:0 auto 24px!important;
    padding:12px 14px!important;
  }
}

@media (max-width:560px){
  .auth-brand-logo{
    width:100%!important;
    max-width:360px!important;
    margin:0 auto 22px!important;
    padding:10px 12px!important;
    border-radius:13px!important;
  }
}

/* ============================================================
   CORREÇÃO DA LOGO — FLUXO NORMAL, SEM SOBREPOSIÇÃO
   ============================================================ */

.auth-brand-logo{
  display:block!important;
  position:relative!important;
  z-index:auto!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0 0 26px 0!important;
  padding:0!important;
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
}

.auth-brand-logo .auth-logo-integral{
  display:block!important;
  position:relative!important;
  width:360px!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:left center!important;
  clip-path:none!important;
  transform:none!important;
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Mantém a logo acima do conteúdo e reserva o espaço corretamente */
.auth-copy{
  position:relative!important;
  z-index:1!important;
}

.landing-v8-top{
  position:relative!important;
  z-index:1!important;
  clear:both!important;
}

/* Desktop */
@media (min-width:851px){
  .auth-brand-logo{
    margin-bottom:28px!important;
  }

  .auth-brand-logo .auth-logo-integral{
    width:360px!important;
    max-width:42vw!important;
  }
}

/* Tablet e celular */
@media (max-width:850px){
  .auth-brand-logo{
    display:flex!important;
    justify-content:center!important;
    margin:0 0 22px 0!important;
  }

  .auth-brand-logo .auth-logo-integral{
    width:280px!important;
    max-width:82vw!important;
    object-position:center center!important;
  }
}

@media (max-width:560px){
  .auth-brand-logo{
    margin-bottom:20px!important;
  }

  .auth-brand-logo .auth-logo-integral{
    width:250px!important;
    max-width:86vw!important;
  }
}

/* ============================================================
   AJUSTE FINAL SOLICITADO
   O título textual foi removido e substituído pela logo integral.
   ============================================================ */

.landing-v8-title-logo{
  display:block!important;
  width:100%!important;
  max-width:620px!important;
  margin:0 0 18px 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.landing-v8-title-logo img{
  display:block!important;
  width:100%!important;
  max-width:620px!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:left center!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
}

@media (max-width:850px){
  .landing-v8-title-logo{
    max-width:480px!important;
    margin:0 auto 18px!important;
  }

  .landing-v8-title-logo img{
    max-width:480px!important;
    object-position:center center!important;
  }
}

@media (max-width:560px){
  .landing-v8-title-logo{
    max-width:330px!important;
    margin-bottom:16px!important;
  }

  .landing-v8-title-logo img{
    max-width:330px!important;
  }
}

/* ============================================================
   REVISÃO FINAL SOLICITADA
   1. Logo substituída pela LOGO ADEQUADA.
   2. Rolagem funcional na página inicial em celulares.
   Desktop preservado.
   ============================================================ */

/* Proporção correta da nova logo */
.landing-v8-title-logo{
  max-width:620px!important;
  overflow:visible!important;
}

.landing-v8-title-logo img{
  display:block!important;
  width:100%!important;
  max-width:620px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  border:0!important;
  box-shadow:none!important;
  clip-path:none!important;
}

/* Rolagem real no mobile: a página inteira passa a rolar normalmente */
@media (max-width:850px){
  html,
  body{
    width:100%!important;
    min-height:100%!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    position:static!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body{
    touch-action:pan-y!important;
  }

  .auth-gate{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:100vh!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
  }

  .auth-visual{
    display:flex!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:24px 20px 34px!important;
  }

  .auth-copy{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .auth-panel{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:26px 16px 42px!important;
  }

  .landing-v8-title-logo{
    width:100%!important;
    max-width:480px!important;
    margin:0 auto 18px!important;
  }

  .landing-v8-title-logo img{
    width:100%!important;
    max-width:480px!important;
    height:auto!important;
    object-position:center center!important;
  }
}

@media (max-width:560px){
  .landing-v8-title-logo{
    max-width:340px!important;
  }

  .landing-v8-title-logo img{
    max-width:340px!important;
  }

  .auth-visual{
    padding:20px 15px 30px!important;
  }
}

/* ============================================================
   AJUSTE EXCLUSIVO PARA CELULAR
   - remove a fotografia do autor apenas no mobile
   - mantém o bloco textual organizado e sequenciado
   - desktop permanece inalterado
   ============================================================ */

@media (max-width:850px){
  .landing-v8-author{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    margin-top:18px!important;
  }

  .landing-v8-author>img{
    display:none!important;
  }

  .landing-v8-author-card{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:18px!important;
    align-self:auto!important;
  }

  .landing-v8-author-card .landing-v8-kicker{
    display:block!important;
    margin-bottom:5px!important;
  }

  .landing-v8-author-card h2{
    margin:0 0 7px!important;
  }

  .landing-v8-author-card p{
    margin:3px 0!important;
  }

  .landing-v8-author-card ul{
    margin-top:12px!important;
    padding-top:11px!important;
  }

  .landing-v8-author-card li{
    margin:6px 0!important;
  }
}

@media (max-width:560px){
  .landing-v8-author-card{
    padding:16px!important;
  }
}


/* ============================================================
   v8.1.1 — CORREÇÃO DE ACESSO E NAVEGAÇÃO EM CELULARES
   A capa de autenticação nunca pode permanecer visível após o login.
   ============================================================ */

.auth-gate.hidden,
.auth-gate[hidden],
body.session-authenticated .auth-gate,
html.session-authenticated .auth-gate{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  position:absolute!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  overflow:hidden!important;
}

.app-authenticated[hidden]{
  display:none!important;
}

body.session-authenticated .app-authenticated:not([hidden]){
  visibility:visible!important;
  pointer-events:auto!important;
}

@media (max-width:850px){
  /* Corrige a regra mobile anterior que forçava display:block na tela inicial. */
  .auth-gate.hidden,
  .auth-gate[hidden],
  body.session-authenticated .auth-gate,
  html.session-authenticated .auth-gate{
    display:none!important;
    position:absolute!important;
    inset:auto!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }

  body.session-authenticated,
  html.session-authenticated{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  body.session-authenticated .app-authenticated:not([hidden]){
    display:block!important;
    width:100%!important;
    min-height:100dvh!important;
    overflow:visible!important;
  }

  body.session-authenticated main{
    min-height:100dvh!important;
  }
}


/* ============================================================
   v8.2 — REVISÃO METODOLÓGICA, PEB E INTERFACE
   ============================================================ */
.methodology-toolbar,
.explanation-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px;
  margin-bottom:18px;
  border:1px solid #d8e5ef;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fbfd,#eef7fb);
}
.methodology-toolbar p,.explanation-panel p{margin:5px 0 0;color:#536477;line-height:1.55}
.methodology-guide{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:20px;
}
.methodology-guide article{
  padding:16px;
  border:1px solid #dce8f0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(18,54,84,.05);
}
.methodology-guide b{display:block;color:#0b3456;margin-bottom:6px}
.methodology-guide p{font-size:.86rem;line-height:1.45;color:#586a7c}
.methodology-guide code,.explanation-panel code{
  display:block;
  margin-top:8px;
  padding:8px 10px;
  border-radius:10px;
  background:#eaf4fa;
  color:#124c73;
  white-space:normal;
}
.label-help,.field-inline-help{
  display:block;
  margin-top:4px;
  font-size:.72rem;
  line-height:1.35;
  font-weight:400;
  color:#6d7e8f;
}
.activity-comment{
  min-width:210px;
  min-height:66px;
  resize:vertical;
}
.activity-name-input{min-width:210px;font-weight:700}
#scopeRows td{vertical-align:top}
#scopeRows .delete-btn{margin-top:8px}
.peb-builder-panel{margin-top:22px}
.peb-builder-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}
.peb-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.peb-form textarea{min-height:95px}
.peb-preview{
  border-radius:20px;
  overflow:hidden;
  border:1px solid #dce7ef;
  background:#f8fbfd;
  box-shadow:0 14px 34px rgba(17,52,80,.08);
}
.peb-cover-mini{
  min-height:200px;
  display:flex;
  align-items:flex-end;
  gap:18px;
  padding:24px;
  color:#fff;
  background:linear-gradient(135deg,#0a2945,#1778ae);
  position:relative;
  overflow:hidden;
}
.peb-cover-mini img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.peb-cover-mini>div:last-child{position:relative;z-index:2}
.peb-cover-mini h3{font-size:1.45rem;margin:6px 0}
.peb-cover-placeholder{position:relative;z-index:2;font-size:2.4rem;font-weight:800;opacity:.55}
.peb-preview-row{padding:14px 18px;border-bottom:1px solid #e0eaf1}
.peb-preview-row span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#1778ae;font-weight:800}
.peb-preview-row p{margin:5px 0 0;color:#42576a;line-height:1.45}
.decision-panel{background:linear-gradient(135deg,#fff,#f3f9fc)}
.insight-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.insight-list article{padding:15px;border-radius:14px;background:#fff;border:1px solid #dce8f0}
.insight-list strong{color:#0e6ea5}
.insight-list p{margin:6px 0 0;color:#526779;line-height:1.45}
.payment-suggestion{margin-top:18px;padding:16px;border-radius:16px;background:#0e3555;color:#fff}
.payment-suggestion h4{margin:0 0 10px}
.payment-suggestion>div{display:grid;grid-template-columns:1fr 70px 2fr;gap:12px;padding:9px 0;border-top:1px solid rgba(255,255,255,.16)}
.payment-suggestion small{opacity:.82}
.proposal-annex-panel{margin-top:18px}
.document-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.document-links a{padding:10px 13px;border-radius:10px;background:#eaf4fa;color:#0d6090;font-weight:700;text-decoration:none}

/* Efeito tridimensional sutil no gráfico de composição */
.donut-wrap{perspective:900px}
#donutChart{
  transform:rotateX(57deg) rotateZ(-7deg);
  filter:drop-shadow(0 22px 15px rgba(12,46,73,.25));
}
.donut-center{
  transform:translate(-50%,-50%) translateY(-4px);
  box-shadow:0 12px 26px rgba(13,52,81,.16);
}

/* Melhoria do documento e navegação de referências */
.reference a{display:inline-block;margin-top:7px}
.formula-explanation{align-items:flex-start}
.formula-explanation>div{min-width:58%}

@media(max-width:1100px){
  .methodology-guide{grid-template-columns:1fr 1fr}
  .peb-builder-grid{grid-template-columns:1fr}
  .insight-list{grid-template-columns:1fr 1fr}
}
@media(max-width:850px){
  .methodology-toolbar,.explanation-panel{display:block}
  .methodology-toolbar .panel-actions{margin-top:14px}
  .methodology-guide,.peb-form,.insight-list{grid-template-columns:1fr}
  .peb-builder-grid{display:block}
  .peb-preview{margin-top:18px}
  .payment-suggestion>div{grid-template-columns:1fr 55px}
  .payment-suggestion small{grid-column:1/-1}
  .table-wrap{overflow-x:auto}
  #scopeRows table{min-width:1250px}
  .activity-comment{min-width:180px}
}
.donut-wrap{perspective:none!important;min-width:260px}#donutChart{transform:none!important;filter:drop-shadow(0 8px 12px rgba(12,46,73,.14))!important;width:240px;height:240px}.donut-layout{display:grid!important;grid-template-columns:280px minmax(320px,1fr)!important;align-items:center!important;gap:28px!important}.legend-item{display:grid!important;grid-template-columns:14px 1fr auto!important;gap:12px!important;padding:9px 0!important;border-bottom:1px solid #edf2f6}.linked-field-note{display:block;max-width:190px;margin-top:6px;color:#5d7183;line-height:1.35}#scopeRows input[disabled]{background:#eef3f7!important;color:#34516a!important;cursor:not-allowed}.peb-reference-note{margin:24px 0 14px;padding:16px 18px;border-radius:14px;background:#eef7fb;border:1px solid #cfe4ef}.peb-edit-table{margin-top:18px;padding:16px;border:1px solid #dce8f0;border-radius:16px}.peb-edit-head{display:flex;justify-content:space-between;align-items:center}.peb-edit-table table{min-width:850px;width:100%;border-collapse:collapse}.peb-edit-table th{background:#0e3555;color:#fff;padding:10px;text-align:left}.peb-edit-table td{padding:7px;border-bottom:1px solid #e5edf3}.peb-edit-table input{width:100%;min-width:130px}.peb-pdf-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.maturity-panel{margin:22px 0}.maturity-scale{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:14px}.maturity-scale span{padding:10px;border-radius:10px;background:#f2f7fa;text-align:center}.maturity-scale b{display:block;color:#0e6ea5}.maturity-table{min-width:900px;width:100%;border-collapse:collapse}.maturity-table th{background:#0e3555;color:#fff;padding:10px;text-align:left}.maturity-table td{padding:8px;border-bottom:1px solid #e4edf3}.maturity-results{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.maturity-results article{padding:15px;border:1px solid #dce7ef;border-radius:14px;background:#f8fbfd}.maturity-results span{display:block;font-size:.72rem;text-transform:uppercase}.maturity-results strong{display:block;margin-top:6px;color:#0a3455}.maturity-method{margin-top:14px;padding:14px;border-radius:12px;background:#fff7dd;border:1px solid #ead58b}@media(max-width:850px){.donut-layout{grid-template-columns:1fr!important}.maturity-scale{grid-template-columns:repeat(3,1fr)}.maturity-results{grid-template-columns:1fr 1fr}.peb-pdf-actions{flex-direction:column}}
/* v8.3.3 — correção definitiva do gráfico de composição */
.donut-wrap{
  position:relative!important;
  width:240px!important;
  height:240px!important;
  min-width:240px!important;
  perspective:none!important;
  overflow:visible!important;
}
#donutChart{
  display:block!important;
  width:240px!important;
  height:240px!important;
  transform:rotate(-90deg)!important;
  filter:drop-shadow(0 8px 12px rgba(12,46,73,.14))!important;
}
.donut-center{
  position:absolute!important;
  inset:50% auto auto 50%!important;
  width:118px!important;
  height:118px!important;
  min-width:0!important;
  min-height:0!important;
  transform:translate(-50%,-50%)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#fff!important;
  border:1px solid #e2ebf2!important;
  box-shadow:none!important;
  overflow:hidden!important;
  z-index:3!important;
}
.donut-center span,.donut-center strong{position:static!important}

/* Orientações MR01 */
.pf-input-guidance{margin:18px 0;padding:18px;border:1px solid #d8e5ef;border-radius:18px;background:#f8fbfd}
.pf-guidance-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}
.pf-guidance-head strong{color:#0a3455;font-size:1rem}
.pf-guidance-head span{color:#647789;font-size:.82rem}
.pf-guidance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pf-guidance-grid article{padding:14px;border:1px solid #dce8f0;border-radius:14px;background:#fff}
.pf-guidance-grid b{display:block;color:#0e5f91;margin-bottom:6px}
.pf-guidance-grid p{margin:0;color:#536779;font-size:.82rem;line-height:1.45}
.pf-guidance-grid code{display:block;margin-top:8px;padding:7px 8px;border-radius:8px;background:#eef6fb;color:#0b527d;font-size:.72rem;white-space:normal}
.pf-guidance-grid small{display:block;margin-top:7px;color:#7a5a00}
.pf-stage-help{margin:12px 0;padding:11px 13px;border-radius:10px;background:#eef6fb;color:#506779;font-size:.82rem;line-height:1.45}

/* Matriz de maturidade didática */
.maturity-instructions{margin-bottom:14px;padding:14px 16px;border-radius:12px;background:#eef6fb;border-left:4px solid #1873b8}
.maturity-instructions p{margin:5px 0 0;color:#526779}
.maturity-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.maturity-level-guide{position:sticky;top:16px;padding:16px;border:1px solid #dce8f0;border-radius:16px;background:#fff}
.maturity-level-guide h4{margin:0 0 10px;color:#0a3455}
.maturity-level-guide article{padding:9px 0;border-top:1px solid #edf2f6}
.maturity-level-guide article:first-of-type{border-top:0}
.maturity-level-guide b{color:#0e6ea5}
.maturity-level-guide p{margin:3px 0 0;color:#5a6d7e;font-size:.78rem;line-height:1.4}
.maturity-table{min-width:1100px!important}
.maturity-table th:nth-child(3){min-width:360px}
.maturity-row-help{display:block;color:#526779;line-height:1.45}
.maturity-table select{min-width:170px}
.maturity-chart-panel{margin-top:18px;padding:16px;border:1px solid #dce8f0;border-radius:16px;background:#fff}
.maturity-bars{display:grid;gap:9px}
.maturity-bar-row{display:grid;grid-template-columns:270px minmax(180px,1fr) 45px;gap:12px;align-items:center}
.maturity-bar-row>span{font-size:.8rem;color:#40566a}
.maturity-bar-track{height:13px;border-radius:999px;background:#e6eef4;overflow:hidden}
.maturity-bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2b91c7,#0e5b91)}
.maturity-bar-row b{text-align:right;color:#0a3455}
.panel-head.compact{margin-bottom:12px}

/* Evita aparência desativada indevida do botão do memorial */
#pfPrintBtn{opacity:1!important;pointer-events:auto!important;cursor:pointer!important}
#pfPrintBtn:disabled{opacity:.55!important;cursor:not-allowed!important}

@media(max-width:1200px){
  .pf-guidance-grid{grid-template-columns:1fr 1fr}
  .maturity-layout{grid-template-columns:1fr}
  .maturity-level-guide{position:static}
}
@media(max-width:850px){
  .pf-guidance-head{display:block}
  .pf-guidance-grid{grid-template-columns:1fr}
  .maturity-bar-row{grid-template-columns:1fr 1fr 42px}
  .maturity-bar-row>span{grid-column:1/-1}
}

/* ============================================================
   BIM Cost Intelligence v9.0 — Etapa 1 — Metodologia CAIXA
   ============================================================ */

.caixa-screen{
  padding-bottom:42px;
}

.caixa-section-header{
  gap:18px;
}

.caixa-header-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.caixa-reference-notice{
  background:linear-gradient(135deg,#f3f9fe,#e9f4fc);
  border-color:#bdd9ee;
}

.official-icon{
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:13px;
  background:#0876c9;
  color:#fff;
  font-weight:900;
}

.caixa-mode-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.caixa-mode-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:86px;
  padding:16px;
  border:1px solid #dce7ef;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  transition:.18s ease;
}

.caixa-mode-card:hover{
  border-color:#a8ccdf;
  transform:translateY(-1px);
}

.caixa-mode-card:has(input:checked){
  border-color:#1684c5;
  background:#f2f9fd;
  box-shadow:0 0 0 3px rgba(22,132,197,.12);
}

.caixa-mode-card input{
  width:18px;
  height:18px;
}

.caixa-mode-card b,
.caixa-mode-card small{
  display:block;
}

.caixa-mode-card b{
  color:#0a3455;
}

.caixa-mode-card small{
  margin-top:5px;
  color:#627688;
  line-height:1.4;
}

.caixa-context-note{
  margin-top:14px;
  padding:12px 14px;
  border-radius:11px;
  background:#eef6fb;
  color:#4f6679;
}

.caixa-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);
  gap:18px;
  margin-top:18px;
}

.caixa-subpanel{
  margin-top:18px;
  padding:16px;
  border:1px solid #dce8f0;
  border-radius:16px;
  background:#f9fbfd;
}

.caixa-subpanel h4{
  margin:0 0 13px;
  color:#0a3455;
}

.form-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.form-grid .full{
  grid-column:1/-1;
}

.field-help{
  display:block;
  margin-top:5px;
  color:#687b8d;
  font-size:.74rem;
  line-height:1.4;
}

.compact-field{
  max-width:360px;
}

.caixa-formula-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  margin-top:14px;
  padding:14px;
  border:1px solid #cbe3f0;
  border-radius:13px;
  background:#eaf5fb;
}

.caixa-formula-card span{
  color:#557083;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.caixa-formula-card code{
  color:#0d5986;
  font-weight:700;
  white-space:normal;
}

.caixa-formula-card strong{
  color:#0a3455;
}

.caixa-formula-card.vertical{
  display:block;
}

.caixa-formula-card.vertical code{
  display:block;
  margin:8px 0;
  font-size:.95rem;
}

.caixa-formula-card.vertical p{
  margin:0;
  color:#52697b;
}

.caixa-eligibility{
  margin-top:12px;
  padding:12px;
  border:1px solid #ead58c;
  border-radius:11px;
  background:#fff7dc;
}

.caixa-eligibility p{
  margin:4px 0 0;
  color:#675b31;
}

.caixa-result-panel{
  position:sticky;
  top:16px;
  align-self:start;
}

.caixa-total-card{
  padding:22px;
  border-radius:17px;
  background:linear-gradient(135deg,#0b3d67,#0877b7);
  color:#fff;
}

.caixa-total-card span,
.caixa-total-card small{
  display:block;
  opacity:.84;
}

.caixa-total-card strong{
  display:block;
  margin:8px 0;
  font-size:2rem;
}

.caixa-result-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:13px;
}

.caixa-result-grid article{
  padding:13px;
  border:1px solid #dce8f0;
  border-radius:13px;
  background:#fff;
}

.caixa-result-grid span{
  display:block;
  color:#687b8d;
  font-size:.69rem;
  text-transform:uppercase;
}

.caixa-result-grid strong{
  display:block;
  margin-top:6px;
  color:#0a3455;
}

.caixa-warning{
  margin-top:14px;
  padding:13px;
  border:1px solid #bee1c9;
  border-radius:12px;
  background:#edf8f1;
}

.caixa-warning.has-warning{
  border-color:#f2c3b7;
  background:#fff0ec;
}

.caixa-warning p{
  margin:5px 0 0;
  color:#566c7d;
}

.caixa-bottom-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  margin-top:18px;
}

.large-memorial{
  min-height:480px;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  line-height:1.55;
}

.panel-actions.end{
  justify-content:flex-end;
  margin-top:12px;
}

.caixa-document-card{
  padding:18px;
  border:1px solid #d5e5ef;
  border-radius:15px;
  background:linear-gradient(135deg,#f8fbfd,#edf6fb);
}

.caixa-document-card strong{
  display:block;
  color:#0a3455;
  font-size:1.05rem;
}

.caixa-document-card p{
  margin:8px 0 15px;
  color:#5b6f81;
  line-height:1.5;
}

.caixa-rules{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.caixa-rules article{
  padding:13px;
  border-left:4px solid #1684c5;
  border-radius:0 11px 11px 0;
  background:#f7fafc;
}

.caixa-rules b{
  color:#0a3455;
}

.caixa-rules p{
  margin:4px 0 0;
  color:#5a6e80;
  line-height:1.45;
}

@media(max-width:1200px){
  .caixa-main-grid,
  .caixa-bottom-grid{
    grid-template-columns:1fr;
  }

  .caixa-result-panel{
    position:static;
  }
}

@media(max-width:850px){
  .caixa-mode-grid,
  .form-grid.three{
    grid-template-columns:1fr;
  }

  .caixa-formula-card{
    grid-template-columns:1fr;
  }

  .caixa-header-actions{
    width:100%;
  }

  .caixa-header-actions .btn{
    width:100%;
  }
}

/* ============================================================
   BIM Cost Intelligence v9.1 — Etapa 2 — Comparativo
   ============================================================ */

.comparison-panel{
  margin-top:18px;
}

.comparison-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.comparison-card{
  padding:17px;
  border:1px solid #dce7ef;
  border-radius:15px;
  background:#fff;
}

.comparison-card.cau-base{
  border-top:4px solid #5a7891;
}

.comparison-card.cau-bim{
  border-top:4px solid #1083c3;
}

.comparison-card.caixa{
  border-top:4px solid #f19a24;
}

.comparison-card.difference{
  border-top:4px solid #2d8b5e;
}

.comparison-card span,
.comparison-card small{
  display:block;
}

.comparison-card span{
  color:#687a8b;
  font-size:.71rem;
  text-transform:uppercase;
}

.comparison-card strong{
  display:block;
  margin:8px 0;
  color:#0a3455;
  font-size:1.42rem;
}

.comparison-card small{
  color:#607386;
  line-height:1.4;
}

.comparison-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.comparison-metrics article{
  padding:13px;
  border:1px solid #dde7ee;
  border-radius:13px;
  background:#f8fbfd;
}

.comparison-metrics span{
  display:block;
  color:#687b8d;
  font-size:.7rem;
  text-transform:uppercase;
}

.comparison-metrics strong{
  display:block;
  margin-top:5px;
  color:#0a3455;
  font-size:1.05rem;
}

.comparison-bars{
  margin-top:16px;
  padding:16px;
  border-radius:14px;
  background:#f7fafc;
}

.comparison-bars>div{
  display:grid;
  grid-template-columns:110px 1fr 130px;
  gap:12px;
  align-items:center;
  margin:11px 0;
}

.comparison-bars>div>span{
  color:#40576a;
  font-weight:700;
}

.comparison-track{
  height:15px;
  overflow:hidden;
  border-radius:999px;
  background:#dfe9f0;
}

.comparison-track i{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:#5a7891;
  transition:width .3s ease;
}

.comparison-bars>div:nth-child(2) i{
  background:#1083c3;
}

.comparison-bars>div:nth-child(3) i{
  background:#f19a24;
}

.comparison-bars b{
  color:#0a3455;
  text-align:right;
}

.comparison-note{
  margin-top:14px;
  padding:14px;
  border-radius:12px;
  background:#eef6fb;
}

.comparison-note p{
  margin:5px 0 0;
  color:#52697c;
  line-height:1.5;
}

@media(max-width:1200px){
  .comparison-cards,
  .comparison-metrics{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:850px){
  .comparison-cards,
  .comparison-metrics{
    grid-template-columns:1fr;
  }

  .comparison-bars>div{
    grid-template-columns:80px 1fr;
  }

  .comparison-bars b{
    grid-column:1/-1;
    text-align:left;
  }
}

/* ============================================================
   BIM Cost Intelligence v9.2 — Etapa 3 — Benchmark
   ============================================================ */

.benchmark-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  margin-top:18px;
}

.benchmark-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.benchmark-summary article{
  padding:14px;
  border:1px solid #dce7ef;
  border-radius:13px;
  background:#f8fbfd;
}

.benchmark-summary span,
.benchmark-summary small{
  display:block;
}

.benchmark-summary span{
  color:#6b7d8e;
  font-size:.69rem;
  text-transform:uppercase;
}

.benchmark-summary strong{
  display:block;
  margin:7px 0 4px;
  color:#0a3455;
  font-size:1.12rem;
}

.benchmark-summary small{
  color:#687b8d;
}

.recommendation-card{
  padding:18px;
  border:1px solid #cbe3f0;
  border-radius:15px;
  background:linear-gradient(135deg,#eff8fd,#f9fcfe);
}

.recommendation-card strong{
  display:block;
  color:#0a3455;
  font-size:1.05rem;
}

.recommendation-card p{
  margin:7px 0 0;
  color:#566d80;
  line-height:1.5;
}

.benchmark-ranking{
  margin-top:16px;
}

.benchmark-ranking h4{
  margin:0 0 10px;
  color:#0a3455;
}

.ranking-row{
  display:grid;
  grid-template-columns:32px 1fr auto;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-top:1px solid #e5edf3;
}

.ranking-row:first-child{
  border-top:0;
}

.ranking-row i{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#eaf5fb;
  color:#0e6598;
  font-style:normal;
  font-weight:800;
}

.ranking-row span{
  color:#425a6e;
}

.ranking-row strong{
  color:#0a3455;
}

.ranking-empty{
  padding:14px;
  border-radius:11px;
  background:#f7fafc;
  color:#687b8d;
}

.executive-report-panel{
  margin-top:18px;
}

.executive-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.executive-kpis article{
  padding:15px;
  border:1px solid #dce7ef;
  border-radius:14px;
  background:#fff;
}

.executive-kpis span{
  display:block;
  color:#6b7d8e;
  font-size:.7rem;
  text-transform:uppercase;
}

.executive-kpis strong{
  display:block;
  margin-top:7px;
  color:#0a3455;
  font-size:1.18rem;
}

.executive-chart{
  display:grid;
  gap:11px;
  margin-top:17px;
  padding:16px;
  border-radius:14px;
  background:#f7fafc;
}

.executive-chart-row{
  display:grid;
  grid-template-columns:110px 1fr 135px;
  gap:12px;
  align-items:center;
}

.executive-chart-row span{
  color:#425a6e;
  font-weight:700;
}

.executive-chart-track{
  height:16px;
  overflow:hidden;
  border-radius:999px;
  background:#dfe9f0;
}

.executive-chart-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#0f80bf,#31a0d2);
}

.executive-chart-row:nth-child(3) i{
  background:linear-gradient(90deg,#e98b19,#f5b64d);
}

.executive-chart-row:nth-child(4) i{
  background:linear-gradient(90deg,#4d8267,#70a486);
}

.executive-chart-row strong{
  color:#0a3455;
  text-align:right;
}

.executive-narrative{
  min-height:430px;
  margin-top:16px;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  line-height:1.55;
}

@media(max-width:1200px){
  .benchmark-grid{
    grid-template-columns:1fr;
  }

  .benchmark-summary,
  .executive-kpis{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:850px){
  .benchmark-summary,
  .executive-kpis{
    grid-template-columns:1fr;
  }

  .executive-chart-row{
    grid-template-columns:85px 1fr;
  }

  .executive-chart-row strong{
    grid-column:1/-1;
    text-align:left;
  }
}

/* ============================================================
   BIM Cost Intelligence v9.3 — Etapa 4 — Consolidação
   ============================================================ */

.finalization-panel{
  margin-top:18px;
}

.final-validation-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.final-validation-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border:1px solid #dce7ef;
  border-radius:13px;
  background:#fff;
}

.final-validation-item i{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:50%;
  font-style:normal;
  font-weight:900;
}

.final-validation-item.is-valid i{
  background:#e7f6ed;
  color:#238354;
}

.final-validation-item.is-pending i{
  background:#fff1e3;
  color:#bb6b12;
}

.final-validation-item strong{
  color:#0a3455;
}

.final-validation-item p{
  margin:5px 0 0;
  color:#637789;
  line-height:1.4;
}

.finalization-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.finalization-summary article{
  padding:14px;
  border:1px solid #dce7ef;
  border-radius:13px;
  background:#f8fbfd;
}

.finalization-summary span{
  display:block;
  color:#6a7d8e;
  font-size:.69rem;
  text-transform:uppercase;
}

.finalization-summary strong{
  display:block;
  margin-top:7px;
  color:#0a3455;
  font-size:1.08rem;
}

.finalization-note{
  margin-top:14px;
  padding:14px;
  border-radius:12px;
  background:#eef6fb;
}

.finalization-note strong{
  color:#0a3455;
}

.finalization-note p{
  margin:5px 0 0;
  color:#566d80;
  line-height:1.5;
}

.status-pill.is-valid{
  background:#e7f6ed;
  color:#237a50;
}

.status-pill.is-warning{
  background:#fff1e3;
  color:#a75c11;
}

@media(max-width:1000px){
  .final-validation-grid,
  .finalization-summary{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .final-validation-grid,
  .finalization-summary{
    grid-template-columns:1fr;
  }
}

/* Identificação do pacote final consolidado */
#finalBuildBadge{
  position:fixed;
  right:12px;
  bottom:8px;
  z-index:999;
  padding:5px 9px;
  border:1px solid rgba(10,52,85,.16);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#496174;
  font-size:10px;
  font-weight:700;
  letter-spacing:.03em;
  box-shadow:0 4px 16px rgba(10,52,85,.08);
  pointer-events:none;
}
@media print{
  #finalBuildBadge{display:none!important}
}

/* ============================================================
   BIM Cost Intelligence Professional v10.0
   Revisão integrada CAU, IBCI, Matriz BIM e CAIXA
   ============================================================ */

.maturity-table-v10{
  min-width:1250px;
}

.maturity-table-v10 th{
  font-size:.76rem;
}

.maturity-table-v10 td{
  vertical-align:top;
  font-size:.82rem;
  line-height:1.45;
}

.maturity-table-v10 th:nth-child(1){width:105px}
.maturity-table-v10 th:nth-child(2){width:190px}
.maturity-table-v10 th:nth-child(3){min-width:440px}
.maturity-table-v10 th:nth-child(4){width:160px}
.maturity-table-v10 th:nth-child(5){width:180px}
.maturity-table-v10 th:nth-child(6){width:100px}

.maturity-selected-description{
  min-width:390px;
  padding:10px 12px;
  border:1px solid #d7e7f1;
  border-radius:11px;
  background:#f7fbfd;
}

.maturity-selected-description b{
  display:block;
  color:#0a3455;
  margin-bottom:6px;
}

.maturity-selected-description p{
  margin:0;
  color:#4d6476;
  font-size:.81rem;
  line-height:1.5;
}

.maturity-row-help{
  display:block;
  margin-top:6px;
  color:#6c8091;
  line-height:1.4;
}

.maturity-level-select,
.maturity-attainment-select{
  min-width:145px;
  font-size:.82rem;
}

.maturity-results-v10{
  grid-template-columns:repeat(6,minmax(0,1fr));
}

.pf-stage-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.pf-stage-summary>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #dce7ef;
  border-radius:12px;
  background:#f8fbfd;
}

.pf-stage-summary>div span{
  color:#607487;
}

.pf-stage-summary>div strong{
  color:#0a3455;
}

.caixa-screen .field-help{
  font-size:.79rem;
  line-height:1.48;
}

@media(max-width:1250px){
  .maturity-results-v10{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .maturity-results-v10{
    grid-template-columns:1fr 1fr;
  }

  .pf-stage-summary{
    grid-template-columns:1fr;
  }

  .maturity-selected-description{
    min-width:310px;
  }
}

/* ============================================================
   BIM Cost Intelligence Professional v10.2
   Revisão do IBCI
   ============================================================ */

.pf-ibci-panel .panel-head h3{
  font-size:1.28rem;
}

.pf-ibci-intro p,
.pf-ibci-factor small,
.pf-ibci-factor select,
.pf-ibci-factor-footer,
.pf-ibci-breakdown-panel{
  font-size:.86rem;
}

.pf-ibci-factor>span{
  font-size:.93rem;
  line-height:1.35;
}

.pf-ibci-factor{
  gap:9px;
}

.pf-ibci-factor-footer{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-items:end;
  margin-top:5px;
  padding-top:10px;
  border-top:1px solid #dce8f0;
}

.pf-ibci-weight-field>span:first-child,
.pf-ibci-adopted>span{
  display:block;
  margin-bottom:5px;
  color:#607487;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.input-unit.compact{
  max-width:135px;
}

.input-unit.compact input{
  min-height:38px;
  font-weight:700;
}

.pf-ibci-adopted{
  padding:8px 10px;
  border:1px solid #bddded;
  border-radius:10px;
  background:#eef8fd;
}

.pf-ibci-adopted strong{
  display:block;
  color:#0876b5;
  font-size:1.08rem;
}

.pf-ibci-breakdown-panel{
  margin-top:15px;
  padding:15px;
  border:1px solid #c9e1ee;
  border-radius:14px;
  background:#f5fafc;
}

.pf-ibci-breakdown-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:11px;
}

.pf-ibci-breakdown-head strong{
  color:#0a3455;
}

.pf-ibci-breakdown-head span{
  color:#607487;
  font-size:.76rem;
}

.pf-ibci-breakdown-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}

.pf-ibci-breakdown-summary article{
  padding:10px;
  border:1px solid #dce8f0;
  border-radius:11px;
  background:#fff;
}

.pf-ibci-breakdown-summary span,
.pf-ibci-breakdown-summary small{
  display:block;
}

.pf-ibci-breakdown-summary span{
  min-height:34px;
  color:#4e6578;
  font-size:.76rem;
  line-height:1.35;
}

.pf-ibci-breakdown-summary strong{
  display:block;
  margin:6px 0 4px;
  color:#0876b5;
  font-size:1.08rem;
}

.pf-ibci-breakdown-summary small{
  color:#718393;
  font-size:.7rem;
  line-height:1.35;
}

.finalization-summary-removed{
  display:none!important;
}

@media(max-width:1100px){
  .pf-ibci-breakdown-summary{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .pf-ibci-factor-footer,
  .pf-ibci-breakdown-summary{
    grid-template-columns:1fr;
  }

  .pf-ibci-factor>span{
    font-size:.9rem;
  }
}

/* ============================================================
   BIM Cost Intelligence Professional v10.3
   Integração integral do IBCI
   ============================================================ */

.pf-ibci-scale-values{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  margin-top:8px;
}

.pf-ibci-scale-values span{
  padding:5px 6px;
  border:1px solid #d8e6ee;
  border-radius:8px;
  background:#fff;
  color:#5f7485;
  font-size:.68rem;
  line-height:1.25;
  text-align:center;
}

.pf-ibci-scale-values b{
  display:block;
  margin-top:2px;
  color:#0a3455;
  font-size:.78rem;
}

.pf-ibci-breakdown-total{
  border-color:#77bfdf!important;
  background:#eaf7fd!important;
}

.pf-ibci-breakdown-total strong{
  font-size:1.25rem!important;
}

#pfIbciPercent,
#pfIbciResultPercent,
#pfIbciAddedValue,
#pfIbciFinalValue,
#pfTotalPrice{
  font-variant-numeric:tabular-nums;
}

@media(max-width:720px){
  .pf-ibci-scale-values{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   BIM Cost Intelligence Professional v10.4
   Eventos IBCI corrigidos
   ============================================================ */

.pf-ibci-adopted strong{
  transition:transform .12s ease, color .12s ease;
}

.pf-ibci-factor select:focus + .pf-ibci-factor-footer .pf-ibci-adopted strong,
.pf-ibci-factor:focus-within .pf-ibci-adopted strong{
  color:#005f96;
  transform:scale(1.03);
}

.pf-ibci-breakdown-total small{
  font-weight:700;
}

/* v10.5 - revisão integral da metodologia CAU/BR */
.pf-stage-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
.pf-stage-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.pf-reference-button.small{padding:7px 10px;font-size:.72rem;}
.pf-mode-guidance{margin-top:12px;padding:12px 14px;border:1px solid #cfe3f1;border-radius:12px;background:#eef7fc;color:#4f687b;font-size:.82rem;line-height:1.48;}
.pf-mode-guidance strong{color:#0a3455;}
@media(max-width:1200px){.pf-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:760px){.pf-stage-grid{grid-template-columns:1fr 1fr;}}

/* ============================================================
   v10.6 — parâmetros automáticos CAU/BR restaurados
   ============================================================ */

.cau-auto-field{
  position:relative;
}

.cau-auto-field::after{
  content:"AUTO";
  position:absolute;
  top:-9px;
  right:8px;
  padding:2px 6px;
  border-radius:999px;
  background:#e4f5ec;
  color:#237a50;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.05em;
}

#pfMr01Formula[data-valid="false"]{
  color:#b42318;
}

#pfMr01Formula[data-valid="true"]{
  color:#0a3455;
}

/* ============================================================
   v10.7 — CAIXA + IBCI, relatórios gráficos e navegação
   ============================================================ */

.sidebar{
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

.sidebar nav{
  flex:0 0 auto;
  overflow:visible;
}

.sidebar::-webkit-scrollbar{width:8px}
.sidebar::-webkit-scrollbar-track{background:rgba(255,255,255,.04)}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px}
.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.38)}

.comparison-card.caixa-bim{border-top:4px solid #d6750b}
.comparison-cards{grid-template-columns:repeat(5,minmax(0,1fr))}
.comparison-bars>div:nth-child(4) i{background:#d6750b}
.executive-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}

@media(max-width:1350px){
  .comparison-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .executive-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
  .comparison-cards,.executive-kpis{grid-template-columns:1fr}
}

/* ============================================================
   v10.8 — identificação clara dos módulos
   ============================================================ */

.nav-module-label{
  margin:14px 8px 8px;
  padding:10px 11px;
  border-left:3px solid #44b6f0;
  border-radius:0 9px 9px 0;
  background:rgba(68,182,240,.10);
}

.nav-module-label.projects{
  margin-top:22px;
  border-left-color:#f4ae3d;
  background:rgba(244,174,61,.10);
}

.nav-module-label span,
.nav-module-label b{
  display:block;
}

.nav-module-label span{
  color:#7fcdf5;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.nav-module-label.projects span{
  color:#ffd27d;
}

.nav-module-label b{
  margin-top:3px;
  color:#fff;
  font-size:.74rem;
  line-height:1.3;
}

.coordination-module-notice{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:0 0 16px;
  padding:12px 14px;
  border:1px solid #badcf0;
  border-radius:12px;
  background:#edf8fd;
}

.coordination-module-notice strong{
  flex:0 0 auto;
  color:#0876b5;
}

.coordination-module-notice span{
  color:#536b7d;
  line-height:1.45;
}

@media(max-width:760px){
  .coordination-module-notice{
    display:block;
  }

  .coordination-module-notice span{
    display:block;
    margin-top:5px;
  }
}

/* ============================================================
   v10.9 — Módulo 3: Inteligência Comparativa
   ============================================================ */

.nav-module-label.intelligence{
  margin-top:22px;
  border-left-color:#8f7be8;
  background:rgba(143,123,232,.12);
}

.nav-module-label.intelligence span{color:#c9bfff}

.intelligence-screen{padding-bottom:42px}

.intelligence-header{
  margin-bottom:18px;
  padding:18px 20px;
  border:1px solid #d7cff8;
  border-radius:17px;
  background:linear-gradient(135deg,#f6f3ff,#eef7fd);
}

.intelligence-header>div>span{color:#6d58c8}
.intelligence-pill{background:#ede8ff;color:#614ab8}

.intelligence-screen .comparison-panel,
.intelligence-screen .benchmark-grid,
.intelligence-screen .executive-report-panel,
.intelligence-screen .finalization-panel{margin-top:0}

@media(max-width:800px){
  .intelligence-header{padding:15px}
  .intelligence-pill{margin-top:8px}
}

/* v11.0 — Motor Inteligente de Hora Técnica e auditoria MR01 */
.pf-rate-engine{margin-top:16px;border-color:#b9dced;background:linear-gradient(135deg,#fff,#f3faff)}
.pf-rate-engine-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pf-rate-engine-results,.pf-mr01-audit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:15px}
.pf-rate-engine-results article,.pf-mr01-audit-grid article{padding:13px;border:1px solid #d5e5ee;border-radius:12px;background:#fff}
.pf-rate-engine-results span,.pf-mr01-audit-grid span{display:block;color:#667b8d;font-size:.7rem;text-transform:uppercase}
.pf-rate-engine-results strong,.pf-mr01-audit-grid strong{display:block;margin-top:6px;color:#0a3455;font-size:1.08rem}
.pf-rate-engine-results .highlight{border-color:#76c2e3;background:#eaf8fe}
.pf-rate-engine-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px}
.pf-rate-engine-note,.pf-mr01-audit-message{margin-top:13px;padding:12px 14px;border-radius:11px;background:#eef7fc;color:#526b7e;line-height:1.5}
.pf-mr01-audit-panel{margin-top:14px;background:#fbfdff}
.pf-mr01-audit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1200px){.pf-rate-engine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-rate-engine-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.pf-rate-engine-grid,.pf-rate-engine-results,.pf-mr01-audit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pf-rate-engine-grid,.pf-rate-engine-results,.pf-mr01-audit-grid{grid-template-columns:1fr}}

/* ============================================================
   v11.1 — auditoria e estabilização
   ============================================================ */
.pf-r-assistant-card{grid-column:span 2;padding:12px;border:1px solid #d5e6ef;border-radius:12px;background:#f7fbfd}
.pf-r-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0}
.pf-r-mini-grid label small{display:block;margin-bottom:4px;color:#64798a}
.stabilization-audit-panel{margin:18px 0;padding:16px;border:1px solid #b9dced;border-radius:16px;background:#f7fbfd}
.stabilization-audit-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stabilization-audit-summary article{padding:12px;border:1px solid #d8e7ef;border-radius:11px;background:#fff}
.stabilization-audit-summary span,.stabilization-audit-summary strong{display:block}
.stabilization-audit-summary span{font-size:.7rem;text-transform:uppercase;color:#6a7d8d}
.stabilization-audit-summary strong{margin-top:5px;color:#0a3455;font-size:1.1rem}
.stabilization-audit-results{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.stabilization-audit-results details{border:1px solid #d8e7ef;border-radius:10px;background:#fff}
.stabilization-audit-results summary{display:flex;justify-content:space-between;padding:10px 12px;cursor:pointer}
.stabilization-audit-results details>div{padding:0 10px 10px}
.stabilization-audit-results p{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;margin:4px 0;padding:6px;border-radius:7px;font-size:.75rem}
.stabilization-audit-results p.ok{background:#edf8f1}.stabilization-audit-results p.fail{background:#fff0ee}
.stabilization-audit-results p.ok b{color:#238252}.stabilization-audit-results p.fail b{color:#b42318}
.stabilization-audit-results small{color:#6b7e8f}
@media(max-width:900px){.stabilization-audit-results{grid-template-columns:1fr}.pf-r-assistant-card{grid-column:auto}}
@media(max-width:650px){.pf-r-mini-grid,.stabilization-audit-summary{grid-template-columns:1fr}}
.modular-architecture-panel{border-color:#cfc7f4;background:linear-gradient(135deg,#fbfaff,#f2f8fd)}.modular-component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.modular-component-grid article{padding:12px;border:1px solid #dce7ef;border-radius:11px;background:#fff}.modular-component-grid article.ok{border-left:4px solid #2b8a57}.modular-component-grid article.fail{border-left:4px solid #bd3428}.modular-component-grid span,.modular-component-grid strong,.modular-component-grid small{display:block}.modular-component-grid span{color:#687d8e;font-size:.72rem;text-transform:uppercase}.modular-component-grid strong{margin-top:4px;color:#0a3455}.modular-component-grid small{margin-top:3px;color:#7b8d9b}@media(max-width:850px){.modular-component-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.modular-component-grid{grid-template-columns:1fr}}
/* v12.1 — auditoria, acesso e feedback */
body:not(.is-admin) .admin-validation-only{display:none!important}
.audit-last-run{grid-column:1/-1;padding:9px 11px;border-radius:9px;background:#edf6fb;color:#587083;font-size:.76rem}
#runStabilizationAuditBtn:disabled{opacity:.65;cursor:wait}
#pfRCalculationInfo{min-height:1.2rem;font-weight:600;color:#526d80}

/* ============================================================
   v12.2 — capa objetiva e gestão de usuários
   ============================================================ */
.landing-v8-objective-list{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.landing-v8-objective-list p{
  margin:0;
  line-height:1.48;
}
.landing-v8-methods{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.mini-btn.danger.strong{
  border-color:#d3483f;
  background:#fff5f4;
  color:#b42318;
}
.mini-btn.danger.strong:hover{
  background:#b42318;
  color:#fff;
}
@media(max-width:1050px){
  .landing-v8-methods{grid-template-columns:1fr}
}

/* v12.3 — menu modular expansível */
.modular-sidebar-nav{display:flex;flex-direction:column;gap:10px;padding:0 16px 18px}
.nav-module{border:1px solid rgba(164,199,224,.16);border-radius:13px;overflow:hidden;background:rgba(255,255,255,.025)}
.nav-module-toggle{display:grid;grid-template-columns:1fr auto;grid-template-areas:"number chevron" "title chevron";width:100%;min-height:68px;padding:12px 13px;border:0;border-left:4px solid #42b7ef;background:rgba(29,103,153,.34);color:#fff;text-align:left;cursor:pointer;transition:.2s}
.nav-module:nth-child(2) .nav-module-toggle{border-left-color:#36c58d;background:rgba(35,120,105,.26)}
.nav-module.cau-module .nav-module-toggle{border-left-color:#f2ba32;background:rgba(130,101,33,.24)}
.nav-module.caixa-module .nav-module-toggle{border-left-color:#f08c3c;background:rgba(133,72,29,.23)}
.nav-module.intelligence-module .nav-module-toggle{border-left-color:#9d82f4;background:rgba(84,67,150,.28)}
.nav-module-toggle:hover{filter:brightness(1.12)}
.nav-module-number{grid-area:number;margin-bottom:4px;color:#87d8ff;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.nav-module-title{grid-area:title;padding-right:7px;font-size:.83rem;font-weight:750;line-height:1.28}
.nav-module-chevron{grid-area:chevron;align-self:center;font-size:1.2rem;transition:transform .22s ease}
.nav-module.open .nav-module-chevron{transform:rotate(180deg)}
.nav-module-items{display:none;padding:2px 0 5px}
.nav-module.open .nav-module-items{display:block}
.nav-module .nav-item{width:calc(100% - 12px);margin:5px 6px 0}
.nav-module .nav-item:last-child{margin-bottom:2px}
.nav-module .nav-item.active{background:rgba(105,159,201,.28);box-shadow:inset 3px 0 0 #fff}
.sidebar nav{padding-left:0;padding-right:0}
@media(max-width:900px){.modular-sidebar-nav{padding-left:10px;padding-right:10px}.nav-module-toggle{min-height:62px}}

/* v12.6 — ações superiores contextuais */
.top-actions [hidden]{display:none!important}

/* v12.7 — geração segura do PDF CAIXA */
button:disabled,.btn:disabled{opacity:.62;cursor:wait;pointer-events:none}


/* =====================================================================
   BIM COST INTELLIGENCE v13.0 — UI/UX EDITION
   Escopo estritamente visual. A Home/landing page não é alterada.
   ===================================================================== */

.app-authenticated{
  --ui-accent:#268fca;
  --ui-accent-strong:#0b5f94;
  --ui-accent-soft:#e9f6fc;
  --ui-accent-rgb:38,143,202;
  --ui-surface:#ffffff;
  --ui-surface-soft:#f7fafc;
  --ui-surface-muted:#eef4f7;
  --ui-border:#dbe6ed;
  --ui-border-strong:#c5d6e1;
  --ui-text:#18364d;
  --ui-muted:#677d8d;
  --ui-shadow:0 16px 38px rgba(22,56,79,.08);
  --ui-shadow-soft:0 8px 22px rgba(22,56,79,.055);
  --ui-radius:17px;
  background:
    radial-gradient(circle at 92% 4%,rgba(var(--ui-accent-rgb),.08),transparent 26rem),
    linear-gradient(180deg,#f4f8fa 0%,#edf3f6 100%);
  color:var(--ui-text);
}

/* Identidade por módulo */
.app-authenticated[data-visual-module="characterization"]{
  --ui-accent:#2596cf;
  --ui-accent-strong:#095f91;
  --ui-accent-soft:#e8f6fd;
  --ui-accent-rgb:37,150,207;
}
.app-authenticated[data-visual-module="coordination"]{
  --ui-accent:#1aa67c;
  --ui-accent-strong:#087158;
  --ui-accent-soft:#e7f8f2;
  --ui-accent-rgb:26,166,124;
}
.app-authenticated[data-visual-module="cau"]{
  --ui-accent:#db9b22;
  --ui-accent-strong:#93620b;
  --ui-accent-soft:#fff5df;
  --ui-accent-rgb:219,155,34;
}
.app-authenticated[data-visual-module="caixa"]{
  --ui-accent:#d8792d;
  --ui-accent-strong:#984911;
  --ui-accent-soft:#fff0e4;
  --ui-accent-rgb:216,121,45;
}
.app-authenticated[data-visual-module="intelligence"]{
  --ui-accent:#7864d8;
  --ui-accent-strong:#4c389f;
  --ui-accent-soft:#f0edff;
  --ui-accent-rgb:120,100,216;
}

/* Layout principal */
.app-authenticated main{
  min-width:0;
  background:transparent;
}
.app-authenticated main > .screen{
  animation:uiScreenIn .28s ease both;
}
@keyframes uiScreenIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

/* Barra superior */
.app-authenticated .topbar{
  position:sticky;
  top:0;
  z-index:24;
  min-height:94px;
  padding:20px 28px;
  border-bottom:1px solid rgba(197,214,225,.88);
  background:rgba(248,251,252,.88);
  backdrop-filter:blur(17px) saturate(145%);
  box-shadow:0 5px 18px rgba(21,54,77,.04);
}
.app-authenticated .topbar .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--ui-accent-strong);
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.14em;
}
.app-authenticated .topbar .eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ui-accent);
  box-shadow:0 0 0 5px rgba(var(--ui-accent-rgb),.12);
}
.app-authenticated .topbar h1{
  margin-top:6px;
  color:#13344e;
  font-size:clamp(1.28rem,2vw,1.82rem);
  line-height:1.18;
  letter-spacing:-.025em;
}
.app-authenticated .top-actions{
  gap:9px;
  align-items:center;
  flex-wrap:wrap;
}

/* Botões */
.app-authenticated .btn,
.app-authenticated button.btn{
  min-height:42px;
  border-radius:11px;
  padding:0 15px;
  font-weight:760;
  letter-spacing:-.01em;
  box-shadow:none;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
.app-authenticated .btn:hover:not(:disabled){
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(21,55,79,.10);
}
.app-authenticated .btn.primary,
.app-authenticated .cloud-primary{
  border-color:var(--ui-accent);
  background:linear-gradient(135deg,var(--ui-accent),var(--ui-accent-strong));
  color:#fff;
}
.app-authenticated .btn.subtle{
  border-color:var(--ui-border);
  background:rgba(255,255,255,.82);
  color:#34556b;
}
.app-authenticated .btn.subtle:hover{
  border-color:rgba(var(--ui-accent-rgb),.45);
  background:var(--ui-accent-soft);
  color:var(--ui-accent-strong);
}

/* Faixa metodológica */
.app-authenticated .official-strip{
  margin:18px 28px 0;
  padding:14px 17px;
  border:1px solid rgba(var(--ui-accent-rgb),.22);
  border-radius:14px;
  background:
    linear-gradient(120deg,rgba(var(--ui-accent-rgb),.105),rgba(255,255,255,.78));
  color:#415f72;
  box-shadow:0 8px 20px rgba(var(--ui-accent-rgb),.055);
}
.app-authenticated .official-strip .official-icon{
  width:32px;
  height:32px;
  border-radius:10px;
  background:var(--ui-accent);
  box-shadow:0 7px 18px rgba(var(--ui-accent-rgb),.24);
}
.app-authenticated .official-strip strong{
  color:var(--ui-accent-strong);
}

/* Área de conteúdo */
.app-authenticated .screen{
  padding:25px 28px 42px;
}
.app-authenticated .section-header{
  position:relative;
  overflow:hidden;
  margin-bottom:20px;
  padding:21px 23px;
  border:1px solid rgba(var(--ui-accent-rgb),.20);
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(var(--ui-accent-rgb),.07));
  box-shadow:var(--ui-shadow-soft);
}
.app-authenticated .section-header::after{
  content:"";
  position:absolute;
  top:-45px;
  right:-30px;
  width:145px;
  height:145px;
  border-radius:50%;
  background:rgba(var(--ui-accent-rgb),.085);
  pointer-events:none;
}
.app-authenticated .section-header > div{
  position:relative;
  z-index:1;
}
.app-authenticated .section-header > div > span{
  color:var(--ui-accent-strong);
  font-size:.69rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.app-authenticated .section-header h2{
  margin:5px 0 6px;
  color:#12344f;
  font-size:clamp(1.42rem,2.25vw,2rem);
  line-height:1.14;
  letter-spacing:-.035em;
}
.app-authenticated .section-header p{
  max-width:850px;
  margin:0;
  color:var(--ui-muted);
  font-size:.94rem;
  line-height:1.55;
}
.app-authenticated .status-pill{
  position:relative;
  z-index:2;
  border:1px solid rgba(var(--ui-accent-rgb),.22);
  background:var(--ui-accent-soft);
  color:var(--ui-accent-strong);
  box-shadow:none;
  font-weight:760;
}

/* Painéis e cards */
.app-authenticated .panel{
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  background:rgba(255,255,255,.94);
  box-shadow:var(--ui-shadow-soft);
  transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;
}
.app-authenticated .panel:hover{
  border-color:rgba(var(--ui-accent-rgb),.24);
  box-shadow:var(--ui-shadow);
}
.app-authenticated .panel-head{
  padding-bottom:13px;
  border-bottom:1px solid #e9eff3;
}
.app-authenticated .panel-head h3,
.app-authenticated .panel-head h4{
  color:#163b55;
  letter-spacing:-.022em;
}
.app-authenticated .panel-kicker{
  color:var(--ui-accent-strong)!important;
  font-weight:820;
  letter-spacing:.105em;
}
.app-authenticated .config-project-layout,
.app-authenticated .dashboard-grid,
.app-authenticated .benchmark-grid,
.app-authenticated .comparison-layout{
  gap:18px;
}

/* Campos */
.app-authenticated .field > span{
  margin-bottom:7px;
  color:#35566d;
  font-size:.77rem;
  font-weight:730;
}
.app-authenticated input,
.app-authenticated select,
.app-authenticated textarea{
  min-height:44px;
  border:1px solid var(--ui-border-strong);
  border-radius:10px;
  background:#fbfdfe;
  color:#173a53;
  box-shadow:inset 0 1px 2px rgba(19,53,77,.025);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.app-authenticated textarea{
  min-height:92px;
  line-height:1.5;
}
.app-authenticated input:hover,
.app-authenticated select:hover,
.app-authenticated textarea:hover{
  border-color:rgba(var(--ui-accent-rgb),.46);
  background:#fff;
}
.app-authenticated input:focus,
.app-authenticated select:focus,
.app-authenticated textarea:focus{
  outline:none;
  border-color:var(--ui-accent);
  background:#fff;
  box-shadow:0 0 0 4px rgba(var(--ui-accent-rgb),.12);
}
.app-authenticated .input-unit{
  border-radius:10px;
}
.app-authenticated .input-unit em{
  color:#6c8292;
  font-size:.71rem;
  font-weight:700;
}
.app-authenticated .field-help{
  margin-top:6px;
  color:#718695;
  line-height:1.4;
}

/* Cards de resultados */
.app-authenticated .metric-card,
.app-authenticated .kpi-card,
.app-authenticated .result-card,
.app-authenticated .summary-card,
.app-authenticated .report-card,
.app-authenticated .pf-result-card,
.app-authenticated .caixa-result-card,
.app-authenticated .benchmark-stat,
.app-authenticated .executive-card{
  border:1px solid var(--ui-border);
  border-radius:14px;
  background:
    linear-gradient(150deg,#fff 0%,rgba(var(--ui-accent-rgb),.045) 100%);
  box-shadow:0 8px 22px rgba(21,56,80,.055);
}
.app-authenticated .metric-card strong,
.app-authenticated .kpi-card strong,
.app-authenticated .result-card strong,
.app-authenticated .summary-card strong,
.app-authenticated .report-card strong,
.app-authenticated .pf-result-card strong,
.app-authenticated .caixa-result-card strong,
.app-authenticated .benchmark-stat strong,
.app-authenticated .executive-card strong{
  color:var(--ui-accent-strong);
  letter-spacing:-.025em;
}
.app-authenticated .highlight,
.app-authenticated .total-card,
.app-authenticated .primary-result{
  border-color:rgba(var(--ui-accent-rgb),.36)!important;
  background:linear-gradient(135deg,var(--ui-accent-soft),#fff)!important;
  box-shadow:0 12px 28px rgba(var(--ui-accent-rgb),.12)!important;
}

/* Tabelas */
.app-authenticated table{
  border-collapse:separate;
  border-spacing:0;
}
.app-authenticated .table,
.app-authenticated .data-table,
.app-authenticated .activities-table,
.app-authenticated .cost-table{
  overflow:hidden;
  border:1px solid var(--ui-border);
  border-radius:13px;
  background:#fff;
}
.app-authenticated table thead th{
  border-bottom:0;
  background:linear-gradient(135deg,var(--ui-accent-strong),var(--ui-accent));
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.02em;
}
.app-authenticated table tbody tr{
  transition:background .14s ease;
}
.app-authenticated table tbody tr:hover{
  background:rgba(var(--ui-accent-rgb),.055);
}
.app-authenticated table td{
  border-color:#e5edf2;
}

/* Gráficos */
.app-authenticated canvas,
.app-authenticated .chart,
.app-authenticated .chart-card,
.app-authenticated .comparison-chart,
.app-authenticated .benchmark-chart{
  border-radius:15px;
}
.app-authenticated .chart-card,
.app-authenticated .comparison-chart,
.app-authenticated .benchmark-chart{
  border:1px solid var(--ui-border);
  background:#fff;
  box-shadow:var(--ui-shadow-soft);
}

/* Boxes informativos */
.app-authenticated .note,
.app-authenticated .info-box,
.app-authenticated .helper-box,
.app-authenticated .methodology-note,
.app-authenticated .pf-rate-engine-note,
.app-authenticated .pf-mr01-audit-message{
  border:1px solid rgba(var(--ui-accent-rgb),.16);
  border-left:4px solid var(--ui-accent);
  border-radius:11px;
  background:rgba(var(--ui-accent-rgb),.055);
  color:#4f6879;
}

/* Navegação lateral */
.app-authenticated .sidebar{
  background:
    radial-gradient(circle at 15% 0%,rgba(80,167,219,.13),transparent 280px),
    linear-gradient(180deg,#0b2f4a 0%,#09273e 100%);
  box-shadow:14px 0 32px rgba(5,30,48,.14);
}
.app-authenticated .sidebar .brand{
  padding-top:20px;
  padding-bottom:17px;
}
.app-authenticated .brand-orbit{
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 25px rgba(0,0,0,.15);
}
.app-authenticated .side-summary{
  margin:0 16px 15px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.045));
  box-shadow:0 10px 25px rgba(0,0,0,.08);
}
.app-authenticated .side-summary strong{
  color:#fff;
  font-size:1.18rem;
  letter-spacing:-.025em;
}
.app-authenticated .nav-module{
  border-color:rgba(255,255,255,.09);
  background:rgba(255,255,255,.025);
  box-shadow:0 6px 16px rgba(0,0,0,.055);
}
.app-authenticated .nav-module-toggle{
  min-height:70px;
  border-radius:0;
}
.app-authenticated .nav-module-title{
  font-size:.84rem;
  letter-spacing:-.012em;
}
.app-authenticated .nav-item{
  border:1px solid transparent;
  border-radius:10px;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.app-authenticated .nav-item:hover{
  transform:translateX(2px);
  border-color:rgba(255,255,255,.09);
  background:rgba(255,255,255,.075);
}
.app-authenticated .nav-item.active{
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(90deg,rgba(var(--ui-accent-rgb),.34),rgba(255,255,255,.075));
  box-shadow:inset 3px 0 0 #fff,0 7px 18px rgba(0,0,0,.08);
}
.app-authenticated .cloud-btn{
  border:1px solid rgba(255,255,255,.09);
  border-radius:11px;
  background:rgba(255,255,255,.045);
  transition:background .16s ease,transform .16s ease;
}
.app-authenticated .cloud-btn:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.10);
}
.app-authenticated .user-card{
  border-top-color:rgba(255,255,255,.10);
  background:rgba(5,28,44,.26);
}

/* Scrollbars internas */
.app-authenticated .sidebar,
.app-authenticated main{
  scrollbar-width:thin;
  scrollbar-color:rgba(var(--ui-accent-rgb),.55) transparent;
}
.app-authenticated .sidebar::-webkit-scrollbar,
.app-authenticated main::-webkit-scrollbar{
  width:8px;
}
.app-authenticated .sidebar::-webkit-scrollbar-thumb,
.app-authenticated main::-webkit-scrollbar-thumb{
  border-radius:99px;
  background:rgba(var(--ui-accent-rgb),.45);
}

/* Rodapé de navegação */
.app-authenticated .bottom-nav,
.app-authenticated .navigation-footer{
  border-top:1px solid var(--ui-border);
  background:rgba(247,250,252,.92);
  backdrop-filter:blur(12px);
}

/* Estados especiais por metodologia */
.app-authenticated[data-visual-module="cau"] .pf-module,
.app-authenticated[data-visual-module="cau"] .project-fee-layout{
  --local-accent:var(--ui-accent);
}
.app-authenticated[data-visual-module="caixa"] .caixa-screen .panel,
.app-authenticated[data-visual-module="intelligence"] .intelligence-screen .panel{
  border-top:3px solid rgba(var(--ui-accent-rgb),.48);
}

/* Acessibilidade visual */
.app-authenticated button:focus-visible,
.app-authenticated a:focus-visible,
.app-authenticated input:focus-visible,
.app-authenticated select:focus-visible,
.app-authenticated textarea:focus-visible{
  outline:3px solid rgba(var(--ui-accent-rgb),.28);
  outline-offset:2px;
}

/* Responsividade */
@media(max-width:1100px){
  .app-authenticated .topbar{
    padding:18px 20px;
  }
  .app-authenticated .official-strip{
    margin-left:20px;
    margin-right:20px;
  }
  .app-authenticated .screen{
    padding-left:20px;
    padding-right:20px;
  }
}
@media(max-width:760px){
  .app-authenticated .topbar{
    position:relative;
    min-height:auto;
    padding:16px;
    border-radius:0 0 16px 16px;
  }
  .app-authenticated .top-actions{
    width:100%;
    margin-top:13px;
  }
  .app-authenticated .top-actions .btn,
  .app-authenticated .top-actions .file-btn{
    flex:1 1 145px;
    justify-content:center;
  }
  .app-authenticated .official-strip{
    margin:12px 12px 0;
    padding:12px;
  }
  .app-authenticated .screen{
    padding:17px 12px 30px;
  }
  .app-authenticated .section-header{
    padding:17px;
    border-radius:15px;
  }
  .app-authenticated .panel{
    border-radius:14px;
  }
  .app-authenticated .report-card-grid,
  .app-authenticated .pf-rate-engine-results,
  .app-authenticated .pf-mr01-audit-grid{
    grid-template-columns:1fr!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .app-authenticated *,
  .app-authenticated *::before,
  .app-authenticated *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    transition-duration:.01ms!important;
  }
}


/* v13.1 — Ferramentas BIM e Maturidade BIM Executiva */
.app-authenticated .tools-module{margin-top:14px;border-top:1px solid rgba(255,255,255,.12);padding-top:12px}
.app-authenticated .tools-module .nav-module-number{color:#93c5fd}
.app-authenticated .nav-direct-tool i{font-style:normal;font-size:1rem}
.app-authenticated #pebBuilderAnchor,.app-authenticated #maturityAnalysisAnchor{scroll-margin-top:92px}
.app-authenticated .maturity-executive-section,.app-authenticated .maturity-insight-grid,.app-authenticated .maturity-benchmark-grid{margin-top:22px}
.app-authenticated .maturity-executive-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.app-authenticated .maturity-chart-card,.app-authenticated .maturity-insight-card{background:var(--surface,#fff);border:1px solid var(--border,#dbe3ec);border-radius:18px;padding:20px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.app-authenticated .chart-card-title{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.app-authenticated .chart-card-title strong{font-size:1rem}.app-authenticated .chart-card-title small{color:var(--muted,#64748b)}
.app-authenticated .maturity-radar-chart{max-width:480px;margin:auto}.app-authenticated .maturity-radar-chart svg{display:block;width:100%;height:auto;overflow:visible;color:#64748b}.app-authenticated .maturity-radar-chart text{font-size:13px;font-weight:700;fill:currentColor}.app-authenticated .maturity-radar-chart .radar-area{fill:rgba(36,90,141,.18);stroke:none}.app-authenticated .maturity-radar-chart .radar-line{fill:none;stroke:#245a8d;stroke-width:3}.app-authenticated .maturity-radar-chart circle{fill:#fff;stroke:#245a8d;stroke-width:3}
.app-authenticated .maturity-key-bars,.app-authenticated .maturity-benchmark{display:grid;gap:14px}.app-authenticated .maturity-key-bar>div:first-child,.app-authenticated .benchmark-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.app-authenticated .maturity-key-track,.app-authenticated .benchmark-track{height:12px;border-radius:999px;background:#e8eef5;overflow:hidden}.app-authenticated .maturity-key-track i,.app-authenticated .benchmark-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#245a8d,#4f8fc8);transition:width .45s ease}.app-authenticated .benchmark-row:nth-child(2) i{opacity:.65}.app-authenticated .benchmark-row:nth-child(3) i{background:linear-gradient(90deg,#19745b,#42a37f)}
.app-authenticated .maturity-insight-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.app-authenticated .maturity-insight-card h4{margin:5px 0 12px}.app-authenticated .maturity-diagnosis-card p{line-height:1.7;margin:.55rem 0}.app-authenticated .maturity-priorities{display:grid;gap:10px}.app-authenticated .maturity-priority{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--border,#e2e8f0)}.app-authenticated .maturity-priority:last-child{border-bottom:0}.app-authenticated .priority-stars{letter-spacing:1px;color:#c98a09;white-space:nowrap}.app-authenticated .maturity-priority p{margin:3px 0 0;color:var(--muted,#64748b)}
.app-authenticated .maturity-evolution{display:flex;align-items:center;justify-content:center;gap:14px;min-height:190px}.app-authenticated .evolution-stage{text-align:center;padding:18px 16px;border:1px solid var(--border,#dbe3ec);border-radius:16px;min-width:110px}.app-authenticated .evolution-stage span{display:block;color:var(--muted,#64748b);font-size:.82rem}.app-authenticated .evolution-stage strong{display:block;font-size:1.7rem;margin-top:5px}.app-authenticated .evolution-arrow{font-size:1.5rem;color:#245a8d;transform:rotate(-90deg)}
@media(max-width:980px){.app-authenticated .maturity-executive-grid,.app-authenticated .maturity-insight-grid{grid-template-columns:1fr}.app-authenticated .maturity-evolution{flex-direction:column}.app-authenticated .evolution-arrow{transform:none}}
@media(max-width:620px){.app-authenticated .maturity-chart-card,.app-authenticated .maturity-insight-card{padding:15px}.app-authenticated .maturity-executive-section .panel-head{align-items:flex-start}.app-authenticated #printMaturityReportBtn{width:100%}}

@media print{
 .report-radar svg{width:380px;max-height:380px;display:block;margin:0 auto}.report-radar .radar-area{fill:rgba(36,90,141,.18)}.report-radar .radar-line{fill:none;stroke:#245a8d;stroke-width:3}.report-radar circle{fill:#fff;stroke:#245a8d;stroke-width:3}.report-radar text{font-size:13px;font-weight:700}.signature-block{display:flex;align-items:center;gap:24px;margin-top:30px;padding-top:20px;border-top:1px solid #dbe3ec}.qr-code{width:110px;height:110px}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.metric-grid>div{padding:14px;border:1px solid #dbe3ec;border-radius:10px}.metric-grid span{display:block;font-size:11px;color:#64748b;text-transform:uppercase}.metric-grid b{display:block;font-size:18px;margin-top:4px}
}


/* v13.2 — gráfico detalhado das áreas-chave da Maturidade BIM */
.app-authenticated .maturity-detail-card{grid-column:1/-1;margin-top:18px}
.app-authenticated .maturity-detail-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 18px;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}
.app-authenticated .maturity-detail-legend span{display:flex;align-items:center;gap:7px;font-size:.78rem;color:#475569}
.app-authenticated .maturity-detail-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.app-authenticated .maturity-detailed-chart{display:grid;gap:0}
.app-authenticated .maturity-detail-group{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px;padding:9px 12px;border-radius:10px;background:#eef4fa;color:#173b5b}
.app-authenticated .maturity-detail-group:first-child{margin-top:0}
.app-authenticated .maturity-detail-group span{font-weight:800}.app-authenticated .maturity-detail-group b{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}
.app-authenticated .maturity-detail-row{display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(240px,2fr) 58px;gap:14px;align-items:center;padding:11px 8px;border-bottom:1px solid #edf2f7}
.app-authenticated .maturity-detail-label span{display:block;font-size:.86rem;font-weight:750;color:#163b5d}.app-authenticated .maturity-detail-label small{display:block;margin-top:3px;color:#64748b;font-size:.7rem}
.app-authenticated .maturity-detail-track{height:15px;border-radius:999px;background:#e8eef5;overflow:hidden}.app-authenticated .maturity-detail-track i{display:block;height:100%;border-radius:inherit;transition:width .45s ease}
.app-authenticated .maturity-detail-row>b{text-align:right;color:#173b5b;font-size:.82rem}
.app-authenticated .level-excellent{background:#2f855a!important}.app-authenticated .level-managed{background:#d69e2e!important}.app-authenticated .level-developing{background:#dd6b20!important}.app-authenticated .level-critical{background:#c53030!important}
@media(max-width:760px){.app-authenticated .maturity-detail-row{grid-template-columns:1fr 48px;gap:8px 10px}.app-authenticated .maturity-detail-track{grid-column:1/-1;grid-row:2}.app-authenticated .maturity-detail-row>b{grid-column:2;grid-row:1}}
@media print{.maturity-detail-card{break-inside:avoid}.maturity-detail-row{display:grid;grid-template-columns:220px 1fr 55px;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid #e2e8f0}.maturity-detail-track{height:9px;background:#e8eef5;border-radius:999px;overflow:hidden}.maturity-detail-track i{display:block;height:100%}}
