/* JheffFlow Finanças V8.3 — tema escuro neon inspirado no material oficial */
:root{
  --neon-blue:#2979ff;
  --neon-violet:#7c3aed;
  --neon-pink:#d946ef;
  --neon-cyan:#22d3ee;
}

html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#030712;
  --surface:#08101f;
  --surface-soft:#0d172a;
  --text:#f8fbff;
  --muted:#9aa9c2;
  --border:#263553;
  --primary:#8b5cf6;
  --primary2:#2563eb;
  --primarySoft:rgba(124,58,237,.16);
  --success:#21d69b;
  --successSoft:rgba(16,185,129,.15);
  --danger:#fb5d78;
  --dangerSoft:rgba(244,63,94,.15);
  --warning:#f8b94d;
  --warningSoft:rgba(245,158,11,.15);
  --info:#55a4ff;
  --infoSoft:rgba(37,99,235,.16);
  --shadow:0 24px 70px rgba(0,0,0,.35),0 0 32px rgba(79,70,229,.05);
}

html[data-theme="dark"] body{
  background:
    radial-gradient(circle at 90% 8%,rgba(109,40,217,.18),transparent 32%),
    radial-gradient(circle at 12% 28%,rgba(37,99,235,.12),transparent 30%),
    radial-gradient(circle at 60% 100%,rgba(217,70,239,.09),transparent 36%),
    linear-gradient(165deg,#02050d 0%,#050917 48%,#02050d 100%);
  color:var(--text);
  background-attachment:fixed;
}

html[data-theme="dark"] body:before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.2;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,black,transparent 82%);
}

