/* ============================================================
   Autêntica · Sistema de Receita (RevOps)
   Protótipo navegável — design system Autêntica
   ============================================================ */

/* ---- Fonts ---- */
@font-face { font-family:"Source Serif 4"; src:url("fonts/SourceSerif4-VariableFont.ttf") format("truetype"); font-weight:200 900; font-style:normal; font-display:swap; }
@font-face { font-family:"Source Serif 4"; src:url("fonts/SourceSerif4-Italic-VariableFont.ttf") format("truetype"); font-weight:200 900; font-style:italic; font-display:swap; }
@font-face { font-family:"General Sans"; src:url("fonts/GeneralSans-Light.otf") format("opentype"); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:"General Sans"; src:url("fonts/GeneralSans-Regular.otf") format("opentype"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"General Sans"; src:url("fonts/GeneralSans-Medium.otf") format("opentype"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"General Sans"; src:url("fonts/GeneralSans-Semibold.otf") format("opentype"); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:"General Sans"; src:url("fonts/GeneralSans-Bold.otf") format("opentype"); font-weight:700; font-style:normal; font-display:swap; }

:root {
  /* Brand palette */
  --azul-legado:#04121F; --azul-125:#0B3154; --azul-090:#04101C;
  --vinho-heraldico:#3A1110; --vinho-175:#BC3633; --vinho-125:#671D1C; --vinho-250:#E8ABAA;
  --ouro-heranca:#A87E43; --ouro-250:#E2CFB5; --ouro-175:#CEAF84; --ouro-125:#BA8F53; --ouro-075:#7E5E32;
  --grafite-nobre:#2C2C2D;
  --taupe-classico:#AAA097; --taupe-125:#85786C; --taupe-150:#6E645A;
  --areia-essencial:#E6DFD6; --areia-125:#D1C4B4; --marfim-puro:#F5F1EB; --neutral-000:#FFFFFF;

  --surface-canvas:var(--marfim-puro);
  --surface-raised:var(--neutral-000);
  --surface-sunken:var(--areia-essencial);
  --surface-inverse:var(--azul-legado);

  --text-strong:var(--azul-legado);
  --text-body:#22303C;
  --text-muted:var(--taupe-150);
  --text-faint:var(--taupe-100,#AAA097);
  --text-gold:var(--ouro-heranca);
  --text-on-dark:var(--marfim-puro);
  --text-on-dark-muted:#9AA3AC;

  --line-hairline:rgba(4,18,31,0.10);
  --line-soft:rgba(4,18,31,0.16);
  --line-on-dark:rgba(245,241,235,0.14);
  --line-on-dark-soft:rgba(245,241,235,0.08);

  --status-success:#4F6B4A;
  --status-danger:var(--vinho-175);
  --status-warning:var(--ouro-125);

  --font-serif:"Source Serif 4",Georgia,serif;
  --font-sans:"General Sans","Helvetica Neue",Arial,sans-serif;

  --shadow-sm:0 2px 8px rgba(4,18,31,0.07);
  --shadow-md:0 8px 24px rgba(4,18,31,0.09);
  --shadow-lg:0 24px 60px -12px rgba(4,18,31,0.18);
  --shadow-gold:0 6px 20px -6px rgba(168,126,67,0.45);

  --ease:cubic-bezier(0.22,0.61,0.36,1);
  --ease-entrance:cubic-bezier(0.16,0.84,0.44,1);

  --tr-eyebrow:0.22em; --tr-cta:0.16em; --tr-number:-0.03em;

  --radius-sm:4px; --radius-md:8px; --radius-lg:12px; --radius-pill:999px;
  --sidebar-w:264px;
}

*{box-sizing:border-box; margin:0; padding:0;}
[hidden]{display:none !important;}
html{-webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
body{
  font-family:var(--font-sans); font-weight:400; color:var(--text-body);
  background:var(--surface-canvas); line-height:1.6; font-size:16px;
}
button{font-family:inherit; cursor:pointer; border:none; background:none;}
::selection{background:var(--ouro-250); color:var(--azul-legado);}

/* ============================================================
   Layout shell
   ============================================================ */
.app{display:flex; min-height:100vh;}

/* ---- Sidebar ---- */
.sidebar{
  width:var(--sidebar-w); flex-shrink:0; background:var(--azul-legado);
  color:var(--text-on-dark); position:fixed; top:0; left:0; bottom:0;
  display:flex; flex-direction:column; z-index:100;
  border-right:1px solid var(--line-on-dark-soft);
}
.sidebar__brand{padding:28px 24px 22px; display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--line-on-dark-soft);}
.sidebar__brand img{height:30px; width:auto;}
.sidebar__brand .wordmark{display:flex; flex-direction:column; line-height:1;}
.sidebar__brand .wordmark b{font-family:var(--font-serif); font-weight:500; font-size:1.15rem; color:var(--marfim-puro); letter-spacing:0.01em;}
.sidebar__brand .wordmark span{font-size:0.6rem; letter-spacing:var(--tr-eyebrow); text-transform:uppercase; color:var(--ouro-175); margin-top:5px; font-weight:600;}

.nav{padding:16px 14px; flex:1; overflow-y:auto;}
.nav__group{margin-bottom:22px;}
.nav__label{font-size:0.6rem; letter-spacing:var(--tr-eyebrow); text-transform:uppercase; color:var(--text-on-dark-muted); padding:0 12px 10px; font-weight:600;}
.nav__item{
  display:flex; align-items:center; gap:12px; width:100%; text-align:left;
  padding:10px 12px; border-radius:var(--radius-sm); color:var(--text-on-dark);
  font-size:0.9rem; font-weight:400; letter-spacing:0.01em; margin-bottom:2px;
  transition:background var(--ease) 160ms, color var(--ease) 160ms; position:relative;
}
.nav__item:hover{background:rgba(245,241,235,0.05);}
.nav__item.is-active{background:rgba(168,126,67,0.14); color:var(--marfim-puro); font-weight:500;}
.nav__item.is-active::before{content:""; position:absolute; left:0; top:8px; bottom:8px; width:2px; background:var(--ouro-heranca); border-radius:2px;}
.nav__item .ico{width:18px; height:18px; flex-shrink:0; opacity:0.85;}
.nav__item.is-active .ico{opacity:1;}
.nav__item .soon{margin-left:auto; font-size:0.55rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-on-dark-muted); border:1px solid var(--line-on-dark); padding:2px 6px; border-radius:var(--radius-pill);}

.sidebar__foot{padding:16px 20px; border-top:1px solid var(--line-on-dark-soft); display:flex; align-items:center; gap:11px;}
.sidebar__foot .who{flex:1; min-width:0;}
.sidebar__foot .who b{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.logout{flex-shrink:0; width:32px; height:32px; border-radius:var(--radius-sm); color:var(--text-on-dark-muted); display:flex; align-items:center; justify-content:center; transition:all var(--ease) 160ms;}
.logout svg{width:17px; height:17px;}
.logout:hover{background:rgba(245,241,235,0.06); color:var(--vinho-250);}

/* ============================================================
   Tela de autenticação (login / cadastro)
   ============================================================ */
.authwrap{min-height:100vh; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:minmax(100vh,auto);}
@media(max-width:860px){.authwrap{grid-template-columns:1fr}}
.authcard{display:flex; flex-direction:column; justify-content:center; padding:clamp(32px,6vw,88px); max-width:560px; margin:0 auto; width:100%;}
.authbrand{display:flex; align-items:center; gap:12px; margin-bottom:40px;}
.authbrand img{height:34px;}
.authbrand b{font-family:var(--font-serif); font-weight:500; font-size:1.2rem; color:var(--text-strong); display:block; line-height:1;}
.authbrand span{font-size:0.6rem; letter-spacing:var(--tr-eyebrow); text-transform:uppercase; color:var(--ouro-075); font-weight:600;}
.authcard h1{font-family:var(--font-serif); font-weight:500; font-size:2rem; color:var(--text-strong); letter-spacing:-0.015em;}
.authsub{color:var(--text-muted); margin-top:10px; font-size:0.98rem; line-height:1.6;}
.authform{display:flex; flex-direction:column; gap:16px; margin-top:30px;}
.authform label{display:flex; flex-direction:column; gap:7px; font-size:0.8rem; font-weight:600; color:var(--text-strong); letter-spacing:0.01em;}
.authform input{padding:12px 14px; border:1.5px solid var(--line-soft); border-radius:var(--radius-sm); font-family:var(--font-sans); font-size:1rem; color:var(--text-strong); background:var(--surface-raised); transition:border-color var(--ease) 160ms, box-shadow var(--ease) 160ms;}
.authform input:focus{outline:none; border-color:var(--ouro-heranca); box-shadow:0 0 0 3px var(--focus-ring,rgba(168,126,67,.28));}
.autherr{color:var(--vinho-175); font-size:0.85rem; font-weight:500; min-height:1.1em;}
.authtoggle{margin-top:24px; font-size:0.9rem; color:var(--text-muted);}
.authtoggle a{color:var(--ouro-075); font-weight:600; text-decoration:none;}
.authtoggle a:hover{text-decoration:underline; text-underline-offset:3px;}
.authaside{background:var(--azul-legado); color:var(--text-on-dark); display:flex; flex-direction:column; justify-content:center; padding:clamp(40px,6vw,96px); position:relative; overflow:hidden;}
@media(max-width:860px){.authaside{display:none}}
.authaside__crest{position:absolute; right:-60px; top:50%; transform:translateY(-50%); width:420px; height:420px; background:url("logos/crest-light.png") no-repeat center/contain; opacity:0.07;}
.authaside blockquote{font-family:var(--font-serif); font-style:italic; font-size:1.7rem; line-height:1.4; color:var(--marfim-puro); max-width:16ch; position:relative;}
.authaside__by{margin-top:28px; font-size:0.68rem; letter-spacing:var(--tr-eyebrow); text-transform:uppercase; color:var(--ouro-175); font-weight:600;}
.authforgot{align-self:flex-end; margin-top:-2px; font-size:0.78rem; font-weight:600; color:var(--ouro-075); text-decoration:none;}
.authforgot:hover{text-decoration:underline; text-underline-offset:3px;}
.authflash{background:rgba(79,107,74,0.10); color:var(--status-success); border-left:2px solid var(--status-success); padding:11px 15px; border-radius:var(--radius-sm); font-size:0.86rem; font-weight:500; margin-top:22px;}

/* banner de e-mail não confirmado */
#verifybar{display:flex; align-items:center; gap:16px; background:var(--vinho-heraldico); color:var(--marfim-puro); padding:11px 40px; font-size:0.86rem; font-family:var(--font-sans);}
#verifybar span{flex:1;}
#verifybar button{flex-shrink:0; background:rgba(245,241,235,0.12); color:var(--marfim-puro); border:1px solid var(--line-on-dark); padding:6px 14px; border-radius:var(--radius-sm); font-size:0.78rem; font-weight:600; transition:background var(--ease) 160ms;}
#verifybar button:hover:not(:disabled){background:rgba(245,241,235,0.2);}
#verifybar button:disabled{opacity:0.7; cursor:default;}
.avatar{width:34px; height:34px; border-radius:var(--radius-pill); background:var(--vinho-heraldico); color:var(--marfim-puro); display:flex; align-items:center; justify-content:center; font-family:var(--font-serif); font-weight:600; font-size:0.9rem;}
.sidebar__foot .who{line-height:1.3;}
.sidebar__foot .who b{display:block; font-size:0.82rem; font-weight:500; color:var(--marfim-puro);}
.sidebar__foot .who span{font-size:0.68rem; color:var(--text-on-dark-muted);}

/* ---- Main ---- */
.main{margin-left:var(--sidebar-w); flex:1; min-width:0;}
.topbar{
  height:68px; background:rgba(245,241,235,0.86); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-hairline); position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between; padding:0 40px;
}
.topbar__crumb{font-size:0.8rem; color:var(--text-muted); letter-spacing:0.02em;}
.topbar__crumb b{color:var(--text-strong); font-weight:600;}
.topbar__right{display:flex; align-items:center; gap:14px;}
.period{display:flex; align-items:center; gap:8px; font-size:0.82rem; color:var(--text-muted); border:1px solid var(--line-hairline); padding:8px 14px; border-radius:var(--radius-pill); background:var(--surface-raised);}
.period b{color:var(--text-strong); font-weight:500;}

.view{padding:40px; max-width:1240px; margin:0 auto; animation:fade 420ms var(--ease-entrance);}
@keyframes fade{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}

/* ---- Page header ---- */
.eyebrow{font-size:0.68rem; letter-spacing:var(--tr-eyebrow); text-transform:uppercase; font-weight:600; color:var(--text-gold);}
.page-head{margin-bottom:32px; border-bottom:1px solid var(--line-hairline); padding-bottom:24px;}
.page-head h1{font-family:var(--font-serif); font-weight:500; font-size:2.4rem; color:var(--text-strong); letter-spacing:-0.015em; margin-top:10px; line-height:1.1;}
.page-head p{max-width:64ch; margin-top:12px; color:var(--text-muted); font-size:1.02rem; line-height:1.65;}

/* ============================================================
   Cards & primitives
   ============================================================ */
.card{background:var(--surface-raised); border:1px solid var(--line-hairline); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); position:relative;}
.card--gold{border-top:2px solid var(--ouro-heranca);}
.card--click,.stat--click{cursor:pointer; transition:transform var(--ease) 180ms, box-shadow var(--ease) 180ms, border-color var(--ease) 180ms;}
.card--click:hover,.stat--click:hover{transform:translateY(-2px); box-shadow:var(--shadow-md); border-color:var(--areia-125);}
.card--click:focus-visible,.stat--click:focus-visible{outline:2px solid var(--ouro-heranca); outline-offset:2px;}
.stat--click::after{content:"→"; position:absolute; top:20px; right:20px; color:var(--ouro-075); font-weight:600; opacity:0; transition:opacity var(--ease) 180ms;}
.stat--click:hover::after{opacity:1;}
.card__head{padding:22px 24px 0; display:flex; align-items:flex-start; justify-content:space-between; gap:16px;}
.card__title{font-family:var(--font-serif); font-weight:500; font-size:1.2rem; color:var(--text-strong); letter-spacing:-0.01em;}
.card__sub{font-size:0.82rem; color:var(--text-muted); margin-top:4px;}
.card__body{padding:20px 24px 24px;}

.grid{display:grid; gap:20px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:1080px){.grid-4{grid-template-columns:repeat(2,1fr);} .grid-3{grid-template-columns:1fr;} .grid-2{grid-template-columns:1fr;}}

/* ---- KPI stat ---- */
.stat{background:var(--surface-raised); border:1px solid var(--line-hairline); border-radius:var(--radius-md); padding:22px 22px 20px; box-shadow:var(--shadow-sm); position:relative; overflow:hidden;}
.stat__label{font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-muted); font-weight:600;}
.stat__value{font-family:var(--font-serif); font-weight:600; font-size:2.5rem; color:var(--text-strong); letter-spacing:var(--tr-number); line-height:1; margin-top:14px;}
.stat__value small{font-size:1.1rem; font-weight:500; color:var(--text-muted); letter-spacing:0;}
.stat__delta{display:inline-flex; align-items:center; gap:5px; margin-top:12px; font-size:0.8rem; font-weight:600; padding:3px 9px; border-radius:var(--radius-pill);}
.stat__delta.up{color:var(--status-success); background:rgba(79,107,74,0.10);}
.stat__delta.down{color:var(--status-danger); background:rgba(188,54,51,0.09);}
.stat__delta.down.good{color:var(--status-success); background:rgba(79,107,74,0.10);}
.stat__foot{font-size:0.74rem; color:var(--text-faint); margin-top:10px;}

