/* JuLemos Hub — Fase 2.2.A — interface financeira read-only.
   Cards inspirados no tema dos gráficos enviado em 19/09/2026; futuros gráficos
   podem reutilizar as quatro cores de acento, fundo branco e grid discreto. */
.jl-finance{--jl-fin-green:#22bd83;--jl-fin-cyan:#19bcd5;--jl-fin-orange:#f39b43;--jl-fin-red:#ed6570;--jl-fin-violet:#8979d1;--jl-fin-border:#e9edf1;width:100%;max-width:1480px;margin:0 auto;padding:26px 24px 68px;box-sizing:border-box;color:var(--jl-brand-text)}
.jl-finance *{box-sizing:border-box}
.jl-finance-top{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.jl-finance-back{border:0;background:transparent;color:#178359;font-weight:650;font-size:13px;cursor:pointer;padding:5px 0 14px}
.jl-finance-back:hover{text-decoration:underline}
.jl-finance-eyebrow{font-size:10px;letter-spacing:.14em;color:#4a9476;font-weight:800}
.jl-finance-top h1{font-size:clamp(24px,3vw,33px);margin:7px 0 6px;color:inherit}
.jl-finance-subtitle{margin:0;color:#718087;font-size:14px}
.jl-finance-readonly{display:inline-flex;gap:8px;align-items:center;border-radius:20px;background:#ecf9f3;color:#187d59;padding:8px 13px;font-size:12px;font-weight:700}
.jl-finance-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:15px;border:1px solid var(--jl-fin-border);border-radius:12px;background:#fff}
.jl-finance-filters label{display:flex;flex-direction:column;gap:7px;min-width:190px;font-size:12px;font-weight:700;color:#64727b}
.jl-finance-filters select{width:100%;min-height:38px;border:1px solid #dfe6e9;border-radius:8px;background:#fff;color:#26333b;font:inherit;font-size:13px;padding:8px 11px;max-width:360px}
.jl-finance-filters select:focus-visible{outline:2px solid #22bd8377;outline-offset:2px}
.jl-finance-caption{font-size:12px;color:#849097;margin:12px 0 14px}
.jl-finance-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin-bottom:22px}
.jl-finance-card{position:relative;border:1px solid var(--jl-fin-border);border-radius:13px;background:#fff;box-shadow:0 7px 24px #142b3508;padding:19px 18px 17px;overflow:hidden;min-width:0;text-align:left;font:inherit;color:inherit}
.jl-finance-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:36px;opacity:.10;background:linear-gradient(180deg,transparent,currentColor)}
.jl-finance-card-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:15px;color:#65737a;font-size:12px;font-weight:650}
.jl-finance-card-heading i{font-size:15px;color:currentColor}
.jl-finance-card strong{font-size:clamp(19px,2vw,27px);display:block;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;margin-bottom:7px;color:var(--jl-brand-text)}
.jl-finance-card small{display:block;color:#829097;font-size:11px;position:relative;z-index:1}
.jl-finance-green{color:var(--jl-fin-green);border-top:3px solid var(--jl-fin-green)}
.jl-finance-cyan{color:var(--jl-fin-cyan);border-top:3px solid var(--jl-fin-cyan)}
.jl-finance-orange{color:var(--jl-fin-orange);border-top:3px solid var(--jl-fin-orange)}
.jl-finance-red{color:var(--jl-fin-red);border-top:3px solid var(--jl-fin-red)}
.jl-finance-violet{color:var(--jl-fin-violet);border-top:3px solid var(--jl-fin-violet)}
.jl-finance-card-action{cursor:pointer;appearance:none;transition:transform .15s ease,box-shadow .15s ease}.jl-finance-card-action:hover{transform:translateY(-1px);box-shadow:0 10px 28px #142b3512}.jl-finance-card-action:focus-visible{outline:2px solid currentColor;outline-offset:2px}.jl-finance-card-action.is-active{outline:2px solid currentColor;outline-offset:2px;background:#fff}.jl-finance-card-action.is-active::before{content:"";position:absolute;inset:0;background:currentColor;opacity:.035;pointer-events:none}
.jl-finance-note{background:#f0f8fb;border-left:3px solid var(--jl-fin-cyan);padding:10px 13px;color:#49616d;font-size:13px;border-radius:5px}
.jl-finance-panel{background:#fff;border:1px solid var(--jl-fin-border);border-radius:13px;box-shadow:0 7px 25px #142b3507;overflow:hidden}
.jl-finance-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 22px 17px}.jl-finance-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.jl-finance-panel-head h2{font-size:20px;margin:0 0 5px;font-weight:700;color:var(--jl-brand-text)}
.jl-finance-panel-head p{font-size:12px;color:#859299;margin:0}
.jl-finance-panel-icon{color:#32b78b;font-size:19px}
.jl-finance-table-scroll{overflow-x:auto;width:100%}
.jl-finance-table{width:100%;border-collapse:collapse;min-width:1180px}
.jl-finance-table th{font-size:11px;letter-spacing:.015em;text-align:left;font-weight:700;color:#839197;background:#fbfcfd;padding:13px 12px;border-bottom:1px solid #edf1f3;white-space:nowrap}
.jl-finance-table th:first-child,.jl-finance-table td:first-child{padding-left:22px}
.jl-finance-table th:last-child,.jl-finance-table td:last-child{padding-right:22px}
.jl-finance-table td{font-size:12.5px;text-align:left;color:#49565d;border-bottom:1px solid #eef1f3;padding:15px 12px;vertical-align:middle}
.jl-finance-table tbody tr:hover{background:#f9fcfa}
.jl-finance-table tbody tr:last-child td{border-bottom:0}
.jl-finance-table td strong{color:#2b383d;font-weight:650}
.jl-finance-ref,.jl-finance-value{white-space:nowrap;font-variant-numeric:tabular-nums}
.jl-finance-badge{display:inline-flex;align-items:center;border-radius:30px;padding:5px 9px;font-size:11px;font-weight:700;white-space:nowrap}
.jl-finance-badge-paid,.jl-finance-badge-nf-issued{background:#ddf5ea;color:#187955}
.jl-finance-badge-open,.jl-finance-badge-nf-pending{background:#fff0d9;color:#9c650c}
.jl-finance-badge-overdue,.jl-finance-badge-nf-cancelled{background:#ffe1e4;color:#b93847}
.jl-finance-badge-partial{background:#dff4fa;color:#0c7990}
.jl-finance-badge-cancelled,.jl-finance-badge-nf-missing{background:#edf0f2;color:#67747b}
.jl-finance-details{position:relative}
.jl-finance-details summary{display:inline-flex;gap:6px;align-items:center;cursor:pointer;color:#168463;font-size:12px;font-weight:650;list-style:none}
.jl-finance-details summary::-webkit-details-marker{display:none}
.jl-finance-details summary:focus-visible{outline:2px solid #22bd83;outline-offset:3px}
.jl-finance-details-box{margin-top:10px;min-width:215px;max-width:320px;border:1px solid #deece7;border-radius:9px;padding:11px;background:#f7fcfa;color:#4f5e63;white-space:normal;overflow-wrap:anywhere}
.jl-finance-details-box strong{display:block;margin-bottom:8px}
.jl-finance-details-box p{line-height:1.45;margin:6px 0;font-size:12px}
.jl-finance-details-box small{display:block;line-height:1.45;margin-top:9px;color:#72878a}
.jl-finance-observation{border-top:1px solid #dce9e4;padding-top:9px;white-space:normal}
.jl-finance-empty{padding:50px 20px;display:flex;align-items:center;flex-direction:column;gap:10px;color:#8a979b;text-align:center}
.jl-finance-empty i{font-size:26px;color:#31b78c}
.jl-finance-empty strong{color:#324249}
.jl-finance-empty span{font-size:13px}
.jl-finance-footnote{display:flex;gap:9px;align-items:flex-start;margin:16px 0 0;color:#859299;font-size:12px;line-height:1.6}
@media(max-width:1250px){.jl-finance-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.jl-finance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.jl-finance{padding:16px 12px 38px}.jl-finance-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.jl-finance-card{padding:12px}.jl-finance-card-heading{font-size:11px}.jl-finance-card strong{font-size:18px}.jl-finance-filters label{width:100%;min-width:0}.jl-finance-panel-head{padding:17px}.jl-finance-table th:first-child,.jl-finance-table td:first-child{padding-left:14px}}

/* Complemento 2.2.A: conta de recebimento separada da forma PIX/transferencia. */
.jl-finance-destination{white-space:nowrap}
.jl-finance-account{display:inline-flex;gap:6px;align-items:center;color:#197d60;font-size:12px;font-weight:650}
.jl-finance-account i{color:#25ad81;font-size:11px}
.jl-finance-muted{color:#87939a;font-size:12px}

/* Fase 2.2.B — ações e formulários (mesmo tema da 2.2.A). */
.jl-finance-primary,.jl-finance-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:9px 15px;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer;transition:filter .15s ease}
.jl-finance-primary{background:var(--jl-brand-primary);border:1px solid var(--jl-brand-primary);color:#fff}
.jl-finance-primary:hover{filter:brightness(.93)}
.jl-finance-secondary{background:#fff;border:1px solid #dce7e5;color:#37534a}
.jl-finance-secondary:hover{background:#f4faf8}
.jl-finance-primary:disabled{opacity:.6;cursor:wait}
.jl-finance-row-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:190px}
.jl-finance-row-actions button,.jl-finance-payment-row button{display:inline-flex;gap:5px;align-items:center;border:1px solid #e0eae7;background:#fff;color:#168463;border-radius:7px;padding:6px 8px;font:inherit;font-size:11px;cursor:pointer}
.jl-finance-row-actions button:hover,.jl-finance-payment-row button:hover{background:#ebfaf2}
.jl-finance-payments-list{margin-top:12px;border-top:1px solid #dce9e4;padding-top:8px}
.jl-finance-payments-list>b{display:block;margin-bottom:6px}
.jl-finance-payment-row{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid #e3efeb;font-size:11px}
.jl-finance-form-page h1{margin:6px 0;font-size:clamp(23px,3vw,32px)}
.jl-finance-action-form{max-width:870px;margin-top:22px;border:1px solid #e7edf0;border-radius:14px;padding:24px;background:#fff;box-shadow:0 7px 24px #142b3508}
.jl-finance-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.jl-finance-action-form label{font-size:12px;font-weight:700;color:#485c61;display:flex;flex-direction:column;gap:7px}
.jl-finance-action-form input,.jl-finance-action-form select,.jl-finance-action-form textarea{width:100%;min-width:0;box-sizing:border-box;background:#fff;color:#26373b;border:1px solid #d9e4e8;border-radius:9px;padding:11px 12px;font-family:inherit;font-size:13px}
.jl-finance-action-form textarea{resize:vertical}
.jl-finance-action-form input:focus,.jl-finance-action-form select:focus,.jl-finance-action-form textarea:focus{outline:2px solid #78d5b2;outline-offset:1px}
.jl-finance-field-wide{grid-column:1 / -1}
.jl-finance-form-hint{font-size:12px;line-height:1.6;color:#71838b;margin:20px 0 0}
.jl-finance-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.jl-finance-feedback:not(:empty){margin-top:14px}
.jl-finance-flash{border:1px solid #b8e8d1;color:#196848;background:#eaf9f0;border-radius:9px;padding:12px 16px;margin-bottom:16px;font-size:13px}
@media(max-width:620px){.jl-finance-form-grid{grid-template-columns:1fr}.jl-finance-action-form{padding:16px}.jl-finance-panel-head{align-items:start;flex-direction:column}}


/* Fase 2.3: avisos de pagamento, comprovantes opcionais e conferência administrativa. */
.jl-finance-home-shortcut{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:19px 21px;background:#f3fcf7;border:1px solid #cfe8db;border-radius:14px;margin-bottom:28px;box-sizing:border-box}
.jl-finance-home-shortcut>div{display:flex;flex-direction:column;gap:6px}
.jl-finance-home-shortcut strong{font-size:18px;color:#23654d;display:flex;gap:9px;align-items:center}
.jl-finance-home-shortcut span{font-size:13px;color:#657d71}
.jl-payment-portal .jl-payment-client-title{font-size:19px;margin:15px 0 12px;color:#263a32}
.jl-payment-cards{padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px}
.jl-payment-card{background:#fff;border:1px solid #e3ebe8;border-radius:12px;padding:19px;display:flex;flex-direction:column;gap:9px;min-width:0}
.jl-payment-card-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.jl-payment-card h3{font-size:16px;line-height:1.3;color:#263a33;margin:5px 0 8px;overflow-wrap:anywhere}
.jl-payment-card small{font-size:11px;color:#7f958e}
.jl-payment-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#657974}
.jl-payment-row strong{color:#2c4238}
.jl-payment-card .jl-finance-primary{margin-top:10px;align-self:start}
.jl-payment-pending{font-size:12px;line-height:1.5;color:#885d20;background:#fff5dc;padding:10px;border-radius:8px}
.jl-payment-history{border-top:1px solid #e1eae4;padding-top:9px;font-size:12px;color:#526960}
.jl-payment-history summary{cursor:pointer;color:#177d5c;font-weight:700}
.jl-payment-history p{margin:8px 0;line-height:1.4}
.jl-payment-review-note{padding:8px;border-radius:6px;background:#fff0ef;color:#8b3d39}
.jl-payment-report-panel{margin-top:20px;padding-bottom:22px}
.jl-payment-report-panel[hidden],.jl-finance-field-wide[hidden]{display:none!important}
.jl-payment-report-panel .jl-finance-action-form{margin:5px 20px 0;max-width:unset}
.jl-payment-admin-reports{margin-bottom:20px}
.jl-payment-admin-table{min-width:800px}
.jl-payment-admin-reports .jl-finance-secondary{min-height:30px}
.jl-payment-block,.jl-payment-review-content{padding:18px 24px;line-height:1.6;color:#4b625a}
.jl-payment-review-summary .jl-finance-panel-head{flex-wrap:wrap}
.jl-payment-review-content p{margin:7px 0;font-size:13px}
.jl-payment-client-message{overflow-wrap:anywhere;background:#f4faf8;border-radius:9px;padding:12px}
.jl-payment-review-content .jl-finance-secondary{margin-top:12px}
.jl-payment-client-title+.jl-finance-note{margin-bottom:18px}
.jl-payment-portal .jl-finance-panel{margin-bottom:17px}
.jl-payment-portal .jl-finance-action-form input[type=file]{padding:8px}
@media(max-width:600px){.jl-payment-report-panel .jl-finance-action-form{margin:5px 12px 0}.jl-payment-cards{padding:12px}.jl-finance-home-shortcut{padding:14px}}

/* Fase 2.4 — documentos de notas fiscais */
.jl-invoice-existing{border:1px solid #d9e9e4;background:#f6fcf9;border-radius:10px;padding:14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#355b4b;font-size:13px;overflow-wrap:anywhere}
.jl-invoice-existing>div{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}
.jl-invoice-existing .fa-file-pdf,.jl-invoice-download-row .fa-file-pdf,.jl-invoice-client-status .fa-file-pdf{color:#168865}
.jl-invoice-existing .jl-invoice-remove{display:flex;flex-direction:row;align-items:center;gap:8px;flex-basis:100%;font-size:12px;color:#8c3b37}
.jl-invoice-remove input[type=checkbox]{width:auto;min-width:auto}
.jl-invoice-client-status{border-top:1px solid #e5ede9;padding-top:10px;color:#687e72;font-size:12px}
.jl-invoice-client-status small{font-size:12px;line-height:1.5}
.jl-invoice-download-row{margin-top:12px}
.jl-invoice-download-row button,.jl-invoice-client-status button{min-height:35px}
@media(max-width:650px){.jl-invoice-existing .jl-finance-secondary{width:100%}}

/* Receita registrada e recebida no mesmo lançamento. */
.jl-charge-payment-section{margin-top:24px;padding:17px;border:1px solid #b9dfc8;background:#f6fcf8;border-radius:12px}.jl-charge-payment-toggle{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;cursor:pointer;font-size:13px!important}.jl-charge-payment-toggle input{width:18px!important;min-width:18px!important;height:18px;accent-color:#26754b}.jl-charge-payment-toggle span{display:flex;flex-direction:column;gap:5px}.jl-charge-payment-toggle small{font-weight:400;font-size:12px;color:#657a6c}.jl-charge-payment-section .jl-finance-form-grid{margin-top:18px}.jl-charge-payment-section [hidden]{display:none!important}

/* Desconto comercial em extratos e historico de cobrancas. */
.jl-finance .jl-discount-badge{display:block;margin-top:5px;font-size:11px;font-weight:600;color:var(--jl-brand-primary,#1d5933)}
.jl-finance .jl-discount-applied{color:var(--jl-brand-primary,#1d5933);font-weight:600}

/* Fase 8.5.1 — desconto na criação/edição de cobrança. */
.jl-charge-discount{margin:2px 0 0;border:1px solid #cfe2d7;border-radius:12px;padding:14px 16px;background:#f8fcfa;min-width:0}
.jl-charge-discount legend{padding:0 7px;font-size:12px;font-weight:800;color:var(--jl-brand-primary,#1d5933)}
.jl-charge-discount .jl-finance-form-grid{gap:12px}
.jl-charge-discount-preview{margin-top:12px;padding:11px 13px;border-radius:9px;background:#edf8f2;color:#3c5b4d;font-size:12px;line-height:1.55}
.jl-charge-discount-preview[hidden]{display:none!important}
.jl-charge-discount-preview.is-invalid{background:#fff3f1;color:#9a433b}
.jl-charge-discount>small{display:block;margin-top:9px;color:#6f8178;font-size:11px;line-height:1.5}
.jl-charge-discount.is-no-discount .jl-charge-discount-value{display:none!important}
@media(max-width:620px){.jl-charge-discount{padding:12px}.jl-charge-discount .jl-finance-form-grid{grid-template-columns:1fr}}

/* Fase 9.3 — confirmação explícita do envio da NF por e-mail. */
.jl-invoice-mail-option{border:1px solid #cfe2d7;border-radius:12px;padding:15px 16px;background:#f8fcfa;display:grid;gap:13px}
.jl-invoice-mail-option.is-disabled{opacity:.72;background:#f7f8f7}
.jl-invoice-mail-toggle{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:11px!important;cursor:pointer;color:#2f4b3d!important}
.jl-invoice-mail-toggle input[type=checkbox]{width:18px!important;min-width:18px!important;height:18px;margin-top:2px;accent-color:var(--jl-brand-primary,#1d5933)}
.jl-invoice-mail-toggle span{display:flex;flex-direction:column;gap:4px}
.jl-invoice-mail-toggle strong{font-size:13px;color:#244a36}
.jl-invoice-mail-toggle small{font-size:11px;font-weight:400;line-height:1.5;color:#687d72}
.jl-invoice-mail-recipients{padding-top:11px;border-top:1px solid #dfeae3;font-size:12px;color:#5d7166}
.jl-invoice-mail-recipients>span{font-weight:750;color:#345443}
.jl-invoice-mail-recipients ul{margin:8px 0 0;padding-left:20px;display:grid;gap:4px}
.jl-invoice-mail-recipients p{margin:7px 0 0;color:#8b6653}
/* Fase 9.4 — destino de links financeiros recebidos por e-mail. */
.jl-payment-card-mail-target{border-width:2px;border-color:var(--jl-brand-primary,#1d5933);box-shadow:0 0 0 4px rgba(29,89,51,.08)}
.jl-mail-target-note{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;background:#edf8f2;color:#285f43;font-size:12px;font-weight:700}

.jl-payment-portal .jl-invoice-client-status.jl-invoice-mail-target{outline:2px solid currentColor;outline-offset:4px;border-radius:10px;padding:8px;margin-top:10px}

/* Fase 9.7.5 — uma única NF pode cobrir múltiplas cobranças do mesmo cliente. */
.jl-finance-badge-nf-covered{background:#e9e6fb;color:#6253a3}
.jl-invoice-coverage{border:1px solid #cfe2d7;border-radius:12px;padding:15px 16px;background:#f8fcfa;display:grid;gap:11px}
.jl-invoice-coverage>strong{font-size:13px;color:#244a36}
.jl-invoice-coverage-option{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;padding:10px 11px;border:1px solid #dce9e1;border-radius:9px;background:#fff;cursor:pointer}
.jl-invoice-coverage-option input{width:18px!important;min-width:18px!important;height:18px;margin-top:2px;accent-color:var(--jl-brand-primary,#1d5933)}
.jl-invoice-coverage-option span{display:flex;flex-direction:column;gap:3px}
.jl-invoice-coverage-option b{font-size:12px;color:#2c493a}
.jl-invoice-coverage-option small{font-size:11px;line-height:1.45;color:#6d7d74;font-weight:400}
.jl-invoice-coverage-option.is-disabled{opacity:.55;cursor:not-allowed}
.jl-invoice-linked-fields,.jl-invoice-own-fields{min-width:0}
.jl-invoice-linked-fields{border:1px dashed #bdb6e8;background:#faf9ff;border-radius:12px;padding:14px 16px}
.jl-invoice-coverage-dependents{border:1px solid #d7d1f2;background:#f7f5ff;border-radius:10px;padding:13px 14px;color:#544984}
.jl-invoice-coverage-dependents ul{margin:8px 0;padding-left:20px;display:grid;gap:4px}
.jl-invoice-coverage-dependents small{display:block;margin-top:7px;line-height:1.5}
.jl-invoice-covered-note{color:#6253a3!important;background:#f5f2ff;border-radius:8px;padding:8px 10px;line-height:1.5}
[hidden]{display:none!important}

/* Fase 9.7.6 — criação inline de locais de recebimento. */
.jl-finance-action-form [data-jl-create-input]{margin-top:2px}
.jl-finance-action-form [data-jl-create-hint]{font-size:11px;font-weight:400;color:#71838b;line-height:1.45}
.jl-finance-action-form [data-jl-create-input][hidden],.jl-finance-action-form [data-jl-create-hint][hidden]{display:none!important}
