/* Layout: coluna central larga; assistente com pergunta à esquerda e "Sua obra" à direita.
   Tokens: Design System · Portal de Projetos YouCon (exportado em 24/10/2026). Tema escuro é o padrão;
   o claro entra por [data-theme="light"], como no portal. */
:root{
  --bg:#121010; --card:#1e1916; --surface:#2a2420; --surface-hover:#342c27; --surface-ghost:#3d332d;
  --surface-inverse:#2a2420; --text-on-inverse:#ffffff;
  --border:rgba(255,255,255,.08); --border-strong:rgba(255,255,255,.16); --border-highlight:rgba(255,255,255,.18);
  --text:#ffffff; --text-2:#a8a09a; --text-3:#958b84; --text-on-brand:#ffffff;
  --brand:#fa5c2d; --brand-dark:#e8401c; --brand-amber:#f7a23b; --brand-yellow:#ffd36b; --brand-cream:#fff4dc;
  --brand-pastel:rgba(250,92,45,.12); --brand-pastel-hover:rgba(250,92,45,.20); --brand-text:#ff8257;
  --brand-fill:#d4431a; --brand-fill-hover:#c73d15;
  --brand-gradient:linear-gradient(135deg, #fa5c2d, #e8401c);
  --gradient-progress:linear-gradient(90deg, #e8401c 0%, #fa5c2d 55%, #ffd36b 100%);
  --gradient-flame:linear-gradient(0deg, #fa5c2d 0%, #ffd36b 70%, #fff4dc 100%);
  --gradient-highlight:radial-gradient(circle at 100% 0%, rgba(255,211,107,.55), rgba(255,211,107,0) 55%), linear-gradient(135deg, #fa5c2d, #e8401c);
  --metal:radial-gradient(circle at 50% 30%, #3a3533, #1c1918);
  --glow-ambient:radial-gradient(900px 520px at 100% 0%, rgba(232,64,28,.16), rgba(232,64,28,0) 70%);
  --danger:#ff5a4e; --danger-pastel:rgba(255,90,78,.15); --danger-text:#ff7d73;
  --warning:#f7a23b; --warning-pastel:rgba(247,162,59,.15); --warning-text:#f8b25f;
  --success:#4cd07d; --success-pastel:rgba(76,208,125,.15); --success-text:#5fd98c;
  --neutral-pastel:rgba(255,255,255,.06);
  --chart-1:#fa5c2d; --chart-2:#f7a23b; --chart-3:#a69890; --chart-4:#7d7069; --chart-5:#d4c9c1; --chart-6:#5c524c;
  --edge-light:inset 0 1px 0 rgba(255,255,255,.06);
  --shadow-pop:0 12px 32px rgba(0,0,0,.5);
  --shadow-float:0 12px 32px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06);
  --shadow-brand:0 8px 24px rgba(250,92,45,.28);
  --overlay:rgba(10,8,7,.62); --glass:rgba(30,25,22,.72);
  --focus:0 0 0 2px var(--bg), 0 0 0 4px var(--brand);
  --font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --fs-display:44px; --fs-page:32px; --fs-kpi:30px; --fs-value:22px; --fs-title:20px; --fs-md:16px; --fs-body:14px; --fs-sub:12.5px; --fs-label:11px;
  --r-card:20px; --r-inner:12px; --r-control:12px; --r-pill:999px;
  --control-h:40px; --hit:44px;
  --ease:cubic-bezier(0.2, 0.8, 0.2, 1); --dur:180ms; --dur-slow:400ms;
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#f4f4f4; --card:#ffffff; --surface:#f2f1f0; --surface-hover:#e9e7e5; --surface-ghost:#e2dfdc;
  --surface-inverse:#242424; --text-on-inverse:#ffffff;
  --border:rgba(5,5,5,.08); --border-strong:rgba(5,5,5,.16); --border-highlight:rgba(255,255,255,.9);
  --text:#050505; --text-2:#5c5c5c; --text-3:#6b6b6b;
  --brand-pastel:rgba(250,92,45,.10); --brand-pastel-hover:rgba(250,92,45,.17); --brand-text:#c93b12;
  --metal:radial-gradient(circle at 50% 30%, #ffffff, #ecebea);
  --glow-ambient:radial-gradient(900px 520px at 100% 0%, rgba(250,92,45,.08), rgba(250,92,45,0) 70%);
  --danger-pastel:rgba(229,62,50,.10); --danger-text:#c42a1f;
  --warning-pastel:rgba(247,162,59,.16); --warning-text:#95560a;
  --success-pastel:rgba(46,170,92,.12); --success-text:#17803f;
  --neutral-pastel:rgba(5,5,5,.05);
  --chart-1:#e8401c; --chart-2:#d98a1f; --chart-3:#8e847d; --chart-4:#5e544e; --chart-5:#bdb4ae; --chart-6:#3f3833;
  --edge-light:inset 0 1px 0 rgba(255,255,255,.9);
  --shadow-pop:0 12px 32px rgba(5,5,5,.12);
  --shadow-float:0 12px 32px rgba(5,5,5,.12), inset 0 1px 0 rgba(255,255,255,.9);
  --shadow-brand:0 8px 24px rgba(250,92,45,.22);
  --overlay:rgba(5,5,5,.32); --glass:rgba(255,255,255,.78);
  color-scheme:light;
}

*{box-sizing:border-box}
body{background:var(--glow-ambient) no-repeat fixed, var(--bg); color:var(--text); font-family:var(--font); font-size:var(--fs-body); line-height:1.45; -webkit-font-smoothing:antialiased; font-feature-settings:"cv11","ss01","tnum"}
h1,h2,h3,h4{margin:0; line-height:1.15; text-wrap:balance; font-weight:500; letter-spacing:-.02em}
p{margin:0}
button,input,select,textarea{font:inherit; color:inherit}
a{color:var(--brand-text)}
.num{font-variant-numeric:tabular-nums}
.overline,.eyebrow{font-size:var(--fs-label); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--text-3)}
.overline.brand{color:var(--brand-text)}
.label{font-size:var(--fs-sub); font-weight:500; color:var(--text-3)}
.hint{font-size:var(--fs-sub); color:var(--text-3)}
:focus-visible{outline:none; box-shadow:var(--focus)}
.wrap{max-width:1180px; margin:0 auto; padding-left:max(16px, env(safe-area-inset-left,0px)); padding-right:max(16px, env(safe-area-inset-right,0px))}
@media (min-width:768px){ .wrap{padding-left:max(24px, env(safe-area-inset-left,0px)); padding-right:max(24px, env(safe-area-inset-right,0px))} }
.ic{width:18px; height:18px; flex:none}
.dot-icon{width:40px; height:40px; border-radius:50%; display:grid; place-items:center; flex:none; background:var(--metal); color:var(--text-2); box-shadow:var(--edge-light), 0 0 0 1px var(--border)}
.dot-icon svg{width:18px; height:18px}
.dot-icon.sm{width:32px; height:32px}
.dot-icon.brand{background:var(--brand-pastel); color:var(--brand-text); box-shadow:none}

/* faixa do protótipo (Segmented) */
.demo{background:var(--card); border-bottom:1px solid var(--border)}
.demo .wrap{display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; padding-block:8px; font-size:var(--fs-sub); color:var(--text-2)}
.demo .seg{display:flex; gap:2px; padding:3px; border-radius:var(--r-pill); background:var(--surface); flex-wrap:wrap}
.demo .seg button{background:transparent; border:0; color:var(--text-2); padding:5px 12px; border-radius:var(--r-pill); cursor:pointer; font-size:var(--fs-sub); font-weight:500}
.demo .seg button[aria-pressed="true"]{background:var(--text); color:var(--bg)}
.demo .sp{flex:1}
.demo .reset{background:transparent; border:0; color:var(--text-3); cursor:pointer; font-size:var(--fs-sub); padding:5px 8px; border-radius:var(--r-pill)}
.demo .reset:hover{color:var(--text); background:var(--neutral-pastel)}

/* topo */
body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:30; background:var(--bg)}
#top{display:contents}
.top{position:sticky; top:env(safe-area-inset-top,0px); z-index:20; background:var(--glass); -webkit-backdrop-filter:blur(20px) saturate(140%); backdrop-filter:blur(20px) saturate(140%); border-bottom:1px solid var(--border)}
.top .wrap{display:flex; align-items:center; gap:12px; height:60px}
.logo{display:flex; align-items:center; gap:10px; color:var(--text); background:none; border:0; cursor:pointer; padding:0; border-radius:var(--r-pill)}
.logo-mark{width:30px; height:30px; border-radius:50%; background:var(--brand-gradient); color:var(--text-on-brand); display:grid; place-items:center; font-weight:700; font-size:15px; box-shadow:var(--shadow-brand)}
.logo-txt{font-weight:600; font-size:16px; letter-spacing:-.015em; line-height:1; text-align:left}
.logo-txt small{display:block; font-weight:500; font-size:var(--fs-sub); color:var(--text-3); margin-top:3px; letter-spacing:0}
.top .sp{flex:1}
.cred-pill{display:flex; align-items:center; gap:10px; height:40px; padding:0 4px 0 14px; border:1px solid var(--border); border-radius:var(--r-pill); background:var(--surface); font-size:var(--fs-sub); color:var(--text-2); cursor:pointer; box-shadow:var(--edge-light)}
.cred-pill .n{font-weight:600; color:var(--text)}
.cred-pill .plus{background:var(--brand-fill); color:var(--text-on-brand); border-radius:var(--r-pill); height:32px; display:inline-flex; align-items:center; padding:0 12px; font-weight:600}
.cred-pill .plus:hover{background:var(--brand-fill-hover)}
.icon-btn{width:40px; height:40px; border-radius:50%; border:0; background:var(--metal); box-shadow:var(--edge-light), 0 0 0 1px var(--border); color:var(--text-2); display:grid; place-items:center; cursor:pointer; flex:none; transition:transform var(--dur) var(--ease)}
.icon-btn:hover{color:var(--text)}
.icon-btn:active{transform:scale(.96)}
.icon-btn svg{width:20px; height:20px}
.avatar{width:32px; height:32px; border-radius:50%; background:var(--metal); box-shadow:var(--edge-light), 0 0 0 1px var(--border); color:var(--text); display:grid; place-items:center; font-weight:600; font-size:12px; border:0; cursor:pointer; flex:none}

/* botões (sempre pílula) */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; height:var(--control-h); padding:0 18px; border-radius:var(--r-pill); border:1px solid transparent; font-weight:600; font-size:var(--fs-body); cursor:pointer; text-decoration:none; white-space:nowrap; transition:background var(--dur) var(--ease), transform var(--dur) var(--ease), color var(--dur) var(--ease)}
.btn:active{transform:translateY(1px)}
.btn svg{width:18px; height:18px; flex:none}
.btn-pri{background:var(--brand-fill); color:var(--text-on-brand); box-shadow:inset 0 1px 0 rgba(255,255,255,.18), var(--shadow-brand)}
.btn-pri:hover{background:var(--brand-fill-hover)}
.btn-tint{background:var(--brand-pastel); color:var(--brand-text)}
.btn-tint:hover{background:var(--brand-pastel-hover)}
.btn-sec{background:var(--surface); border-color:var(--border); color:var(--text); box-shadow:var(--edge-light)}
.btn-sec:hover{background:var(--surface-hover); border-color:var(--border-strong)}
.btn-ghost{background:transparent; color:var(--text-2)}
.btn-ghost:hover{color:var(--text); background:var(--neutral-pastel)}
.btn-inv{background:var(--text-on-brand); color:var(--brand-dark)}
.btn-inv:hover{background:var(--brand-cream)}
.btn-sm{height:32px; padding:0 13px; font-size:var(--fs-sub)}
.btn-sm svg{width:16px; height:16px}
.btn-lg{height:48px; padding:0 24px; font-size:15px}
.btn-block{width:100%}
.btn[disabled]{background:var(--surface); color:var(--text-3); box-shadow:none; border-color:var(--border); cursor:not-allowed}

/* campos */
.field{display:grid; gap:6px}
.field label,.lbl{font-size:var(--fs-sub); font-weight:500; color:var(--text-2)}
.input,select.input{width:100%; height:var(--control-h); background:var(--surface); border:1px solid var(--border); border-radius:var(--r-control); padding:0 12px; font-size:var(--fs-body); transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}
.input:hover{border-color:var(--border-strong)}
.input:focus{outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-pastel)}
@media (pointer:coarse){ .input,select.input{font-size:16px} }
.tag-ex{display:inline-flex; align-items:center; height:20px; padding:0 8px; border-radius:var(--r-pill); font-size:var(--fs-label); font-weight:600; letter-spacing:.06em; text-transform:uppercase; background:var(--warning-pastel); color:var(--warning-text)}

/* badges */
.badge{display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 10px; border-radius:var(--r-pill); font-size:12px; font-weight:600; background:var(--neutral-pastel); color:var(--text-2); white-space:nowrap}
.badge svg{width:13px; height:13px}
.badge.brand{background:var(--brand-pastel); color:var(--brand-text)}
.badge.ok{background:var(--success-pastel); color:var(--success-text)}
.badge.warn{background:var(--warning-pastel); color:var(--warning-text)}
.badge.danger{background:var(--danger-pastel); color:var(--danger-text)}

main{padding-block:32px 88px}
.view{animation:rise var(--dur-slow) var(--ease) both}
@keyframes rise{from{opacity:.001; transform:translateY(6px)} to{opacity:1; transform:none}}
@keyframes growx{from{transform:scaleX(0)} to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{animation-duration:0s!important; transition-duration:0s!important} }

.card{background:var(--card); border:1px solid var(--border); border-radius:var(--r-card); padding:20px; box-shadow:var(--edge-light)}
@media (max-width:640px){ .card{padding:16px} }
.card h3,.sec-title{font-size:15px; font-weight:600; letter-spacing:-.01em}

/* ENTRADA */
.hero{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:48px; align-items:start; padding-top:16px}
@media (max-width:960px){ .hero{grid-template-columns:minmax(0,1fr); gap:28px; padding-top:0} }
.hero h1{font-size:clamp(34px, 4.4vw, var(--fs-display)); letter-spacing:-.035em; margin-top:14px}
.hero h1 em{font-style:normal; color:var(--text-2)}
.hero .lead{font-size:16px; color:var(--text-2); margin-top:16px; max-width:56ch; line-height:1.55}
.how{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:28px}
@media (max-width:640px){ .how{grid-template-columns:1fr} }
.how div{display:grid; grid-template-columns:32px 1fr; gap:2px 12px; align-items:start}
.how .dot-icon{grid-row:span 2}
.how b{font-size:var(--fs-body); font-weight:600}
.how span.t{font-size:var(--fs-sub); color:var(--text-2)}
.sample{margin-top:28px; border:1px dashed var(--border-strong); border-radius:var(--r-card); padding:18px 20px; display:grid; gap:8px}
.sample-top{display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; align-items:center}
.sample .v{font-size:var(--fs-kpi); font-weight:500; letter-spacing:-.02em}
.auth{display:grid; gap:18px; padding:24px; border-radius:24px}
.auth h2{font-size:var(--fs-title); font-weight:600; letter-spacing:-.015em}
.auth .client{display:grid; gap:10px; padding:16px; border-radius:var(--r-inner); background:var(--surface)}
.auth .client p{font-size:var(--fs-sub); color:var(--text-2)}
.or{display:flex; align-items:center; gap:12px; color:var(--text-3); font-size:var(--fs-sub)}
.or::before,.or::after{content:""; flex:1; height:1px; background:var(--border)}
.auth form{display:grid; gap:12px}
.gift{display:flex; gap:10px; align-items:center; font-size:var(--fs-sub); color:var(--text-2)}

/* PAINEL */
.dash-head{display:flex; justify-content:space-between; align-items:end; gap:16px; flex-wrap:wrap}
.dash-head h1,.page-title{font-size:clamp(26px,3.2vw,var(--fs-page)); margin-top:6px}
.dash-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:20px; margin-top:24px}
@media (max-width:960px){ .dash-grid{grid-template-columns:1fr} }
.flame{background:var(--gradient-highlight); color:var(--text-on-brand); border:0; box-shadow:var(--shadow-brand); position:relative; overflow:hidden}
.flame .overline{color:rgba(255,255,255,.82)}
.credits{display:grid; gap:20px; padding:24px}
.cred-row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.cred-box{display:grid; gap:4px}
.cred-box .big{font-size:var(--fs-display); font-weight:500; line-height:1; letter-spacing:-.035em}
.cred-box span{font-size:var(--fs-sub); opacity:.88}
.credits .actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.credits .note{font-size:var(--fs-sub); opacity:.88}
.packs{display:grid; gap:12px}
.pack{display:grid; grid-template-columns:1fr auto; gap:6px 16px; align-items:center; padding:16px 18px; border:1px solid var(--border); border-radius:var(--r-inner); background:var(--surface)}
.pack.premium{border-color:var(--border-strong); background:var(--card); box-shadow:var(--edge-light)}
.pack h4{font-size:15px; font-weight:600; letter-spacing:-.01em}
.pack p{font-size:var(--fs-sub); color:var(--text-2); grid-column:1}
.pack .price{font-size:var(--fs-value); font-weight:600; letter-spacing:-.01em; text-align:right}
.pack .price small{display:block; font-weight:500; font-size:var(--fs-sub); color:var(--text-3); letter-spacing:0}
.pack .btn{grid-column:2; grid-row:2 / span 3}
.pack ul{grid-column:1; margin:4px 0 0; padding:0; list-style:none; display:grid; gap:4px; font-size:var(--fs-sub); color:var(--text-2)}
.pack li{display:flex; gap:7px; align-items:flex-start}
.pack li svg{width:15px; height:15px; color:var(--success-text); flex:none; margin-top:1px}
.pack .top-row{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
@media (max-width:520px){ .pack{grid-template-columns:1fr} .pack .btn,.pack .price{grid-column:1; grid-row:auto; text-align:left} }
.hist{display:grid; gap:2px; margin:8px -8px 0}
.hist-item{display:grid; grid-template-columns:40px 1fr auto; gap:12px; align-items:center; padding:10px 8px; border-radius:var(--r-control); cursor:pointer; background:none; border:0; text-align:left; width:100%; transition:background var(--dur) var(--ease)}
.hist-item:hover{background:var(--neutral-pastel)}
.hist-item:hover b.t{color:var(--brand-text)}
.hist-item b{display:block; font-size:var(--fs-body); font-weight:500}
.hist-item span.m{font-size:var(--fs-sub); color:var(--text-3)}
.hist-item .r{text-align:right; display:grid; gap:4px; justify-items:end}
.hist-item .r b{font-weight:600}
@media (max-width:520px){ .hist-item{grid-template-columns:40px 1fr} .hist-item .r{grid-column:2; justify-items:start; text-align:left} }
.empty{padding:28px 16px; text-align:center; display:grid; gap:10px; justify-items:center}
.empty .dot-icon{width:48px; height:48px}
.empty b{font-size:var(--fs-md); font-weight:500}
.empty span{font-size:var(--fs-sub); color:var(--text-3); max-width:360px}

/* ASSISTENTE */
.wiz-top{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap}
.steps{display:flex; gap:6px; margin-top:16px}
.steps button{flex:1; border:0; background:none; padding:4px 0; cursor:pointer; display:grid; gap:7px; text-align:left; min-width:0; border-radius:6px}
.steps .bar{height:5px; border-radius:var(--r-pill); background:var(--surface-ghost); overflow:hidden; position:relative}
.steps .done .bar::after,.steps .cur .bar::after{content:""; position:absolute; inset:0; background:var(--gradient-progress); transform-origin:left}
.steps .cur .bar::after{right:50%}
.steps .t{font-size:var(--fs-sub); color:var(--text-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.steps .cur .t{color:var(--text); font-weight:500}
@media (max-width:820px){ .steps .t{display:none} }
.wiz{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; margin-top:22px; align-items:start}
@media (max-width:1000px){ .wiz{grid-template-columns:1fr} }
.q{display:grid; gap:24px; padding:clamp(18px,3vw,28px)}
.q-head{display:grid; gap:8px}
.q-head h2{font-size:clamp(24px,2.8vw,28px); letter-spacing:-.02em}
.q-head p{color:var(--text-2); max-width:62ch}
.alert{display:flex; gap:12px; align-items:flex-start; font-size:var(--fs-sub); color:var(--text-2); background:var(--neutral-pastel); padding:12px 14px; border-radius:16px}
.alert .ai{width:28px; height:28px; border-radius:50%; background:var(--surface); display:grid; place-items:center; flex:none; color:var(--text-2)}
.alert .ai svg{width:15px; height:15px}
.alert b{color:var(--text); font-weight:600}
.block{display:grid; gap:10px}
.block > .lbl{font-size:var(--fs-body); color:var(--text); font-weight:500}
.opts{display:grid; gap:10px; grid-template-columns:repeat(auto-fill, minmax(180px,1fr))}
.opts.two{grid-template-columns:repeat(auto-fill, minmax(230px,1fr))}
.opt{position:relative; display:grid; gap:6px; align-content:start; text-align:left; padding:14px; border-radius:var(--r-inner); border:1px solid var(--border); background:var(--surface); cursor:pointer; transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease)}
.opt:hover{background:var(--surface-hover); border-color:var(--border-strong)}
.opt[aria-pressed="true"]{border-color:var(--text); background:var(--surface-hover); box-shadow:inset 0 0 0 1px var(--text)}
.opt[aria-pressed="true"]::before{content:""; position:absolute; top:12px; right:12px; width:20px; height:20px; border-radius:50%; background:var(--text)}
.opt[aria-pressed="true"]::after{content:""; position:absolute; top:12px; right:12px; width:20px; height:20px; background:var(--bg);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/12px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/12px no-repeat}
.opt[disabled]{opacity:.45; cursor:not-allowed}
.opt .ill{color:var(--text-3); height:60px; display:flex; align-items:flex-end; transition:color var(--dur) var(--ease)}
.opt[aria-pressed="true"] .ill,.opt:hover .ill{color:var(--text)}
.opt .ill svg{height:100%; width:auto; max-width:100%}
.opt > b{font-size:var(--fs-body); font-weight:600; padding-right:24px}
.opt span b{font-weight:600; color:var(--text)}
.opt span{font-size:var(--fs-sub); color:var(--text-2)}
.opt .meta{display:flex; flex-wrap:wrap; gap:6px; margin-top:2px; align-items:center}
.opt ul{margin:2px 0 0; padding:0 0 0 16px; font-size:12px; color:var(--text-3); display:grid; gap:2px}
.lvl{display:flex; gap:3px}
.lvl i{width:16px; height:4px; border-radius:var(--r-pill); background:var(--surface-ghost)}
.lvl i.on{background:var(--text)}
.chips{display:flex; flex-wrap:wrap; gap:8px}
.chip{display:inline-flex; align-items:center; gap:8px; height:36px; padding:0 14px; border-radius:var(--r-pill); border:1px solid var(--border-strong); background:transparent; cursor:pointer; font-size:var(--fs-body); font-weight:500; color:var(--text-2); transition:background var(--dur) var(--ease), color var(--dur) var(--ease)}
.chip svg{width:16px; height:16px}
.chip:hover{color:var(--text); background:var(--neutral-pastel)}
.chip[aria-pressed="true"]{background:var(--text); border-color:var(--text); color:var(--bg)}
.extras{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:10px}
.extra{display:grid; grid-template-columns:40px 1fr; gap:2px 12px; align-items:center; text-align:left; padding:12px; border-radius:var(--r-inner); border:1px solid var(--border); background:var(--surface); cursor:pointer; transition:background var(--dur) var(--ease)}
.extra:hover{background:var(--surface-hover)}
.extra .dot-icon{grid-row:span 2}
.extra b{font-size:var(--fs-body); font-weight:600}
.extra span.d{font-size:12px; color:var(--text-3); line-height:1.35}
.extra[aria-pressed="true"]{border-color:var(--text); box-shadow:inset 0 0 0 1px var(--text); background:var(--surface-hover)}
.extra[aria-pressed="true"] .dot-icon{background:var(--text); color:var(--bg); box-shadow:none}
.toggle-row{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 14px; background:var(--surface); border-radius:var(--r-inner)}
.toggle-row b{display:block; font-size:var(--fs-body); font-weight:600}
.toggle-row span{font-size:var(--fs-sub); color:var(--text-3)}
.sw{position:relative; width:44px; height:26px; border-radius:var(--r-pill); background:var(--surface-ghost); border:0; cursor:pointer; flex:none; transition:background var(--dur) var(--ease)}
.sw::after{content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:var(--text-2); transition:transform var(--dur) var(--ease), background var(--dur) var(--ease)}
.sw[aria-checked="true"]{background:var(--text)}
.sw[aria-checked="true"]::after{transform:translateX(18px); background:var(--bg)}
.area-box{display:grid; grid-template-columns:minmax(0,1fr) 170px; gap:20px; align-items:center}
@media (max-width:640px){ .area-box{grid-template-columns:1fr} }
.area-num{display:flex; align-items:baseline; gap:8px}
.area-num input{width:100%; max-width:230px; font-size:var(--fs-display); font-weight:500; letter-spacing:-.035em; border:0; border-bottom:1px solid var(--border-strong); background:transparent; padding:0 0 4px; border-radius:0}
.area-num input:focus{outline:none; border-color:var(--brand); box-shadow:none}
.area-num span{font-size:var(--fs-value); color:var(--text-3); font-weight:500}
input[type=range]{width:100%; accent-color:var(--brand); margin-top:14px}
.range-lbl{display:flex; justify-content:space-between; font-size:var(--fs-label); font-weight:600; color:var(--text-3)}
.building{display:grid; justify-items:center; gap:10px}
.building svg{width:140px; height:140px; color:var(--text-2)}
.stepper{display:inline-flex; align-items:center; gap:4px; padding:3px; border:1px solid var(--border); border-radius:var(--r-pill); background:var(--surface)}
.stepper button{width:34px; height:34px; border-radius:50%; border:0; background:var(--metal); box-shadow:var(--edge-light), 0 0 0 1px var(--border); cursor:pointer; font-size:18px; color:var(--text)}
.stepper output{min-width:40px; text-align:center; font-weight:600; font-size:var(--fs-md)}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media (max-width:560px){ .two-col{grid-template-columns:1fr} }
details.more{background:var(--surface); border-radius:var(--r-inner); padding:0 14px}
details.more summary{cursor:pointer; padding:13px 0; font-weight:500; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; border-radius:var(--r-inner)}
details.more summary::-webkit-details-marker{display:none}
details.more summary::after{content:"+"; font-size:20px; color:var(--text-3); font-weight:400}
details.more[open] summary::after{content:"–"}
details.more > div{padding-bottom:14px; display:grid; gap:12px}
.cost-hint{display:inline-flex; align-items:center; height:20px; padding:0 8px; border-radius:var(--r-pill); font-size:var(--fs-label); font-weight:600; background:var(--neutral-pastel); color:var(--text-2)}
.cost-hint.down{background:var(--success-pastel); color:var(--success-text)}
.cost-hint.up{background:var(--warning-pastel); color:var(--warning-text)}
.speed{display:flex; align-items:center; gap:6px; font-size:var(--fs-label); font-weight:600; color:var(--text-3)}
.speed i{display:block; height:4px; border-radius:var(--r-pill); background:var(--text-3)}
.wiz-nav{display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--border); padding-top:20px}
.aside{position:sticky; top:calc(env(safe-area-inset-top,0px) + 76px); display:grid; gap:12px}
.mine{display:grid; gap:14px}
.mine dl{margin:0; display:grid; gap:9px}
.mine dl div{display:flex; justify-content:space-between; gap:12px; font-size:var(--fs-sub)}
.mine dt{color:var(--text-3)}
.mine dd{margin:0; font-weight:500; text-align:right}
.mine dd.pend{color:var(--text-3); font-weight:400}
.meter{display:grid; gap:8px; padding-top:14px; border-top:1px solid var(--border)}
.meter-top{display:flex; justify-content:space-between; font-size:var(--fs-sub)}
.meter-top b{font-weight:600}
.track{height:8px; border-radius:var(--r-pill); background:var(--surface-ghost); overflow:hidden}
.track.thin{height:5px}
.track i{display:block; height:100%; background:var(--gradient-progress); border-radius:var(--r-pill); transform-origin:left; animation:growx var(--dur-slow) var(--ease) both}
.cub-note{display:flex; gap:12px; align-items:center; font-size:var(--fs-sub); padding:10px 14px; border-radius:16px; background:var(--neutral-pastel); color:var(--text-2)}
.cub-note b{color:var(--text); font-weight:600}

/* revisão */
.review{display:grid; grid-template-columns:repeat(auto-fill, minmax(230px,1fr)); gap:10px}
.rv{background:var(--surface); border-radius:var(--r-inner); padding:12px 14px; display:grid; gap:6px; align-content:start}
.rv-top{display:flex; justify-content:space-between; align-items:center}
.rv-top button{border:0; background:none; color:var(--brand-text); font-weight:600; font-size:var(--fs-sub); cursor:pointer; padding:2px 6px; border-radius:var(--r-pill)}
.rv ul{margin:0; padding:0; list-style:none; display:grid; gap:3px; font-size:var(--fs-sub)}
.rv li span{color:var(--text-3)}
.spend{display:grid; gap:12px; padding:18px; border-radius:var(--r-inner); background:var(--surface)}
.spend > b{font-weight:600}
.spend .opt{background:var(--card)}
.spend-opts{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:10px}

/* RESULTADO */
.res-head{display:flex; justify-content:space-between; align-items:end; gap:12px; flex-wrap:wrap}
.res-head h1{font-size:clamp(24px,2.6vw,26px); margin-top:4px}
.res-hero{margin-top:16px; display:grid; gap:22px; position:relative; overflow:hidden; padding:clamp(20px,3.4vw,32px)}
.res-hero::before{content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--gradient-progress)}
.res-hero h2.v{font-size:clamp(32px,5vw,52px); font-weight:500; letter-spacing:-.035em; line-height:1.05}
.res-hero h2.v .sep{color:var(--text-3); margin:0 .2em; font-weight:400}
.res-kpis{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; padding-top:18px; border-top:1px solid var(--border)}
@media (max-width:760px){ .res-kpis{grid-template-columns:1fr 1fr} }
.kpi{display:grid; gap:2px; min-width:0; align-content:start}
.kpi b{font-size:var(--fs-value); font-weight:600; letter-spacing:-.01em}
.rangebar{position:relative; height:46px}
.rangebar .rail{position:absolute; left:0; right:0; top:14px; height:8px; border-radius:var(--r-pill); background:var(--gradient-progress); transform-origin:left; animation:growx var(--dur-slow) var(--ease) both}
.rangebar .mark{position:absolute; top:6px; width:4px; height:24px; border-radius:4px; background:var(--text); box-shadow:0 0 0 3px var(--card); transform:translateX(-50%)}
.rangebar .lab{position:absolute; top:34px; font-size:var(--fs-label); font-weight:600; color:var(--text-3); white-space:nowrap}
.res-sec{margin-top:32px; display:grid; gap:14px}
.res-sec > h2{font-size:var(--fs-md); font-weight:600; letter-spacing:-.01em}
.res-sec > p.sub{color:var(--text-2); margin-top:-6px; max-width:72ch}
.grid-3{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px}
.grid-2{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px}
.grid-4{display:grid; grid-template-columns:repeat(auto-fit, minmax(160px,1fr)); gap:12px}
@media (max-width:860px){ .grid-3,.grid-2{grid-template-columns:1fr} }
.stat{display:grid; gap:8px; align-content:start}
.stat .head{display:flex; justify-content:space-between; align-items:center; gap:8px}
.stat .v{font-size:var(--fs-value); font-weight:600; letter-spacing:-.01em}
.stat .d{font-size:var(--fs-sub); color:var(--text-2)}
.stat.focus{border-color:var(--border-strong); box-shadow:var(--edge-light), inset 0 0 0 1px var(--text)}
.formula{display:flex; flex-wrap:wrap; align-items:center; gap:8px}
.formula .term{background:var(--card); border:1px solid var(--border); box-shadow:var(--edge-light); border-radius:var(--r-inner); padding:10px 14px; display:grid; gap:1px}
.formula .term b{font-size:var(--fs-md); font-weight:600}
.formula .term span{font-size:var(--fs-sub); color:var(--text-3)}
.formula .op{font-size:18px; color:var(--text-3)}
.locked{position:relative; border-radius:var(--r-card); overflow:hidden; border:1px solid var(--border)}
.locked .blur{filter:blur(7px) saturate(.6); opacity:.55; pointer-events:none; user-select:none; padding:20px; display:grid; gap:14px; background:var(--card)}
.locked .over{position:absolute; inset:0; display:grid; place-items:center; padding:16px; background:linear-gradient(180deg, transparent, var(--bg))}
.unlock{max-width:460px; text-align:center; display:grid; gap:12px; justify-items:center; background:var(--card); border:1px solid var(--border-strong); border-radius:24px; padding:24px; box-shadow:var(--shadow-pop), var(--edge-light)}
.unlock h3{font-size:var(--fs-title); font-weight:600; letter-spacing:-.015em}
.unlock p{font-size:var(--fs-sub); color:var(--text-2)}
.unlock ul{list-style:none; padding:0; margin:0; display:grid; gap:6px; text-align:left; font-size:var(--fs-sub); color:var(--text-2)}
.unlock li{display:flex; gap:8px}
.unlock li svg{width:16px; height:16px; color:var(--success-text); flex:none; margin-top:1px}
.chart-card{display:grid; gap:14px; min-width:0}
.chart-card .sub{font-size:var(--fs-sub); color:var(--text-3); margin-top:-8px}
.bars{display:grid; gap:11px}
.bar-row{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 12px; font-size:var(--fs-sub); color:var(--text-2)}
.bar-row .bt{height:8px; border-radius:var(--r-pill); background:var(--surface-ghost); grid-column:1 / -1; overflow:hidden}
.bar-row .bt i{display:block; height:100%; border-radius:var(--r-pill); background:var(--gradient-progress); transform-origin:left; animation:growx var(--dur-slow) var(--ease) both}
.bar-row.focus{color:var(--text)}
.bar-row.focus .bt i{background:var(--gradient-progress)}
.bar-row .val{font-weight:600; color:var(--text)}
.bar-row .pct{color:var(--text-3); font-weight:500; margin-left:6px}
.donut-wrap{display:grid; grid-template-columns:170px 1fr; gap:20px; align-items:center}
@media (max-width:480px){ .donut-wrap{grid-template-columns:1fr; justify-items:center} }
.legend{display:grid; gap:9px; font-size:var(--fs-sub); color:var(--text-2); width:100%}
.legend > div{display:grid; grid-template-columns:10px 1fr auto; gap:10px; align-items:center}
.legend i{width:10px; height:10px; border-radius:50%}
.legend b{font-weight:600; color:var(--text)}
.chart-scroll{overflow-x:auto}
.key{display:flex; gap:16px; flex-wrap:wrap; font-size:var(--fs-sub); color:var(--text-2)}
.key span{display:flex; gap:7px; align-items:center}
.key i{display:block; width:10px; height:10px; border-radius:50%}
.cmp{display:grid; gap:12px}
.cmp-row{display:grid; grid-template-columns:180px minmax(0,1fr) 120px; gap:12px; align-items:center; font-size:var(--fs-sub); color:var(--text-2)}
@media (max-width:640px){ .cmp-row{grid-template-columns:1fr auto} .cmp-row .cmp-bars{grid-column:1/-1; grid-row:2} }
.cmp-row.cur{color:var(--text)}
.cmp-bars{display:grid; gap:4px}
.cmp-bars i{display:block; height:8px; border-radius:var(--r-pill); background:var(--gradient-progress); transform-origin:left; animation:growx var(--dur-slow) var(--ease) both}
.cmp-row.cur .cmp-bars i.c{background:var(--gradient-progress)}
.cmp-bars i.t{height:4px; background:var(--chart-3)}
.cmp-row .r{text-align:right; display:grid}
.cmp-row .r b{color:var(--text); font-weight:600}
.cmp-row .r span{font-size:12px; color:var(--text-3)}
.stack{display:flex; height:12px; border-radius:var(--r-pill); overflow:hidden; gap:2px}
.stack i{display:block; height:100%}
.list{width:100%; border-collapse:collapse; font-size:var(--fs-body)}
.list-wrap{overflow-x:auto; border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); box-shadow:var(--edge-light)}
.list th,.list td{padding:11px 16px; text-align:left; border-bottom:1px solid var(--border); white-space:nowrap}
.list th{font-size:var(--fs-sub); font-weight:500; color:var(--text-3)}
.list tr:last-child td{border-bottom:0}
.list td.n,.list th.n{text-align:right; font-variant-numeric:tabular-nums}
.list td.dim{color:var(--text-2)}
.list input.input{height:34px; padding:0 9px; font-size:var(--fs-sub); min-width:96px}
.inc{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media (max-width:700px){ .inc{grid-template-columns:1fr} }
.inc ul{margin:0; padding:0; list-style:none; display:grid; gap:8px; font-size:var(--fs-sub); color:var(--text-2)}
.inc li{display:flex; gap:9px; align-items:flex-start}
.inc li svg{width:16px; height:16px; flex:none; margin-top:1px}
.inc .y svg{color:var(--success-text)} .inc .n svg{color:var(--danger-text)}
.disclaimer{font-size:var(--fs-sub); color:var(--text-3); max-width:84ch}

/* CTA (HighlightCard dark) */
.cta{margin-top:36px; border-radius:24px; padding:clamp(22px,4vw,40px); display:grid; grid-template-columns:1.3fr .7fr; gap:28px; align-items:center; background:var(--card); border:1px solid var(--border-strong); box-shadow:var(--edge-light); position:relative; overflow:hidden}
.cta::after{content:""; position:absolute; right:-120px; top:-140px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(250,92,45,.22), rgba(250,92,45,0) 68%); pointer-events:none}
@media (max-width:820px){ .cta{grid-template-columns:1fr} }
.cta h2{font-size:clamp(24px,3vw,var(--fs-page)); margin-top:10px; letter-spacing:-.02em}
.cta p{color:var(--text-2); margin-top:10px; max-width:58ch}
.cta ul{list-style:none; padding:0; margin:16px 0 0; display:grid; gap:8px; color:var(--text-2)}
.cta li{display:flex; gap:10px; align-items:center}
.cta li .dot-icon{width:28px; height:28px}
.cta li .dot-icon svg{width:14px; height:14px}
.cta .acts{display:grid; gap:10px; position:relative; z-index:1}
.cta .note{font-size:var(--fs-sub); color:var(--text-3); text-align:center}