/* Cabeçalho */
.brand-product{display:flex;align-items:baseline;flex-wrap:wrap;gap:0;margin:0;font-size:18px;line-height:1.05;letter-spacing:-.025em}
.brand-product .brand-jheff{color:var(--text)}
.brand-product .brand-flow{background:linear-gradient(90deg,#2788ff,#8b5cf6 55%,#e044df);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-product .brand-financas{margin-left:5px;color:var(--text);font-weight:850}
.brand-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.theme-toggle-btn{width:auto!important;min-width:42px;padding:0 11px!important;gap:7px}
.theme-toggle-btn .theme-label{display:none;font-size:12px}
.theme-toggle-btn .theme-icon{font-size:18px;line-height:1}

html[data-theme="dark"] .topbar{
  border:1px solid rgba(84,111,159,.35);
  background:rgba(4,9,20,.80);
  box-shadow:0 16px 55px rgba(0,0,0,.35),0 0 24px rgba(75,69,214,.07);
  backdrop-filter:blur(20px) saturate(130%);
}
html[data-theme="dark"] .brand-icon{
  background:linear-gradient(145deg,#161d38,#4520a5 55%,#1d68f4);
  box-shadow:0 0 0 1px rgba(139,92,246,.6),0 10px 25px rgba(0,0,0,.4),0 0 22px rgba(124,58,237,.18);
}
html[data-theme="dark"] .btn-white,
html[data-theme="dark"] .btn-soft{
  color:#eef3ff;border:1px solid #2a3856;background:rgba(11,20,37,.92);
}
html[data-theme="dark"] .btn-white:hover,
html[data-theme="dark"] .btn-soft:hover{border-color:#6752c8;background:#111d35}
html[data-theme="dark"] .btn-primary{
  background:linear-gradient(135deg,#176dff 0%,#7345ed 50%,#d72bd8 100%);
  box-shadow:0 10px 28px rgba(76,57,224,.28),0 0 18px rgba(217,70,239,.10);
}

/* Bloco principal, próximo do visual promocional */
html[data-theme="dark"] .hero{
  isolation:isolate;
  border:1px solid transparent;
  background:
    radial-gradient(circle at 87% 17%,rgba(217,70,239,.27),transparent 22%) padding-box,
    radial-gradient(circle at 68% 86%,rgba(37,99,235,.28),transparent 36%) padding-box,
    linear-gradient(145deg,rgba(45,13,101,.94),rgba(7,13,34,.97) 48%,rgba(5,10,27,.98)) padding-box,
    linear-gradient(115deg,#e24ce8,#6f4bff 45%,#1a8cff) border-box;
  box-shadow:0 30px 80px rgba(0,0,0,.42),0 0 32px rgba(71,65,220,.18),inset 0 1px rgba(255,255,255,.08);
}
html[data-theme="dark"] .hero:before{
  content:"";position:absolute;right:-1%;top:10%;width:49%;height:76%;z-index:-1;opacity:.9;pointer-events:none;
  background-repeat:no-repeat;background-position:center;background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 270'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop stop-color='%232563eb'/%3E%3Cstop offset='.52' stop-color='%238b5cf6'/%3E%3Cstop offset='1' stop-color='%23f05bdc'/%3E%3C/linearGradient%3E%3Cfilter id='f'%3E%3CfeGaussianBlur stdDeviation='6' result='b'/%3E%3CfeMerge%3E%3CfeMergeNode in='b'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M10 235 C75 230 86 185 142 190 S214 222 254 166 S316 135 349 104 S404 126 431 58 S474 30 490 14' fill='none' stroke='url(%23g)' stroke-width='4' filter='url(%23f)'/%3E%3C/svg%3E");
}
html[data-theme="dark"] .hero:after{background:radial-gradient(circle,rgba(217,70,239,.16),transparent 68%)}
html[data-theme="dark"] .hero h2{text-shadow:0 0 25px rgba(255,255,255,.08)}
html[data-theme="dark"] .eyebrow{border:1px solid rgba(178,148,255,.20);background:rgba(22,17,65,.58)}
html[data-theme="dark"] .hero-mini{border:1px solid rgba(94,115,211,.42);background:rgba(5,12,31,.66);box-shadow:inset 0 1px rgba(255,255,255,.04)}
html[data-theme="dark"] #heroPeriod{color:#b56cff}
html[data-theme="dark"] #lastUpdate{color:#4e91ff}

/* Navegação */
html[data-theme="dark"] .nav{
  border:1px solid #263451;background:rgba(7,14,29,.88);box-shadow:0 14px 38px rgba(0,0,0,.22);backdrop-filter:blur(16px)
}
html[data-theme="dark"] .tab-btn{color:#a6b2c8;position:relative}
html[data-theme="dark"] .tab-btn.active{
  color:#d993ff;background:linear-gradient(180deg,rgba(124,58,237,.12),rgba(37,99,235,.04));box-shadow:none
}
html[data-theme="dark"] .tab-btn.active:after{
  content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;border-radius:99px;background:linear-gradient(90deg,#e447de,#3b82f6);box-shadow:0 0 12px #9a45ff
}

/* Cards, painéis, formulários */
html[data-theme="dark"] .card,
html[data-theme="dark"] .panel{
  border:1px solid rgba(52,69,103,.72);background:linear-gradient(145deg,rgba(9,17,33,.96),rgba(5,11,24,.97));box-shadow:var(--shadow)
}
html[data-theme="dark"] .card:hover{border-color:rgba(106,88,197,.70)}
html[data-theme="dark"] .input,
html[data-theme="dark"] .select,
html[data-theme="dark"] .textarea{
  color:#f4f7ff;border-color:#2b3a58;background:#07101f;box-shadow:inset 0 1px rgba(255,255,255,.025)
}
html[data-theme="dark"] .input::placeholder,
html[data-theme="dark"] .textarea::placeholder{color:#65738c}
html[data-theme="dark"] .input:focus,
html[data-theme="dark"] .select:focus,
html[data-theme="dark"] .textarea:focus{border-color:#7553e8;box-shadow:0 0 0 4px rgba(124,58,237,.14),0 0 20px rgba(37,99,235,.08)}
html[data-theme="dark"] select option{background:#08111f;color:#f5f7ff}
html[data-theme="dark"] .help{color:#b9c6e8;border-color:#4058a0;background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(124,58,237,.08))}
html[data-theme="dark"] .help strong{color:#b277ff}
html[data-theme="dark"] .table-wrap{border-color:#293955;background:#07101f}
html[data-theme="dark"] th{color:#98a8c1;border-color:#293955;background:#0a1527}
html[data-theme="dark"] td{border-color:#22314b}
html[data-theme="dark"] tbody tr:hover{background:#0d192c}
html[data-theme="dark"] .mini-btn{color:#eff4ff;border-color:#2c3c59;background:#0d182a}
html[data-theme="dark"] .mini-btn:hover{border-color:#7454dc;background:#18223a}
html[data-theme="dark"] .credit-card,
html[data-theme="dark"] .goal-card,
html[data-theme="dark"] .purchase-card,
html[data-theme="dark"] .projection-card,
html[data-theme="dark"] .calendar-day{
  color:var(--text);border-color:#2a3956;background:linear-gradient(145deg,#0b1528,#070e1d)
}
html[data-theme="dark"] .credit-card:after{background:radial-gradient(circle,rgba(217,70,239,.17),transparent 67%)}
html[data-theme="dark"] .metric,
html[data-theme="dark"] .purchase-info div{background:#0f1a2d}
html[data-theme="dark"] .progress-track{background:#19253c}
html[data-theme="dark"] .calendar-item{background:#121c31}
html[data-theme="dark"] .calendar-item.income{background:rgba(16,185,129,.12)}
html[data-theme="dark"] .calendar-item.expense{background:rgba(244,63,94,.12)}
html[data-theme="dark"] .calendar-item.card-item{background:rgba(245,158,11,.12)}
html[data-theme="dark"] .calendar-item.loan-item{background:rgba(37,99,235,.13)}
html[data-theme="dark"] .mov,
html[data-theme="dark"] .stat-line,
html[data-theme="dark"] .closure-row{border-color:#23314a}

/* Estados e avisos */
html[data-theme="dark"] .alert-warning{color:#ffd996;background:rgba(245,158,11,.13)}
html[data-theme="dark"] .alert-danger{color:#ffc3cf;background:rgba(244,63,94,.13)}
html[data-theme="dark"] .alert-info{color:#c6ddff;background:rgba(37,99,235,.14)}
html[data-theme="dark"] .alert-success{color:#b7f8df;background:rgba(16,185,129,.13)}
html[data-theme="dark"] .pill-income,
html[data-theme="dark"] .pill-paid,
html[data-theme="dark"] .closed-badge{color:#a7f3d0;background:rgba(16,185,129,.17)}
html[data-theme="dark"] .pill-expense{color:#fecdd3;background:rgba(244,63,94,.17)}
html[data-theme="dark"] .pill-pending,
html[data-theme="dark"] .open-badge{color:#fde68a;background:rgba(245,158,11,.17)}
html[data-theme="dark"] .pill-card{color:#ddd2ff;background:rgba(124,58,237,.18)}

/* Modais */
html[data-theme="dark"] .modal-backdrop{background:rgba(1,4,11,.80)}
html[data-theme="dark"] .modal{
  color:var(--text);border:1px solid #31405d;background:radial-gradient(circle at 95% 0,rgba(124,58,237,.13),transparent 27%),#08111f;box-shadow:0 36px 100px rgba(0,0,0,.62)
}
html[data-theme="dark"] .toast{border:1px solid #3a4b6d;background:#0d1729;box-shadow:0 18px 55px rgba(0,0,0,.5),0 0 20px rgba(124,58,237,.15)}
html[data-theme="dark"] .mobile-add{background:linear-gradient(145deg,#1a78ff,#7746ee 55%,#dd36d5);box-shadow:0 14px 35px rgba(37,99,235,.35),0 0 22px rgba(217,70,239,.24)}

/* Área administrativa e menus externos */
html[data-theme="dark"] .account-menu{border-color:#2b3a57;background:#08111f}
html[data-theme="dark"] .plan-banner{border-color:#4f3fa4;background:rgba(35,22,83,.94)}
html[data-theme="dark"] .admin-v6-heading{border-color:#3e4d78;background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(37,99,235,.08))}

/* Controle de aparência em Configurações */
.appearance-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.appearance-option{min-height:86px;padding:14px;border:1px solid var(--border);border-radius:17px;text-align:left;color:var(--text);background:var(--surface-soft);cursor:pointer;transition:.18s}
.appearance-option strong{display:block;font-size:15px}.appearance-option small{display:block;margin-top:7px;color:var(--muted);line-height:1.35}
.appearance-option.active{border-color:#8b5cf6;background:linear-gradient(145deg,rgba(124,58,237,.18),rgba(37,99,235,.10));box-shadow:0 0 0 3px rgba(124,58,237,.10)}
.appearance-preview{height:26px;margin-bottom:10px;border-radius:9px}
.appearance-preview.dark{background:linear-gradient(135deg,#07101e,#2e1768,#175bd0)}
.appearance-preview.light{border:1px solid #e8e1f2;background:linear-gradient(135deg,#fff,#efe9ff,#dedfff)}

/* Importador de fatura acompanha os dois temas */
html[data-theme="dark"] .statement-feature{border-color:#344263;background:radial-gradient(circle at 92% 8%,rgba(217,70,239,.15),transparent 31%),linear-gradient(145deg,#07101f,#0b1427 55%,#11132b)}
html[data-theme="light"] .statement-feature{color:#1d1727;border-color:#ded3f1;background:radial-gradient(circle at 92% 8%,rgba(168,85,247,.10),transparent 30%),linear-gradient(145deg,#fff,#fbf9ff)}
html[data-theme="light"] .statement-feature-head p,
html[data-theme="light"] .statement-history-title small{color:#756d82}
html[data-theme="light"] .statement-stat,
html[data-theme="light"] .statement-history-card{border-color:#e6def0;background:#fff}
html[data-theme="light"] .statement-stat span,
html[data-theme="light"] .statement-history-metric span{color:#756d82}
html[data-theme="light"] .statement-secondary,
html[data-theme="light"] .statement-mini{color:#3d3150;border-color:#ddd3eb;background:#fff}
html[data-theme="light"] .statement-details{border-color:#e8e1ef}
html[data-theme="light"] .statement-detail-row{border-color:#eee8f4}
html[data-theme="light"] .statement-detail-row span{color:#756d82}
html[data-theme="light"] .statement-note{color:#51465f;background:#f5f1fb}

/* Scrollbar */
html[data-theme="dark"]{scrollbar-color:#6041bb #08101f}
html[data-theme="dark"] ::-webkit-scrollbar{width:10px;height:10px}
html[data-theme="dark"] ::-webkit-scrollbar-track{background:#08101f}
html[data-theme="dark"] ::-webkit-scrollbar-thumb{border:2px solid #08101f;border-radius:99px;background:linear-gradient(#7c3aed,#2563eb)}

@media(min-width:980px){.theme-toggle-btn .theme-label{display:inline}}
@media(max-width:700px){
  .brand-product{font-size:15px}.brand-product .brand-financas{flex-basis:100%;margin:2px 0 0;font-size:11px;color:var(--muted)}
  html[data-theme="dark"] .hero:before{right:-18%;top:2%;width:70%;opacity:.55}
  .appearance-choice{grid-template-columns:1fr}
  .theme-toggle-btn{padding:0!important;width:42px!important;min-width:42px}
}
@media(max-width:700px){#importTopBtn{display:none!important}}