/* ---- Tags / pills ---- */
.tag{display:inline-flex; align-items:center; gap:6px; font-size:0.7rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; padding:4px 10px; border-radius:var(--radius-pill);}
.tag--gold{background:rgba(168,126,67,0.12); color:var(--ouro-075);}
.tag--danger{background:rgba(188,54,51,0.10); color:var(--vinho-175);}
.tag--warn{background:rgba(168,126,67,0.14); color:var(--ouro-075);}
.tag--ok{background:rgba(79,107,74,0.12); color:var(--status-success);}
.tag--navy{background:rgba(11,49,84,0.10); color:var(--azul-125);}

/* ---- Buttons ---- */
.btn{display:inline-flex; align-items:center; gap:9px; font-family:var(--font-sans); font-weight:600; font-size:0.82rem; letter-spacing:0.02em; padding:12px 22px; border-radius:var(--radius-sm); transition:all var(--ease) 180ms;}
.btn--gold{background:var(--ouro-heranca); color:var(--azul-legado); box-shadow:var(--shadow-gold);}
.btn--gold:hover{background:var(--ouro-125); transform:translateY(-1px);}
.btn--ghost{background:transparent; color:var(--text-strong); border:1px solid var(--line-soft);}
.btn--ghost:hover{border-color:var(--ouro-heranca); color:var(--ouro-075);}
.btn--dark{background:var(--azul-legado); color:var(--marfim-puro);}
.btn--dark:hover{background:var(--azul-125);}