/* MODAL */
.ovl{position:fixed; inset:0; z-index:50; background:var(--overlay); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); display:grid; place-items:center; padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px)); overflow-y:auto; animation:fadein 220ms var(--ease) both}
@keyframes fadein{from{opacity:0} to{opacity:1}}
@keyframes pop{from{opacity:0; transform:translateY(8px) scale(.985)} to{opacity:1; transform:none}}
.modal{width:min(460px, 100%); background:var(--card); border:1px solid var(--border); border-radius:24px; box-shadow:var(--shadow-pop), var(--edge-light); overflow:hidden; animation:pop 220ms var(--ease) both}
.modal.wide{width:min(560px, 100%)}
.mh{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:18px 20px 0}
.mh b{display:flex; gap:10px; align-items:center; font-size:var(--fs-title); font-weight:600; letter-spacing:-.015em}
.mh .icon-btn{width:32px; height:32px}
.mh .icon-btn svg{width:16px; height:16px}
.mb{padding:18px 20px; display:grid; gap:16px}
.mf{padding:0 20px 20px; display:grid; gap:8px}
.sim-note{font-size:var(--fs-sub); color:var(--warning-text); background:var(--warning-pastel); padding:10px 12px; border-radius:16px}
.order{display:grid; grid-template-columns:1fr auto; gap:6px 12px; background:var(--surface); border-radius:var(--r-inner); padding:14px}
.order .tot{border-top:1px solid var(--border); padding-top:10px; font-weight:600}
.order .total{font-size:var(--fs-value); font-weight:600}
.payways{display:flex; gap:8px; flex-wrap:wrap}
pre.code{margin:0; font-family:var(--mono); font-size:12px; background:var(--surface); border-radius:var(--r-inner); padding:14px; overflow-x:auto; line-height:1.55; color:var(--text-2)}

