:root {
    --red: #e42320;
    --red-dark: #b81715;
    --ink: #17130f;
    --ink-soft: #514a45;
    --cream: #f6f4f1;
    --sand: #ebe6df;
    --white: #ffffff;
    --green: #1a7f5a;
    --amber: #a96805;
    --blue: #315f9c;
    --border: #e3ddd5;
    --shadow: 0 18px 50px rgba(42, 31, 25, .08);
}
* { box-sizing: border-box; }
html { min-height: 100%; background: var(--cream); }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Manrope, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
.shell { min-height: 100vh; display: grid; grid-template-columns: 255px 1fr; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 255px; height: 100vh; height: 100dvh; z-index: 20; display: flex; flex-direction: column; overflow: hidden; padding: 22px 14px 14px; background: var(--ink); color: var(--white); }
.sidebar-close,.sidebar-backdrop { display:none; }
.brand { flex:0 0 auto; display: flex; align-items: center; gap: 12px; padding: 0 8px 18px; }
.brand-mark { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 12px 12px 12px 3px; color: #fff; background: var(--red); font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 26px; }
.brand-mark.large { width: 62px; height: 62px; font-size: 38px; border-radius: 18px 18px 18px 4px; }
.brand-copy { display: flex; flex-direction: column; line-height: 1; letter-spacing: .05em; }
.brand-copy strong { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 22px; letter-spacing: .07em; }
.brand-copy small { margin-top: 5px; color: #b9afa7; font-size: 10px; letter-spacing: .28em; }
.environment-pill { flex:0 0 auto; display: flex; align-items: center; gap: 7px; margin: 0 7px 14px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; color: #c9c0b9; background: rgba(255,255,255,.035); font-size: 11px; }
.environment-pill span { width: 7px; height: 7px; border-radius: 99px; background: #58d68d; box-shadow: 0 0 0 4px rgba(88,214,141,.12); }
.nav-list { flex:1 1 auto; min-height:0; display: grid; align-content:start; gap: 4px; overflow-y:auto; overscroll-behavior:contain; padding:0 4px 8px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.22) transparent; }
.nav-list::-webkit-scrollbar{width:5px}.nav-list::-webkit-scrollbar-thumb{border-radius:99px;background:rgba(255,255,255,.2)}
.nav-item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; color: #c7beb8; font-size: 13px; font-weight: 650; transition: .2s ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav-item.active { color: #fff; background: var(--red); box-shadow: 0 8px 22px rgba(228,35,32,.25); }
.nav-icon { flex:0 0 22px; width: 22px; text-align: center; font-size: 17px; }
.sidebar-foot { flex:0 0 auto; display: grid; grid-template-columns:1fr auto; align-items:end; gap: 2px 8px; margin-top:8px; padding: 12px 10px 2px; border-top: 1px solid rgba(255,255,255,.12); color: #938a83; background:var(--ink); }
.sidebar-foot .version-label { color:#a79d96; font-size:9px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.sidebar-foot .version { grid-row:1 / span 2; grid-column:2; align-self:center; padding:5px 8px; border:1px solid rgba(255,255,255,.12); border-radius:7px; color: #fff; background:rgba(255,255,255,.055); font-size: 12px; font-weight: 800; }
.sidebar-foot small { font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.main { grid-column: 2; min-width: 0; }
.topbar { height: 100px; display: flex; align-items: center; gap: 16px; padding: 0 38px; border-bottom: 1px solid var(--border); background: rgba(246,244,241,.92); backdrop-filter: blur(14px); position: sticky; top: 0; z-index: 10; }
.topbar h1 { margin: 2px 0 0; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 28px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.eyebrow { margin: 0; color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.eyebrow.light { color: #f4a29f; }
.user-box { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.user-box > div { display: grid; }
.user-box strong { font-size: 13px; }
.user-box small { color: #837a73; font-size: 10px; }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: var(--red); background: #f9dcdb; font-size: 13px; font-weight: 800; }
.logout { border: 0; padding: 7px; color: #766d67; background: none; cursor: pointer; font-size: 18px; }
.menu-toggle { display: none; border: 0; background: none; font-size: 22px; }
.content { padding: 34px 38px 60px; max-width: 1480px; margin: 0 auto; }
.alert { margin-bottom: 20px; padding: 13px 16px; border: 1px solid; border-radius: 10px; font-size: 13px; font-weight: 650; }
.alert.success { color: #126143; border-color: #b9dfd0; background: #eaf7f2; }
.alert.error { color: #9e1b18; border-color: #efc2c1; background: #fcedec; }
.alert.warning { color: #7f4a00; border-color: #ead2a5; background: #fff7e7; }
.page-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.page-intro h2 { margin: 0 0 6px; font-size: 24px; }
.page-intro p { margin: 0; max-width: 720px; color: var(--ink-soft); font-size: 13px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border: 1px solid transparent; border-radius: 9px; color: #fff; background: var(--red); cursor: pointer; font-size: 13px; font-weight: 750; transition: .15s ease; }
.button:hover { background: var(--red-dark); transform: translateY(-1px); }
.button.secondary { color: var(--ink); border-color: var(--border); background: #fff; }
.button.secondary:hover { background: #f4f1ed; }
.button.ghost { color: var(--red); border-color: #f1c2c0; background: #fff; }
.button.danger { background: #9e1b18; }.button.danger:hover { background:#761210; }
.button.small { min-height: 32px; padding: 0 11px; font-size: 11px; }
.button-row { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; margin-bottom: 20px; }
.stat-card { position: relative; overflow: hidden; min-height: 138px; padding: 22px; border: 1px solid var(--border); border-radius: 15px; background: #fff; box-shadow: 0 10px 35px rgba(42,31,25,.04); }
.stat-card::after { content: ''; position: absolute; width: 78px; height: 78px; right: -28px; top: -28px; border-radius: 99px; background: var(--tint,#f5e4e3); }
.stat-card .label { color: #746b65; font-size: 11px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.stat-card .number { display: block; margin: 13px 0 2px; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 36px; letter-spacing: .02em; }
.stat-card .hint { color: #918882; font-size: 11px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(290px,.8fr); gap: 20px; }
.stack { display: grid; gap: 20px; }
.card { border: 1px solid var(--border); border-radius: 15px; background: #fff; box-shadow: 0 12px 38px rgba(42,31,25,.045); }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-bottom: 1px solid #eee9e4; }
.card-head h3 { margin: 0; font-size: 14px; }
.card-head p { margin: 3px 0 0; color: #8b827c; font-size: 11px; }
.card-body { padding: 20px; }
.card-body.flush { padding: 0; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 12px 16px; color: #80766f; background: #faf9f7; font-size: 10px; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
td { padding: 14px 16px; border-top: 1px solid #eee9e4; font-size: 12px; vertical-align: middle; }
tbody tr:hover { background: #fdfbf9; }
.code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 750; }
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 99px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.badge.green { color: #126143; background: #e5f5ee; }
.badge.amber { color: #845000; background: #fff0d1; }
.badge.red { color: #a31e1b; background: #fae2e1; }
.badge.blue { color: #244f87; background: #e3edf9; }
.badge.gray { color: #645c57; background: #eeeae6; }
.empty { padding: 42px 20px; text-align: center; color: #837a73; }
.empty strong { display: block; margin-bottom: 5px; color: var(--ink); }
.audit-list { display: grid; }
.audit-item { display: grid; grid-template-columns: 9px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid #eee9e4; }
.audit-item:last-child { border: 0; }
.audit-dot { width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px #fbe5e4; }
.audit-item strong { display: block; font-size: 12px; }
.audit-item small { color: #8a817a; font-size: 10px; }
.cih-card { color: #fff; border: 0; background: linear-gradient(140deg,#211c18,#0d0b0a); }
.cih-card .card-head { border-color: rgba(255,255,255,.1); }
.cih-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 8px; margin-top: 15px; }
.cih-node { padding: 12px 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; background: rgba(255,255,255,.06); text-align: center; font-size: 10px; }
.cih-node.muted { color: #9b938e; border-style: dashed; }
.cih-arrow { color: var(--red); font-weight: 900; }
.form-card { max-width: 1040px; }
.form-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 16px; }
.col-12 { grid-column: span 12; }.col-8 { grid-column: span 8; }.col-6 { grid-column: span 6; }.col-4 { grid-column: span 4; }.col-3 { grid-column: span 3; }.col-2 { grid-column: span 2; }
.field { display: grid; gap: 7px; }
.field label { color: #514943; font-size: 11px; font-weight: 800; }
.field input,.field select,.field textarea { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid #dcd5ce; border-radius: 9px; outline: none; color: var(--ink); background: #fff; font-size: 13px; transition: .15s; }
.field textarea { min-height: 95px; resize: vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(228,35,32,.09); }
.field small { color: #8b827b; font-size: 10px; }
.kind-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.kind-option { padding: 15px; border: 1px solid var(--border); border-radius: 11px; background: #fff; cursor: pointer; text-align: left; }
.kind-option strong { display: block; font-size: 13px; }.kind-option span { color: #817871; font-size: 10px; }
.kind-option.active { border-color: var(--red); background: #fff6f5; box-shadow: inset 0 0 0 1px var(--red); }
.classification-flow-switch { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.flow-option { position:relative; padding:16px 17px 16px 48px; border:1px solid var(--border); border-radius:11px; color:var(--ink); background:#fff; cursor:pointer; text-align:left; }
.flow-option::before { content:''; position:absolute; left:17px; top:18px; width:16px; height:16px; border:2px solid #b8aea7; border-radius:50%; background:#fff; }
.flow-option strong { display:block; font-size:13px; }.flow-option span { display:block; margin-top:3px; color:#817871; font-size:10px; }
.flow-option.active { border-color:var(--red); background:#fff6f5; box-shadow:inset 0 0 0 1px var(--red); }
.flow-option.active::before { border:5px solid var(--red); }
.description-first textarea { min-height:130px; font-size:14px; }
.required-mark { margin-left:5px; padding:2px 6px; border-radius:99px; color:#9e1b18; background:#fbe2e1; font-size:8px; text-transform:uppercase; }
.code-validation-panel { grid-column:span 12; padding:15px; border:1px dashed #d8cfc8; border-radius:11px; background:#faf9f7; }
.code-validation-panel[hidden] { display:none; }
.compact-grid { margin-top:14px; }
.inline-alert { margin:0; font-weight:500; }
.discovery-summary h3 { margin:5px 0 13px; font-size:17px; }
.discovery-summary small { color:#817870; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.discovery-guidance { display:flex; align-items:flex-start; gap:12px; margin:20px 0 13px; padding:13px 15px; border:1px solid #cdd8e8; border-radius:10px; color:#244f87; background:#f2f6fc; }
.discovery-guidance strong { flex:0 0 auto; font-size:11px; }.discovery-guidance span { font-size:10px; }
.candidate-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.candidate-card { position:relative; overflow:hidden; }.candidate-card.candidate-first { border-color:#e6aaa8; }
.candidate-card.candidate-first::before { content:'MAIOR CORRESPONDÊNCIA'; position:absolute; right:-33px; top:18px; width:150px; padding:4px 0; color:#fff; background:var(--red); font-size:7px; font-weight:900; letter-spacing:.08em; text-align:center; transform:rotate(34deg); }
.candidate-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-right:42px; }
.candidate-head > div { display:grid; }.candidate-head small { color:#817870; font-size:9px; font-weight:800; }.candidate-head .code { margin-top:2px; font-size:21px; }
.candidate-card h3 { min-height:42px; margin:16px 0 10px; font-size:13px; }
.candidate-score { height:7px; overflow:hidden; border-radius:99px; background:#ebe6df; }.candidate-score span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--amber),var(--green)); }
.candidate-percent { display:block; margin-top:5px; color:#817870; font-size:9px; }
.candidate-evidence { margin:16px 0 12px; }.candidate-evidence strong { display:block; margin-bottom:7px; font-size:10px; }
.term-list { display:flex; flex-wrap:wrap; gap:5px; }.term-list span { padding:4px 7px; border-radius:99px; color:#645c57; background:#eeeae6; font-size:9px; }
.candidate-source { display:grid; gap:3px; min-height:60px; padding:11px; border:1px solid var(--border); border-radius:8px; background:#faf9f7; }
.candidate-source small { color:#817870; font-size:8px; text-transform:uppercase; }.candidate-source span { overflow-wrap:anywhere; font-size:9px; }
.candidate-card form { display:flex; justify-content:flex-end; margin-top:15px; }
.discovery-safety { margin-top:18px; }.discovery-empty .button-row { justify-content:center; margin-top:18px; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 4px; }
.searchbar { display: flex; gap: 9px; }
.searchbar input { min-width: 280px; height: 41px; padding: 0 12px; border: 1px solid var(--border); border-radius: 9px; }
.result-hero { display: flex; align-items: flex-start; gap: 18px; padding: 24px; border-radius: 15px; color: #fff; background: var(--ink); }
.result-icon { flex: 0 0 auto; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; background: var(--red); font-size: 24px; font-weight: 800; }
.result-hero h2 { margin: 0 0 5px; font-size: 20px; }.result-hero p { margin: 0; color: #c6bdb7; font-size: 12px; }
.result-meta { margin-left: auto; text-align: right; color: #9f9690; font-size: 10px; }
.result-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,.7fr); gap: 20px; margin-top: 20px; }
.field-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.field-result { padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: #faf9f7; }
.field-result small { display: block; color: #7e756e; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.field-result strong { display: block; margin-top: 4px; font-size: 14px; word-break: break-word; }
.field-result code { display:block; margin-top:7px; color:#9a918a; font-size:9px; }
.coverage-banner { display:grid; grid-template-columns:minmax(220px,1fr) minmax(220px,2fr) auto; align-items:center; gap:18px; margin-top:14px; padding:14px 18px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.coverage-banner > div:first-child { display:grid; }.coverage-banner strong { font-size:12px; }.coverage-banner small { color:#857b74; font-size:9px; }
.coverage-track { height:9px; overflow:hidden; border-radius:99px; background:#ebe6df; }.coverage-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--red),var(--green)); }
.issue-card { border-color:#efc2c1; }.issue-list { margin:0; padding-left:17px; color:#9e1b18; font-size:11px; }.issue-list li + li { margin-top:7px; }
.legal-item { padding: 13px 0; border-bottom: 1px solid var(--border); }.legal-item:last-child { border: 0; }
.legal-item p { margin: 0 0 5px; font-size: 12px; }.legal-item small { color: #817870; font-size: 10px; }
.warning-list { margin: 0; padding-left: 17px; color: #74501a; font-size: 11px; }.warning-list li + li { margin-top: 7px; }
.rule-form { margin-bottom: 20px; }.rule-form summary { cursor: pointer; padding: 18px 20px; font-size: 13px; font-weight: 800; }
.rule-form[open] summary { border-bottom: 1px solid var(--border); }
.json-example { padding: 12px; border-radius: 8px; color: #e8ddd6; background: #201b18; font-family: ui-monospace,monospace; font-size: 11px; }
.dictionary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.dictionary-section { border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.dictionary-section h3 { margin:0; padding:11px 13px; background:#faf9f7; font-size:12px; }
.dictionary-section > div { display:grid; }
.dictionary-section span { display:grid; grid-template-columns:minmax(150px,.8fr) 1fr; gap:10px; padding:8px 12px; border-top:1px solid var(--border); }
.dictionary-section code { color:var(--red); font-size:10px; font-weight:800; }
.dictionary-section small { color:#706760; font-size:10px; }
.roadmap-summary { display: grid; grid-template-columns: 180px 1fr; align-items: center; gap: 22px; margin-bottom: 22px; }
.progress-circle { position: relative; width: 150px; height: 150px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--red) calc(var(--progress)*1%),#e9e3dd 0); }
.progress-circle::before { content: ''; position: absolute; width: 116px; height: 116px; border-radius: 50%; background: #fff; }
.progress-circle > div { position: relative; z-index: 1; }
.progress-circle strong { position: relative; font-size: 28px; }.progress-circle span { position: relative; margin-left: 2px; font-size: 13px; }
.timeline { display: grid; gap: 0; }
.timeline-item { position: relative; display: grid; grid-template-columns: 26px 92px 1fr auto; gap: 15px; padding: 0 0 25px; }
.timeline-item::before { content:''; position:absolute; left:8px; top:17px; bottom:-1px; width:1px; background:#ddd6cf; }
.timeline-item:last-child::before { display:none; }
.timeline-dot { width:17px; height:17px; border:4px solid #fff; border-radius:50%; background:#bcb3ac; box-shadow:0 0 0 1px #cfc7c0; z-index:1; }
.timeline-item.completed .timeline-dot { background:var(--green); }.timeline-item.in_progress .timeline-dot { background:var(--red); box-shadow:0 0 0 5px #fbe3e2; }
.timeline-version { color:#6f665f; font-family:ui-monospace,monospace; font-size:11px; font-weight:800; }
.timeline-copy h3 { margin:0 0 3px; font-size:13px; }.timeline-copy p { margin:0; color:#7f766f; font-size:11px; }
.scope-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.scope-list { margin:0; padding:0; list-style:none; }.scope-list li { position:relative; padding:10px 0 10px 25px; border-bottom:1px solid var(--border); font-size:12px; }.scope-list li::before { content:'✓'; position:absolute; left:0; color:var(--green); font-weight:800; }
.scope-list.hub li::before { content:'→'; color:var(--red); }
.runtime-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.runtime-item { padding:13px; border:1px solid var(--border); border-radius:9px; }.runtime-item small { display:block; color:#817870; font-size:9px; text-transform:uppercase; }.runtime-item strong { font-size:12px; }
.import-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr); gap:20px; }
.import-guard { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr; align-items:center; gap:10px; padding:16px; border:1px solid var(--border); border-radius:11px; background:#faf9f7; }
.import-guard > span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--red); font-size:11px; font-weight:800; }
.import-guard div { display:grid; }.import-guard strong { font-size:11px; }.import-guard small { color:#827970; font-size:9px; }
.batch-summary { overflow:hidden; }.batch-summary .checksum { font-size:10px; word-break:break-all; }
.decision-banner { display:flex; align-items:flex-start; gap:10px; padding:15px; border:1px solid; border-radius:10px; }
.decision-banner strong { min-width:175px; font-size:12px; }.decision-banner span { font-size:11px; }
.decision-banner.success { color:#126143; border-color:#b9dfd0; background:#eaf7f2; }
.decision-banner.error { color:#9e1b18; border-color:#efc2c1; background:#fcedec; }
.decision-banner.neutral { color:#514a45; border-color:#ddd6cf; background:#f4f1ed; }
.confirm-panel { display:flex; align-items:end; justify-content:flex-end; gap:10px; margin-top:16px; }
.confirm-panel .field { min-width:220px; }.confirm-panel .field input { min-height:42px; }
.danger-zone { margin-top:17px; padding:14px; border:1px solid #efc2c1; border-radius:10px; background:#fff8f7; }
.danger-zone summary { color:#9e1b18; cursor:pointer; font-size:11px; font-weight:800; }
.validation-message { display:block; max-width:540px; padding:2px 0; font-size:10px; }.validation-message.error { color:#9e1b18; }.validation-message.warning { color:#845000; }.validation-message.ok { color:#126143; }
.validation-table td:nth-child(4) { min-width:300px; }
.migration-list { margin:0; padding:0; list-style:none; }.migration-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid var(--border); }.migration-list li small { color:#817870; font-size:10px; }
.report-filters { margin-bottom:20px; }
.report-stats { margin-top:20px; }
.coverage-cell { display:flex; align-items:center; gap:8px; min-width:115px; }
.coverage-cell > span { width:75px; height:7px; overflow:hidden; border-radius:99px; background:linear-gradient(90deg,var(--green) var(--coverage),#e8e2dc var(--coverage)); }
.coverage-cell small { color:#756c65; font-size:10px; font-weight:800; }
.small-number { font-size:26px!important; }
.integration-targets { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.integration-target { overflow:hidden; }
.config-check-list { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.config-check-list li { display:grid; grid-template-columns:125px 1fr; gap:10px; padding:10px 12px; border:1px solid var(--border); border-radius:9px; background:#faf9f7; }
.config-check-list strong { font-size:10px; }.config-check-list span { color:#746b65; font-size:10px; }
.config-check-list .ok strong { color:var(--green); }.config-check-list .fail strong { color:var(--red); }.config-check-list .warning strong { color:var(--amber); }
.button:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.comparison-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.json-preview { max-height:430px; overflow:auto; margin:0; padding:14px; border-radius:9px; color:#eee6e0; background:#201b18; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10px; line-height:1.55; white-space:pre-wrap; word-break:break-word; }
.json-preview.compact { max-width:620px; max-height:260px; margin-top:10px; }
.json-cell { display:block; max-width:270px; max-height:100px; overflow:auto; white-space:pre-wrap; word-break:break-word; font-size:9px; }
.comparison-progress { margin-bottom:20px; }.comparison-progress p { margin:10px 0; color:#706760; font-size:11px; }.comparison-progress form { display:flex; justify-content:flex-end; }
.comparison-table details summary { color:var(--red); cursor:pointer; font-size:10px; font-weight:800; }
.comparison-table td:nth-child(2) { min-width:260px; }.comparison-table td:last-child { min-width:210px; }
.assisted-panel { border-color:#cdd8e8; }
.assisted-response { margin-top:16px; padding:17px; border:1px solid var(--border); border-radius:11px; background:#fbfaf8; }
.assisted-response + .assisted-response { margin-top:12px; }
.assisted-response-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.assisted-response h4 { margin:16px 0 8px; font-size:12px; }
.assisted-response > p { margin:10px 0 4px; font-size:12px; }
.assisted-response > small { color:#80766f; font-size:10px; }
.assisted-response .field-result p { margin:7px 0; color:#655d57; font-size:10px; }
.assisted-decision { margin-top:18px; padding-top:16px; border-top:1px solid var(--border); }
.page-intro select { min-height:38px; padding:0 10px; border:1px solid var(--border); border-radius:8px; background:#fff; }
.guest-body { background: var(--ink); }
.guest-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(360px,.9fr) minmax(500px,1.1fr); }
.guest-brand-panel { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 52px; color: #fff; background: linear-gradient(145deg,#241e1a 0%,#0d0b0a 78%); }
.guest-brand-panel::before { content:''; position:absolute; width:520px; height:520px; left:-260px; bottom:-260px; border:90px solid rgba(228,35,32,.13); border-radius:50%; }
.guest-brand-panel::after { content:''; position:absolute; width:300px; height:300px; right:-180px; top:18%; border:1px solid rgba(255,255,255,.08); transform:rotate(45deg); }
.guest-brand { position:relative; z-index:1; display:flex; align-items:center; gap:16px; }
.guest-brand > div { display:grid; line-height:1; }.guest-brand strong { font-family:Impact,"Arial Narrow Bold",sans-serif; font-size:28px; letter-spacing:.09em; }.guest-brand span:not(.brand-mark) { margin-top:7px; color:#b9afa9; font-size:11px; letter-spacing:.28em; }
.guest-message { position:relative; z-index:1; margin:auto 0; max-width:520px; }.guest-message h1 { max-width:450px; margin:10px 0 18px; font-family:Impact,"Arial Narrow Bold",sans-serif; font-size:57px; font-weight:500; line-height:1.02; letter-spacing:.015em; text-transform:uppercase; }.guest-message > p:last-child { max-width:450px; color:#bdb3ad; font-size:14px; }
.architecture-note { position:relative; z-index:1; display:grid; gap:3px; color:#8f8680; font-size:10px; }.architecture-note span { color:#eaa4a1; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.guest-form-panel { display:grid; place-items:center; padding:35px; background:var(--cream); }
.guest-form-wrap { width:min(520px,100%); }.guest-form-wrap > h2 { margin:0 0 7px; font-size:25px; }.guest-form-wrap > p { margin:0 0 25px; color:#746b65; font-size:13px; }
.login-form { display:grid; gap:16px; }.login-meta { display:flex; justify-content:space-between; margin-top:5px; color:#837a73; font-size:10px; }
.installer { width:min(720px,100%); }.requirements { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:20px; }.requirement { display:flex; align-items:center; gap:8px; padding:10px; border:1px solid var(--border); border-radius:8px; background:#fff; font-size:11px; }.requirement .ok { color:var(--green); }.requirement .fail { color:var(--red); }
.divider-title { grid-column:span 12; margin-top:5px; padding-bottom:7px; border-bottom:1px solid var(--border); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.not-found { display:grid; place-items:center; min-height:55vh; text-align:center; }.not-found .number { font-family:Impact,sans-serif; color:var(--red); font-size:100px; line-height:1; }.not-found h2 { margin:10px 0 4px; }.not-found p { margin:0 0 20px; color:#766d67; }
.governance-links { position:sticky; top:112px; z-index:8; display:flex; gap:7px; overflow-x:auto; margin:-10px 0 20px; padding:8px; border:1px solid var(--border); border-radius:11px; background:rgba(255,255,255,.94); box-shadow:0 10px 28px rgba(42,31,25,.05); }
.governance-links a { flex:0 0 auto; padding:7px 11px; border-radius:7px; color:#675e58; font-size:10px; font-weight:800; }.governance-links a:hover{color:var(--red);background:#fff3f2}
.governance-create-form { align-items:end; }.table-note { display:block; margin-top:4px; color:#8a817a; font-size:9px; }.hash-short { color:#706760; font-size:10px; }.checksum { overflow-wrap:anywhere; }
.readiness-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.readiness-item { padding:16px; border:1px solid var(--border); border-radius:11px; background:#fffaf3; }.readiness-item.done { border-color:#b9dfd0; background:#f2faf7; }.readiness-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.readiness-head > div { display:grid; }.readiness-head small { color:#8b827c; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.readiness-head strong { margin-top:3px; font-size:12px; }.readiness-item p { min-height:34px; margin:10px 0; color:#706760; font-size:10px; }.readiness-item textarea { width:100%; min-height:80px; padding:10px; border:1px solid var(--border); border-radius:8px; resize:vertical; font-size:10px; }.readiness-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:9px; }.readiness-actions select { min-width:165px; height:34px; border:1px solid var(--border); border-radius:8px; background:#fff; font-size:10px; }
.check-line { display:flex!important; align-items:center; gap:8px; min-height:42px; }.check-line input { width:auto!important; }
.governance-action-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.governance-action-grid .field { margin-bottom:12px; }
.gate-list { display:grid; gap:10px; }.gate-item { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:13px; border:1px solid var(--border); border-radius:10px; background:#faf9f7; }.gate-item.passed { border-color:#b9dfd0; background:#f2faf7; }.gate-item.blocked { border-color:#efc2c1; background:#fff7f6; }.gate-icon { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--red); font-size:12px; font-weight:900; }.gate-item.passed .gate-icon{background:var(--green)}.gate-item > div { display:grid; min-width:0; }.gate-item strong { font-size:11px; }.gate-item small { color:#817870; font-size:9px; }.gate-item code { margin-top:4px; overflow-wrap:anywhere; color:#8b827c; font-size:8px; }
.health-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.health-indicator { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; border:1px solid var(--border); border-left-width:4px; border-radius:10px; background:#faf9f7; }
.health-indicator.healthy { border-left-color:var(--green); }.health-indicator.attention { border-left-color:var(--amber); }.health-indicator.critical { border-left-color:var(--red); }
.health-indicator > div { display:grid; min-width:0; }.health-indicator strong { font-size:11px; }.health-indicator small { margin-top:3px; overflow-wrap:anywhere; color:#837a73; font-size:9px; }
.runbook-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.runbook-card { display:flex; flex-direction:column; padding:17px; border:1px solid var(--border); border-radius:11px; background:#faf9f7; }
.runbook-title { display:flex; align-items:center; justify-content:space-between; gap:8px; }.runbook-title small { color:#8b827c; font-size:9px; }.runbook-card h4 { margin:12px 0 5px; font-size:13px; }.runbook-card > p { flex:1; margin:0 0 14px; color:#706760; font-size:10px; }.runbook-card form { display:grid; gap:10px; }
.incident-hero,.pilot-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:20px; }
.evidence-box { margin-top:14px; padding:13px; border:1px solid var(--border); border-radius:9px; background:#faf9f7; }.evidence-box.success-box { border-color:#b9dfd0; background:#f2faf7; }.evidence-box strong { display:block; margin-bottom:4px; font-size:10px; }.evidence-box p { margin:0; color:#655d57; font-size:11px; }.evidence-box small { color:#817870; font-size:9px; }
.incident-timeline { display:grid; }.incident-timeline-item { position:relative; display:grid; grid-template-columns:22px 1fr; gap:12px; padding-bottom:24px; }.incident-timeline-item::before { content:''; position:absolute; left:8px; top:17px; bottom:0; width:1px; background:#ddd6cf; }.incident-timeline-item:last-child::before { display:none; }.timeline-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }.timeline-head strong { font-size:12px; }.timeline-head small { color:#817870; font-size:9px; }.incident-timeline-item p { margin:7px 0; color:#655d57; font-size:11px; }
.progress-card { margin-bottom:20px; padding:18px 20px; border:1px solid var(--border); border-radius:13px; background:#fff; }.progress-card > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; }.progress-card strong { font-size:12px; }.progress-card p { margin:10px 0 0; color:#706760; font-size:10px; }.progress-line { height:9px; overflow:hidden; margin-top:12px; border-radius:99px; background:#ebe6df; }.progress-line span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--red),var(--green)); }
.operation-steps { display:grid; gap:13px; }.operation-step { display:grid; grid-template-columns:44px 1fr; gap:14px; padding:18px; border:1px solid var(--border); border-radius:13px; background:#fff; }.operation-step.completed { border-color:#b9dfd0; background:#f8fcfa; }.step-number { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--ink); font-size:13px; font-weight:800; }.operation-step.completed .step-number { background:var(--green); }.step-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.step-title h3 { margin:0 0 3px; font-size:13px; }.step-title p { margin:0; color:#706760; font-size:10px; }.step-form { margin-top:14px; padding-top:14px; border-top:1px solid var(--border); }
.gate-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.gate-grid .gate-item { grid-template-columns:1fr auto; }.gate-grid .gate-item > div { display:grid; }
.hash-block { display:block; margin-top:7px; overflow-wrap:anywhere; color:#706760; font-size:9px; }
.scale-limit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.scale-limit-grid > div { padding:13px; border:1px solid var(--border); border-radius:10px; background:#faf9f7; }
.scale-limit-grid small { display:block; color:#817870; font-size:9px; text-transform:uppercase; }
.scale-limit-grid strong { display:block; margin-top:4px; font-size:13px; }
.reform-intro { align-items:center; }
.reform-intro .badge { margin-bottom:9px; }
.reform-trust-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; overflow:hidden; margin-bottom:20px; border:1px solid var(--border); border-radius:13px; background:var(--border); }
.reform-trust-strip > div { display:grid; gap:3px; padding:14px 16px; background:#fff; }
.reform-trust-strip strong { color:#665d57; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.reform-trust-strip span { font-size:11px; font-weight:700; }
.reform-section { margin-bottom:20px; scroll-margin-top:115px; }
.step-kicker { display:block; margin-bottom:3px; color:var(--red); font-size:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.check-line { display:flex; align-items:flex-start; gap:10px; padding:13px; border:1px solid var(--border); border-radius:10px; background:#faf9f7; cursor:pointer; }
.check-line input { flex:0 0 auto; width:17px!important; height:17px; margin:2px 0 0; accent-color:var(--red); }
.check-line span { display:grid; gap:2px; }
.check-line strong { font-size:11px; }.check-line small { color:#817870; font-size:9px; }
.reform-rate-note { display:grid; align-content:center; gap:4px; min-height:86px; padding:14px 16px; border:1px solid #ead2a5; border-radius:10px; color:#704500; background:#fff9ed; }
.reform-rate-note strong { font-size:11px; }.reform-rate-note span { font-size:9px; }
.reform-lines { display:grid; gap:15px; }
.reform-line { overflow:hidden; border:1px solid var(--border); border-radius:12px; background:#fcfbfa; }
.reform-line.purchase { background:#f8fbfa; }
.reform-line > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--border); background:#fff; }
.reform-line > header > div { display:flex; align-items:center; gap:9px; min-width:0; }
.reform-line > header strong { overflow:hidden; max-width:720px; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.reform-line-number { padding:4px 7px; border-radius:6px; color:#fff; background:var(--ink); font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.reform-line.purchase .reform-line-number { background:var(--green); }
.reform-line .form-grid { padding:16px; }
.reform-submit-bar { position:sticky; bottom:14px; z-index:8; display:flex; align-items:center; justify-content:space-between; gap:20px; margin:26px 0 30px; padding:15px 17px; border:1px solid #39322d; border-radius:13px; color:#fff; background:rgba(23,19,15,.96); box-shadow:0 18px 50px rgba(23,19,15,.28); backdrop-filter:blur(12px); }
.reform-submit-bar > div { display:grid; }.reform-submit-bar strong { font-size:11px; }.reform-submit-bar span { color:#bdb3ad; font-size:9px; }
.reform-submit-bar .button span { color:inherit; font-size:13px; }
.reform-transition-grid { display:grid; grid-template-columns:repeat(8,minmax(100px,1fr)); gap:8px; overflow-x:auto; }
.reform-transition-grid > div { display:grid; gap:3px; min-width:112px; padding:12px; border:1px solid var(--border); border-radius:9px; background:#faf9f7; }
.reform-transition-grid strong { color:var(--red); font-size:15px; }.reform-transition-grid span { font-size:9px; }.reform-transition-grid small { margin-top:4px; color:#817870; font-size:8px; }
.source-details { margin-top:17px; border-top:1px solid var(--border); }
.source-details summary { padding:15px 0 0; cursor:pointer; font-size:10px; font-weight:800; }
.source-details ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:14px 0 0; padding:0; list-style:none; }
.source-details li { display:grid; gap:2px; padding:10px; border:1px solid var(--border); border-radius:8px; }
.source-details a { color:var(--blue); font-size:10px; font-weight:800; }.source-details span { color:#817870; font-size:8px; }
.reform-result-hero { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-bottom:20px; padding:25px 28px; border-radius:16px; color:#fff; background:linear-gradient(135deg,#211b17,#0d0b0a); box-shadow:0 20px 50px rgba(23,19,15,.18); }
.reform-result-hero.positive { background:linear-gradient(135deg,#175b43,#0d2e23); }.reform-result-hero.negative { background:linear-gradient(135deg,#9f231f,#3b1110); }
.reform-result-hero > div:first-child { display:grid; }.reform-result-hero > div:first-child span { color:#d7cec8; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.reform-result-hero > div:first-child strong { margin:5px 0 0; font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-size:39px; font-weight:500; letter-spacing:.02em; }
.reform-result-hero small { color:#c6bdb7; font-size:9px; }
.reform-hero-comparison { display:flex; align-items:center; gap:18px; }
.reform-hero-comparison > div { display:grid; min-width:145px; }.reform-hero-comparison span { color:#c6bdb7; font-size:9px; text-transform:uppercase; }.reform-hero-comparison strong { font-size:17px; }.reform-arrow { color:#fff!important; font-size:25px!important; }
.reform-result-stats .stat-card { min-height:125px; }.reform-money { font-size:27px!important; }
.reform-waiver { margin-bottom:20px; }
.reform-timeline-table tr.selected { background:#fff5f4; box-shadow:inset 4px 0 var(--red); }
.reform-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:20px; }
.reform-composition { display:flex; align-items:center; gap:10px; overflow-x:auto; }
.reform-composition > div { flex:1 0 140px; display:grid; gap:3px; min-height:72px; padding:12px; border:1px solid var(--border); border-radius:9px; background:#faf9f7; }
.reform-composition > div span { color:#817870; font-size:8px; text-transform:uppercase; }.reform-composition > div strong { font-size:12px; }
.reform-composition > span { color:#9b918a; font-weight:900; }.reform-composition .total { color:#fff; border-color:var(--ink); background:var(--ink); }.reform-composition .total span { color:#bdb3ad; }
.reform-warning-list { margin:0; padding:0; list-style:none; }
.reform-warning-list li { position:relative; padding:10px 10px 10px 30px; border-bottom:1px solid var(--border); color:#6f4a16; font-size:10px; }.reform-warning-list li:last-child { border:0; }.reform-warning-list li::before { content:'!'; position:absolute; left:4px; top:9px; width:17px; height:17px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--amber); font-size:9px; font-weight:900; }
.reform-source-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; padding:0; list-style:none; }
.reform-source-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; border:1px solid var(--border); border-radius:9px; background:#faf9f7; }
.reform-source-list li > div { display:grid; min-width:0; }.reform-source-list strong { font-size:10px; }.reform-source-list span { color:#817870; font-size:8px; }.reform-source-list a { flex:0 0 auto; color:var(--blue); font-size:8px; font-weight:800; }
.reform-disclaimer { margin:17px 0 0; padding:12px; border:1px solid #ead2a5; border-radius:9px; color:#704500; background:#fff9ed; font-size:9px; }
@media print { .sidebar,.topbar,.page-intro,.no-print,.alert { display:none!important; }.shell,.main { display:block; }.content { max-width:none; padding:0; }.card,.result-hero,.reform-result-hero { box-shadow:none; break-inside:avoid; }.result-hero,.reform-result-hero { color:#000!important; background:#fff!important; border:2px solid #000; }.result-hero p,.reform-result-hero span,.reform-result-hero small { color:#444!important; }.reform-result-hero strong { color:#000!important; }.reform-section { margin-bottom:12px; }.reform-source-list { grid-template-columns:1fr 1fr; }.button { display:none!important; } }
@media(max-width:1080px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.result-grid,.import-layout,.comparison-columns,.integration-targets,.governance-action-grid,.incident-hero,.pilot-grid{grid-template-columns:1fr}.readiness-grid,.runbook-grid{grid-template-columns:1fr}.guest-message h1{font-size:46px}}
@media(max-width:760px){body.menu-open{overflow:hidden}.shell{display:block}.sidebar{z-index:50;width:min(310px,90vw);transform:translateX(-100%);transition:transform .2s ease;box-shadow:20px 0 55px rgba(0,0,0,.32)}.sidebar.open{transform:none}.sidebar-close{position:absolute;right:10px;top:8px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;color:#fff;background:rgba(255,255,255,.08);font-size:25px;cursor:pointer}.sidebar-backdrop{position:fixed;inset:0;z-index:45;display:block;border:0;padding:0;background:rgba(23,19,15,.56);opacity:0;pointer-events:none;transition:opacity .2s}.menu-open .sidebar-backdrop{opacity:1;pointer-events:auto}.main{display:block}.topbar{height:82px;padding:0 18px}.menu-toggle{display:block}.user-box>div{display:none}.content{padding:24px 16px 45px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{min-height:120px;padding:17px}.form-grid{display:block}.field,.divider-title{margin-bottom:14px}.col-12,.col-8,.col-6,.col-4,.col-3,.col-2{grid-column:auto}.page-intro{align-items:flex-start;flex-direction:column}.searchbar{width:100%}.searchbar input{min-width:0;flex:1}.field-results,.scope-grid,.runtime-grid,.dictionary-grid,.classification-flow-switch,.candidate-grid{grid-template-columns:1fr}.coverage-banner{grid-template-columns:1fr}.roadmap-summary{grid-template-columns:1fr;justify-items:center}.timeline-item{grid-template-columns:26px 65px 1fr}.timeline-item>.badge{grid-column:3}.guest-shell{grid-template-columns:1fr}.guest-brand-panel{min-height:290px;padding:30px}.guest-message{margin:45px 0 30px}.guest-message h1{font-size:36px}.guest-form-panel{padding:28px 20px}.requirements{grid-template-columns:1fr}.result-hero{flex-wrap:wrap}.result-meta{margin-left:66px;text-align:left}.cih-flow{grid-template-columns:1fr}.cih-arrow{transform:rotate(90deg);text-align:center}.import-guard{grid-template-columns:auto 1fr}.confirm-panel{align-items:stretch;flex-direction:column}.confirm-panel .field{min-width:0}.decision-banner,.discovery-guidance{display:grid}.decision-banner strong{min-width:0}.checksum{display:block;margin-top:5px}.button-row{width:100%}.config-check-list li{grid-template-columns:1fr}.candidate-head{padding-right:32px}}
@media(max-width:430px){.stats-grid{grid-template-columns:1fr}.topbar .eyebrow{display:none}.topbar h1{font-size:22px}.kind-switch{grid-template-columns:1fr}}

/* Estoque fiscal integrado ao Hub */
.fiscal-stock-intro{margin-bottom:20px}.fiscal-stock-intro h2{margin:8px 0 5px}.fiscal-stock-stats .fiscal-money{font-size:25px}.fiscal-guardrail{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 20px;padding:18px 20px;border:1px solid #efd49b;border-radius:14px;background:#fff9ea}.fiscal-guardrail div{display:grid;gap:5px}.fiscal-guardrail strong{font-size:13px}.fiscal-guardrail span{color:#756a5e;font-size:11px;line-height:1.55}.fiscal-stock-section{margin-bottom:20px}.fiscal-opportunity-list{display:grid;gap:12px;padding:18px}.fiscal-opportunity{padding:16px 18px;border:1px solid var(--border);border-left:4px solid #9aa7b5;border-radius:10px;background:#fff}.fiscal-opportunity.critical,.fiscal-opportunity.high{border-left-color:#db302d}.fiscal-opportunity.medium{border-left-color:#e4a329}.fiscal-opportunity h4{margin:8px 0 0;font-size:14px}.fiscal-opportunity p{margin:10px 0;color:#5f5750;font-size:12px;line-height:1.6}.fiscal-opportunity>small{display:block;margin-top:10px;color:#817870;font-size:9px}.fiscal-opportunity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.fiscal-suggestion{padding:10px 12px;border-radius:8px;background:#f5f2ef;color:#514943;font-size:11px;line-height:1.55}.fiscal-sync-history{margin-bottom:20px}.fiscal-sync-history>summary{padding:18px 20px;cursor:pointer;font-size:12px;font-weight:800}.text-danger{color:#b91f1c}@media(max-width:760px){.fiscal-guardrail,.fiscal-opportunity-head{align-items:flex-start;flex-direction:column}.fiscal-stock-intro form,.fiscal-stock-intro .button{width:100%}}
@media(max-width:760px){.health-grid,.gate-grid,.scale-limit-grid{grid-template-columns:1fr}.operation-step{grid-template-columns:34px 1fr;padding:14px}.step-number{width:30px;height:30px}.step-title,.timeline-head{align-items:flex-start;flex-direction:column}.incident-timeline-item{grid-template-columns:20px 1fr}}
@media(max-width:1080px){.reform-trust-strip{grid-template-columns:repeat(2,1fr)}.reform-result-hero{align-items:flex-start;flex-direction:column}.reform-result-grid{grid-template-columns:1fr}.reform-source-list{grid-template-columns:1fr}}
@media(max-width:760px){.reform-trust-strip{grid-template-columns:1fr}.reform-submit-bar{position:static;align-items:stretch;flex-direction:column}.reform-submit-bar .button{width:100%}.reform-hero-comparison{width:100%;gap:8px}.reform-hero-comparison>div{min-width:0}.reform-result-hero{padding:20px}.reform-result-hero>div:first-child strong{font-size:31px}.source-details ul{grid-template-columns:1fr}.reform-line>header{align-items:flex-start}.reform-composition{align-items:stretch;flex-direction:column}.reform-composition>span{text-align:center}.reform-source-list li{align-items:flex-start;flex-direction:column}}

/* PWA, ambientes isolados e instalação opcional — v7.5.0 */
.pwa-install{min-height:36px;padding:0 13px;border:1px solid var(--border);border-radius:9px;color:var(--ink);background:#fff;font-size:9px;font-weight:900;cursor:pointer;white-space:nowrap}.pwa-install:hover,.pwa-install:focus-visible{border-color:var(--red);color:var(--red)}
.environment-banner{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:13px 16px;border:1px solid #d8b56b;border-radius:11px;color:#5e4100;background:#fff8e8}.environment-banner strong{flex:0 0 auto;font-size:9px;letter-spacing:.08em}.environment-banner span{font-size:10px}.environment-banner.demo{border-color:#7ab2d8;color:#174b70;background:#eef8ff}.environment-banner.trial{border-color:#9b8ad1;color:#453673;background:#f6f2ff}.environment-banner.courtesy{border-color:#75b89a;color:#1b5b40;background:#eefaf4}
.pwa-notice{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border:1px solid #9fc5dd;border-radius:11px;color:#174b70;background:#eef8ff}.pwa-notice strong{font-size:10px}.pwa-notice span{font-size:9px}.pwa-notice button{min-height:34px;padding:0 11px;border:0;border-radius:8px;color:#fff;background:#174b70;font-size:9px;font-weight:900;cursor:pointer}.pwa-notice.update{border-color:#d8b56b;color:#5e4100;background:#fff8e8}.pwa-notice.update button{background:#8b5d00}.pwa-notice[hidden]{display:none!important}
@media(max-width:760px){.pwa-install{padding:0 8px}.environment-banner,.pwa-notice{align-items:flex-start;grid-template-columns:1fr}.environment-banner{flex-direction:column;gap:4px}.pwa-notice button{justify-self:start}.topbar{padding-top:env(safe-area-inset-top)}.content{padding-bottom:calc(45px + env(safe-area-inset-bottom))}.field input,.field select,.field textarea{font-size:16px}}