/* ============================================================
   AI Diagnostic module (o "uau")
   ============================================================ */
.ai-hero{
  background:var(--azul-legado); color:var(--text-on-dark); border-radius:var(--radius-lg);
  padding:34px 36px; position:relative; overflow:hidden; box-shadow:var(--shadow-lg);
}
.ai-hero::after{
  content:""; position:absolute; right:-40px; top:-40px; width:340px; height:340px;
  background:url("logos/crest-light.png") no-repeat center/contain; opacity:0.06; pointer-events:none;
}
.ai-hero__tag{display:inline-flex; align-items:center; gap:9px; font-size:0.68rem; letter-spacing:var(--tr-eyebrow); text-transform:uppercase; font-weight:600; color:var(--ouro-175);}
.ai-hero__tag .dot{width:7px; height:7px; border-radius:50%; background:var(--ouro-heranca); box-shadow:0 0 0 0 rgba(168,126,67,0.6); animation:pulse 2.4s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(168,126,67,0.5);}70%{box-shadow:0 0 0 8px rgba(168,126,67,0);}100%{box-shadow:0 0 0 0 rgba(168,126,67,0);}}
.ai-hero h2{font-family:var(--font-serif); font-weight:500; font-size:1.9rem; line-height:1.22; margin-top:16px; max-width:24ch; letter-spacing:-0.01em; color:var(--marfim-puro);}
.ai-hero h2 em{font-style:italic; color:var(--ouro-175);}
.ai-hero__row{display:flex; gap:40px; margin-top:26px; flex-wrap:wrap; align-items:flex-end;}
.ai-hero__metric .k{font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-on-dark-muted); font-weight:600;}
.ai-hero__metric .v{font-family:var(--font-serif); font-weight:600; font-size:2.3rem; letter-spacing:var(--tr-number); color:var(--marfim-puro); margin-top:6px; line-height:1;}
.ai-hero__metric .v.gold{color:var(--ouro-175);}
.ai-hero__actions{margin-top:28px; display:flex; gap:12px; flex-wrap:wrap;}