/* comemoração */
.cel{text-align:center; justify-items:center; padding:30px 22px 22px}
.seal{position:relative; width:84px; height:84px; display:grid; place-items:center}
.seal .core{width:72px; height:72px; border-radius:50%; background:var(--brand-gradient); color:var(--text-on-brand); display:grid; place-items:center; box-shadow:var(--shadow-brand); animation:sealin 600ms var(--ease) both}
.seal .core svg{width:32px; height:32px}
.seal .ring{position:absolute; inset:6px; border-radius:50%; border:2px solid var(--brand); opacity:0; animation:ring 1.2s var(--ease) .15s 2}
@keyframes sealin{from{transform:scale(.4) rotate(-120deg); opacity:0} to{transform:none; opacity:1}}
@keyframes ring{from{transform:scale(.9); opacity:.7} to{transform:scale(1.9); opacity:0}}
.cel h3{font-size:var(--fs-title); font-weight:600}
.cel p{color:var(--text-2); font-size:var(--fs-sub); max-width:34ch}

/* TOAST */
.toasts{position:fixed; z-index:60; right:max(20px, env(safe-area-inset-right,0px)); bottom:calc(20px + env(safe-area-inset-bottom,0px)); display:grid; gap:8px; width:min(380px, calc(100% - 32px))}
@media (max-width:640px){ .toasts{left:16px; right:16px; width:auto} }
.toast{background:var(--surface-inverse); color:var(--text-on-inverse); padding:12px 14px; border-radius:16px; box-shadow:var(--shadow-float); display:flex; gap:10px; align-items:flex-start; font-size:var(--fs-body); animation:pop 220ms var(--ease) both}
.toast svg{width:18px; height:18px; color:var(--success); flex:none; margin-top:1px}
.toast.err svg{color:var(--danger)}

