:root {
  --teal-900:#0f766e; --teal-700:#0d9488; --teal-100:#ccfbf1;
  --bg:#f1f5f9; --surface:#ffffff; --line:#e2e8f0;
  --text:#0f172a; --muted:#64748b;
  --green:#16a34a; --green-bg:#dcfce7;
  --amber:#d97706; --amber-bg:#fef3c7;
  --red:#dc2626; --red-bg:#fee2e2;
  --shadow:0 1px 3px rgba(15,23,42,.06), 0 8px 24px rgba(15,23,42,.06);
  --radius:16px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg:#0b1120; --surface:#111827; --line:#1f2937;
    --text:#e5e7eb; --muted:#94a3b8;
    --green-bg:#052e1a; --amber-bg:#3a2a06; --red-bg:#3b0d0d;
    --shadow:0 1px 3px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.35);
  }
}

* { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-text-size-adjust:100%; }
body {
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:var(--bg); color:var(--text); line-height:1.5;
  padding-bottom:env(safe-area-inset-bottom);
}

/* Header */
.app-header {
  position:sticky; top:0; z-index:10;
  background:var(--teal-900);
  color:#fff; padding:14px 18px 0;
  box-shadow:0 2px 12px rgba(15,118,110,.3);
}
.brand { display:flex; align-items:center; gap:12px; }
.brand__logo { border-radius:9px; background:#fff; padding:3px; }
.brand__name { font-size:1.22rem; font-weight:700; letter-spacing:-.01em; }
.brand__tag { font-size:.8rem; opacity:.85; }
.tabs { display:flex; gap:6px; margin-top:14px; overflow-x:auto; }
.tab {
  flex:1; border:0; background:transparent; color:#e6fffb;
  font:inherit; font-weight:600; font-size:.92rem; padding:11px 8px;
  border-bottom:3px solid transparent; cursor:pointer; opacity:.75;
  display:flex; align-items:center; justify-content:center; gap:7px;
}
.tab.is-active { opacity:1; border-bottom-color:#5eead4; }
.tab { white-space:nowrap; }
.badge {
  background:#5eead4; color:#134e4a; font-size:.72rem; font-weight:700;
  min-width:20px; padding:1px 6px; border-radius:999px; line-height:1.5;
}

/* Layout */
.container { max-width:720px; margin:0 auto; padding:18px 16px 40px; }
.view { display:none; }
.view.is-active { display:block; animation:fade .25s ease; }
@keyframes fade { from{opacity:0; transform:translateY(6px);} to{opacity:1;} }

.card {
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow);
  padding:20px; margin-bottom:18px;
}
.card__title { font-size:.82rem; text-transform:uppercase; letter-spacing:.06em;
  color:var(--teal-700); font-weight:700; margin-bottom:12px; }
.card__title--mt { margin-top:22px; }

/* Form */
.grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field { display:flex; flex-direction:column; gap:6px; }
.field--wide { grid-column:1 / -1; }
.field--check {
  flex-direction:row; align-items:flex-start; gap:10px;
  background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:11px 12px;
}
.field--check input { width:18px; height:18px; margin-top:2px; accent-color:var(--teal-700); flex:none; }
.fieldset--nested { grid-column:1 / -1; }
.field > span { font-size:.85rem; font-weight:600; color:var(--text); }
.field em { color:var(--muted); font-weight:400; font-style:normal; }
input, select {
  font:inherit; padding:11px 12px; border:1.5px solid var(--line);
  border-radius:10px; background:var(--bg); color:var(--text); width:100%;
}
input:focus, select:focus { outline:2px solid var(--teal-700); outline-offset:1px; border-color:var(--teal-700); }
input[type=range] { padding:0; accent-color:var(--teal-700); }
.range-out { font-weight:700; color:var(--teal-700); text-align:right; }

.form__actions { display:flex; gap:10px; margin-top:22px; }
.btn { font:inherit; font-weight:600; border-radius:10px; padding:12px 18px; border:1.5px solid transparent; cursor:pointer; }
.btn--primary { background:var(--teal-700); color:#fff; flex:1; }
.btn--primary:active { background:var(--teal-900); }
.btn--ghost { background:transparent; border-color:var(--line); color:var(--muted); }

/* Result */
.result { border-top:5px solid var(--line); }
.verdict { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.verdict__emoji { font-size:2.4rem; line-height:1; }
.verdict__label { font-size:1.25rem; font-weight:800; }
.verdict__sub { font-size:.9rem; color:var(--muted); }
.result.v-good  { border-top-color:var(--green); }
.result.v-mid   { border-top-color:var(--amber); }
.result.v-bad   { border-top-color:var(--red); }

/* Aviso de valor ajustado aos limites do art. 895: o campo mostrava uma coisa
   e a conta usava outra — agora a diferença aparece. */
.ajustes { background:var(--soft,#fff7ed); border:1px solid var(--amber); border-left-width:4px;
  border-radius:10px; padding:12px 14px; margin-bottom:16px; font-size:.9rem; }
.ajustes strong { display:block; margin-bottom:6px; }
.ajustes ul { margin:0; padding-left:18px; }
.ajustes li { margin-bottom:4px; }
.ajustes small { display:block; margin-top:6px; color:var(--muted); }

.stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.stat { background:var(--bg); border-radius:12px; padding:14px; }
.stat--hero { grid-column:1/-1; background:var(--teal-100); }
@media (prefers-color-scheme: dark){ .stat--hero{ background:#0d3b36; } }
.stat__k { font-size:.78rem; color:var(--muted); font-weight:600; }
.stat__v { font-size:1.5rem; font-weight:800; letter-spacing:-.02em; margin-top:2px; }
.stat--hero .stat__v { color:var(--teal-700); font-size:1.8rem; }
.stat__hint { font-size:.75rem; color:var(--muted); margin-top:3px; }
.pos { color:var(--green); } .neg { color:var(--red); }

.result__actions { margin-top:18px; display:flex; gap:10px; }

/* Carteira */
.carteira { display:flex; flex-direction:column; gap:12px; }
.item { background:var(--surface); border:1px solid var(--line); border-left:5px solid var(--line);
  border-radius:12px; padding:14px 16px; box-shadow:var(--shadow); }
.item.v-good{border-left-color:var(--green);} .item.v-mid{border-left-color:var(--amber);} .item.v-bad{border-left-color:var(--red);}
.item__top { display:flex; justify-content:space-between; align-items:start; gap:10px; }
.item__title { font-weight:700; }
.item__meta { font-size:.8rem; color:var(--muted); }
.pill { font-size:.72rem; font-weight:700; padding:3px 9px; border-radius:999px; white-space:nowrap; }
.pill.v-good{background:var(--green-bg); color:var(--green);}
.pill.v-mid{background:var(--amber-bg); color:var(--amber);}
.pill.v-bad{background:var(--red-bg); color:var(--red);}
.item__row { display:flex; gap:18px; margin-top:10px; font-size:.85rem; flex-wrap:wrap; }
.item__row b { display:block; font-size:1rem; }
.item__del { margin-top:10px; background:none; border:0; color:var(--red); font:inherit; font-size:.82rem; cursor:pointer; padding:0; }

.empty { text-align:center; color:var(--muted); padding:40px 20px; }
.app-footer { text-align:center; color:var(--muted); font-size:.78rem; padding:10px 20px 30px; max-width:560px; margin:0 auto; }

@media (max-width:460px){ .grid{ grid-template-columns:1fr; } }

/* Login */
.login {
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:flex-start; justify-content:center; padding:20px;
  background:linear-gradient(160deg,var(--teal-900),#083b37);
  overflow-y:auto; -webkit-overflow-scrolling:touch;
}
/* Garante que o atributo [hidden] esconda a tela mesmo com display:flex acima */
.login[hidden] { display:none; }
.login__card {
  width:100%; max-width:380px; background:var(--surface);
  border-radius:20px; padding:32px 26px; box-shadow:0 20px 50px rgba(0,0,0,.35);
  display:flex; flex-direction:column; gap:14px; text-align:center;
  margin:auto; /* centraliza quando cabe na tela e permite rolar quando não cabe */
}
.login__logo { align-self:center; }
.login__title { font-size:1.4rem; font-weight:800; }
.login__sub { font-size:.9rem; color:var(--muted); margin-top:-8px; margin-bottom:6px; }
.login__card .field { text-align:left; }
.login__btn { width:100%; margin-top:4px; }
.login__link { background:none; border:0; color:var(--teal-700); font:inherit; font-size:.85rem; cursor:pointer; }
.login__erro { background:var(--red-bg); color:var(--red); font-size:.85rem; font-weight:600;
  padding:9px 12px; border-radius:9px; margin:0; }
.login__aviso { background:var(--amber-bg); color:var(--amber); font-size:.82rem;
  padding:10px 12px; border-radius:9px; margin:0; text-align:left; line-height:1.4; }

.brand__sair {
  margin-left:auto; background:rgba(255,255,255,.15); color:#fff; border:0;
  font:inherit; font-size:.82rem; font-weight:600; padding:6px 14px;
  border-radius:8px; cursor:pointer;
}
.brand__sair:active { background:rgba(255,255,255,.28); }

/* ---------- Tema manual (sobrepõe o prefers-color-scheme) ---------- */
:root[data-tema="light"] {
  --bg:#f1f5f9; --surface:#ffffff; --line:#e2e8f0;
  --text:#0f172a; --muted:#64748b;
  --green-bg:#dcfce7; --amber-bg:#fef3c7; --red-bg:#fee2e2;
  --shadow:0 1px 3px rgba(15,23,42,.06), 0 8px 24px rgba(15,23,42,.06);
}
:root[data-tema="dark"] {
  --bg:#0b1120; --surface:#111827; --line:#1f2937;
  --text:#e5e7eb; --muted:#94a3b8;
  --green-bg:#052e1a; --amber-bg:#3a2a06; --red-bg:#3b0d0d;
  --shadow:0 1px 3px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.35);
}
:root[data-tema="dark"] .stat--hero { background:#0d3b36; }

.brand__icon {
  margin-left:auto; background:rgba(255,255,255,.15); color:#fff; border:0;
  width:34px; height:34px; border-radius:8px; font-size:1rem; cursor:pointer;
}
.brand__sair { margin-left:8px; }

/* ---------- Custos avançados ---------- */
.avancado { margin-top:18px; border:1px dashed var(--line); border-radius:12px; padding:0 14px; }
.avancado summary { cursor:pointer; padding:13px 0; font-weight:600; font-size:.9rem; color:var(--teal-700); }
.avancado summary em { color:var(--muted); font-weight:400; font-style:normal; }
.avancado .grid { padding-bottom:16px; }

/* ---------- Checklist ---------- */
.check { margin-top:20px; background:var(--bg); border-radius:12px; padding:14px 16px; }
.check__title { font-size:.92rem; font-weight:700; margin-bottom:8px; display:flex; justify-content:space-between; align-items:center; }
.check__title span { color:var(--teal-700); font-size:.85rem; }
.check__item { display:flex; align-items:center; gap:10px; padding:6px 0; font-size:.9rem; cursor:pointer; }
.check__item input { width:18px; height:18px; accent-color:var(--teal-700); flex:none; }

/* ---------- Ações do resultado ---------- */
.result__actions { flex-wrap:wrap; }
.result__actions .btn { flex:1 1 auto; min-width:110px; }

/* ---------- Minuta opcional de proposta ---------- */
.proposal-dialog {
  width:min(760px,calc(100% - 24px)); max-height:min(92vh,900px); padding:0;
  border:1px solid var(--line); border-radius:14px; color:var(--text); background:var(--surface);
  box-shadow:0 28px 80px rgba(0,0,0,.28); overflow:hidden;
}
.proposal-dialog::backdrop { background:rgba(4,43,40,.68); }
.proposal-form { max-height:min(92vh,900px); overflow:auto; padding:24px; }
.proposal-form__head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.proposal-form__head > div > span { color:var(--teal-700); font-size:.7rem; font-weight:900; letter-spacing:.09em; }
.proposal-form__head h2 { font-size:1.5rem; line-height:1.15; margin:3px 0 5px; }
.proposal-form__head p { color:var(--muted); font-size:.88rem; }
.proposal-form__close { flex:none; width:44px; height:44px; border:1px solid var(--line); border-radius:8px; color:var(--text); background:var(--soft,var(--bg)); font-size:1.6rem; cursor:pointer; }
.proposal-warning { margin-bottom:18px; padding:11px 13px; border-left:4px solid var(--amber); color:var(--text); background:var(--amber-bg); font-size:.82rem; line-height:1.45; }
.proposal-form fieldset { margin:0 0 17px; padding:16px; border:1px solid var(--line); border-radius:10px; }
.proposal-form legend { padding:0 7px; color:var(--teal-900); font-size:.84rem; font-weight:850; }
.proposal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.proposal-grid + .proposal-grid { margin-top:12px; }
.proposal-grid label { display:grid; gap:5px; min-width:0; }
.proposal-grid label > span { color:var(--muted); font-size:.76rem; font-weight:750; }
.proposal-grid input,.proposal-grid select,.proposal-grid textarea { width:100%; min-height:44px; padding:9px 10px; border:1px solid var(--line); border-radius:7px; color:var(--text); background:var(--surface); font:inherit; font-size:.9rem; }
.proposal-grid textarea { resize:vertical; }
.proposal-wide { grid-column:1/-1; }
.proposal-installments[hidden] { display:none; }
.proposal-form__actions { display:flex; justify-content:flex-end; gap:10px; position:sticky; bottom:-24px; margin:8px -24px -24px; padding:14px 24px calc(14px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--surface); }

/* ---------- Botões da carteira ---------- */
.item__acoes { display:flex; gap:16px; margin-top:12px; }
.item__btn { background:none; border:0; font:inherit; font-size:.82rem; font-weight:600;
  cursor:pointer; padding:0; color:var(--teal-700); }
.item__btn--del { color:var(--red); }

/* ---------- Tabela de comparação ---------- */
.tabela-wrap { overflow-x:auto; }
.tabela { width:100%; border-collapse:collapse; font-size:.88rem; }
.tabela th, .tabela td { padding:10px 12px; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap; }
.tabela th { font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.tabela tr.is-best { background:var(--green-bg); }
.tabela .pill { padding:2px 7px; }

/* ---------- Sites recomendados ---------- */
.sites-intro { font-size:.88rem; color:var(--muted); background:var(--surface);
  border:1px solid var(--line); border-radius:12px; padding:14px 16px; margin-bottom:16px; line-height:1.5; }
.sites { display:flex; flex-direction:column; }
.site { display:block; text-decoration:none; color:inherit; padding:13px 10px; border-radius:10px; }
.site:hover, .site:active { background:var(--bg); }
.site + .site { border-top:1px solid var(--line); }
.site__nome { font-weight:700; color:var(--teal-700); font-size:.95rem; }
.site__ext { font-size:.78rem; opacity:.55; }
.site__obs { font-size:.83rem; color:var(--muted); margin-top:3px; line-height:1.45; }

/* ---------- Vitrine de planos (tela de login) ---------- */
.planos { margin-top: 6px; text-align: left; }
.planos__divisor { display:flex; align-items:center; gap:12px; color:var(--muted);
  font-size:.82rem; margin: 10px 0 14px; }
.planos__divisor::before, .planos__divisor::after { content:''; flex:1; height:1px; background:var(--line); }
.planos__lista { display:flex; flex-direction:column; gap:12px; }
.plano { position:relative; border:1.5px solid var(--line); border-radius:14px; padding:16px; }
.plano--destaque { border-color:var(--teal-700); box-shadow:0 0 0 3px rgba(13,148,136,.12); }
.plano__selo { position:absolute; top:-10px; right:12px; background:var(--teal-700); color:#fff;
  font-size:.62rem; font-weight:800; letter-spacing:.06em; padding:3px 10px; border-radius:999px; }
.plano__nome { font-weight:800; font-size:1rem; }
.plano__preco { font-size:1.4rem; font-weight:800; color:var(--teal-700); margin:4px 0 8px; }
.plano__preco em { font-size:.78rem; font-weight:600; color:var(--muted); font-style:normal; }
.plano__lista { margin:0 0 12px; padding-left:18px; }
.plano__lista li { font-size:.83rem; color:var(--muted); margin-bottom:3px; }
.plano__btn { display:block; text-align:center; text-decoration:none; }
.planos__nota { font-size:.72rem; color:var(--muted); text-align:center; margin-top:12px; }

/* ---------- Aprenda (e-book + manual) ---------- */
.ebook { display:flex; gap:16px; align-items:center; }
.ebook__icon { font-size:2.6rem; line-height:1; flex:none; }
.ebook__titulo { font-size:1.15rem; font-weight:800; }
.ebook__desc { font-size:.9rem; color:var(--muted); margin:6px 0 14px; line-height:1.5; }
.ebook .btn { display:inline-block; text-decoration:none; }
.telegram-card { border-color:var(--line); background:var(--soft,var(--surface)); }
.telegram-card .ebook__icon { color:var(--teal-900); }

.manual h3 { font-size:1rem; font-weight:700; color:var(--teal-700); margin:20px 0 8px; }
.manual h3:first-of-type { margin-top:8px; }
.manual p { font-size:.92rem; margin-bottom:8px; line-height:1.55; }
.manual ul { margin:0 0 8px; padding-left:20px; }
.manual li { font-size:.92rem; margin-bottom:6px; line-height:1.5; }
.manual__nota { background:var(--amber-bg); color:var(--amber); border-radius:10px;
  padding:12px 14px; font-size:.86rem; margin-top:20px; line-height:1.5; }
.manual__nota strong { color:var(--amber); }

/* ---------- Impressão / PDF ---------- */
.print-only { display:none; }
@media print {
  @page { size:A4 portrait; margin:10mm 11mm 12mm; }
  * { -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
  html,body { background:#fff !important; color:#10231f !important; font-family:Arial,"Segoe UI",sans-serif; }
  body { font-size:9.5pt; line-height:1.35; }
  #login-screen, .app-header, .form, #view-carteira, #view-comparar, .app-footer, .no-print, .proposal-dialog { display:none !important; }
  .container { max-width:none; padding:0; }
  #view-analisar { display:block !important; }
  #view-analisar > :not(#resultado) { display:none !important; }
  #resultado {
    display:block !important; margin:0 !important; padding:0 !important;
    border:0 !important; box-shadow:none !important; background:#fff !important;
  }
  #resultado > .verdict, #resultado > .stat-grid, #resultado > .check { display:none !important; }
  .print-only { display:block !important; }
  .report-print { width:100%; }

  .report-header {
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    padding:0 0 12px; border-bottom:2px solid #073b36;
  }
  .report-brand { display:flex; align-items:center; gap:9px; }
  .report-brand img { width:36px; height:36px; border-radius:8px; }
  .report-brand strong { display:block; color:#073b36; font-size:12pt; letter-spacing:-.2px; }
  .report-brand span { display:block; color:#60736e; font-size:7.2pt; margin-top:1px; }
  .report-meta { text-align:right; }
  .report-meta strong { display:block; color:#073b36; font-size:8pt; letter-spacing:1.2px; }
  .report-meta span { display:block; color:#60736e; font-size:7.2pt; margin-top:3px; }

  .report-title {
    display:flex; align-items:flex-start; justify-content:space-between; gap:24px;
    padding:15px 0 12px;
  }
  .report-eyebrow { display:block; color:#0f8f83; font-size:7pt; font-weight:800; letter-spacing:1.3px; margin-bottom:3px; }
  .report-title h1 { color:#10231f; font-size:20pt; line-height:1.08; letter-spacing:-.5px; margin:0; }
  .report-title p { color:#60736e; font-size:8pt; margin:5px 0 0; }
  .report-verdict {
    min-width:132px; max-width:170px; padding:8px 10px; border:1px solid #d9e5e1;
    border-left:4px solid #0f8f83; border-radius:5px; background:#f7faf9;
  }
  .report-verdict span { display:block; color:#60736e; font-size:6.3pt; font-weight:800; letter-spacing:.8px; }
  .report-verdict strong { display:block; color:#073b36; font-size:9.2pt; line-height:1.15; margin-top:3px; }
  .report-verdict--good { border-left-color:#168a53; background:#edf8f2; }
  .report-verdict--mid { border-left-color:#d49911; background:#fff8e8; }
  .report-verdict--bad { border-left-color:#c43d3d; background:#fdf0f0; }

  .report-summary { display:grid; grid-template-columns:1.45fr 1fr; gap:1px; background:#d9e5e1; border:1px solid #d9e5e1; border-radius:7px; overflow:hidden; }
  .report-summary > div { padding:13px 15px; }
  .report-summary__main { color:#fff; background:#073b36; }
  .report-summary__side { color:#10231f; background:#e7f7f3; }
  .report-summary span { display:block; font-size:6.8pt; font-weight:800; letter-spacing:.75px; }
  .report-summary strong { display:block; font-size:22pt; line-height:1; letter-spacing:-.5px; margin:5px 0; }
  .report-summary p { font-size:7.2pt; margin:0; opacity:.82; }
  .report-positive { color:#08784e !important; }
  .report-negative { color:#b42323 !important; }

  .report-kpis { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #d9e5e1; border-radius:6px; margin-top:8px; overflow:hidden; }
  .report-kpis > div { padding:9px 10px; border-right:1px solid #d9e5e1; background:#fff; }
  .report-kpis > div:last-child { border-right:0; }
  .report-kpis span,.report-kpis small { display:block; color:#60736e; font-size:6.8pt; }
  .report-kpis strong { display:block; color:#073b36; font-size:13pt; margin:2px 0; }

  .report-section { margin-top:13px; }
  .report-section__head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:6px; border-bottom:1px solid #bfcfc9; }
  .report-section__head > div { display:flex; align-items:center; gap:7px; }
  .report-section__head > div > span { display:grid; place-items:center; width:20px; height:20px; border-radius:4px; color:#fff; background:#0f8f83; font-size:7pt; font-weight:800; }
  .report-section__head h2 { color:#073b36; font-size:11.5pt; margin:0; }
  .report-section__head small { color:#60736e; font-size:6.8pt; text-align:right; }

  .report-callout { margin-top:7px; padding:9px 11px; border-left:4px solid #0f8f83; background:#f7faf9; }
  .report-callout strong { color:#073b36; font-size:9pt; }
  .report-callout p { color:#425650; font-size:7.7pt; margin:2px 0 0; }
  .report-callout--good { border-left-color:#168a53; background:#edf8f2; }
  .report-callout--mid { border-left-color:#d49911; background:#fff8e8; }
  .report-callout--bad { border-left-color:#c43d3d; background:#fdf0f0; }

  .report-financial { display:grid; grid-template-columns:1.35fr .85fr; gap:10px; margin-top:7px; }
  .report-table { border:1px solid #d9e5e1; border-radius:5px; overflow:hidden; }
  .report-table > div { display:flex; justify-content:space-between; gap:15px; padding:5px 8px; border-bottom:1px solid #e7eeeb; }
  .report-table > div:nth-child(even) { background:#f7faf9; }
  .report-table > div:last-child { border-bottom:0; }
  .report-table span { color:#536963; }
  .report-table strong { color:#10231f; white-space:nowrap; }
  .report-totals { display:grid; align-content:start; gap:6px; }
  .report-totals > div { padding:7px 9px; border:1px solid #d9e5e1; border-radius:5px; background:#f7faf9; }
  .report-totals span { display:block; color:#60736e; font-size:6.8pt; }
  .report-totals strong { display:block; color:#073b36; font-size:11pt; margin-top:2px; }
  .report-totals__profit { color:#fff !important; border-color:#073b36 !important; background:#073b36 !important; }
  .report-totals__profit span { color:#bde5dc; }
  .report-totals__profit strong { color:#fff; font-size:13pt; }

  .report-compare { margin-top:7px; border:1px solid #d9e5e1; border-radius:5px; overflow:hidden; }
  .report-compare > div { display:grid; grid-template-columns:1.45fr 1fr 1fr; align-items:center; min-height:25px; border-bottom:1px solid #e7eeeb; }
  .report-compare > div:last-child { border-bottom:0; }
  .report-compare span,.report-compare strong { padding:5px 8px; }
  .report-compare span { color:#536963; }
  .report-compare strong { color:#10231f; border-left:1px solid #e7eeeb; text-align:right; }
  .report-compare__head { color:#fff; background:#073b36; }
  .report-compare__head span,.report-compare__head strong { color:#fff; font-size:7pt; font-weight:800; letter-spacing:.45px; }
  .report-payment-note { display:grid; grid-template-columns:1.5fr .8fr .9fr; gap:6px; margin-top:6px; }
  .report-payment-note > div { padding:6px 8px; border-radius:5px; background:#e7f7f3; }
  .report-payment-note span { display:block; color:#60736e; font-size:6.5pt; }
  .report-payment-note strong { display:block; color:#073b36; font-size:7.6pt; margin-top:2px; }

  .report-payment-page { break-before:page; page-break-before:always; margin-top:0; }
  .report-continuation { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:13px; padding-bottom:9px; border-bottom:2px solid #073b36; }
  .report-continuation strong { display:block; color:#073b36; font-size:11pt; }
  .report-continuation span { display:block; color:#60736e; font-size:7pt; margin-top:2px; }
  .report-continuation small { color:#0f8f83; font-size:6.5pt; font-weight:800; letter-spacing:.8px; }

  .report-ai-annex { break-before:page; page-break-before:always; }
  .report-ai-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
  .report-ai-grid > div { padding:8px 9px; border:1px solid #d9e5e1; border-radius:5px; background:#f7faf9; }
  .report-ai-grid span,.report-ai-property span,.report-ai-quote > span { display:block; color:#60736e; font-size:6.5pt; font-weight:800; letter-spacing:.45px; text-transform:uppercase; }
  .report-ai-grid strong { display:block; color:#073b36; font-size:8pt; margin-top:2px; }
  .report-ai-property { margin-top:7px; padding:9px 10px; border-left:4px solid #0f8f83; background:#e7f7f3; }
  .report-ai-property strong { display:block; color:#073b36; font-size:9pt; margin-top:3px; }
  .report-ai-property p { color:#536963; font-size:7.2pt; margin:3px 0 0; }
  .report-ai-quote { margin-top:7px; padding:9px 10px; border:1px solid #d9e5e1; border-radius:5px; }
  .report-ai-quote blockquote { margin:5px 0; color:#334841; font-size:7.4pt; font-style:italic; }
  .report-ai-quote small { color:#60736e; font-size:6.5pt; }
  .report-ai-heading { margin-top:13px; }
  .report-ai-risks { display:grid; gap:6px; margin-top:7px; }
  .report-ai-risk { break-inside:avoid; page-break-inside:avoid; padding:8px 10px; border:1px solid #d9e5e1; border-left:4px solid #60736e; border-radius:4px; background:#f7faf9; }
  .report-ai-risk--alta { border-left-color:#c43d3d; background:#fdf0f0; }
  .report-ai-risk--media { border-left-color:#d49911; background:#fff8e8; }
  .report-ai-risk--baixa { border-left-color:#60736e; }
  .report-ai-risk > div { display:flex; align-items:center; gap:7px; }
  .report-ai-risk > div > span { padding:2px 5px; border-radius:3px; color:#fff; background:#60736e; font-size:5.7pt; font-weight:800; }
  .report-ai-risk strong { color:#10231f; font-size:8pt; }
  .report-ai-risk p { color:#425650; font-size:7.1pt; margin:4px 0; }
  .report-ai-risk blockquote { margin:0; padding-left:8px; border-left:2px solid #bfcfc9; color:#60736e; font-size:6.5pt; font-style:italic; }
  .report-ai-empty { padding:10px; color:#60736e; background:#f7faf9; font-size:7.2pt; }
  .report-ai-debts { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:7px; }
  .report-ai-debts > div { padding:7px 9px; border:1px solid #d9e5e1; border-radius:5px; }
  .report-ai-debts span,.report-ai-debts strong,.report-ai-debts small { display:block; }
  .report-ai-debts span { color:#60736e; font-size:6.5pt; }
  .report-ai-debts strong { color:#073b36; font-size:8pt; margin:2px 0; }
  .report-ai-debts small { color:#60736e; font-size:6pt; }
  .report-ai-attention { margin-top:10px; padding:8px 10px; border-left:4px solid #d49911; background:#fff8e8; }
  .report-ai-attention strong { color:#6d4d00; font-size:7.5pt; }
  .report-ai-attention ul { margin:5px 0 0; padding-left:16px; color:#5f5540; font-size:6.8pt; }
  .report-ai-disclaimer { margin-top:10px; padding:8px 10px; border:1px solid #d9e5e1; color:#60736e; background:#f7faf9; font-size:6.5pt; }

  .report-checklist { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-top:7px; }
  .report-checklist > div { display:flex; align-items:center; gap:7px; min-height:27px; padding:5px 7px; border:1px solid #d9e5e1; border-radius:5px; background:#fff; }
  .report-checklist > div > span { min-width:45px; color:#8b3f3f; background:#fdf0f0; border-radius:3px; padding:2px 4px; font-size:5.8pt; font-weight:800; text-align:center; }
  .report-checklist > div.is-done > span { color:#08784e; background:#e3f5eb; }
  .report-checklist p { color:#425650; font-size:7.1pt; margin:0; }

  .report-disclaimer { margin-top:10px; padding:8px 10px; border:1px solid #d9e5e1; border-radius:5px; background:#f7faf9; }
  .report-disclaimer strong { color:#073b36; font-size:7.2pt; }
  .report-disclaimer p { color:#60736e; font-size:6.5pt; line-height:1.4; margin:2px 0 0; }
  .report-footer { position:fixed; left:0; right:0; bottom:-7mm; display:flex; justify-content:space-between; gap:12px; padding-top:5px; border-top:1px solid #d9e5e1; color:#60736e; font-size:6.3pt; }
  .report-footer strong { color:#073b36; }

  .report-keep,.report-page-safe { break-inside:avoid; page-break-inside:avoid; }
}

/* ===================== Leitura do edital ===================== */
.edital__intro { margin:0 0 16px; color:var(--muted); font-size:.9rem; line-height:1.5; }
.edital__intro strong { color:var(--text); }
.tag { font-size:.65rem; font-weight:700; letter-spacing:.05em; background:var(--teal-100);
  color:var(--teal-900); padding:3px 7px; border-radius:5px; vertical-align:middle; margin-left:6px; }
:root[data-tema="dark"] .tag { background:#0d3b36; color:var(--teal-100); }

.edital__acoes { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.edital__escolher { display:inline-block; margin:0; }
.edital__nome { color:var(--muted); font-size:.85rem; flex:1; min-width:120px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.edital__status { margin:14px 0 0; font-size:.875rem; color:var(--muted); }
.edital__status--erro { color:var(--red); }

.edital__resultado { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.edital__titulo { font-size:.95rem; margin:18px 0 10px; }
.edital__aviso { background:var(--amber-bg); color:var(--amber); font-size:.8rem;
  padding:10px 12px; border-radius:10px; margin:0; line-height:1.45; }
.edital__ok { color:var(--muted); font-size:.85rem; line-height:1.5; margin:14px 0 0; }
.edital__cota { color:var(--muted); font-size:.78rem; margin:16px 0 0; text-align:right; }

.riscos, .dividas, .edital__atencao { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.risco { border-left:3px solid var(--line); border-radius:0 10px 10px 0; padding:10px 12px; background:var(--bg); }
.risco--alta  { border-left-color:var(--red);   background:var(--red-bg); }
.risco--media { border-left-color:var(--amber); background:var(--amber-bg); }
.risco--baixa { border-left-color:var(--muted); }
.risco strong { display:block; font-size:.9rem; margin-bottom:4px; }
.risco p { margin:0 0 8px; font-size:.85rem; line-height:1.5; }
.risco blockquote { margin:0; padding-left:10px; border-left:2px solid currentColor;
  opacity:.7; font-size:.78rem; font-style:italic; line-height:1.45; }

.dividas li { display:flex; justify-content:space-between; align-items:center; gap:10px;
  background:var(--bg); border-radius:8px; padding:9px 12px; font-size:.85rem; }
.dividas em { font-style:normal; font-size:.75rem; color:var(--muted); white-space:nowrap; }

.edital__atencao li { font-size:.82rem; color:var(--muted); line-height:1.5;
  padding-left:16px; position:relative; }
.edital__atencao li::before { content:"•"; position:absolute; left:4px; }

/* Campo que veio do edital: some assim que o usuário digita por cima. */
.campo--do-edital { border-color:var(--teal-700) !important; background:var(--teal-100); }
:root[data-tema="dark"] .campo--do-edital { background:#0d3b36; }

/* ===================== Redesign do aplicativo ===================== */
:root {
  --forest:#073b36;
  --forest-dark:#042b28;
  --teal-900:#073b36;
  --teal-700:#0f8f83;
  --teal-100:#d9f6ef;
  --bg:#f3f7f5;
  --surface:#ffffff;
  --soft:#f7faf9;
  --line:#d9e5e1;
  --text:#10231f;
  --muted:#60736e;
  --green:#168347;
  --green-bg:#e4f6ea;
  --amber:#a86408;
  --amber-bg:#fff4d8;
  --red:#c43d3d;
  --red-bg:#fde9e9;
  --shadow:0 10px 30px rgba(7,59,54,.06);
  --radius:12px;
}

:root[data-tema="light"] {
  --bg:#f3f7f5;
  --surface:#ffffff;
  --soft:#f7faf9;
  --line:#d9e5e1;
  --text:#10231f;
  --muted:#60736e;
  --green-bg:#e4f6ea;
  --amber-bg:#fff4d8;
  --red-bg:#fde9e9;
  --shadow:0 10px 30px rgba(7,59,54,.06);
}

:root[data-tema="dark"] {
  --bg:#0c1715;
  --surface:#13211e;
  --soft:#182a26;
  --line:#2a3c37;
  --text:#e8f1ee;
  --muted:#9eb0aa;
  --green-bg:#103722;
  --amber-bg:#3b2b0d;
  --red-bg:#3d1717;
  --shadow:0 12px 32px rgba(0,0,0,.24);
}

html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); }
button,input,select { font-family:inherit; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:3px solid rgba(15,143,131,.38);
  outline-offset:2px;
}

.app-header {
  background:var(--surface);
  color:var(--text);
  padding:0;
  border-bottom:1px solid var(--line);
  box-shadow:0 4px 18px rgba(7,59,54,.05);
}
.brand {
  width:min(1080px,100%);
  min-height:68px;
  margin:0 auto;
  padding:11px 24px;
  gap:11px;
}
.brand__logo { background:var(--teal-100); border-radius:9px; padding:4px; }
.brand__name { font-size:1.1rem; font-weight:850; color:var(--text); }
.brand__tag { color:var(--muted); opacity:1; }
.brand__icon,.brand__sair {
  min-height:44px;
  background:var(--soft);
  color:var(--text);
  border:1px solid var(--line);
}
.brand__icon { width:44px; height:44px; border-radius:9px; }
.brand__sair { margin-left:7px; padding:8px 15px; border-radius:9px; }
.brand__icon:hover,.brand__sair:hover { border-color:var(--teal-700); background:var(--teal-100); }

.tabs {
  width:min(1080px,100%);
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  margin:0 auto;
  padding:0 24px;
  gap:4px;
  overflow:visible;
}
.tab {
  min-height:46px;
  color:var(--muted);
  opacity:1;
  border:0;
  border-bottom:3px solid transparent;
  border-radius:8px 8px 0 0;
  padding:10px 8px;
  font-size:.88rem;
  font-weight:750;
}
.tab:hover { color:var(--text); background:var(--soft); }
.tab.is-active { color:var(--teal-700); background:var(--teal-100); border-bottom-color:var(--teal-700); }
.badge { background:var(--teal-700); color:#fff; }

.container { max-width:1080px; padding:30px 24px 60px; }
.view[hidden] { display:none !important; }
.view.is-active { animation:fade .18s ease; }
.view-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:24px;
  margin:0 0 20px;
}
.view-head__eyebrow {
  color:var(--teal-700);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.view-head h2 { font-size:1.75rem; line-height:1.12; letter-spacing:-.035em; }
.view-head > p { max-width:430px; color:var(--muted); font-size:.92rem; text-align:right; }

.card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:26px;
  margin-bottom:20px;
}
.card__title {
  color:var(--text);
  font-size:1.02rem;
  line-height:1.3;
  text-transform:none;
  letter-spacing:0;
  font-weight:850;
  margin-bottom:16px;
}
.form .card__title {
  display:flex;
  align-items:center;
  gap:9px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.form .card__title::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--teal-700); }
.card__title--mt { margin-top:28px; }

.edital { border-top:3px solid var(--teal-700); }
.edital__intro { max-width:760px; }
.edital__acoes { display:grid; grid-template-columns:auto minmax(180px,1fr) auto; gap:12px; }
.edital__escolher { position:relative; overflow:hidden; min-height:46px; display:inline-flex; align-items:center; justify-content:center; }
.edital__escolher input[type="file"] {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  opacity:0;
  cursor:pointer;
}
.edital__escolher:focus-within { outline:3px solid rgba(15,143,131,.38); outline-offset:2px; }
.edital__nome { padding:12px 0; }

.form > .grid,.avancado > .grid,.fieldset--nested { grid-template-columns:repeat(3,minmax(0,1fr)); }
.field { gap:7px; }
.field > span { font-size:.84rem; font-weight:750; }
.field em { display:inline; font-size:.8rem; }
input,select {
  min-height:47px;
  padding:11px 12px;
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:9px;
}
input:hover,select:hover { border-color:#b9cdc7; }
input::placeholder { color:#899994; opacity:1; }
input[type="range"] { min-height:26px; background:transparent; border:0; }
.range-out {
  justify-self:end;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  background:var(--teal-100);
  color:var(--teal-900);
  border-radius:999px;
  padding:3px 11px;
}
.field--check { min-height:50px; align-items:center; background:var(--soft); border-style:solid; }
.field--check input { min-height:18px; }
.avancado { border-style:solid; background:var(--soft); padding:0 16px; }
.avancado summary { min-height:48px; display:flex; align-items:center; color:var(--teal-700); }
.form__actions { justify-content:flex-end; padding-top:20px; border-top:1px solid var(--line); }
.btn { min-height:46px; border-radius:9px; font-weight:750; padding:11px 18px; }
.btn--primary { flex:0 1 auto; background:var(--teal-700); }
.btn--primary:hover { background:var(--teal-900); }
.btn--ghost { background:var(--surface); color:var(--text); }
.btn:disabled { opacity:.45; cursor:not-allowed; }

.result { scroll-margin-top:145px; border-top:0; }
.result.v-good { box-shadow:inset 4px 0 var(--green),var(--shadow); }
.result.v-mid { box-shadow:inset 4px 0 var(--amber),var(--shadow); }
.result.v-bad { box-shadow:inset 4px 0 var(--red),var(--shadow); }
.verdict { background:var(--soft); border:1px solid var(--line); border-radius:10px; padding:15px 16px; }
.verdict__label { font-size:1.18rem; }
.stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.stat { min-width:0; background:var(--soft); border:1px solid var(--line); border-radius:10px; }
.stat--hero { grid-column:1/-1; background:var(--forest); border-color:var(--forest); color:#fff; padding:20px; }
.stat--hero .stat__k,.stat--hero .stat__hint { color:#bde5dc; }
.stat--hero .stat__v { color:#fff; font-size:2.35rem; }
.stat__v { font-size:1.34rem; overflow-wrap:anywhere; }
.check { background:var(--soft); border:1px solid var(--line); }
.check__item { min-height:38px; }
.result__actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.result__actions .btn { min-width:0; }

.carteira { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.item { border-radius:10px; box-shadow:none; padding:17px; }
.item__btn { min-height:40px; padding:8px 0; }
.empty { background:var(--surface); border:1px dashed var(--line); border-radius:12px; }
.tabela-wrap { border:1px solid var(--line); border-radius:10px; }
.tabela th { background:var(--soft); }
.tabela th,.tabela td { padding:12px 14px; }
.site { min-height:60px; padding:14px 12px; }
.site__nome { color:var(--teal-700); }

.ebook__icon {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  flex:none;
  background:var(--teal-100);
  color:var(--teal-900);
  border-radius:10px;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.04em;
}
.ebook__titulo { font-size:1.12rem; }
.manual h3 { color:var(--text); font-size:1.02rem; padding-top:4px; }

.login { background:var(--forest); }
.login__card { max-width:420px; border-radius:16px; padding:30px 28px; box-shadow:0 24px 64px rgba(0,0,0,.24); }
.login__logo { background:var(--teal-100); border-radius:12px; padding:5px; }
.login__title { letter-spacing:-.025em; }
.login__link { min-height:44px; color:var(--teal-700); }
.plano { border-radius:11px; }
.plano--destaque { border-color:var(--teal-700); box-shadow:0 0 0 3px rgba(15,143,131,.1); }
.app-footer { max-width:760px; }

@media (max-width:900px) {
  .container { max-width:760px; }
  .form > .grid,.avancado > .grid,.fieldset--nested { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stat--hero { grid-column:1/-1; }
  .result__actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:620px) {
  .brand { min-height:62px; padding:9px 14px; gap:9px; }
  .brand__logo { width:32px; height:32px; }
  .brand__name { font-size:.98rem; white-space:nowrap; }
  .brand__tag { display:none; }
  .brand__icon { width:44px; height:44px; min-height:44px; }
  .brand__sair { min-height:44px; padding:7px 11px; font-size:.78rem; }
  .tabs { padding:0 6px; gap:1px; }
  .tab { position:relative; min-height:45px; padding:9px 2px; font-size:.7rem; border-radius:6px 6px 0 0; }
  .badge { position:absolute; top:3px; right:2px; min-width:16px; padding:0 4px; font-size:.6rem; }
  .container { padding:20px 14px 46px; }
  .view-head { display:block; margin-bottom:16px; }
  .view-head h2 { font-size:1.45rem; }
  .view-head > p { margin-top:6px; text-align:left; font-size:.86rem; }
  .card { padding:17px; margin-bottom:15px; }
  .card__title { font-size:.98rem; }
  .edital__acoes { grid-template-columns:1fr; gap:8px; }
  .edital__nome { padding:2px 2px 6px; text-align:center; }
  .edital__acoes > .btn { width:100%; }
  .form > .grid,.avancado > .grid,.fieldset--nested { grid-template-columns:1fr; }
  .field--wide,.fieldset--nested { grid-column:1; }
  .form__actions { position:sticky; bottom:0; z-index:3; margin:20px -17px -17px; padding:12px 17px calc(12px + env(safe-area-inset-bottom)); background:var(--surface); }
  .form__actions .btn--primary { flex:1; }
  .stat-grid { gap:8px; }
  .stat { padding:12px; }
  .stat__v { font-size:1.15rem; }
  .stat--hero .stat__v { font-size:2rem; }
  .verdict { align-items:flex-start; }
  .result__actions { grid-template-columns:1fr 1fr; gap:8px; }
  .carteira { grid-template-columns:1fr; }
  .ebook { align-items:flex-start; }
  .ebook__icon { width:46px; height:46px; }
  .login { padding:14px; }
  .login__card { padding:26px 22px; }
  .proposal-dialog { width:100%; max-height:96vh; border-radius:12px 12px 0 0; margin:auto 0 0; }
  .proposal-form { max-height:96vh; padding:18px 15px; }
  .proposal-form__head h2 { font-size:1.3rem; }
  .proposal-grid { grid-template-columns:1fr; }
  .proposal-wide { grid-column:1; }
  .proposal-form fieldset { padding:13px; }
  .proposal-form__actions { margin:8px -15px -18px; padding:12px 15px calc(12px + env(safe-area-inset-bottom)); }
  .proposal-form__actions .btn { flex:1; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .view.is-active { animation:none; }
}

/* ===================== ALERTAS / RADAR ===================== */
.alerta-grid {
  display:grid; grid-template-columns:repeat(2, 1fr); gap:14px;
}
.alerta-grid .campo--larga { grid-column:1 / -1; }
.campo em { color:var(--muted); font-style:normal; font-weight:400; font-size:.8em; }
.alerta-acoes { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.alerta-acoes .btn { flex:1 1 auto; }
.edital__status--ok { color:var(--green); }

.alerta-resultados { margin-top:18px; }
.alerta-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:14px; margin-top:12px; }
.imovel {
  border:1px solid var(--line); border-radius:var(--radius);
  padding:14px; background:var(--surface); display:flex; flex-direction:column; gap:6px;
}
.imovel__topo { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.imovel__topo strong { font-size:.95rem; }
.imovel__bairro { color:var(--muted); font-size:.85rem; }
.imovel-off {
  margin-left:auto; background:var(--teal-700); color:#fff;
  font-size:.72rem; font-weight:700; padding:2px 8px; border-radius:999px;
}
.imovel__end { color:var(--muted); font-size:.82rem; margin:0; }
.imovel__preco { font-weight:700; color:var(--teal-900); margin:2px 0 0; }
.imovel__aval { font-weight:400; color:var(--muted); font-size:.8rem; text-decoration:line-through; }
.imovel__mod { font-size:.75rem; color:var(--muted); margin:0; }
.btn--pequeno { padding:7px 12px; font-size:.8rem; align-self:flex-start; }

.alerta-lista { display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.alerta-item {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  border:1px solid var(--line); border-radius:var(--radius); padding:12px 14px;
}
.alerta-item__filtro { font-size:.9rem; font-weight:600; }
.alerta-vazio { color:var(--muted); font-size:.9rem; margin:0; }

@media (max-width:520px) {
  .alerta-grid { grid-template-columns:1fr; }
}

.imovel__uf {
  background:var(--teal-100); color:var(--teal-900);
  font-size:.7rem; font-weight:700; padding:1px 6px; border-radius:6px;
}
:root[data-tema="dark"] .imovel__uf { background:#0d3b36; color:var(--teal-100); }

.alerta-selo {
  font-size:.85rem; color:var(--muted); margin:0 0 10px;
  padding:8px 12px; background:var(--soft, var(--bg)); border-radius:10px; border:1px solid var(--line);
}
.alerta-selo strong { color:var(--teal-900); }
.alerta-upgrade { color:var(--teal-700); font-weight:600; }