/* ---- Leak list ---- */
.leak{display:flex; gap:18px; padding:20px 0; border-top:1px solid var(--line-hairline);}
.leak:first-child{border-top:none;}
.leak__rank{font-family:var(--font-serif); font-weight:600; font-size:1.5rem; color:var(--areia-125); width:34px; flex-shrink:0; letter-spacing:var(--tr-number);}
.leak__main{flex:1; min-width:0;}
.leak__top{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.leak__name{font-weight:600; font-size:1.02rem; color:var(--text-strong);}
.leak__desc{color:var(--text-muted); font-size:0.9rem; margin-top:6px; line-height:1.55; max-width:70ch;}
.leak__rec{margin-top:12px; padding:12px 16px; background:var(--surface-sunken); border-radius:var(--radius-sm); border-left:2px solid var(--ouro-heranca); font-size:0.88rem; color:var(--text-body);}
.leak__rec b{color:var(--text-strong);}
.leak--click{cursor:pointer; margin:0 -16px; padding-left:16px; padding-right:16px; border-radius:var(--radius-sm); transition:background var(--ease) 160ms;}
.leak--click:hover{background:var(--surface-sunken);}
.leak--click:focus-visible{outline:2px solid var(--ouro-heranca); outline-offset:2px;}
.leak__link{display:inline-block; margin-top:12px; font-size:0.8rem; font-weight:600; color:var(--ouro-075); letter-spacing:0.01em; opacity:0; transform:translateX(-4px); transition:all var(--ease) 180ms;}
.leak--click:hover .leak__link, .leak--click:focus-visible .leak__link{opacity:1; transform:translateX(0);}
.leak__cost{flex-shrink:0; text-align:right; min-width:130px;}
.leak__cost .n{font-family:var(--font-serif); font-weight:600; font-size:1.4rem; color:var(--vinho-175); letter-spacing:var(--tr-number);}
.leak__cost .l{font-size:0.68rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--text-faint); margin-top:3px;}

/* ---- Simulator ---- */
.sim{display:grid; grid-template-columns:1.1fr 1fr; gap:0;}
@media(max-width:960px){.sim{grid-template-columns:1fr;}}
.sim__controls{padding:26px 28px; border-right:1px solid var(--line-hairline);}
@media(max-width:960px){.sim__controls{border-right:none; border-bottom:1px solid var(--line-hairline);}}
.sim__out{padding:26px 28px; background:var(--surface-sunken); border-radius:0 var(--radius-md) var(--radius-md) 0;}
@media(max-width:960px){.sim__out{border-radius:0 0 var(--radius-md) var(--radius-md);}}
.lever{margin-bottom:24px;}
.lever__top{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px;}
.lever__name{font-size:0.9rem; font-weight:500; color:var(--text-strong);}
.lever__val{font-family:var(--font-serif); font-weight:600; font-size:1.15rem; color:var(--ouro-075); letter-spacing:var(--tr-number);}
input[type=range]{-webkit-appearance:none; width:100%; height:4px; border-radius:var(--radius-pill); background:var(--areia-125); outline:none;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; width:20px; height:20px; border-radius:50%; background:var(--azul-legado); border:3px solid var(--marfim-puro); box-shadow:var(--shadow-sm); cursor:pointer; transition:transform 140ms var(--ease);}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15); background:var(--ouro-heranca);}
.lever__scale{display:flex; justify-content:space-between; font-size:0.68rem; color:var(--text-faint); margin-top:7px;}
.lever__bench{font-size:0.7rem; color:var(--text-muted); margin-top:6px;}
.lever__bench b{color:var(--status-success);}