/* ADMIN */
.adm{display:grid; grid-template-columns:240px minmax(0,1fr); gap:24px; margin-top:20px; align-items:start}
@media (max-width:900px){ .adm{grid-template-columns:1fr} }
.adm-nav{display:grid; gap:2px; position:sticky; top:calc(env(safe-area-inset-top,0px) + 76px); background:var(--card); border:1px solid var(--border); border-radius:24px; padding:10px; box-shadow:var(--edge-light)}
@media (max-width:900px){ .adm-nav{position:static; display:flex; overflow-x:auto; border-radius:var(--r-pill); padding:6px} }
.adm-nav button{display:flex; align-items:center; gap:10px; text-align:left; border:0; background:none; padding:5px 10px 5px 5px; border-radius:var(--r-pill); cursor:pointer; font-size:var(--fs-body); color:var(--text-2); white-space:nowrap}
.adm-nav button .dot-icon{width:32px; height:32px}
.adm-nav button .dot-icon svg{width:16px; height:16px}
.adm-nav button:hover{background:var(--neutral-pastel); color:var(--text)}
.adm-nav button[aria-current="true"]{color:var(--text); font-weight:600}
.adm-nav button[aria-current="true"] .dot-icon{background:var(--brand-fill); color:var(--text-on-brand); box-shadow:var(--shadow-brand)}
.adm-body{display:grid; gap:16px; min-width:0}
.adm-h{display:flex; justify-content:space-between; align-items:end; gap:12px; flex-wrap:wrap}
.adm-h h2{font-size:24px; letter-spacing:-.02em}
.adm-h p{color:var(--text-2); font-size:var(--fs-sub); margin-top:6px; max-width:72ch}
.fgrp{display:grid; gap:10px}
.frow{display:grid; grid-template-columns:minmax(0,1fr) 130px; gap:12px; align-items:center; font-size:var(--fs-sub); color:var(--text-2)}
.frow > span{min-width:0}
.frow .input{height:36px; text-align:right}
.frow small{display:block; color:var(--text-3); font-size:12px}
.frow.wide{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.frow.wide .input{text-align:left}
@media (max-width:520px){ .frow.wide{grid-template-columns:1fr} }
.metrics{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px}
@media (max-width:800px){ .metrics{grid-template-columns:1fr 1fr} }
.metric{display:grid; gap:6px; align-content:start; position:relative; overflow:hidden}
.metric b{font-size:var(--fs-kpi); font-weight:500; letter-spacing:-.02em}
.metric.brand::before{content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--gradient-progress)}
.cols-2{display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:start}
@media (max-width:1060px){ .cols-2{grid-template-columns:1fr} }
.flow{display:grid; gap:10px; counter-reset:f}
.flow div{display:grid; grid-template-columns:28px 1fr; gap:12px; font-size:var(--fs-sub); color:var(--text-2); align-items:center}
.flow div::before{counter-increment:f; content:counter(f); width:28px; height:28px; border-radius:50%; background:var(--surface); color:var(--text); display:grid; place-items:center; font-weight:600; font-size:12px}
.flow b{color:var(--text); font-weight:600}
.fgrp h4{font-size:15px; font-weight:600; letter-spacing:-.01em; display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.btn-ghost[disabled]{background:transparent; border-color:transparent}
.dim{color:var(--text-2)}
/* busca de cidade */
.combo{position:relative}
.combo-box{position:relative}
.combo-box .input{padding-left:38px; padding-right:40px}
.combo-ic{position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--text-3); display:grid; pointer-events:none}
.combo-ic svg{width:17px; height:17px}
.combo-clear{position:absolute; right:6px; top:50%; transform:translateY(-50%); width:28px; height:28px; border-radius:50%; border:0; background:var(--surface-hover); color:var(--text-2); display:grid; place-items:center; cursor:pointer}
.combo-clear svg{width:14px; height:14px}
.combo-list{position:absolute; z-index:15; left:0; right:0; top:calc(100% + 6px); margin:0; padding:6px; list-style:none; background:var(--card); border:1px solid var(--border-strong); border-radius:var(--r-inner); box-shadow:var(--shadow-pop), var(--edge-light); max-height:280px; overflow-y:auto; overscroll-behavior:contain}
.combo-list li[role=option]{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:9px 10px; border-radius:8px; cursor:pointer; font-size:var(--fs-body); color:var(--text-2)}
.combo-list li[role=option] b{color:var(--text); font-weight:600}
.combo-list li[aria-selected="true"],.combo-list li[role=option]:hover{background:var(--surface-hover); color:var(--text)}
.combo-list .badge{height:20px; font-size:11px}
.combo-more{padding:10px; font-size:var(--fs-sub); color:var(--text-3)}
.bar-row .det{grid-column:1 / -1; font-size:12px; color:var(--text-3); margin-top:-1px}
.bar-total{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-top:4px; padding-top:14px; border-top:1px solid var(--border-strong)}
.bar-total > div{display:grid; gap:2px}
.bar-total b{font-weight:600; color:var(--text)}
.bar-total .num b{font-size:var(--fs-value); letter-spacing:-.01em}
.bar-total .pct{color:var(--text-3); font-weight:500; margin-left:8px; font-size:var(--fs-sub)}
/* cenários de prazo selecionáveis (seleção em neutro invertido) */
button.card.cen{font:inherit; color:inherit; text-align:left; cursor:pointer; width:100%; transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease)}
button.card.cen:hover{border-color:var(--border-strong); background:var(--surface)}
button.card.cen[aria-checked="true"]{border-color:var(--text); box-shadow:var(--edge-light), inset 0 0 0 1px var(--text)}
.cen-sel{display:inline-flex; align-items:center; gap:6px; margin-top:4px; font-size:var(--fs-sub); font-weight:600; color:var(--text-3)}
.cen-sel svg{width:15px; height:15px}
button.card.cen[aria-checked="true"] .cen-sel{color:var(--text)}
/* resumo */
.resumo{margin-top:14px; display:grid; gap:8px}
.resumo p{font-size:15px; line-height:1.6; color:var(--text-2); max-width:90ch}
.resumo p b{color:var(--text); font-weight:600}
/* recomendações */
.recs{display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:12px}
.rec{display:grid; grid-template-columns:40px 1fr; gap:12px; align-items:start}
.rec > div{display:grid; gap:4px; justify-items:start}
.rec b{font-weight:600}
.rec span:not(.badge){font-size:var(--fs-sub); color:var(--text-2)}
/* cronograma (gantt) */
.gantt{display:grid; gap:6px; min-width:620px}
.g-row{display:grid; grid-template-columns:210px minmax(0,1fr); gap:14px; align-items:center}
.g-name{display:grid; gap:1px; font-size:var(--fs-sub)}
.g-name b{font-weight:500; color:var(--text)}
.g-name span.num{color:var(--text-3); font-size:12px}
.g-track{position:relative; height:14px; border-radius:var(--r-pill); background:var(--surface)}
.g-track i{position:absolute; top:0; bottom:0; border-radius:var(--r-pill); background:var(--gradient-progress); transform-origin:left; animation:growx var(--dur-slow) var(--ease) both}
.g-ticks{background:transparent; height:16px}
.g-ticks span{position:absolute; transform:translateX(-50%); font-size:var(--fs-label); font-weight:600; color:var(--text-3)}
.g-head,.g-foot{margin-block:2px}
/* contratação */
.kv{display:grid; gap:2px; padding-top:8px; border-top:1px solid var(--border); font-size:var(--fs-sub)}
.kv span{color:var(--text-3)}
.kv b{font-weight:500; color:var(--text-2)}
.kv .lvl{margin-top:2px}
/* linha do tempo */
.tl-bar{display:flex; height:14px; border-radius:var(--r-pill); overflow:hidden; gap:3px}
.tl-bar i{display:block; height:100%}
.tl-list{display:grid; grid-template-columns:repeat(auto-fit, minmax(170px,1fr)); gap:12px}
.tl-item{display:grid; grid-template-columns:12px 1fr; gap:10px; align-items:start}
.tl-item b{display:block; font-weight:600; font-size:var(--fs-body)}
.tl-dot{width:12px; height:12px; border-radius:50%; margin-top:3px}
.tl-projetos{background:var(--chart-3)} .tl-aprovacao{background:var(--chart-4)} .tl-mobilizacao{background:var(--chart-5)}
.tl-obra{background:var(--gradient-progress)} .tl-habitese{background:var(--chart-2)}

