/* VeroCondo — landing "cartaz" (Claude Design handoff).
   Reimplementação estática do design system VeroCondoDS.
   Paleta, tipografia e logo são da marca e não devem ser alterados. */

/* ---------- tokens ---------- */
:root{
  --vc-community:#00A79D;
  --vc-trust:#6BA6E6;
  --vc-clarity:#7FD1C9;
  --vc-care:#FFB347;
  --vc-paper:#F2F6F9;
  --vc-ink:#1F3245;
  --vc-community-txt:#017F78;
  --vc-trust-txt:#2F6FB4;
  --vc-care-txt:#A96C05;
  --vc-bg:#F2F6F9;
  --vc-surface:#FFFFFF;
  --vc-surface-2:#F7FAFC;
  --vc-surface-3:#EBF2F7;
  --vc-fg:#1F3245;
  --vc-fg-2:#2B3F52;
  --vc-mut:#6B8299;
  --vc-mut-2:#94A9BB;
  --vc-line:#DCE7EF;
  --vc-line-2:#E9F0F5;
  --vc-ok:#0E8F7E;
  --vc-ok-bg:#E1F5F2;
  --vc-warn:#A96C05;
  --vc-warn-bg:#FFF3E1;
  --vc-danger:#D14343;
  --vc-danger-bg:#FCECEC;
  --vc-info:#2F6FB4;
  --vc-info-bg:#E7F0FB;
  --vc-radius:15px;
  --vc-radius-sm:10px;
  --vc-shadow:0 1px 2px rgba(31,50,69,.05), 0 12px 34px rgba(31,50,69,.08);
  --vc-shadow-sm:0 1px 2px rgba(31,50,69,.06);
  --vc-font:"Nunito","Segoe UI",system-ui,sans-serif;
  --vc-font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --vc-touch:44px;
  color-scheme:light;
}

/* ---------- página ---------- */
html{scroll-behavior:smooth}
body{margin:0;background:var(--vc-bg)}
a{color:var(--vc-community-txt)}
a:hover{color:var(--vc-ink)}

.vc-root{
  background:var(--vc-bg);
  color:var(--vc-fg-2);
  font-family:var(--vc-font);
  font-size:15px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
.vc-root *{box-sizing:border-box}
.vc-root h1,.vc-root h2,.vc-root h3,.vc-root h4{
  margin:0;color:var(--vc-fg);letter-spacing:-.025em;font-weight:800;text-wrap:balance;
}
.vc-root p{margin:0}
.vc-root :focus-visible{outline:2px solid var(--vc-community);outline-offset:3px;border-radius:8px}
@media (prefers-reduced-motion:reduce){.vc-root *{transition:none!important;scroll-behavior:auto}}

.vc-num{font-variant-numeric:tabular-nums}
.vc-mono{font-family:var(--vc-font-mono)}

/* painéis full-viewport */
.p{
  min-height:100vh;display:flex;align-items:center;
  padding:clamp(52px,8vh,104px) clamp(20px,5vw,80px);scroll-margin-top:0;
}
.pin{width:100%;max-width:1400px;margin:0 auto}

/* índice lateral de seções */
.idx{
  position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:60;
  display:flex;flex-direction:column;align-items:center;gap:11px;
}
.idx a{width:7px;height:7px;border-radius:50%;background:var(--vc-line);transition:background .18s,transform .18s}
.idx a:hover{background:var(--vc-mut-2)}
.idx a.on{background:var(--vc-ink);transform:scale(1.6)}
@media (max-width:1080px){.idx{display:none}}

/* ---------- logo ---------- */
.vc-logo{display:block;height:auto}

/* ---------- botão ---------- */
.vc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--vc-community);color:#FFFFFF;border:1px solid transparent;border-radius:11px;
  padding:12px 22px;min-height:var(--vc-touch);font-family:var(--vc-font);font-size:16px;font-weight:700;
  line-height:1.2;cursor:pointer;text-decoration:none;transition:filter .15s,border-color .15s;
}
.vc-btn:hover:not(:disabled){filter:brightness(1.07)}
.vc-btn:disabled{opacity:.45;cursor:not-allowed}
.vc-btn--ghost{background:var(--vc-surface);color:var(--vc-fg);border-color:var(--vc-line)}
.vc-btn--ghost:hover:not(:disabled){border-color:var(--vc-mut-2);filter:none}
.vc-btn--danger{background:var(--vc-danger)}
.vc-btn--sm{padding:9px 16px;min-height:var(--vc-touch);font-size:15px}
.vc-btn--block{width:100%}