.sim__result{margin-bottom:20px;}
.sim__result .k{font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-muted); font-weight:600;}
.sim__result .v{font-family:var(--font-serif); font-weight:600; font-size:2.9rem; color:var(--azul-legado); letter-spacing:var(--tr-number); line-height:1; margin-top:8px; transition:color 200ms;}
.sim__result .cmp{font-size:0.82rem; color:var(--text-muted); margin-top:8px;}
.sim__result .cmp b{color:var(--status-success); font-weight:600;}
.sim__reset{font-size:0.78rem; color:var(--text-muted); text-decoration:underline; text-underline-offset:3px;}
.sim__reset:hover{color:var(--ouro-075);}

/* ============================================================
   Funnel (Bowtie)
   ============================================================ */
.bowtie{display:flex; align-items:stretch; gap:0; overflow-x:auto; padding:8px 0;}
.bstage{flex:1; min-width:150px; padding:0 6px; text-align:center; position:relative;}
.bstage__bar{margin:0 auto; background:var(--azul-legado); border-radius:var(--radius-sm); display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--marfim-puro); transition:all 500ms var(--ease); position:relative;}
.bstage:nth-child(2) .bstage__bar{background:var(--azul-125);}
.bstage:nth-child(3) .bstage__bar{background:var(--vinho-125);}
.bstage:nth-child(4) .bstage__bar{background:var(--vinho-heraldico);}
.bstage__bar .num{font-family:var(--font-serif); font-weight:600; font-size:1.6rem; letter-spacing:var(--tr-number);}
.bstage__bar .un{font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; opacity:0.75; margin-top:2px;}
.bstage__name{font-size:0.78rem; font-weight:600; color:var(--text-strong); margin-top:14px; text-transform:uppercase; letter-spacing:0.06em;}
.bstage__conv{position:absolute; top:50%; right:-2px; transform:transl(0,-50%); z-index:2;}
.conv-badge{position:absolute; top:calc(50% - 46px); right:-30px; z-index:5; background:var(--marfim-puro); border:1px solid var(--line-soft); border-radius:var(--radius-pill); padding:4px 11px; font-size:0.74rem; font-weight:700; color:var(--azul-legado); box-shadow:var(--shadow-sm); white-space:nowrap;}
.conv-badge.good{border-color:var(--status-success); color:var(--status-success);}
.conv-badge.bad{border-color:var(--vinho-175); color:var(--vinho-175);}

/* ---- Compare table (antes/depois) ---- */
.ctable{width:100%; border-collapse:collapse;}
.ctable th{text-align:left; font-size:0.66rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-muted); font-weight:600; padding:0 16px 14px; border-bottom:1px solid var(--line-soft);}
.ctable th.r,.ctable td.r{text-align:right;}
.ctable td{padding:15px 16px; border-bottom:1px solid var(--line-hairline); font-size:0.94rem; color:var(--text-body);}
.ctable tr:last-child td{border-bottom:none;}
.ctable .metric{font-weight:500; color:var(--text-strong);}
.ctable .before{color:var(--text-muted); font-variant-numeric:tabular-nums;}
.ctable .after{font-family:var(--font-serif); font-weight:600; color:var(--text-strong); font-variant-numeric:tabular-nums; letter-spacing:var(--tr-number);}
.ctable tr.total td{border-top:2px solid var(--ouro-heranca); background:rgba(168,126,67,0.05); padding-top:18px; padding-bottom:18px;}
.ctable tr.total .metric{font-family:var(--font-serif); font-size:1.05rem;}
.ctable tr.total .after{color:var(--ouro-075); font-size:1.25rem;}
.chg{display:inline-flex; align-items:center; gap:4px; font-size:0.8rem; font-weight:600;}
.chg.up{color:var(--status-success);} .chg.down{color:var(--vinho-175);} .chg.down.good{color:var(--status-success);}

/* ============================================================
   Journey / RevOps alignment
   ============================================================ */
.revops{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media(max-width:900px){.revops{grid-template-columns:1fr;}}
.rcol{border-radius:var(--radius-md); padding:22px; border:1px solid var(--line-hairline); background:var(--surface-raised); box-shadow:var(--shadow-sm);}
.rcol__h{display:flex; align-items:center; gap:10px; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--line-hairline);}
.rcol__h .dot{width:10px; height:10px; border-radius:2px;}
.rcol__h b{font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-strong); font-weight:600;}
.rcol__h .own{margin-left:auto; font-size:0.7rem; color:var(--text-faint);}
.rstep{padding:11px 0; border-bottom:1px dashed var(--line-hairline); display:flex; justify-content:space-between; gap:10px; font-size:0.88rem;}
.rstep:last-child{border-bottom:none;}
.rstep span{color:var(--text-body);}
.rstep b{color:var(--text-strong); font-variant-numeric:tabular-nums; font-weight:600;}