/* ---------- celular: topo compacto e nada mais largo que a tela ---------- */
.top .wrap{min-width:0}
.logo{flex:none}
.cred-pill{white-space:nowrap; flex:0 1 auto; min-width:0}
.cp-full{display:inline-flex; gap:10px}
.cp-short{display:none}
.conta{position:relative; flex:none}
.menu{position:absolute; right:0; top:calc(100% + 8px); z-index:40; min-width:230px; background:var(--card); border:1px solid var(--border-strong); border-radius:16px; box-shadow:var(--shadow-pop), var(--edge-light); padding:6px; display:grid; animation:pop 180ms var(--ease) both}
.menu-who{display:grid; gap:2px; padding:10px 10px 12px; border-bottom:1px solid var(--border); margin-bottom:4px}
.menu-who b{font-weight:600}
.menu-who span{font-size:var(--fs-sub); color:var(--text-3); overflow-wrap:anywhere}
.menu button{display:flex; align-items:center; gap:10px; width:100%; height:var(--hit); padding:0 10px; border:0; background:none; border-radius:10px; cursor:pointer; color:var(--text-2); font-size:var(--fs-body); text-align:left}
.menu button svg{width:18px; height:18px}
.menu button:hover{background:var(--neutral-pastel); color:var(--text)}
@media (max-width:640px){
  .logo-txt small{display:none}
  .top .wrap{gap:8px}
  .cp-full{display:none}
  .cp-short{display:inline}
  .cred-pill{padding-left:12px; gap:8px}
  .adm-lbl{display:none}
}
@media (max-width:359px){
  .logo-txt{display:none}
  .cred-pill .plus{padding:0 10px}
}
/* rede de segurança: blocos de grade e flex nunca forçam a página a ficar mais larga */
main .wrap > *, .view > *, .card, .res-sec, .grid-2 > *, .grid-3 > *, .grid-4 > *, .dash-grid > *, .cols-2 > *, .adm-body > *{min-width:0}
.res-hero h2.v > span:not(.sep){white-space:nowrap}
@media (max-width:480px){ .res-hero h2.v{font-size:clamp(26px, 8.4vw, 36px)} }
.demo .wrap{min-width:0}
/* botões longos podem quebrar linha em telas muito estreitas */
.btn-block,.unlock .btn,.cta .btn{white-space:normal; height:auto; min-height:var(--control-h); padding-block:8px; text-align:center}
.btn-lg.btn-block,.unlock .btn-lg,.cta .btn-lg{min-height:48px}
@media (max-width:400px){ .auth{padding:18px} .card{padding:16px} .auth .client{padding:14px} }
.alert.warnbox{background:var(--warning-pastel); color:var(--text)}
.alert.warnbox .ai{color:var(--warning-text)}
.opt .meta .hint{width:100%}
/* programa de necessidades */
.prog-cta{display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:12px; align-items:center; width:100%; text-align:left; padding:14px 16px; border-radius:var(--r-inner); border:1px dashed var(--border-strong); background:transparent; color:inherit; font:inherit; cursor:pointer; transition:background var(--dur) var(--ease)}
button.prog-cta:hover{background:var(--surface)}
.prog-cta > div{display:grid; gap:2px; min-width:0}
.prog-cta b{font-weight:600}
.prog-cta span:not(.dot-icon){font-size:var(--fs-sub); color:var(--text-2)}
.prog-cta > .ic{color:var(--text-3)}
.prog-cta.ok{border-style:solid; border-color:var(--border); background:var(--surface); cursor:default}
@media (max-width:520px){ .prog-cta.ok{grid-template-columns:40px minmax(0,1fr)} .prog-cta.ok .btn{grid-column:2; justify-self:start} }
.prog-grupo{display:grid; gap:2px}
.prog-grupo > .lbl{font-size:var(--fs-body); color:var(--text); font-weight:500; margin-bottom:6px}
.prog-row{display:grid; grid-template-columns:minmax(0,1fr) auto 76px; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--border)}
.prog-row.prog-op{grid-template-columns:minmax(0,1fr) 76px}
.prog-row.prog-op .prog-ctl{grid-column:1 / -1; grid-row:2}
.prog-txt{display:grid; gap:1px; min-width:0}
.prog-txt b{font-weight:500}
.prog-txt span{font-size:12px; color:var(--text-3)}
.prog-area{text-align:right; font-size:var(--fs-sub); color:var(--text-2); font-weight:600}
.prog-num{width:52px; height:34px; border:0; background:transparent; text-align:center; font-weight:600; font-size:var(--fs-md); -moz-appearance:textfield}
.prog-num::-webkit-inner-spin-button,.prog-num::-webkit-outer-spin-button{-webkit-appearance:none; margin:0}
.prog-num:focus{outline:none; box-shadow:var(--focus); border-radius:8px}
.prog-total{position:sticky; bottom:calc(10px + env(safe-area-inset-bottom,0px)); z-index:5; display:grid; gap:14px; padding:16px; border-radius:var(--r-inner); background:color-mix(in srgb, var(--card) 95%, transparent); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); border:1px solid var(--border-strong); box-shadow:var(--shadow-pop)}
.prog-sum{display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:12px}
.prog-sum > div{display:grid; gap:2px}
.prog-sum b{font-size:var(--fs-kpi); font-weight:500; letter-spacing:-.02em}
.prog-acts{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
@media (max-width:420px){ .prog-row{grid-template-columns:minmax(0,1fr) auto} .prog-row .prog-area{grid-column:1 / -1; text-align:left; margin-top:-4px} .prog-row.prog-op{grid-template-columns:minmax(0,1fr)} .prog-row.prog-op .prog-ctl{grid-row:auto} }

.prog-back{justify-self:start; margin-left:-10px}
@media (max-width:640px){
  .prog-total{grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 12px}
  .prog-sum{display:flex; flex-wrap:wrap; gap:4px 14px}
  .prog-sum .hint{display:none}
  .prog-sum .label{font-size:var(--fs-label)}
  .prog-sum b{font-size:var(--fs-value); font-weight:600}
  .prog-acts .btn-lg{height:44px; min-height:44px; padding:0 16px; font-size:var(--fs-body)}
}

/* ---------- relatório no celular ---------- */
/* valor principal: cada valor fica inteiro, mas a faixa pode quebrar em duas linhas */
.res-hero h2.v{display:flex; flex-wrap:wrap; align-items:baseline; column-gap:.28em; row-gap:0}
.res-hero h2.v .sep{margin:0}
.res-hero > *, .res-kpis > *, .kpi > *{min-width:0}
.kpi .label{overflow-wrap:anywhere}
/* brilho do card de próximo passo fica dentro do card */
.cta::after{inset:0; width:auto; height:auto; right:auto; top:auto; border-radius:0; background:radial-gradient(420px circle at 100% 0%, rgba(250,92,45,.22), rgba(250,92,45,0) 68%)}
.cta > *{min-width:0; position:relative; z-index:1}

/* cronograma no celular: nome e valor em cima, barra em largura total embaixo */
@media (max-width:640px){
  .gantt{min-width:0; gap:10px}
  .g-row{grid-template-columns:minmax(0,1fr); gap:5px}
  .g-name{display:flex; justify-content:space-between; gap:10px}
  .g-head{display:none}
  .g-foot{margin-top:2px}
  .g-foot .g-name{display:block}
  .g-track{height:10px}
  .g-ticks{height:14px}
}

/* tabelas do relatório no celular: o texto quebra em vez de sumir pela direita */
@media (max-width:640px){
  .res-sec .list th, .res-sec .list td{white-space:normal; padding:10px 12px; vertical-align:top}
  .res-sec .list td.n, .res-sec .list th.n{white-space:nowrap}
  .list.premissas th:first-child, .list.premissas td:first-child{width:28%; color:var(--text-3); font-size:var(--fs-sub)}
}

/* custo por etapa: nome em negrito e composição em linhas */
.bars:has(.etapa){gap:0}
.bar-row.etapa{padding-block:14px; border-top:1px solid var(--border)}
.bar-row.etapa:first-child{border-top:0; padding-top:4px}
.etapa-nome{font-weight:600; color:var(--text); font-size:var(--fs-body)}
.det-list{grid-column:1 / -1; list-style:none; margin:6px 0 0; padding:0; display:grid; gap:4px}
.det-list li{display:flex; justify-content:space-between; gap:12px; font-size:var(--fs-sub); color:var(--text-3)}
.det-list li b{font-weight:500; color:var(--text-2)}
.det-ind{grid-column:1 / -1; margin:6px 0 0; font-size:var(--fs-sub); color:var(--text-3)}

.det-tit{grid-column:1 / -1; margin-top:10px; font-size:var(--fs-label); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--text-3)}
.det-tit + .det-list{margin-top:4px}
.det-itens li span{color:var(--text-2)}
.det-itens li b{color:var(--text)}

