/* Escopo próprio: mantém contraste mesmo sob estilos globais do tema. */
html body main.lokofx { color:#172033!important; background:#f3f5fb!important; max-width:1440px; margin:24px auto; padding:24px!important; font-size:15px; }
html body main.lokofx header { color:#fff!important; background:linear-gradient(120deg,#171a54,#353992)!important; padding:28px!important; border-radius:16px; }
html body main.lokofx header :is(h1,p,span) {color:#fff!important;}
html body main.lokofx h1 {font-size:30px; margin:8px 0;}
html body main.lokofx :is(h2,h3,p,span,small,label,summary,dt,dd,td,th) {text-shadow:none;}
html body main.lokofx h2 {font-size:22px;color:#172033!important;margin:0 0 10px;}
html body main.lokofx h3 {font-size:19px;color:#172033!important;margin:8px 0;}
html body main.lokofx .ofx-panel {background:#fff!important; color:#172033!important; padding:24px!important; margin:20px 0; border:1px solid #dce2ee; border-radius:16px; box-shadow:0 3px 12px #19234a06;}
html body main.lokofx .ofx-upload {display:grid;grid-template-columns:1fr 1fr; gap:32px; border-top:4px solid #353992;}
html body main.lokofx .ofx-tabs {display:flex;flex-wrap:wrap;gap:8px; margin:18px 0;}
html body main.lokofx .ofx-tabs a {color:#30386c; background:#fff; border:1px solid #d8dfed; border-radius:8px; padding:9px 12px; font-weight:600;text-decoration:none;}
html body main.lokofx .ofx-tabs a[aria-current] {background:#2e3192;color:#fff;border-color:#2e3192;}
html body main.lokofx .ofx-eyebrow {font-size:11px;font-weight:800;letter-spacing:1px;color:#505882;}
html body main.lokofx :is(.ofx-muted,small) {font-size:13px;color:#59647a;line-height:1.5;}
html body main.lokofx .ofx-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap; margin-bottom:20px;}
html body main.lokofx .ofx-kpis {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
html body main.lokofx .ofx-kpi {background:#f8faff; border:1px solid #e1e6f0;border-radius:12px;padding:18px 14px;min-width:0;}
html body main.lokofx .ofx-kpi span {display:block;color:#505c73;font-size:13px;}
html body main.lokofx .ofx-kpi strong {display:block;color:#172033;font-size:22px;line-height:1.4;margin:10px 0;overflow-wrap:anywhere; font-variant-numeric:tabular-nums;}
html body main.lokofx .ofx-in {color:#126444!important;}
html body main.lokofx .ofx-out {color:#b12e38!important;}
html body main.lokofx .ofx-neutral {color:#59647a!important;}
html body main.lokofx .ofx-statements {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
html body main.lokofx article.ofx-statement-card {background:#fff!important; padding:20px!important; border:1px solid #dce2ee;border-radius:12px;min-width:0;}
html body main.lokofx .ofx-statement-card p {margin:12px 0;line-height:1.7;overflow-wrap:anywhere;}
html body main.lokofx .ofx-statement-card small {display:block;margin:14px 0;}
html body main.lokofx .ofx-card-totals {display:flex;gap:16px;flex-wrap:wrap;font-size:12px;}
html body main.lokofx .ofx-card-totals strong {display:block;font-size:16px;}
html body main.lokofx :is(.ofx-form,.ofx-filters) {display:flex;gap:14px;flex-wrap:wrap;align-items:end;}
html body main.lokofx .ofx-form label {flex:1 1 240px;}
html body main.lokofx .ofx-form :is(small,.ofx-upload-feedback,.ofx-progress) {flex:1 0 100%;margin:0;}
html body main.lokofx .ofx-form .ofx-check {flex-basis:100%;}
html body main.lokofx :is(input,select) {box-sizing:border-box;min-height:44px;width:100%;background:#fff!important;color:#172033!important;border:1px solid #bbc6dc!important;border-radius:8px;padding:10px 12px;font:inherit;}
html body main.lokofx input[type=file] {padding:12px;background:#f8faff!important;border-style:dashed!important;}
html body main.lokofx input[type=file]::file-selector-button {border:0;border-radius:6px;background:#e7eafa;color:#272d71;padding:8px 12px;margin-right:12px;cursor:pointer;}
html body main.lokofx label {font-size:13px;font-weight:600;color:#303950;display:block;}
html body main.lokofx label :is(input,select) {margin-top:6px;}
html body main.lokofx :is(button,.ofx-button),.lokofx-dialog :is(button,.ofx-button) {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 18px;border:1px solid #2e3192;border-radius:8px;background:#2e3192;color:#fff!important;font:inherit;font-weight:700;line-height:1.4;text-decoration:none;cursor:pointer;box-sizing:border-box;}
html body main.lokofx button:disabled {opacity:.65;cursor:wait;}
html body main.lokofx :is(button,.ofx-button):hover {background:#232679;}
html body main.lokofx :is(a,button,input,select,summary):focus-visible,.lokofx-dialog :is(a,button,input):focus-visible {outline:3px solid #dfac12;outline-offset:3px;}
html body main.lokofx .ofx-filters {margin:20px 0;align-items:end;}
html body main.lokofx .ofx-filters label:first-of-type {flex:1 1 250px;}
html body main.lokofx .ofx-filters a {padding:12px;color:#30386c;}
html body main.lokofx .ofx-table-wrap {max-width:100%;overflow:auto;border:1px solid #dce2ee;border-radius:10px;}
html body main.lokofx table.ofx-table {width:100%;min-width:900px;border-collapse:collapse;margin:0;font-size:14px;background:#fff;}
html body main.lokofx .ofx-table caption {text-align:left;padding:12px 16px;color:#59647a;font-size:12px;}
html body main.lokofx .ofx-table th {background:#f1f4fa;color:#44516c;text-align:left;font-size:12px;font-weight:700;white-space:nowrap;padding:14px 16px;border:0;border-bottom:1px solid #dce2ee;}
html body main.lokofx .ofx-table td {padding:14px 16px;color:#172033;border:0;border-bottom:1px solid #e8ecf4;vertical-align:top;line-height:1.5;}
html body main.lokofx .ofx-table tr:hover td {background:#f9faff;}
html body main.lokofx .ofx-table .ofx-number {text-align:right;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums;}
html body main.lokofx .ofx-nowrap {white-space:nowrap;}
html body main.lokofx .ofx-description {min-width:210px;max-width:370px;overflow-wrap:anywhere;}
html body main.lokofx .ofx-description small {display:block;margin-top:4px;}
html body main.lokofx .ofx-badge {display:inline-block;border-radius:6px;font-size:12px;padding:3px 8px;white-space:nowrap;font-weight:600;}
html body main.lokofx .ofx-badge.ofx-in {background:#eaf6f0;}
html body main.lokofx .ofx-badge.ofx-out {background:#fff0f1;}
html body main.lokofx .ofx-detail-link {color:#30358b;font-weight:600;font-size:13px;}
html body main.lokofx details {padding:14px 0;border-top:1px solid #e1e6f0; margin-top:12px;}
html body main.lokofx summary {cursor:pointer;font-weight:600;color:#333c60;line-height:1.6;}
html body main.lokofx details[open]>summary {margin-bottom:16px;}
html body main.lokofx .ofx-actions {border:1px solid #dce2ee;border-radius:8px;padding:8px 12px;margin:0;}
html body main.lokofx .ofx-danger-link {display:block;color:#b12e38;padding:8px;text-decoration:none;}
html body main.lokofx .ofx-pages {display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:18px;}
html body main.lokofx .ofx-pages span {margin-right:auto;color:#59647a;font-size:13px;}
html body main.lokofx .ofx-pages a {padding:9px 14px;border:1px solid #dce2ee;border-radius:8px;color:#30358b;}
.ofx-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:13px;}
.ofx-fields div {background:#f6f8fc;padding:12px;border-radius:8px;min-width:0;}
.ofx-fields dt {color:#59647a;font-weight:600;overflow-wrap:anywhere;}
.ofx-fields dd {margin:5px 0 0;color:#172033;overflow-wrap:anywhere;white-space:pre-wrap;}
html body main.lokofx .ofx-notice,.lokofx-dialog .ofx-notice {background:#f1f4ff;border:1px solid #cbd5ee;border-left:4px solid #4a54ae;padding:16px;border-radius:10px;color:#283451;line-height:1.6;}
html body main.lokofx .ofx-success {background:#edf8f2;border-color:#a8d4bc;color:#165737;}
html body main.lokofx .ofx-error {background:#fff0f1;border-color:#e7bbc0;color:#942534;}
html body main.lokofx .ofx-empty {padding:24px;grid-column:1/-1;}
html body main.lokofx .ofx-check,.lokofx-dialog .ofx-check {display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;}
html body main.lokofx .ofx-check input,.lokofx-dialog .ofx-check input {width:18px;min-height:18px;height:18px;margin:4px 0 0;flex:0 0 18px;}
html body .lokofx-dialog {background:#fff!important;color:#172033!important;box-sizing:border-box;width:min(650px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid #dce2ee;border-radius:16px;padding:28px!important;box-shadow:0 24px 80px #11183d40;position:fixed;inset:0;margin:auto;z-index:100000;}
.lokofx-dialog::backdrop {background:#10172c99;}
html body .lokofx-dialog .ofx-dialog-actions {display:flex;justify-content:flex-end;gap:12px;width:100%;margin-top:20px;}
html body .lokofx-dialog .ofx-secondary {background:#fff!important;color:#303950!important;border-color:#aab7ce;}
html body .lokofx-dialog button.ofx-danger {background:#b12e38!important;color:#fff!important;border-color:#b12e38;}
html body main.lokofx progress {width:100%;height:8px;accent-color:#2e3192;}
html body main.lokofx [hidden] {display:none!important;}
html body .ofx-finance-entry {display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;padding:20px;margin:16px 0 24px;background:#fff!important;color:#172033!important;border:1px solid #dce2ee;border-left:5px solid #2e3192;border-radius:12px;}
html body .ofx-finance-entry strong {display:block;font-size:18px;color:#172033!important;}
html body .ofx-finance-entry small {display:block;margin-top:5px;color:#59647a!important;}
html body .ofx-finance-entry .ofx-finance-button {display:inline-block;padding:13px 20px;background:#2e3192!important;color:#fff!important;border-radius:9px;text-decoration:none;font-weight:700;}
html body .ofx-finance-entry a:focus-visible {outline:3px solid #dfac12;outline-offset:3px;}
@media(max-width:1100px){html body main.lokofx .ofx-kpis {grid-template-columns:repeat(3,minmax(0,1fr));}html body main.lokofx .ofx-statements{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){html body main.lokofx{padding:12px!important;margin:12px auto;}html body main.lokofx header,html body main.lokofx .ofx-panel{padding:18px!important;}html body main.lokofx .ofx-upload,html body main.lokofx .ofx-statements{grid-template-columns:1fr;}html body main.lokofx .ofx-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}html body main.lokofx .ofx-kpi strong{font-size:19px;}.ofx-fields{grid-template-columns:1fr;}html body .lokofx-dialog{padding:20px!important;}html body main.lokofx .ofx-filters label{flex:1 1 180px;}}
/* Ajustes de herança do painel de caixa. */
html body main.lokofx .ofx-check {flex-direction:row;}
html body main.lokofx .ofx-pages a {background:#fff;}
html body .lokofx-dialog .ofx-dialog-actions :is(a,button) {width:auto;}
@media(max-width:600px){html body main.lokofx .ofx-tabs a,html body main.lokofx .ofx-pages a{width:auto;}}