/* ============================================================
   Placeholder / roadmap views
   ============================================================ */
.stub{text-align:center; padding:72px 40px; max-width:640px; margin:20px auto;}
.stub__crest{width:76px; height:76px; margin:0 auto 24px; opacity:0.5; background:url("logos/crest-dark.png") no-repeat center/contain;}
.stub h2{font-family:var(--font-serif); font-weight:500; font-size:2rem; color:var(--text-strong); letter-spacing:-0.01em;}
.stub p{color:var(--text-muted); margin-top:14px; line-height:1.7; font-size:1rem;}
.stub__list{text-align:left; margin:28px auto 0; max-width:460px; display:grid; gap:2px;}
.stub__list .it{display:flex; gap:12px; align-items:flex-start; padding:13px 16px; border:1px solid var(--line-hairline); border-radius:var(--radius-sm); background:var(--surface-raised); font-size:0.92rem;}
.stub__list .it .n{font-family:var(--font-serif); color:var(--ouro-075); font-weight:600; flex-shrink:0;}
.stub__list .it b{color:var(--text-strong); font-weight:600;}
.stub__list .it p{margin:2px 0 0; font-size:0.82rem; color:var(--text-muted);}

/* ---- misc ---- */
.mb-lg{margin-bottom:32px;} .mb-md{margin-bottom:20px;}
.section-label{display:flex; align-items:center; gap:14px; margin:36px 0 18px;}
.section-label h3{font-family:var(--font-serif); font-weight:500; font-size:1.35rem; color:var(--text-strong); letter-spacing:-0.01em;}
.section-label .rule{flex:1; height:1px; background:var(--line-hairline);}
.hint{font-size:0.82rem; color:var(--text-faint); font-style:italic; font-family:var(--font-serif);}
.hl{color:var(--ouro-075); font-weight:600;}

/* ============================================================
   Qualificação · SDR→AE
   ============================================================ */
.banner-fix{background:var(--azul-legado); color:var(--text-on-dark); border-radius:var(--radius-md); padding:20px 26px; display:flex; align-items:center; gap:26px; box-shadow:var(--shadow-md);}
.banner-fix__t{font-family:var(--font-serif); font-weight:500; font-size:1.25rem; color:var(--marfim-puro); margin-top:6px; letter-spacing:-.01em;}
.banner-fix__n{margin-left:auto; font-family:var(--font-serif); font-weight:600; font-size:1.9rem; color:var(--ouro-175); letter-spacing:var(--tr-number); line-height:1;}
.banner-fix__n span{display:block; font-family:var(--font-sans); font-size:.7rem; font-weight:500; color:var(--text-on-dark-muted); letter-spacing:.06em; text-transform:uppercase; margin-top:4px;}
@media(max-width:820px){.banner-fix{flex-wrap:wrap; gap:14px} .banner-fix__n{margin-left:0}}

.icp-list{list-style:none; display:grid; gap:10px;}
.icp-list li{position:relative; padding-left:18px; font-size:.88rem; line-height:1.5; color:var(--text-body);}
.icp-list li::before{content:""; position:absolute; left:0; top:9px; width:5px; height:5px; border-radius:50%; background:var(--ouro-heranca);}

.spiced{display:flex; gap:18px; padding:18px 0; border-top:1px solid var(--line-hairline);}
.spiced:first-child{border-top:none;}
.spiced__l{flex-shrink:0; width:48px; height:48px; border-radius:var(--radius-sm); background:var(--surface-inverse); color:var(--ouro-175); font-family:var(--font-serif); font-weight:600; font-size:1.15rem; display:flex; align-items:center; justify-content:center; letter-spacing:-.02em;}
.spiced__name{font-weight:600; font-size:1rem; color:var(--text-strong);}
.spiced__q{font-family:var(--font-serif); font-style:italic; font-size:1.05rem; color:var(--vinho-125); margin-top:6px; line-height:1.45;}
.spiced__cap{margin-top:8px; font-size:.85rem; color:var(--text-muted);}
.spiced__cap b{color:var(--text-strong); font-weight:600;}