/* custo por etapa: detalhamento recolhível */
.etapas-top{display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap}
.etapas-top .btn{margin-right:-8px}
.etapas{display:grid}
details.etapa{border-top:1px solid var(--border)}
details.etapa:first-child{border-top:0}
details.etapa > summary{list-style:none; cursor:pointer; display:grid; grid-template-columns:minmax(0,1fr) auto 28px; gap:6px 10px; align-items:center; padding:14px 0; border-radius:8px}
details.etapa > summary::-webkit-details-marker{display:none}
details.etapa > summary:focus-visible{box-shadow:var(--focus)}
details.etapa .val{font-weight:600; color:var(--text); font-size:var(--fs-sub); white-space:nowrap}
details.etapa .pct{color:var(--text-3); font-weight:500; margin-left:6px}
details.etapa .chev{width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--surface); color:var(--text-2); transition:transform var(--dur) var(--ease), background var(--dur) var(--ease)}
details.etapa .chev svg{width:16px; height:16px}
details.etapa > summary:hover .chev{background:var(--surface-hover); color:var(--text)}
details.etapa[open] .chev{transform:rotate(180deg)}
details.etapa .bt{grid-column:1 / -1; height:8px; border-radius:var(--r-pill); background:var(--surface-ghost); overflow:hidden}
details.etapa .bt i{display:block; height:100%; border-radius:var(--r-pill); background:var(--gradient-progress); transform-origin:left; animation:growx var(--dur-slow) var(--ease) both}
.etapa-det{display:grid; padding:0 38px 14px 0; animation:rise var(--dur) var(--ease) both}
.etapa-det .det-tit:first-child{margin-top:0}

/* cronograma por etapa: duração em dias e detalhes recolhíveis */
.crono{display:grid; min-width:640px}
.c-row, .c-etapa > summary{display:grid; grid-template-columns:200px minmax(0,1fr) 74px 28px; gap:12px; align-items:center}
.c-head{padding-bottom:6px}
.c-foot{padding-top:8px}
.c-dur{text-align:right; font-size:var(--fs-sub); font-weight:600; color:var(--text-2); white-space:nowrap}
.c-etapa{border-top:1px solid var(--border)}
.c-etapa > summary{list-style:none; cursor:pointer; padding:10px 0; border-radius:8px}
.c-etapa > summary::-webkit-details-marker{display:none}
.c-etapa > summary:focus-visible{box-shadow:var(--focus)}
.c-nome{display:grid; gap:1px; min-width:0; font-size:var(--fs-sub)}
.c-nome b{font-weight:600; color:var(--text)}
.c-nome span{color:var(--text-3); font-size:12px}
.c-track{position:relative; height:12px; border-radius:var(--r-pill); background:var(--surface)}
.c-track i{position:absolute; top:0; bottom:0; border-radius:var(--r-pill); background:var(--gradient-progress); transform-origin:left; animation:growx var(--dur-slow) var(--ease) both}
.c-ticks{background:transparent; height:16px}
.c-ticks span{position:absolute; transform:translateX(-50%); font-size:var(--fs-label); font-weight:600; color:var(--text-3)}
.c-etapa .chev{width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--surface); color:var(--text-2); transition:transform var(--dur) var(--ease)}
.c-etapa .chev svg{width:16px; height:16px}
.c-etapa > summary:hover .chev{background:var(--surface-hover); color:var(--text)}
.c-etapa[open] .chev{transform:rotate(180deg)}
.c-det{padding:0 40px 12px 212px; animation:rise var(--dur) var(--ease) both}
.c-det .det-list{margin-top:0}
@media (max-width:640px){
  .crono{min-width:0}
  .c-head{display:none}
  .c-etapa > summary{grid-template-columns:minmax(0,1fr) auto 28px; grid-template-areas:"nome dur chev" "track track track"; gap:6px 10px; padding:12px 0}
  .c-etapa .c-nome{grid-area:nome; display:flex; gap:8px; align-items:baseline; flex-wrap:wrap}
  .c-etapa .c-dur{grid-area:dur}
  .c-etapa .chev{grid-area:chev}
  .c-etapa .c-track{grid-area:track; height:10px}
  .c-foot{grid-template-columns:minmax(0,1fr); gap:4px}
  .c-foot > span:empty{display:none}
  .c-det{padding:0 0 12px}
}

.etapas-top{flex-wrap:nowrap}
.etapas-top > :first-child{min-width:0}
.etapas-top .btn{flex:none}

.etapas-top .badge{white-space:normal; height:auto; min-height:24px; padding-block:3px; min-width:0}
.etapas-top .btn{margin-right:0}

.combo-list .cid{min-width:0; flex:1; overflow-wrap:anywhere}

/* programa: grupos opcionais recolhíveis */
details.prog-rec{border-top:1px solid var(--border)}
details.prog-rec > summary{list-style:none; cursor:pointer; display:grid; grid-template-columns:minmax(0,1fr) auto 28px; gap:10px; align-items:center; padding:12px 0; border-radius:8px}
details.prog-rec > summary::-webkit-details-marker{display:none}
details.prog-rec > summary:focus-visible{box-shadow:var(--focus)}
details.prog-rec > summary .lbl{margin:0; font-size:var(--fs-body); color:var(--text); font-weight:500}
.prog-cont{font-size:var(--fs-sub); color:var(--text-3); white-space:nowrap}
details.prog-rec .chev{width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--surface); color:var(--text-2); transition:transform var(--dur) var(--ease)}
details.prog-rec .chev svg{width:16px; height:16px}
details.prog-rec[open] .chev{transform:rotate(180deg)}
.prog-nota{margin:-4px 0 6px}

@media (max-width:420px){ .prog-area.vazio{display:none} .prog-row .prog-area{margin-top:-6px; font-size:12px; font-weight:500} }

/* piscina detalhada */
.pisc{padding:16px; border-radius:var(--r-inner); border:1px solid var(--border-strong); background:var(--card); gap:12px}
.pisc-head{display:grid; grid-template-columns:40px minmax(0,1fr); gap:12px; align-items:center}
.pisc-head > div{display:grid; gap:2px}
.pisc-head b{font-weight:600; font-size:var(--fs-md)}
.pisc .lbl{margin-top:4px}
.pisc .opt{background:var(--surface)}
.pisc-total{display:grid; gap:2px; padding:12px 14px; border-radius:var(--r-inner); background:var(--surface)}
.pisc-total b{font-size:var(--fs-value); font-weight:600}
/* aviso de resultado congelado: texto ocupa a linha, botão abaixo */
.alert.versao{flex-wrap:wrap; margin-top:14px}
.alert.versao > span:not(.ai){flex:1 1 220px; min-width:0}
.alert.versao .btn{margin-left:40px}

/* ---------- Degustação do resultado completo (carrossel + oferta) ---------- */
.unlock2{display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; align-items:center; padding:20px}
.unlock2 .unlock{max-width:none; box-shadow:none; border:0; background:transparent; padding:8px}
.amostra{position:relative; display:grid; gap:10px; min-width:0}
.amostra-track{display:grid; grid-auto-flow:column; grid-auto-columns:100%; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:18px; outline:none}
.amostra-track::-webkit-scrollbar{display:none}
.amostra-track:focus-visible{box-shadow:0 0 0 2px var(--brand)}
.amostra-slide{scroll-snap-align:start; scroll-snap-stop:always; margin:0; display:grid; gap:12px; min-width:0}
.amostra-tela{position:relative; height:320px; overflow:hidden; border-radius:18px; border:1px solid var(--border-strong); background:var(--bg); padding:16px 16px 0; pointer-events:none; user-select:none; box-shadow:var(--edge-light)}
.amostra-tela::after{content:''; position:absolute; left:0; right:0; bottom:0; height:84px; background:linear-gradient(180deg, transparent, var(--bg))}
.amostra-tela .res-sec{margin-top:0; gap:10px}
.amostra-tela .res-sec > p.sub{display:none}
.amostra-tela .res-sec > h2{font-size:var(--fs-sub); color:var(--text-2); font-weight:600}
.amostra-tela .grid-3, .amostra-tela .grid-2{grid-template-columns:repeat(2, minmax(0,1fr))}
.amostra-slide figcaption{display:grid; gap:2px; padding:0 4px}
.amostra-slide figcaption b{font-weight:600; font-size:var(--fs-md)}
.amostra-slide figcaption span{color:var(--text-2); font-size:var(--fs-sub)}
.amostra-tag{position:absolute; top:12px; right:12px; z-index:2; display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 10px; border-radius:var(--r-pill); font-size:12px; font-weight:600; color:var(--text); background:color-mix(in srgb, var(--card) 82%, transparent); border:1px solid var(--border-strong); backdrop-filter:blur(6px)}
.amostra-tag svg{width:14px; height:14px; color:var(--brand-text)}
.amostra-nav{display:flex; align-items:center; justify-content:space-between; gap:8px}
.amostra-nav .btn{width:40px; height:40px; padding:0; justify-content:center; border-radius:50%}
.amostra-nav .btn svg{width:18px; height:18px}
.amostra-dots{display:flex; gap:6px; align-items:center}
.amostra-dots button{width:8px; height:8px; padding:0; border:0; border-radius:var(--r-pill); background:var(--border-strong); cursor:pointer; transition:width .25s, background .25s}
.amostra-dots button[aria-current="true"]{width:22px; background:var(--brand)}
.amostra-obs{text-align:center}
@media (max-width: 860px){
  .unlock2{grid-template-columns:minmax(0,1fr); padding:14px; gap:8px}
  .amostra-tela{height:280px; padding:12px 12px 0}
}
@media (max-width: 640px){
  .amostra-tela .grid-3, .amostra-tela .grid-2{grid-template-columns:minmax(0,1fr)}
}