/* ---------- card ---------- */
.vc-card{background:var(--vc-surface);border:1px solid var(--vc-line);border-radius:var(--vc-radius);padding:20px;box-shadow:var(--vc-shadow-sm)}
.vc-card--flat{box-shadow:none}
.vc-card--raised{box-shadow:var(--vc-shadow)}

/* ---------- appbar ---------- */
.vc-appbar{background:var(--vc-community);color:#FFFFFF;padding:14px 18px;display:flex;align-items:center;gap:12px}
.vc-appbar__mark{width:38px;height:38px;border-radius:10px;background:#FFFFFF;flex:0 0 auto;display:grid;place-items:center;overflow:hidden}
.vc-appbar__mark img{width:32px}
.vc-appbar__name{font-weight:800;font-size:18px;letter-spacing:-.02em;line-height:1.15;color:#FFFFFF}
.vc-appbar__powered{font-family:var(--vc-font-mono);font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#CFF0EC;margin-top:3px;display:block}
.vc-appbar__meta{margin-left:auto;font-size:12.5px;color:#D8F2EF;text-align:right}

/* ---------- callout ---------- */
.vc-callout{display:flex;gap:13px;align-items:flex-start;border-radius:var(--vc-radius);padding:15px 18px}
.vc-callout__icon{font-weight:800;flex:0 0 auto;line-height:1.5}
.vc-callout__body{font-size:14.5px;line-height:1.55}
.vc-callout--info{background:var(--vc-info-bg);color:var(--vc-info)}
.vc-callout--atencao{background:var(--vc-warn-bg);color:var(--vc-warn)}
.vc-callout--critico{background:var(--vc-danger-bg);color:var(--vc-danger)}
.vc-callout--ok{background:var(--vc-ok-bg);color:var(--vc-ok)}

/* ---------- chip ---------- */
.vc-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--vc-font-mono);font-size:10.5px;font-weight:500;letter-spacing:.05em;padding:4px 8px;border-radius:7px;white-space:nowrap;text-transform:uppercase;background:var(--vc-surface-3);color:var(--vc-mut)}
.vc-chip--teal{background:var(--vc-ok-bg);color:var(--vc-community-txt)}
.vc-chip--blue{background:var(--vc-info-bg);color:var(--vc-trust-txt)}
.vc-chip--amber{background:var(--vc-warn-bg);color:var(--vc-care-txt)}
.vc-chip--danger{background:var(--vc-danger-bg);color:var(--vc-danger)}
.vc-chip--outline{background:transparent;color:var(--vc-mut-2);border:1px solid var(--vc-line)}

/* ---------- stat ---------- */
.vc-stat{background:var(--vc-surface);border:1px solid var(--vc-line);border-radius:var(--vc-radius);padding:18px;box-shadow:var(--vc-shadow-sm)}
.vc-stat__label{font-family:var(--vc-font-mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--vc-mut-2)}
.vc-stat__value{font-size:27px;font-weight:800;color:var(--vc-fg);letter-spacing:-.035em;line-height:1.12;margin-top:6px;font-variant-numeric:tabular-nums}
.vc-stat__value--positivo{color:var(--vc-ok)}
.vc-stat__value--negativo{color:var(--vc-danger)}
.vc-stat__hint{font-size:13px;color:var(--vc-mut);margin-top:6px;line-height:1.45}

/* ---------- progress bar ---------- */
.vc-bar{height:6px;border-radius:99px;background:var(--vc-surface-3);overflow:hidden}
.vc-bar__fill{display:block;height:100%;border-radius:99px;background:var(--vc-community);transition:width .3s}
.vc-bar__fill--atencao{background:var(--vc-care)}
.vc-bar__fill--critico{background:var(--vc-danger)}

/* ---------- ITC score ---------- */
.vc-itc{display:flex;align-items:center;gap:16px;background:var(--vc-surface);border:1px solid var(--vc-line);border-radius:var(--vc-radius);padding:18px;box-shadow:var(--vc-shadow-sm)}
.vc-itc__score{text-align:center;flex:0 0 auto}
.vc-itc__number{font-size:34px;font-weight:800;color:var(--vc-community-txt);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.vc-itc__unit{font-family:var(--vc-font-mono);font-size:9px;letter-spacing:.16em;color:var(--vc-mut-2);margin-top:4px}
.vc-itc__body{flex:1;min-width:0}
.vc-itc__title{font-size:16px;font-weight:800;color:var(--vc-fg)}
.vc-itc__sub{font-size:13.5px;color:var(--vc-mut);margin-top:3px;line-height:1.45}
.vc-itc__bar{margin-top:10px}

/* ---------- expense card ---------- */
.vc-expense{background:var(--vc-surface);border:1px solid var(--vc-line);border-radius:var(--vc-radius);padding:18px;box-shadow:var(--vc-shadow-sm)}
.vc-expense__head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.vc-expense__title{font-size:16px;font-weight:800;color:var(--vc-fg);flex:1;min-width:140px}
.vc-expense__value{font-size:19px;font-weight:800;color:var(--vc-fg);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.vc-expense__supplier{font-size:13.5px;color:var(--vc-mut);margin-top:2px;font-weight:400}
.vc-expense__desc{font-size:14px;color:var(--vc-fg-2);margin-top:12px;line-height:1.55}
.vc-expense__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:14px}
.vc-expense__cell{border:1px solid var(--vc-line-2);border-radius:10px;padding:10px 12px}
.vc-expense__k{font-family:var(--vc-font-mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--vc-mut-2)}
.vc-expense__v{font-size:14px;font-weight:700;color:var(--vc-fg);margin-top:3px;font-variant-numeric:tabular-nums}
.vc-expense__just{font-size:13.5px;color:var(--vc-mut);margin-top:14px;line-height:1.55;border-top:1px solid var(--vc-line-2);padding-top:12px}
.vc-expense__just b{color:var(--vc-fg-2)}

/* ---------- field ---------- */
.vc-field{margin-bottom:0}
.vc-field__label{display:block;font-size:14px;font-weight:700;color:var(--vc-fg);margin-bottom:6px}
.vc-field__opt{font-weight:400;color:var(--vc-mut-2)}
.vc-field__control{width:100%;background:var(--vc-surface-2);border:1px solid var(--vc-line);border-radius:var(--vc-radius-sm);padding:12px 14px;min-height:var(--vc-touch);font-family:var(--vc-font);font-size:16px;color:var(--vc-fg)}
.vc-field__control:focus{background:var(--vc-surface);border-color:var(--vc-community);outline:none}
.vc-field__control::placeholder{color:var(--vc-mut-2)}
textarea.vc-field__control{min-height:96px;resize:vertical;line-height:1.55}
.vc-field__hint{font-size:13px;color:var(--vc-mut-2);margin-top:5px}
.vc-field__error{font-size:13.5px;color:var(--vc-danger);margin-top:5px;font-weight:600}
.vc-field--invalid .vc-field__control{border-color:var(--vc-danger);background:var(--vc-danger-bg)}

/* ---------- checkbox / consent ---------- */
.vc-check{display:flex;gap:11px;align-items:flex-start;cursor:pointer}
.vc-check__box{width:20px;height:20px;flex:0 0 auto;margin-top:2px;accent-color:var(--vc-community);cursor:pointer}
.vc-check__label{font-size:14.5px;color:var(--vc-fg-2);line-height:1.5}
.vc-consent{background:var(--vc-surface-2);border:1px solid var(--vc-line);border-radius:12px;padding:15px}
.vc-consent__base{display:inline-block;margin-top:8px;font-family:var(--vc-font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--vc-ok-bg);color:var(--vc-community-txt);padding:3px 8px;border-radius:6px}
.vc-consent__effect{font-size:13px;color:var(--vc-mut);margin-top:8px;line-height:1.5}
.vc-consent__effect b{color:var(--vc-fg-2)}

/* ---------- module tile ---------- */
.vc-module{position:relative;background:var(--vc-surface);border:1px solid var(--vc-line);border-radius:var(--vc-radius);padding:16px 12px;text-align:center;min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}
.vc-module--acao{border-color:#F3B9B9}
.vc-module__icon{width:44px;height:44px;border-radius:12px;background:var(--vc-ok-bg);display:grid;place-items:center;font-size:20px}
.vc-module__label{font-size:13.5px;font-weight:700;color:var(--vc-fg);line-height:1.25}
.vc-module__badge{position:absolute;top:8px;right:8px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;display:grid;place-items:center;font-size:11.5px;font-weight:800;color:#FFFFFF;font-variant-numeric:tabular-nums}
.vc-module__badge--acao{background:var(--vc-danger)}
.vc-module__badge--novidade{background:var(--vc-ok)}

/* ---------- abas de perfil ---------- */
.perfil-tab{
  min-height:44px;padding:11px 18px;border-radius:99px;font-family:var(--vc-font);
  font-size:15px;font-weight:700;cursor:pointer;
  background:var(--vc-surface);color:var(--vc-mut);border:1px solid var(--vc-line);
  transition:background .15s,color .15s,border-color .15s;
}
.perfil-tab:hover{border-color:var(--vc-mut-2)}
.perfil-tab.is-on{background:var(--vc-community);color:#fff;border-color:var(--vc-community)}