.gate{display:flex; align-items:flex-start; gap:12px; padding:11px 0; cursor:pointer; border-bottom:1px solid var(--line-hairline);}
.gate:last-of-type{border-bottom:none;}
.gate input{position:absolute; opacity:0; width:0; height:0;}
.gate__box{flex-shrink:0; width:20px; height:20px; border:1.5px solid var(--line-strong,rgba(4,18,31,.28)); border-radius:var(--radius-xs); margin-top:1px; transition:all var(--ease) 140ms; position:relative;}
.gate input:checked + .gate__box{background:var(--status-success); border-color:var(--status-success);}
.gate input:checked + .gate__box::after{content:"✓"; position:absolute; inset:0; color:#fff; font-size:.8rem; display:flex; align-items:center; justify-content:center; font-weight:700;}
.gate input:focus-visible + .gate__box{outline:2px solid var(--ouro-heranca); outline-offset:2px;}
.gate__txt{font-size:.9rem; color:var(--text-body); line-height:1.4;}
.gate__score{margin-top:16px; padding-top:14px; border-top:2px solid var(--ouro-heranca); font-size:.9rem; color:var(--text-muted);}
.gate__score span{font-family:var(--font-serif); font-weight:600; font-size:1.05rem; color:var(--vinho-175);}
.gate__score span.ok{color:var(--status-success);}
.gate__score.is-done b{color:var(--status-success);}

.cad{display:flex; gap:14px; padding:11px 0; border-bottom:1px dashed var(--line-hairline);}
.cad:last-child{border-bottom:none;}
.cad__day{flex-shrink:0; width:38px; height:26px; border-radius:var(--radius-pill); background:var(--surface-sunken); color:var(--azul-125); font-size:.72rem; font-weight:700; display:flex; align-items:center; justify-content:center; letter-spacing:.02em;}
.cad__main b{font-size:.9rem; color:var(--text-strong); font-weight:600;}
.cad__main p{font-size:.8rem; color:var(--text-muted); margin-top:2px; line-height:1.45;}

.rote{display:flex; gap:18px; padding:18px 0; border-top:1px solid var(--line-hairline);}
.rote:first-child{border-top:none;}
.rote__n{flex-shrink:0; font-family:var(--font-serif); font-weight:600; font-size:1.5rem; color:var(--areia-125); letter-spacing:var(--tr-number); width:34px;}
.rote__top{display:flex; align-items:center; gap:12px;}
.rote__top b{font-size:1rem; color:var(--text-strong); font-weight:600;}
.rote__main p{font-size:.9rem; color:var(--text-muted); margin-top:6px; line-height:1.55; max-width:80ch;}

/* ============================================================
   Dados do Funil
   ============================================================ */
.dgrid{display:grid; gap:18px;}
.dfield label{display:block; font-size:.8rem; font-weight:600; color:var(--text-strong); letter-spacing:.02em; margin-bottom:8px;}
.dfield__in{display:flex; align-items:stretch; border:1.5px solid var(--line-soft); border-radius:var(--radius-sm); overflow:hidden; transition:border-color var(--ease) 160ms;}
.dfield__in:focus-within{border-color:var(--ouro-heranca); box-shadow:0 0 0 3px var(--focus-ring,rgba(168,126,67,.28));}
.dfield__in input{flex:1; border:none; outline:none; padding:11px 14px; font-family:var(--font-serif); font-weight:600; font-size:1.2rem; color:var(--text-strong); letter-spacing:var(--tr-number); background:var(--surface-raised); width:100%; -moz-appearance:textfield;}
.dfield__in input::-webkit-outer-spin-button,.dfield__in input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
.dfield__suf{display:flex; align-items:center; padding:0 14px; background:var(--surface-sunken); color:var(--text-muted); font-size:.82rem; font-weight:500; border-left:1px solid var(--line-hairline);}
.dfield__hint{font-size:.76rem; color:var(--text-faint); margin-top:7px; line-height:1.4;}
.dactions{display:flex; align-items:center; gap:20px; margin-top:26px; padding-top:22px; border-top:1px solid var(--line-hairline); flex-wrap:wrap;}
.dsaved{color:var(--status-success); font-weight:600; font-size:.85rem;}

.dprev__row{display:flex; justify-content:space-between; align-items:baseline; padding:13px 0; border-bottom:1px solid var(--line-hairline); font-size:.9rem;}
.dprev__row span{color:var(--text-muted);}
.dprev__row b{font-family:var(--font-serif); font-weight:600; font-size:1.1rem; color:var(--text-strong); letter-spacing:var(--tr-number); font-variant-numeric:tabular-nums;}
.dprev__row--big{border-bottom:none; border-top:2px solid var(--ouro-heranca); margin-top:6px; padding-top:16px;}
.dprev__row--big span{color:var(--text-strong); font-weight:500;}
.dprev__row--big b{font-size:1.7rem; color:var(--azul-legado);}
.dprev__pot{margin-top:14px; padding:12px 16px; background:var(--surface-sunken); border-left:2px solid var(--ouro-heranca); border-radius:var(--radius-sm); font-size:.86rem; color:var(--text-body);}
.dprev__pot b{color:var(--ouro-075); font-family:var(--font-serif); font-size:1.05rem;}

/* ============================================================
   Fase 2 · Playbook
   ============================================================ */
.pstep{display:grid; grid-template-columns:34px 1.3fr 1.6fr 1fr 1.2fr; gap:16px; align-items:center; padding:15px 0; border-top:1px solid var(--line-hairline);}
.pstep:first-child{border-top:none;}
.pstep__n{font-family:var(--font-serif); font-weight:600; font-size:1.2rem; color:var(--areia-125); letter-spacing:var(--tr-number);}
.pstep__stage{display:flex; flex-direction:column; gap:6px; align-items:flex-start;}
.pstep__stage b{font-size:.95rem; color:var(--text-strong); font-weight:600;}
.pstep__k{display:block; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-faint); font-weight:600; margin-bottom:3px;}
.pstep__done,.pstep__sla,.pstep__hand{font-size:.85rem; color:var(--text-body);}
@media(max-width:820px){.pstep{grid-template-columns:28px 1fr 1fr; gap:10px} .pstep__hand{display:none}}

.def{padding:12px 0; border-bottom:1px solid var(--line-hairline);}
.def:last-child{border-bottom:none;}
.def b{font-size:.9rem; color:var(--text-strong); font-weight:600;}
.def p{font-size:.84rem; color:var(--text-muted); margin-top:3px; line-height:1.5;}

.asset{display:flex; align-items:center; gap:13px; padding:12px 0; border-bottom:1px solid var(--line-hairline);}
.asset:last-child{border-bottom:none;}
.asset__ico{width:20px; height:20px; color:var(--ouro-075); flex-shrink:0;}
.asset__main{flex:1; min-width:0;}
.asset__main b{display:block; font-size:.9rem; color:var(--text-strong); font-weight:600;}
.asset__main span{font-size:.78rem; color:var(--text-muted);}
.asset__link{flex-shrink:0; font-size:.8rem; font-weight:600; color:var(--ouro-075); text-decoration:none;}
.asset__link:hover{text-decoration:underline; text-underline-offset:3px;}
.defgrid{display:grid; grid-template-columns:1fr 1fr; gap:0 32px;}
@media(max-width:720px){.defgrid{grid-template-columns:1fr;}}
.defgrid .def{border-bottom:1px solid var(--line-hairline);}