/* CTA do resultado completo em destaque: bloco laranja da marca, telas escuras dentro */
.unlock2{background:var(--gradient-highlight); border-color:transparent; color:var(--text-on-brand); box-shadow:var(--shadow-brand), inset 0 1px 0 rgba(255,255,255,.22); position:relative; overflow:hidden}
.unlock2 .unlock h3{color:#fff; font-size:clamp(22px, 2.4vw, 28px); letter-spacing:-.02em}
.unlock2 .unlock p, .unlock2 .unlock ul{color:rgba(255,255,255,.88)}
.unlock2 .unlock li svg{color:#fff}
.unlock2 .unlock .hint{color:rgba(255,255,255,.78)}
.unlock2 .unlock-ic{background:rgba(255,255,255,.18); color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.unlock2 .btn-inv{box-shadow:0 10px 28px rgba(120,30,5,.35); font-weight:600; color:var(--brand-fill)}
.unlock2 .btn-inv svg{color:var(--brand)}
.unlock2 .amostra-tela{border-color:rgba(255,255,255,.22); box-shadow:0 18px 40px rgba(80,20,5,.35)}
.unlock2 .amostra-slide figcaption b{color:#fff}
.unlock2 .amostra-slide figcaption span, .unlock2 .amostra-obs{color:rgba(255,255,255,.82)}
.unlock2 .amostra-nav .btn{color:#fff; background:rgba(255,255,255,.14); border-color:transparent}
.unlock2 .amostra-nav .btn:hover{background:rgba(255,255,255,.24)}
.unlock2 .amostra-dots button{background:rgba(255,255,255,.38)}
.unlock2 .amostra-dots button[aria-current="true"]{background:#fff}
.unlock2 .amostra-track:focus-visible{box-shadow:0 0 0 2px #fff}
/* selo de exemplo no rodapé da tela (não cobre o título) e sombra mais curta para não escurecer a legenda */
.amostra{--tela-h:320px}
.amostra-tela{height:var(--tela-h)}
.amostra-tag{top:calc(var(--tela-h) - 40px); right:auto; left:50%; transform:translateX(-50%); white-space:nowrap}
.unlock2 .amostra-tela{box-shadow:0 6px 14px rgba(80,20,5,.16)}
@media (max-width: 860px){ .amostra{--tela-h:280px} }

/* =========================================================
   PÁGINA INICIAL (lp): pouco texto, telas reais da calculadora
   ========================================================= */
.lp{display:grid; gap:clamp(64px, 9vw, 112px); padding-bottom:48px}
.lp-hero{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:clamp(24px,4vw,56px); align-items:center; padding-top:clamp(12px,4vw,40px)}
.lp-pill{display:inline-flex; gap:10px; align-items:center; height:32px; padding:0 14px; border-radius:var(--r-pill); border:1px solid var(--border-strong); background:var(--surface); font-size:12.5px; font-weight:500; color:var(--text-2)}
.lp-pill i{width:7px; height:7px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 4px var(--brand-pastel); animation:lpPulse 2.4s ease-in-out infinite}
.lp-copy h1{font-size:clamp(40px, 5.6vw, 66px); letter-spacing:-.045em; line-height:1.0; margin-top:20px; font-weight:600}
.lp-grad{background:linear-gradient(90deg, #fa5c2d 0%, #f7a23b 60%, #ffd36b 100%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-box-decoration-break:clone; box-decoration-break:clone}
:root[data-theme="light"] .lp-grad{background:linear-gradient(90deg, #c93b12, #fa5c2d 70%, #f7a23b); -webkit-background-clip:text; background-clip:text}
.lp-lead{font-size:clamp(16px, 1.5vw, 19px); color:var(--text-2); margin-top:20px; max-width:44ch; line-height:1.5}
.lp-ctas{display:flex; gap:10px; flex-wrap:wrap; margin-top:30px}
.lp-ctas .btn-lg{min-height:52px; padding-inline:24px; font-size:15px}
.lp-trust{display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:22px; font-size:12.5px; color:var(--text-3)}
.lp-trust span{display:inline-flex; gap:6px; align-items:center}
.lp-trust svg{width:14px; height:14px; color:var(--success-text)}

.lp-stage{position:relative; height:540px}
.lp-glow{position:absolute; inset:12% 4% 4% 14%; background:radial-gradient(closest-side, rgba(250,92,45,.42), rgba(247,162,59,.16) 60%, transparent); filter:blur(36px); pointer-events:none}
.lp-shot{position:absolute; pointer-events:none; user-select:none}
.lp-shot.lp-a{top:34px; left:0; right:44px; z-index:1}
.lp-shot.lp-a .res-hero{margin:0; box-shadow:var(--shadow-pop), var(--edge-light); border-color:var(--border-strong)}
.lp-shot.lp-b{bottom:0; right:0; width:64%; z-index:2; background:var(--card); border:1px solid var(--border-strong); border-radius:22px; padding:14px 14px 6px; box-shadow:var(--shadow-pop), var(--edge-light)}
.lp-mini-h{display:flex; justify-content:space-between; align-items:baseline; gap:8px; padding:2px 4px 6px}
.lp-mini-h b{font-size:13px; font-weight:600}
.lp-mini-h span{font-size:11.5px; color:var(--text-3)}
.lp-shot.lp-c, .lp-shot.lp-d{z-index:3; display:flex; gap:10px; align-items:center; padding:10px 16px 10px 10px; border-radius:18px; background:var(--card); border:1px solid var(--border-strong); box-shadow:var(--shadow-pop), var(--edge-light)}
.lp-shot.lp-c{top:0; right:0; animation:lpFloat 6s ease-in-out infinite}
.lp-shot.lp-d{left:-16px; bottom:70px; animation:lpFloat 7s ease-in-out -2s infinite}
.lp-shot.lp-c > div, .lp-shot.lp-d > div{display:grid; gap:1px}
.lp-shot.lp-c span:not(.lp-chip-ic), .lp-shot.lp-d span:not(.lp-chip-ic){font-size:11.5px; color:var(--text-3)}
.lp-shot.lp-c b, .lp-shot.lp-d b{font-size:16px; font-weight:600; letter-spacing:-.01em}
.lp-chip-ic{width:36px; height:36px; border-radius:12px; display:grid; place-items:center; background:var(--brand-pastel); color:var(--brand-text)}
.lp-chip-ic svg{width:18px; height:18px}
.lp-tag{position:absolute; top:14px; right:14px; z-index:2; display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 10px; border-radius:var(--r-pill); font-size:11.5px; font-weight:600; color:var(--text-2); background:var(--surface); border:1px solid var(--border-strong)}
.lp-tag svg{width:13px; height:13px; color:var(--brand-text)}
@keyframes lpFloat{0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)}}
@keyframes lpPulse{0%,100%{box-shadow:0 0 0 4px var(--brand-pastel)} 50%{box-shadow:0 0 0 7px transparent}}

.lp-nums{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:26px 0}
.lp-nums > div{display:grid; gap:4px; padding:0 22px; border-left:1px solid var(--border)}
.lp-nums > div:first-child{border-left:0; padding-left:0}
.lp-nums b{font-size:clamp(30px, 3.6vw, 44px); font-weight:600; letter-spacing:-.04em; line-height:1}
.lp-nums span{font-size:13px; color:var(--text-2)}

.lp-sec{display:grid; gap:32px}
.lp-sec-h{display:grid; gap:12px; justify-items:center; text-align:center}
.lp-sec-h h2{font-size:clamp(30px, 3.8vw, 46px); letter-spacing:-.04em; font-weight:600; max-width:18ch}

.lp-bento{display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:16px}
.lp-tile{margin:0; grid-column:span 2; display:grid; grid-template-rows:auto 1fr; gap:16px; padding:20px 20px 0; border-radius:26px; background:var(--card); border:1px solid var(--border); overflow:hidden; box-shadow:var(--edge-light); transition:transform var(--dur, .2s) var(--ease, ease), border-color .2s}
.lp-tile:hover{transform:translateY(-3px); border-color:var(--border-strong)}
.lp-tile.t-etapas, .lp-tile.t-crono{grid-column:span 3}
.lp-tile figcaption{display:grid; gap:3px}
.lp-tile figcaption b{font-size:17px; font-weight:600; letter-spacing:-.01em}
.lp-tile figcaption span{font-size:13px; color:var(--text-2)}
.lp-tela{height:300px; overflow:hidden; pointer-events:none; user-select:none; -webkit-mask-image:linear-gradient(180deg, #000 62%, transparent); mask-image:linear-gradient(180deg, #000 62%, transparent)}
.lp-tela .res-sec{margin-top:0; gap:10px}
.lp-tela .res-sec > h2, .lp-tela .res-sec > p.sub{display:none}
.lp-tela .grid-3, .lp-tela .grid-2{grid-template-columns:repeat(2, minmax(0,1fr))}
.lp-obs{display:flex; gap:6px; align-items:center; justify-content:center; text-align:center}
.lp-obs svg{width:14px; height:14px; color:var(--brand-text); flex:none}

.lp-steps{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px}
.lp-step{position:relative; display:grid; gap:10px; align-content:start; padding:26px; border-radius:26px; border:1px solid var(--border); background:var(--card); overflow:hidden; box-shadow:var(--edge-light)}
.lp-step-n{position:absolute; right:18px; top:-8px; font-size:110px; font-weight:700; line-height:1; color:transparent; -webkit-text-stroke:1.5px var(--border-strong); letter-spacing:-.06em; pointer-events:none}
.lp-step .dot-icon{background:var(--brand-pastel); color:var(--brand-text)}
.lp-step b{font-size:18px; font-weight:600; letter-spacing:-.015em; margin-top:8px}
.lp-step > span:last-child{color:var(--text-2); font-size:14px}

.lp-final{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,420px); gap:40px; align-items:center; padding:clamp(24px, 4.4vw, 56px); border-radius:34px; background:var(--gradient-highlight); color:#fff; box-shadow:var(--shadow-brand), inset 0 1px 0 rgba(255,255,255,.22); scroll-margin-top:96px}
.lp-final-copy .overline{color:rgba(255,255,255,.82)}
.lp-final-copy h2{font-size:clamp(30px, 3.8vw, 48px); font-weight:600; letter-spacing:-.04em; color:#fff; margin-top:12px; max-width:16ch}
.lp-final-copy ul{list-style:none; padding:0; margin:22px 0 0; display:grid; gap:10px; font-size:15px; color:rgba(255,255,255,.92)}
.lp-final-copy li{display:flex; gap:10px; align-items:center}
.lp-final-copy li svg{width:18px; height:18px; color:#fff; flex:none}
.lp-final .auth{color:var(--text); box-shadow:0 24px 48px rgba(80,20,5,.35)}

@media (max-width: 960px){
  .lp-hero{grid-template-columns:minmax(0,1fr)}
  .lp-stage{height:auto; display:grid; padding-top:22px}
  .lp-shot.lp-a{position:relative; top:auto; left:auto; right:auto}
  .lp-shot.lp-b{position:relative; width:86%; margin:-36px 0 0 auto; bottom:auto}
  .lp-shot.lp-c{top:0; right:10px}
  .lp-shot.lp-d{display:none}
  .lp-final{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 760px){
  .lp-nums{grid-template-columns:repeat(2, minmax(0,1fr)); row-gap:22px}
  .lp-nums > div:nth-child(3){border-left:0; padding-left:0}
  .lp-nums > div{padding:0 0 0 16px}
  .lp-bento{grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:86%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0 -16px; padding:0 16px 6px; scroll-padding:0 16px}
  .lp-bento::-webkit-scrollbar{display:none}
  .lp-tile, .lp-tile.t-etapas, .lp-tile.t-crono{grid-column:auto; scroll-snap-align:start}
  .lp-tela{height:270px}
  .lp-tela .grid-3, .lp-tela .grid-2{grid-template-columns:minmax(0,1fr)}
  .lp-steps{grid-template-columns:minmax(0,1fr)}
  .lp-ctas .btn-lg{flex:1 1 100%}
}
@media (prefers-reduced-motion: reduce){ .lp-shot.lp-c, .lp-shot.lp-d, .lp-pill i{animation:none} }

.lp-shot.lp-b{overflow:hidden}
.lp-shot.lp-b svg{width:100%; height:auto; display:block}
.lp-shot.lp-a .res-kpis{grid-template-columns:repeat(2, minmax(0,1fr))}
.lp-shot.lp-a .res-kpis .kpi:nth-child(n+3){display:none}
.lp-stage > .lp-tag{top:auto; right:auto; left:0; bottom:12px; z-index:4}
@media (max-width: 960px){ .lp-stage > .lp-tag{position:static; justify-self:start; margin-top:12px} }
.lp-shot.lp-b svg{min-width:0 !important}
@media (max-width: 960px){
  .lp-shot.lp-c{display:none}
  .lp-shot.lp-a .res-kpis{display:none}
  .lp-shot.lp-b{margin-top:-28px}
}
.lp-obs{display:block}
.lp-obs svg{display:inline-block; vertical-align:-2px; margin-right:6px}

/* fundo também no html: em alguns navegadores (iOS) o fim da página ficava branco ao rolar */
html{background:var(--bg); min-height:100%}
body{min-height:100vh; min-height:100dvh}

/* números dos passos preenchidos com o degradê laranja da marca */
.lp-step-n{-webkit-text-stroke:0; color:transparent; background:linear-gradient(165deg, #ffd36b 0%, #f7a23b 38%, #fa5c2d 72%, #e8401c 100%); -webkit-background-clip:text; background-clip:text; opacity:.95; top:-4px; right:24px; padding-right:4px}

/* rolagem própria: o documento não rola; quem rola é #rolo, com o fundo do tema */
html, body{height:100%; overflow:hidden; overscroll-behavior:none}
.rolo{position:fixed; inset:0; overflow-x:hidden; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior-y:contain; background:var(--glow-ambient) no-repeat, var(--bg); padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px)}

/* logomarca YouCon: símbolo em degradê (imagem) + nome em máscara, que segue a cor do texto do tema */
.logo{gap:10px}
.logo-ic{width:27px; height:31px; flex:none; background:var(--logo-icone) center/contain no-repeat}
.logo-marca{width:97px; height:17px; flex:none; background-color:var(--text); -webkit-mask:var(--logo-marca) center/contain no-repeat; mask:var(--logo-marca) center/contain no-repeat}
.logo-prod{font-size:var(--fs-sub); font-weight:500; color:var(--text-3); padding-left:10px; margin-left:2px; border-left:1px solid var(--border-strong); line-height:16px; white-space:nowrap}
@media (max-width:640px){ .logo-prod{display:none} }
@media (max-width:359px){ .logo-marca{width:80px; height:14px} }
.prog-sub{display:none; font-size:12px; color:var(--text-3)}
@media (max-width:640px){ .prog-sum > div{gap:0} .prog-sub{display:block; width:100%} }

/* ---------- Brilho que percorre a borda dos botões principais ----------
   Um feixe de luz gira pela borda (::before) e um reflexo suave acompanha por dentro (::after). */
@property --beam{syntax:'<angle>'; inherits:false; initial-value:0deg}
.btn-beam, .btn-pri.btn-lg, .unlock2 .btn-inv{
  position:relative; isolation:isolate; overflow:hidden;
  --beam-c1:#ffd36b; --beam-c2:#fff4dc; --beam-glow:rgba(255,211,107,.42)
}
.btn-inv.btn-beam, .unlock2 .btn-inv{--beam-c1:#f7a23b; --beam-c2:#fa5c2d; --beam-glow:rgba(250,92,45,.20)}
.btn-beam::before, .btn-pri.btn-lg::before, .unlock2 .btn-inv::before{
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px; z-index:1; pointer-events:none;
  background:conic-gradient(from var(--beam), transparent 0deg 240deg, var(--beam-c1) 300deg, var(--beam-c2) 335deg, transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation:beamGira 3.4s linear infinite
}
.btn-beam::after, .btn-pri.btn-lg::after, .unlock2 .btn-inv::after{
  /* sem filter:blur: no Safari do iPhone o desfoque escapa do arredondamento e aparece um quadrado;
     o reflexo fica dentro do próprio botão (inset 0, mesmo raio) com transições suaves no degradê */
  content:""; position:absolute; inset:0; border-radius:inherit; z-index:-1; pointer-events:none;
  background:conic-gradient(from var(--beam), transparent 0deg 200deg, var(--beam-glow) 305deg, transparent 360deg);
  -webkit-mask-image:radial-gradient(farthest-side, transparent 30%, #000 100%); mask-image:radial-gradient(farthest-side, transparent 30%, #000 100%);
  animation:beamGira 3.4s linear infinite
}
.btn-beam:hover::before, .btn-pri.btn-lg:hover::before, .unlock2 .btn-inv:hover::before,
.btn-beam:hover::after, .btn-pri.btn-lg:hover::after, .unlock2 .btn-inv:hover::after{animation-duration:2s}
.btn[disabled]::before, .btn[disabled]::after{display:none}
@keyframes beamGira{to{--beam:360deg}}
@media (prefers-reduced-motion: reduce){
  .btn-beam::before, .btn-pri.btn-lg::before, .unlock2 .btn-inv::before,
  .btn-beam::after, .btn-pri.btn-lg::after, .unlock2 .btn-inv::after{animation:none; display:none}
}
:root{--logo-icone:url(data:image/png;base64,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); --logo-marca:url(data:image/png;base64,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)}

/* ---------- Cadastro e entrada (versão com banco) ---------- */
.hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none}
.check{display:flex; gap:10px; align-items:flex-start; font-size:var(--fs-sub); color:var(--text-2); line-height:1.45; cursor:pointer}
.check input{width:18px; height:18px; margin:1px 0 0; flex:none; accent-color:var(--brand)}
.check a{color:var(--brand-text)}
.legal-txt{max-height:min(70vh, 640px); overflow-y:auto; font-size:var(--fs-sub); color:var(--text-2); line-height:1.6}
.legal-txt h4{font-size:var(--fs-body); color:var(--text); margin:10px 0 2px}
.legal-txt ul{margin:0; padding-left:18px; display:grid; gap:4px}
body.is-busy, body.is-busy *{cursor:progress}

/* ---------- Orçamento com quantitativos ---------- */
.quant-card,.quant-oferta{margin-top:16px; display:grid; gap:14px}
.quant-card-head{display:grid; grid-template-columns:40px 1fr auto; gap:4px 14px; align-items:start}
.quant-card-head h3{font-size:var(--fs-md); font-weight:600; letter-spacing:-.01em}
.quant-card-head p{margin-top:4px; color:var(--text-2); font-size:var(--fs-sub); max-width:68ch}
.quant-card-head .badge{align-self:center}
.quant-oferta{border-color:var(--border-strong); background:linear-gradient(180deg, var(--brand-pastel), var(--card) 70%)}
.quant-oferta .overline{display:block; margin-bottom:2px}
.quant-lista{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px 18px; font-size:var(--fs-sub); color:var(--text-2)}
.quant-lista li{display:flex; gap:8px}
.quant-lista svg{width:16px; height:16px; color:var(--success-text); flex:none; margin-top:1px}
.quant-card .actions,.quant-oferta .actions,.orc-card .actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
@media (max-width:640px){ .quant-card-head{grid-template-columns:40px 1fr} .quant-card-head .badge{grid-column:2; justify-self:start} .quant-lista{grid-template-columns:1fr} }
.pack.quant{border-color:var(--brand); box-shadow:var(--edge-light), 0 0 0 1px var(--brand-pastel)}
.pack ul{grid-column:1; list-style:none; margin:0; padding:0; display:grid; gap:4px; font-size:var(--fs-sub); color:var(--text-2)}
.pack ul li{display:flex; gap:6px}
.pack ul svg{width:14px; height:14px; color:var(--success-text); flex:none; margin-top:1px}
.tag-medida{height:20px; padding:0 8px; margin-left:6px; font-size:11px; vertical-align:2px}

.quant-view .q-grupo{margin-top:14px; display:grid; gap:4px}
.q-grupo h3{display:flex; align-items:center; gap:10px; margin-bottom:6px}
.q-item{display:grid; grid-template-columns:minmax(0,1fr) minmax(220px, 320px); gap:8px 20px; align-items:start; padding:12px 0; border-top:1px solid var(--border)}
.q-item:first-of-type{border-top:0}
.q-tit{display:grid; gap:3px}
.q-tit label{font-weight:500}
.q-input{display:flex; align-items:center; gap:0; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-control); overflow:hidden}
.q-input:focus-within{border-color:var(--text); box-shadow:0 0 0 3px var(--brand-pastel)}
.q-input input{flex:1; min-width:0; height:42px; border:0; background:transparent; color:var(--text); padding:0 12px; font:inherit; font-variant-numeric:tabular-nums; outline:none}
.q-unid{padding:0 12px; color:var(--text-3); font-size:var(--fs-sub); white-space:nowrap}
.q-var{display:grid; gap:4px; margin-top:8px; font-size:var(--fs-sub); color:var(--text-2)}
.q-var select{height:40px; border-radius:var(--r-control); border:1px solid var(--border); background:var(--surface); color:var(--text); padding:0 10px; font:inherit}
.q-lista{display:grid; gap:8px}
.q-linha{display:grid; grid-template-columns:96px 1fr auto; gap:8px; align-items:center}
.q-mini{font-size:var(--fs-sub); color:var(--text-2)}
.q-lista-pe{display:flex; justify-content:space-between; align-items:center; gap:8px}
.q-duplo{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.q-duplo label{display:grid; gap:4px; font-size:var(--fs-sub); color:var(--text-2)}
.q-calc{min-height:42px; display:flex; align-items:center; gap:6px; padding:0 12px; border-radius:var(--r-control); background:var(--neutral-pastel)}
.q-pe{position:sticky; bottom:12px; margin-top:18px; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 14px 12px 18px; border-radius:var(--r-card); background:var(--glass); -webkit-backdrop-filter:blur(20px) saturate(140%); backdrop-filter:blur(20px) saturate(140%); border:1px solid var(--border-strong); box-shadow:var(--shadow-float)}
@media (max-width:640px){ .q-item{grid-template-columns:1fr} .q-pe .btn{width:100%} }

.planilha td{vertical-align:top}
.planilha td:first-child{white-space:normal; min-width:240px}
@media (max-width:640px){ .planilha td:first-child{min-width:170px} .planilha th, .planilha td{padding:10px 12px} }
.planilha .pl-etapa td{background:var(--surface)}
.pl-comp{margin-top:4px; font-size:var(--fs-sub); color:var(--text-3)}
.pl-comp summary{cursor:pointer; width:max-content}
.pl-comp ul{margin:6px 0 0; padding-left:16px; display:grid; gap:3px}
.quant-faltas ul{list-style:none; margin:8px 0 0; padding:0; display:grid; gap:8px}
.quant-faltas li{display:grid; gap:2px}
.quant-cmp .stat .v{font-size:var(--fs-title)}
.orc-card{margin-top:24px; display:grid; gap:12px; max-width:720px}
.orc-card h1{font-size:var(--fs-page); font-weight:600; letter-spacing:-.025em; line-height:1.1}
.orc-card p{color:var(--text-2)}

/* ---------- PDF (impressão do relatório) ---------- */
.print-head{display:none}
@media print{
  @page{size:A4; margin:14mm 12mm}
  /* papel sempre claro, mesmo com o tema escuro (ou Ctrl+P sem o botão) */
  :root, :root[data-theme]{
  --bg:#f4f4f4; --card:#ffffff; --surface:#f2f1f0; --surface-hover:#e9e7e5; --surface-ghost:#e2dfdc;
  --surface-inverse:#242424; --text-on-inverse:#ffffff;
  --border:rgba(5,5,5,.08); --border-strong:rgba(5,5,5,.16); --border-highlight:rgba(255,255,255,.9);
  --text:#050505; --text-2:#5c5c5c; --text-3:#6b6b6b;
  --brand-pastel:rgba(250,92,45,.10); --brand-pastel-hover:rgba(250,92,45,.17); --brand-text:#c93b12;
  --metal:radial-gradient(circle at 50% 30%, #ffffff, #ecebea);
  --glow-ambient:radial-gradient(900px 520px at 100% 0%, rgba(250,92,45,.08), rgba(250,92,45,0) 70%);
  --danger-pastel:rgba(229,62,50,.10); --danger-text:#c42a1f;
  --warning-pastel:rgba(247,162,59,.16); --warning-text:#95560a;
  --success-pastel:rgba(46,170,92,.12); --success-text:#17803f;
  --neutral-pastel:rgba(5,5,5,.05);
  --chart-1:#e8401c; --chart-2:#d98a1f; --chart-3:#8e847d; --chart-4:#5e544e; --chart-5:#bdb4ae; --chart-6:#3f3833;
  --edge-light:inset 0 1px 0 rgba(255,255,255,.9);
  --shadow-pop:0 12px 32px rgba(5,5,5,.12);
  --shadow-float:0 12px 32px rgba(5,5,5,.12), inset 0 1px 0 rgba(255,255,255,.9);
  --shadow-brand:0 8px 24px rgba(250,92,45,.22);
  --overlay:rgba(5,5,5,.32); --glass:rgba(255,255,255,.78);
  color-scheme:light;
  }
  html, body{height:auto; overflow:visible; background:#fff}
  body{-webkit-print-color-adjust:exact; print-color-adjust:exact}
  body::before{display:none}
  .rolo{position:static; overflow:visible; background:#fff; padding:0}
  #top, #demo, #modal, .toasts, .no-print, [data-act="etapasTodas"], [data-act="cronoTodas"], [data-act="atualizarSim"], section.cta, .quant-oferta .actions, .quant-card .actions, .cenarios button{display:none !important}
  .print-head{display:flex; align-items:center; gap:14px; padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid #ddd}
  .print-head div{display:grid; gap:2px}
  .print-head span{font-size:11px; color:#555}
  .card:not(.chart-card), .etapa, .stat, tr, .quant-card, .formula{break-inside:avoid}
  .res-sec > h2{break-after:avoid}
  .res-sec{margin-top:20px}
  .list-wrap, .chart-scroll{overflow:visible}
  .res-hero::before{display:none}
  .q-pe{position:static}
  a[href]::after{content:none}
}
