/* CAUSA Web App — estilos (marca navy + amarelo, igual o app/landing) */
:root{
  --navy:#0F1F4D;--navy-2:#16265c;--amar:#FFC700;--amar-deep:#E8A400;
  --ink:#0c1631;--bg:#F6F8FD;--card:#fff;--line:#e6eaf4;--muted:#5b6785;
  --green:#12a150;--red:#e0364a;--radius:18px;
  --shadow:0 20px 50px -24px rgba(15,31,77,.35);--shadow-sm:0 8px 24px -14px rgba(15,31,77,.3);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.grad{background:linear-gradient(120deg,var(--amar),var(--amar-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.logo{font-weight:900;font-size:24px;color:var(--navy);display:inline-flex;align-items:center}.logo b{color:var(--amar-deep)}

/* layout base */
#app{min-height:100vh;display:flex;flex-direction:column}
.topbar{height:64px;display:flex;align-items:center;gap:14px;padding:0 20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.7);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}
.topbar .sp{flex:1}
.container{width:100%;max-width:520px;margin:0 auto;padding:34px 20px 60px;flex:1}
.container.wide{max-width:960px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;border-radius:12px;padding:14px 22px;cursor:pointer;border:none;font-size:15.5px;font-family:inherit;transition:transform .15s,box-shadow .2s,filter .2s;width:100%}
.btn:hover{filter:brightness(.97)}.btn:active{transform:scale(.99)}
.btn-amar{background:var(--amar);color:var(--navy);box-shadow:0 10px 26px -12px rgba(255,199,0,.7)}
.btn-navy{background:var(--navy);color:#fff}
.btn-ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn.sm{width:auto;padding:10px 18px;font-size:14px}

/* forms */
.field{margin-bottom:14px}
.field label{display:block;font-weight:700;font-size:13.5px;color:var(--navy);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;font-family:inherit;background:#fff;transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--amar-deep)}
.hint{font-size:12.5px;color:var(--muted);margin-top:6px}
.err{background:#fbe0e4;color:var(--red);font-weight:700;font-size:13.5px;padding:10px 13px;border-radius:10px;margin-bottom:14px}
.ok{background:#dff5e8;color:var(--green);font-weight:700;font-size:13.5px;padding:10px 13px;border-radius:10px;margin-bottom:14px}

/* headings */
h1.title{font-size:30px;font-weight:900;letter-spacing:-.02em;color:var(--navy);line-height:1.1}
p.lead{color:var(--muted);font-size:16px;margin-top:10px}
.eyebrow{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--amar-deep);background:#fff6d6;padding:6px 12px;border-radius:20px;margin-bottom:16px}

/* choice cards (escolher lado) */
.choices{display:grid;gap:14px;margin-top:26px}
.choice{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:22px;cursor:pointer;display:flex;gap:16px;align-items:center;transition:border-color .2s,transform .15s,box-shadow .2s;box-shadow:var(--shadow-sm)}
.choice:hover{border-color:var(--amar);transform:translateY(-2px)}
.choice .emoji{width:52px;height:52px;border-radius:14px;background:#fff6d6;display:grid;place-items:center;font-size:26px;flex:none}
.choice h3{font-size:18px;color:var(--navy)}
.choice p{font-size:13.5px;color:var(--muted);margin-top:3px}
.choice .arrow{margin-left:auto;color:var(--amar-deep);font-size:22px;font-weight:800}

/* card */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}

/* progress */
.steps-bar{display:flex;gap:6px;margin-bottom:22px}
.steps-bar .s{height:6px;border-radius:6px;flex:1;background:var(--line)}
.steps-bar .s.on{background:var(--amar)}

/* chat (intake quiz) */
.chat{display:flex;flex-direction:column;gap:12px;padding:6px 0 12px;min-height:46vh}
.msg{max-width:82%;padding:12px 15px;border-radius:16px;font-size:14.5px;line-height:1.45;box-shadow:var(--shadow-sm)}
.msg.ai{background:#fff;border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:5px}
.msg.me{background:var(--amar);color:var(--navy);align-self:flex-end;font-weight:600;border-bottom-right-radius:5px}
.msg.typing{align-self:flex-start;color:var(--muted);font-style:italic}
.chat-input{position:sticky;bottom:0;background:var(--bg);padding:12px 0;display:flex;gap:10px}
.chat-input input{flex:1;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;font-size:15px;font-family:inherit}
.chat-input input:focus{outline:none;border-color:var(--amar-deep)}
.chat-input button{background:var(--navy);color:#fff;border:none;border-radius:14px;width:52px;font-size:18px;cursor:pointer}

/* pill / badge */
.pill{display:inline-block;font-size:11.5px;font-weight:800;background:#eef1f9;color:var(--navy);padding:4px 10px;border-radius:20px}
.center{text-align:center}
.mt{margin-top:18px}.mt-s{margin-top:10px}
.row{display:flex;gap:10px}.row>*{flex:1}
.muted{color:var(--muted)}
.spin{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--amar-deep);border-radius:50%;animation:sp 1s linear infinite;margin:20px auto}
@keyframes sp{to{transform:rotate(360deg)}}
.loading{display:grid;place-items:center;min-height:60vh}

/* ---- painéis ---- */
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:18px 0 20px;overflow-x:auto}
.tab{border:none;background:transparent;font-weight:800;font-size:14.5px;color:var(--muted);padding:12px 6px;margin-right:14px;cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap;font-family:inherit}
.tab.on{color:var(--navy);border-bottom-color:var(--amar)}
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:6px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center;box-shadow:var(--shadow-sm)}
.stat b{display:block;font-size:26px;color:var(--navy);font-weight:900}.stat span{font-size:12px;color:var(--muted);font-weight:700}
.list{display:flex;flex-direction:column;gap:12px}
.item{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow-sm);display:flex;gap:12px;align-items:flex-start;cursor:pointer;transition:border-color .2s}
.item:hover{border-color:var(--amar)}
.item .av{width:44px;height:44px;border-radius:12px;background:#fff6d6;display:grid;place-items:center;font-size:20px;flex:none}
.item .g{flex:1;min-width:0}
.item h4{font-size:15px;color:var(--navy);font-weight:800}
.item p{font-size:13px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item .st{font-size:11px;font-weight:800;padding:3px 9px;border-radius:20px;background:#eef1f9;color:var(--navy);flex:none}
.item .st.novo{background:#dff5e8;color:var(--green)}
.empty{text-align:center;color:var(--muted);padding:40px 10px}
.empty .e{font-size:40px}.empty p{margin-top:8px;font-size:14px}