.ramp__t{font-family:var(--font-serif); font-weight:600; font-size:1.2rem; color:var(--text-strong); letter-spacing:-.01em;}
.ramp__d{font-size:.86rem; color:var(--text-muted); margin-top:8px; line-height:1.55;}

/* ============================================================
   Fase 2 · Time
   ============================================================ */
.rep-table td{padding:14px 12px;}
.repcell{display:flex; align-items:center; gap:11px;}
.repav{width:34px; height:34px; border-radius:var(--radius-pill); background:var(--azul-legado); color:var(--ouro-175); display:flex; align-items:center; justify-content:center; font-family:var(--font-serif); font-weight:600; font-size:.8rem; flex-shrink:0;}
.repcell b{display:block; font-size:.9rem; color:var(--text-strong); font-weight:600;}
.repcell span{font-size:.76rem; color:var(--text-muted);}

.ladder{display:flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid var(--line-hairline);}
.ladder:last-child{border-bottom:none;}
.ladder__lvl{flex-shrink:0; width:32px; height:32px; border-radius:var(--radius-sm); background:var(--surface-sunken); color:var(--ouro-075); font-family:var(--font-serif); font-weight:600; font-size:.85rem; display:flex; align-items:center; justify-content:center;}
.ladder__main{flex:1;}
.ladder__main b{display:block; font-size:.9rem; color:var(--text-strong); font-weight:600;}
.ladder__main span{font-size:.78rem; color:var(--text-muted);}
.ladder__pay{font-size:.82rem; color:var(--text-body); font-weight:500; text-align:right; font-variant-numeric:tabular-nums;}

/* ============================================================
   Fase 2 · Forecast
   ============================================================ */
.scen{display:flex; gap:8px;}
.scen__btn{flex:1; padding:9px 6px; border:1px solid var(--line-soft); border-radius:var(--radius-sm); font-size:.78rem; font-weight:600; color:var(--text-muted); background:var(--surface-raised); transition:all var(--ease) 160ms;}
.scen__btn:hover{border-color:var(--ouro-heranca); color:var(--ouro-075);}
.scen__btn.is-on{background:var(--azul-legado); color:var(--marfim-puro); border-color:var(--azul-legado);}

.tier{display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--line-hairline);}
.tier:last-child{border-bottom:none;}
.tier__main{flex:1;}
.tier__main b{display:block; font-size:.9rem; color:var(--text-strong); font-weight:600;}
.tier__main span{font-size:.82rem; color:var(--text-muted);}

.camp{display:flex; align-items:center; gap:12px; padding:13px 0; border-bottom:1px dashed var(--line-hairline);}
.camp:last-child{border-bottom:none;}
.camp__main{flex:1;}
.camp__main b{display:block; font-size:.9rem; color:var(--text-strong); font-weight:600;}
.camp__main span{font-size:.8rem; color:var(--text-muted);}
.camp__prize{font-size:.8rem; color:var(--ouro-075); font-weight:600; text-align:right; max-width:130px;}

/* form de cadastro de deal */
.dealform{display:flex; gap:14px; align-items:flex-end; flex-wrap:wrap; padding-bottom:20px; margin-bottom:8px; border-bottom:1px solid var(--line-hairline);}
.df-field{display:flex; flex-direction:column; gap:6px;}
.df-field.df-grow{flex:1; min-width:180px;}
.df-field.df-narrow{width:90px;}
.df-field label{font-size:.72rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--text-muted);}
.df-field input,.df-field select{padding:10px 12px; border:1.5px solid var(--line-soft); border-radius:var(--radius-sm); font-family:var(--font-sans); font-size:.92rem; color:var(--text-strong); background:var(--surface-raised);}
.df-field input:focus,.df-field select:focus{outline:none; border-color:var(--ouro-heranca); box-shadow:0 0 0 3px var(--focus-ring,rgba(168,126,67,.28));}
.df-field input[type=number]{width:120px;}
.df-actions{display:flex; align-items:center; gap:14px;}
.rowbtn{font-size:.78rem; font-weight:600; color:var(--azul-125); padding:4px 8px; border-radius:var(--radius-xs); transition:background var(--ease) 140ms;}
.rowbtn:hover{background:var(--surface-sunken);}
.rowbtn--del{color:var(--vinho-175);}
.rowbtn--del:hover{background:rgba(188,54,51,.08);}
.rowbtn--armed{background:var(--vinho-175); color:#fff;}
.rowbtn--armed:hover{background:var(--vinho-125);}
.df-err{color:var(--vinho-175); font-size:.84rem; font-weight:500; min-height:1.1em; margin-top:-4px; margin-bottom:6px;}

/* ============================================================
   Responsivo — degrada limpo em telas/painéis estreitos
   ============================================================ */
@media(max-width:820px){
  .ai-hero h2{font-size:1.5rem;}
  .ai-hero__row{gap:24px;}
  .leak{flex-wrap:wrap;}
  .leak__cost{text-align:left; min-width:0; margin-left:52px; margin-top:8px;}
  .leak__cost .n{font-size:1.2rem;}
  .view{padding:28px 22px;}
  .page-head h1{font-size:2rem;}
}
