/* Perfil cartões (planilha da Sônia). Carregado só nesse perfil, depois do tema laranja. Celular primeiro. */
:root[data-perfil="cartoes"]{--late:#B3261E;--late-soft:#FBE3E0;--soon:#C2410C;--soon-soft:#FDE8D7;--paid:#2E7D57;--paid-soft:#E3F2EA}
:root[data-perfil="cartoes"][data-theme="dark"]{--late:#FF9C8F;--late-soft:rgba(179,38,30,.28);--soon:#FFB37A;--soon-soft:rgba(194,65,12,.26);--paid:#86D3A8;--paid-soft:rgba(46,125,87,.25)}

/* Letra e toque maiores */
:root[data-perfil="cartoes"] body{font-size:17px}
:root[data-perfil="cartoes"] button,:root[data-perfil="cartoes"] input,:root[data-perfil="cartoes"] select{min-height:44px;font-size:16px}
:root[data-perfil="cartoes"] .hint{font-size:14px!important}
:root[data-perfil="cartoes"] .ledger-table{font-size:15px}

/* Abas: rolam para o lado no celular */
.card-tabs{display:flex!important;flex-wrap:nowrap;overflow-x:auto;gap:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.card-tabs::-webkit-scrollbar{display:none}
.card-tabs button{flex:0 0 auto;white-space:nowrap;position:relative}
.tab-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:6px;vertical-align:middle;background:var(--soon)}
.tab-dot.late{background:var(--late)}

/* Faixa de vencimentos (Geral) */
.due-strip{margin:4px 0 14px}
.due-strip h3{margin:0 0 8px;font:500 18px var(--display)}
.due-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.due-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 14px!important;border-radius:16px!important;border:1px solid var(--border)!important;background:var(--surface)!important;color:var(--text)!important;min-height:0!important;box-shadow:var(--shadow)}
.due-chip .due-name{font-size:14px;color:var(--muted)}
.due-chip strong{font:500 26px/1.1 var(--display)}
.due-chip .due-when{font-size:13px}
.due-chip b{font-weight:500;font-size:16px}
.due-chip.soon{background:var(--soon-soft)!important;border-color:var(--soon)!important}.due-chip.soon .due-when{color:var(--soon);font-weight:600}
.due-chip.late{background:var(--late-soft)!important;border-color:var(--late)!important}.due-chip.late .due-when{color:var(--late);font-weight:600}
.due-chip.paid{opacity:.8}.due-chip.paid .due-when{color:var(--paid);font-weight:600}
.due-chip.unset strong{display:none}.due-chip.unset{border-style:dashed!important}

/* Números e gráficos da Geral */
.cards-dashboard .dashboard-heading h2{font-size:28px}
.cards-kpis{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}
.cards-kpis .stat strong{font-size:28px}
.cards-kpis .stat small{font-size:14px}
.cards-charts{display:grid;grid-template-columns:1fr;gap:12px}
.cards-charts h3{margin:0 0 10px;font-size:17px}
.bars{display:flex;flex-direction:column;gap:10px}
.bar-row{display:grid;grid-template-columns:minmax(0,7em) 1fr auto;gap:10px;align-items:center;font-size:15px}
.bar-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-row .bar-track{height:12px;border-radius:6px;background:var(--surface-2);overflow:hidden}
.bar-row .bar-track i{display:block;height:100%;border-radius:6px;background:var(--accent)}
.bar-row b{font-weight:500;white-space:nowrap}
.bars.bars-months span{text-transform:capitalize}

/* Topo da aba de cada cartão: o vencimento em destaque */
.card-hero{border-radius:22px;padding:20px;margin:4px 0 14px;background:linear-gradient(135deg,#8E3A10,#C2621F);color:#fff;box-shadow:var(--shadow)}
.card-hero.soon{background:linear-gradient(135deg,#C2410C,#EA7A2E)}
.card-hero.late{background:linear-gradient(135deg,#8F1D16,#C7382D)}
.card-hero.paid{background:linear-gradient(135deg,#2E6B4C,#4E9A70)}
.card-hero.unset{background:var(--surface);color:var(--text);border:2px dashed var(--accent)}
.card-hero-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.card-name{font:500 22px var(--display)}
.hero-pill{background:rgba(255,255,255,.22);border-radius:30px;padding:4px 12px;font-size:14px;white-space:nowrap}
.card-due-label{margin:14px 0 0;font-size:16px;opacity:.92}
.card-due{display:flex;align-items:baseline;gap:10px;font:500 56px/1.05 var(--display);letter-spacing:-.01em}
.card-due small{font-size:17px;font-weight:400;opacity:.9}
.card-when{margin:4px 0 0;font:500 20px var(--display)}
.card-amounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.3)}
.card-amounts small{display:block;font-size:14px;opacity:.9}
.card-amounts b{font:500 22px var(--display)}
.card-meta{margin:12px 0 0;font-size:14px;opacity:.92}
.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.card-hero .card-actions button{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:30px;padding:0 16px}
.card-hero .card-actions button.primary{background:#fff;color:#7A2E0B;border-color:#fff;font-weight:600}
.card-hero.unset .card-actions button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.card-actions .big{min-height:52px!important;font-size:17px!important;padding:0 22px!important}

/* Compras da fatura */
.buy-list,.invoice-list{list-style:none;margin:0;padding:0}
.buy-row{display:grid;grid-template-columns:3.2em minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;padding:12px 2px!important;border:0!important;border-bottom:1px solid var(--border)!important;background:none!important;color:var(--text)!important;border-radius:0!important}
.buy-date{color:var(--muted);font-size:14px}
.buy-desc{min-width:0;overflow-wrap:anywhere}.buy-desc small{display:block;color:var(--muted);font-size:13px}.buy-desc em{font-style:normal;color:var(--accent)}
.buy-row b{font-weight:500;white-space:nowrap}
.ahead-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ahead-list div{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;background:var(--surface-2)}
.ahead-list span{text-transform:capitalize}

/* Faturas no Pessoal */
.invoice-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.inv-open{display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;background:none!important;border:0!important;padding:0!important;color:var(--text)!important;min-height:0!important}
.inv-open small{display:block;color:var(--muted);font-size:13px}.inv-open b{font-weight:500;white-space:nowrap}
.invoice-list li.soon small{color:var(--soon);font-weight:600}.invoice-list li.late small{color:var(--late);font-weight:600}
.pay-btn{border-radius:30px!important;padding:0 14px!important}

@media(min-width:700px){
 .due-list{grid-template-columns:repeat(4,minmax(0,1fr))}
 .cards-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
 .cards-charts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ahead-list{grid-template-columns:repeat(3,minmax(0,1fr))}
 .card-hero{padding:26px 30px}
}
.cards-kpis .forecast-card span,.cards-kpis .forecast-card small{color:rgba(255,255,255,.92)!important}
.cards-kpis .forecast-card strong{color:#fff!important}
.card-tabs button[aria-selected="true"]{background:var(--accent)!important;color:#fff!important;font-weight:600}
