/* FOURMI THINK — Professor: Evolução (teacher-evolution.js). Só no Professor. */
body:not([data-profession="teacher"]) :is(.tev,.tev-entry){display:none!important}
body[data-profession="teacher"] #personal-finance-dialog.tev-on .personal-finance-shell>:not(.tev){display:none!important}
body[data-profession="teacher"] #finance-screen [data-open-personal-finance].tev-hidden{display:none!important}
body[data-profession="teacher"] #personal-finance-dialog.tev-on{width:min(560px,calc(100% - 24px));background:#f8f5ee}
body[data-profession="teacher"] #personal-finance-dialog.tev-on .personal-finance-shell{padding:0 0 18px}

:is(.tev,.tev-entry){--tev-g:#053d2e;--tev-deep:#03241d;--tev-gold:#d4a853;--tev-gold2:#f2c230;--tev-paper:#fffdf8;--tev-cream:#f8f5ee;--tev-ink:#13261f;--tev-muted:#5d6b65;--tev-line:#e9e1cf;--tev-inc:#3f9a6e;--tev-exp:#e39b90;--tev-red:#b9483c;--tev-due:#8a5d00;color:var(--tev-ink)}
:where(.tev,.tev-entry) :is(button,select,input){font:inherit;color:inherit}
:where(.tev) button{cursor:pointer}
.tev :is(button,select,input):focus-visible,.tev-entry:focus-visible{outline:3px solid var(--tev-gold);outline-offset:2px}
:is(.tev,.tev-entry) svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Faixa verde ---------- */
.tev-hero{position:relative;display:grid;gap:14px;padding:18px clamp(16px,4vw,24px) 16px;overflow:hidden;background:linear-gradient(180deg,#0c2a22,var(--tev-deep));color:var(--tev-paper)}
.tev-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 70% at 95% 0,rgba(212,168,83,.22),transparent 60%);pointer-events:none}
.tev-hero>*{position:relative;min-width:0}
.tev-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.tev-eyebrow{margin:0;color:var(--tev-gold);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tev-top h2{margin:4px 0 2px;color:var(--tev-paper);font-family:Literata,Georgia,"Iowan Old Style",serif;font-size:clamp(1.45rem,7vw,1.9rem);font-weight:700;letter-spacing:-.02em;line-height:1.1}
.tev-sub{margin:0;color:rgba(255,253,248,.72);font-size:.86rem}
.tev-round{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:var(--tev-paper)!important}
.tev-round svg{width:19px;height:19px}
.tev-periods{display:flex;gap:6px;margin:0 calc(-1*clamp(16px,4vw,24px));padding:2px clamp(16px,4vw,24px);overflow-x:auto;scrollbar-width:none}
.tev-periods::-webkit-scrollbar{display:none}
.tev-periods button{flex:none;min-height:36px;padding:0 13px;border:0;border-radius:999px;background:rgba(255,255,255,.09);color:rgba(255,253,248,.85)!important;font-size:.84rem;font-weight:750;white-space:nowrap}
.tev-periods button.is-on{background:var(--tev-gold2);color:var(--tev-deep)!important;font-weight:850}
.tev-custom{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tev-custom label{display:grid;gap:4px;margin:0;color:rgba(255,253,248,.75);font-size:.74rem;font-weight:750}
.tev-custom input{min-height:42px;padding:0 10px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08);color:var(--tev-paper);color-scheme:dark}
.tev-total{display:grid;gap:4px}
.tev-total small{color:rgba(255,253,248,.72);font-size:.82rem;font-weight:650}
.tev-total b{font-family:Literata,Georgia,"Iowan Old Style",serif;font-size:clamp(2rem,10vw,2.5rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.05;overflow-wrap:anywhere}
.tev-total-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.tev-badge{display:inline-flex;align-items:center;min-height:28px;padding:3px 11px;border-radius:999px;font-size:.78rem;font-weight:800;line-height:1.25}
.tev-badge.is-up{background:rgba(63,154,110,.25);color:#a6e6c3}
.tev-badge.is-down{background:rgba(227,155,144,.2);color:#f5c2ba}
.tev-badge.is-flat{background:rgba(255,255,255,.08);color:rgba(255,253,248,.7);font-weight:700}
.tev-currency select{min-height:30px;padding:0 8px;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:var(--tev-paper)!important;font-size:.78rem;font-weight:800}
.tev-currency option{color:#13261f}
.tev-invalid{margin:0;padding:10px 12px;border-radius:12px;background:rgba(227,155,144,.18);color:#f5c2ba;font-size:.86rem;font-weight:700}
.tev-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:14px;background:rgba(255,255,255,.08)}
.tev-tabs button{min-height:40px;padding:0 4px;border:0;border-radius:10px;background:transparent;color:rgba(255,253,248,.75)!important;font-size:.86rem;font-weight:800}
.tev-tabs button.is-on{background:var(--tev-paper);color:var(--tev-deep)!important;box-shadow:0 2px 8px rgba(0,0,0,.15)}

/* ---------- Conteúdo ---------- */
.tev-body{display:grid;gap:12px;padding:14px clamp(14px,4vw,22px) 0}
.tev-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tev-tiles>div{display:grid;gap:2px;min-width:0;padding:10px;border:1px solid var(--tev-line);border-radius:14px;background:var(--tev-paper)}
.tev-tiles span{color:var(--tev-muted);font-size:.74rem;font-weight:750;line-height:1.2}
.tev-tiles b{overflow:hidden;font-size:1.05rem;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.tev-tiles small{color:var(--tev-muted);font-size:.72rem;line-height:1.25}
.tev-tiles small.is-up{color:#0a7a52;font-weight:750}.tev-tiles small.is-down{color:var(--tev-red);font-weight:750}
.tev-card{display:grid;gap:8px;min-width:0;padding:14px;border:1px solid var(--tev-line);border-radius:18px;background:var(--tev-paper);box-shadow:0 6px 18px rgba(3,36,29,.05)}
.tev-card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px}
.tev-card-head h3{margin:0;font-size:1rem;font-weight:850}
.tev-card-head small{color:var(--tev-muted);font-size:.76rem}
.tev-muted{margin:2px 0;color:var(--tev-muted);font-size:.88rem}
.tev-tip{display:grid;gap:3px;padding:9px 12px;border-radius:12px;background:var(--tev-deep);color:var(--tev-paper)}
.tev-tip strong{font-size:.86rem}
.tev-tip>span{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:.8rem;color:rgba(255,253,248,.75)}
.tev-tip b{color:var(--tev-gold2);font-variant-numeric:tabular-nums}
.tev-chart{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:4px;align-items:end;height:160px;padding-top:6px;border-bottom:1px solid var(--tev-line)}
.tev-chart.is-wide{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:28px;overflow-x:auto}
.tev-col{display:grid;grid-template-rows:1fr auto;height:100%;min-width:0;padding:0;border:0;border-radius:10px 10px 0 0;background:transparent}
.tev-col.is-on{background:linear-gradient(180deg,rgba(242,194,48,0),rgba(242,194,48,.2))}
.tev-bars{display:flex;align-items:flex-end;justify-content:center;gap:2px;min-height:0;height:100%}
.tev-bars i{display:block;width:min(14px,38%);min-height:0;border-radius:4px 4px 1px 1px;background:var(--tev-inc)}
.tev-bars i.is-exp{width:min(8px,24%);background:var(--tev-exp)}
.tev-bars i.is-lessons{width:min(18px,60%);background:#4c85c5}
.tev-bars i.is-solo{width:min(18px,60%)}
.tev-col.is-on .tev-bars i.is-inc{background:#0b6b45}
.tev-col small{height:20px;padding-top:4px;color:var(--tev-muted);font-size:.68rem;font-weight:700;white-space:nowrap}
.tev-col.is-on small{color:var(--tev-ink);font-weight:850}
.tev-legend{display:flex;gap:14px;color:var(--tev-muted);font-size:.74rem}
.tev-legend span{display:inline-flex;align-items:center;gap:5px}
.tev-legend i,.tev-kv i{display:inline-block;width:8px;height:8px;border-radius:50%}
.tev-legend i.is-inc{background:var(--tev-inc)}.tev-legend i.is-exp{background:var(--tev-exp)}
.tev-due{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:13px 14px;border:1px solid #efd9a0;border-radius:16px;background:#fbf0d2;text-align:left}
.tev-due span{display:grid;gap:2px}.tev-due b{font-size:.95rem}.tev-due small{color:var(--tev-muted);font-size:.76rem}
.tev-due strong{color:var(--tev-due);font-size:1.1rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.tev-due svg{width:16px;height:16px;color:var(--tev-due)}
.tev-ok{margin:0;padding:11px 13px;border-radius:14px;background:#e4f3ea;color:#0a7a52;font-size:.86rem;font-weight:750}
.tev-ranks{display:grid;gap:12px}
.tev-rank{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px}
.tev-av{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--c) 16%,#fff);color:color-mix(in srgb,var(--c) 80%,#000);font-size:.8rem;font-weight:850}
.tev-rank>div{display:grid;gap:1px;min-width:0}
.tev-rank b{font-size:.92rem;line-height:1.2;overflow-wrap:anywhere}
.tev-rank small{overflow:hidden;color:var(--tev-muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
.tev-rank strong{font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.tev-bar{display:block;height:6px;margin-top:5px;overflow:hidden;border-radius:9px;background:#eee8da}
.tev-bar i{display:block;height:100%;border-radius:9px;background:var(--tev-inc)}
.tev-link{justify-self:center;min-height:38px;padding:0 12px;border:0;background:none;color:var(--tev-g)!important;font-weight:850}
.tev-split{display:flex;height:12px;overflow:hidden;border-radius:9px;background:#eee8da}
.tev-split i{display:block;height:100%}
.tev-kv{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:6px 0;border-bottom:1px solid #f0eadf;font-size:.88rem}
.tev-kv:last-child{border-bottom:0}
.tev-kv span{display:flex;align-items:center;gap:8px;min-width:0;color:var(--tev-ink)}
.tev-kv span small{margin-left:4px;color:var(--tev-muted);font-size:.74rem}
.tev-kv b{font-variant-numeric:tabular-nums;white-space:nowrap}
.tev-kv b.is-exp{color:var(--tev-red)}
.tev-year{display:grid;gap:10px;padding:16px;border-radius:20px;background:linear-gradient(180deg,#0c2a22,var(--tev-deep));color:var(--tev-paper)}
.tev-year h3{margin:0;font-family:Literata,Georgia,"Iowan Old Style",serif;font-size:clamp(1.3rem,6vw,1.6rem);font-weight:700;line-height:1.15;overflow-wrap:anywhere}
.tev-year-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tev-year-grid div{display:grid;gap:2px;min-width:0;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.07)}
.tev-year-grid span{color:rgba(255,253,248,.7);font-size:.72rem;font-weight:700}
.tev-year-grid b{overflow:hidden;font-size:1rem;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.tev-gold,.tev-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 16px;border:0;border-radius:15px;font-weight:850}
.tev-gold{background:linear-gradient(180deg,#f5cd4a,#e2ae2a);color:#1c1606!important;box-shadow:0 8px 20px rgba(226,174,42,.3)}
.tev-ghost{border:1.5px solid rgba(255,255,255,.35);background:transparent;color:var(--tev-paper)!important}
.tev-gold svg,.tev-ghost svg{width:18px;height:18px;stroke-width:2.4}
.tev-gold.is-wide{width:100%}
.tev-year-help{color:rgba(255,253,248,.62);font-size:.74rem;text-align:center}
.tev-report-ready{display:grid;gap:8px}
.tev-report-ready p{margin:0;overflow-wrap:anywhere;font-size:.86rem}
.tev-report-ready div{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}

/* ---------- Entrada em Finanças ---------- */
.tev-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin:0;padding:12px 14px;border:1px solid var(--tev-line);border-radius:20px;background:var(--tev-paper);text-align:left;cursor:pointer;box-shadow:0 6px 18px rgba(3,36,29,.05)}
.tev-spark{width:64px;height:38px}
.tev-spark polyline{fill:none;stroke:var(--tev-inc);stroke-width:3}
.tev-spark circle{fill:var(--tev-gold2);stroke:none}
.tev-entry>span{display:grid;gap:2px;min-width:0}
.tev-entry strong{font-size:1rem;font-weight:850}
.tev-entry small{color:var(--tev-muted);font-size:.8rem}
.tev-entry em{color:#0a7a52;font-style:normal;font-weight:850}.tev-entry em.is-down{color:var(--tev-red)}
.tev-chev{color:var(--tev-muted);font-size:1.3rem}

@media (max-width:350px){
  .tev-tiles{gap:6px}.tev-tiles>div{padding:9px 7px}.tev-tiles b{font-size:.88rem}.tev-tiles span{font-size:.68rem}
  .tev-tabs button{font-size:.78rem}
  .tev-chart{height:140px}
}
@media (prefers-reduced-motion:no-preference){
  .tev-bars i{transition:height .25s ease}
  .tev-periods button,.tev-tabs button,.tev-col{transition:background-color .15s ease}
}

.tev-sources{display:grid;gap:10px}
.tev-src-bar{display:flex;height:10px;overflow:hidden;border-radius:999px;background:#eee8da}
.tev-src-bar i{display:block;height:100%;background:#1f7a50}.tev-src-bar i.is-other{background:#6b7fb8}
.tev-src-rows{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tev-src-rows>div{display:grid;gap:2px;min-width:0;padding:10px;border-radius:14px;background:#f6f2e8}
.tev-src-rows span{display:flex;align-items:center;gap:6px;color:var(--tev-muted);font-size:.74rem;font-weight:750}
.tev-src-rows span i{width:8px;height:8px;border-radius:50%;background:#1f7a50}.tev-src-rows span i.is-other{background:#6b7fb8}
.tev-src-rows b{font-size:1.05rem;font-variant-numeric:tabular-nums}
.tev-src-rows small{color:var(--tev-muted);font-size:.72rem}
.tev-src-title{margin:4px 0 0;font-size:.8rem;font-weight:800}
.tev-src-list{display:grid;margin:0;padding:0;list-style:none}
.tev-src-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--tev-line);font-size:.86rem;font-weight:700}
.tev-src-list li span{min-width:0;overflow-wrap:anywhere}.tev-src-list small{display:block;color:var(--tev-muted);font-size:.72rem;font-weight:600}
.tev-src-list b{color:#1f7a50;font-variant-numeric:tabular-nums;white-space:nowrap}
