/* ============================================================
   NEUROLOGIX — Formulários de Triagem Nível 01
   Base visual inspirada no dashboard Neurologix enviado pelo usuário.
   ============================================================ */
:root{
  --navy:#1B2A5B;
  --blue:#2563EB;
  --cyan:#06B6D4;
  --teal:#14B8A6;
  --violet:#7C6CF0;
  --amber:#F59E0B;
  --orange:#F97316;
  --emerald:#059669;
  --red:#DC2626;

  --bg:#F4F7FB;
  --surface:#FFFFFF;
  --border:#E8EDF4;
  --border-soft:#F1F5F9;

  --text-1:#1E293B;
  --text-2:#475569;
  --text-3:#94A3B8;

  --grad-brand:linear-gradient(90deg,#2563EB,#06B6D4);
  --grad-violet:linear-gradient(90deg,#7C6CF0,#2563EB);
  --grad-green:linear-gradient(90deg,#059669,#14B8A6);
  --grad-hero:linear-gradient(135deg,#1B2A5B 0%,#1E3A8A 45%,#0E7490 100%);

  --radius:16px;
  --shadow-card:0 1px 3px rgba(30,41,91,.06),0 8px 24px -12px rgba(30,41,91,.10);
  --shadow-pop:0 24px 64px -16px rgba(15,23,42,.35);
  --shadow-btn:0 6px 16px -6px rgba(37,99,235,.45);

  --font-display:"Bricolage Grotesque",system-ui,sans-serif;
  --font-body:"Plus Jakarta Sans",system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text-1);
  font-size:14px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
button,input,select,textarea{font-family:inherit}
button{cursor:pointer;border:none;background:none}
a{color:inherit}
[hidden]{display:none!important}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ---------- Marca ---------- */
.brand{display:flex;align-items:center;gap:10px}
.brand-name{font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--text-1)}
.brand-name em{font-style:normal;background:linear-gradient(90deg,#2563EB,#06B6D4,#7C6CF0);-webkit-background-clip:text;background-clip:text;color:transparent}
 .logo-chip{background:#fff;border-radius:16px;padding:8px;box-shadow:0 10px 30px rgba(0,0,0,.14);display:flex;align-items:center;justify-content:center;overflow:hidden}
.logo-chip img{width:42px;height:42px;display:block;object-fit:contain}

/* ---------- Layout ---------- */
.page-shell{min-height:100vh;display:flex;flex-direction:column}
.hero{
  position:relative;overflow:hidden;background:var(--grad-hero);color:#fff;
  padding:28px 16px 82px;
}
.hero::before,.hero::after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;filter:blur(90px);opacity:.22;pointer-events:none}
.hero::before{background:#22D3EE;top:-160px;right:-110px}
.hero::after{background:#8B7CF6;bottom:-170px;left:-100px}
.hero-inner{position:relative;max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:22px;align-items:center}
@media(min-width:900px){.hero-inner{grid-template-columns:1.2fr .8fr}}
.hero h1{font-family:var(--font-display);font-size:30px;line-height:1.06;font-weight:800;letter-spacing:-.03em;margin:18px 0 10px;max-width:760px}
@media(min-width:900px){.hero h1{font-size:46px}}
.hero p.lede{color:#D8E8FF;font-size:14.5px;max-width:720px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.hero-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px;max-width:660px}
@media(min-width:660px){.hero-mini{grid-template-columns:repeat(4,1fr)}}
.hero-mini-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(7px);border-radius:14px;padding:12px;color:#D8E8FF;font-size:11.5px}
.hero-mini-card b{display:block;color:#fff;font-size:16px;font-family:var(--font-display)}
.hero-side{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:20px;backdrop-filter:blur(8px);box-shadow:0 24px 64px -22px rgba(0,0,0,.45)}
.hero-side h3{font-size:17px;margin-bottom:10px}
.hero-note{display:flex;gap:10px;font-size:12px;color:#D8E8FF;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:12px;margin-top:14px}
.hero-note i{color:#5EEAD4;flex-shrink:0;margin-top:3px}

.main-wrap{width:min(1120px,calc(100% - 32px));margin:-56px auto 44px;position:relative;z-index:4;display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:1024px){.main-wrap{grid-template-columns:280px 1fr;align-items:start}}

.sidebar-card{background:#fff;border:1px solid var(--border-soft);border-radius:20px;box-shadow:var(--shadow-card);overflow:hidden;position:sticky;top:16px}
.progress-head{padding:18px;border-bottom:1px solid var(--border-soft)}
.progress-title{font-weight:800;font-family:var(--font-display);font-size:17px}
.progress-sub{font-size:12px;color:var(--text-3);margin-top:2px}
.progress-bar{height:9px;background:#EAF0F8;border-radius:99px;margin-top:12px;overflow:hidden}
.progress-fill{height:100%;width:0;background:var(--grad-brand);border-radius:99px;transition:width .2s ease}
.progress-num{font-size:11.5px;color:var(--text-3);margin-top:8px;display:flex;justify-content:space-between}
.step-list{padding:10px}
.step-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:13px;color:var(--text-2);font-weight:650;font-size:13px;text-align:left;width:100%}
.step-item:hover{background:#F8FAFC}
.step-dot{width:28px;height:28px;border-radius:10px;background:#F1F5F9;color:#64748B;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.step-item.active{background:#EFF6FF;color:var(--blue)}
.step-item.active .step-dot{background:var(--grad-brand);color:#fff}
.step-item.done .step-dot{background:#ECFDF5;color:#059669}
.side-disclaimer{margin:10px;padding:13px;border-radius:14px;background:#F8FAFC;border:1px solid var(--border-soft);font-size:11.5px;color:var(--text-3);display:flex;gap:9px}
.side-disclaimer i{color:var(--teal);margin-top:2px}

.form-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:22px;box-shadow:var(--shadow-card);overflow:hidden}
.form-head{padding:22px;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.form-head h2{font-size:22px;font-weight:800;line-height:1.1}
.form-head p{color:var(--text-3);font-size:13px;margin-top:6px;max-width:690px}
.badge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;font-weight:800;font-size:11px;padding:6px 10px;white-space:nowrap}
.badge-blue{background:#EFF6FF;color:var(--blue);border:1px solid #BFDBFE}
.badge-green{background:#ECFDF5;color:#047857;border:1px solid #A7F3D0}
.badge-amber{background:#FFFBEB;color:#B45309;border:1px solid #FDE68A}
.badge-red{background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA}
.badge-gray{background:#F8FAFC;color:#64748B;border:1px solid #E2E8F0}

.form-body{padding:22px}
.section{border:1px solid var(--border-soft);border-radius:18px;margin-bottom:16px;overflow:hidden;background:#fff}
.section-head{background:linear-gradient(180deg,#FAFCFF,#F8FAFC);border-bottom:1px solid var(--border-soft);padding:16px 18px;display:flex;gap:12px;align-items:flex-start}
.section-icon{width:38px;height:38px;border-radius:13px;background:var(--grad-brand);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.section-title h3{font-size:16px;font-weight:800}
.section-title p{font-size:12px;color:var(--text-3);margin-top:2px}
.section-content{padding:18px}
.grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:780px){.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}}
.field-group label{display:block;font-weight:700;font-size:12.5px;color:var(--text-2);margin-bottom:6px}
.field,.select,textarea.field{width:100%;border:1px solid var(--border);border-radius:12px;padding:11px 14px;font-size:13.5px;color:var(--text-1);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
textarea.field{min-height:94px;resize:vertical}
.field::placeholder,textarea.field::placeholder{color:#B7C2D0}
.field:focus,.select:focus,textarea.field:focus{border-color:#7FB0FF;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.help{font-size:11px;color:var(--text-3);margin-top:5px}
.consent-box{display:flex;gap:10px;padding:14px;border:1px solid #BFDBFE;background:#EFF6FF66;border-radius:14px;color:var(--text-2);font-size:12px;margin-top:12px}
.consent-box input{accent-color:var(--blue);width:16px;height:16px;margin-top:2px;flex-shrink:0}
.scale-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.scale-pill{font-size:11px;border:1px solid var(--border);background:#F8FAFC;color:var(--text-2);border-radius:999px;padding:5px 9px;font-weight:700}

.question{padding:15px 0;border-bottom:1px solid #F3F6FA}
.question:last-child{border-bottom:none}
.question-title{font-weight:750;color:var(--text-1);margin-bottom:10px;display:flex;gap:9px;align-items:flex-start}
.question-title span.number{display:inline-flex;width:25px;height:25px;border-radius:9px;background:#F1F5F9;color:#64748B;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;font-weight:800}
.scale-options{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
@media(max-width:520px){.scale-options{grid-template-columns:1fr}.scale-options label{justify-content:flex-start!important}}
.scale-options label{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 8px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text-2);font-size:12px;font-weight:700;cursor:pointer;transition:.14s;text-align:center;min-height:42px}
.scale-options input{accent-color:var(--blue)}
.scale-options label:hover{border-color:#BFDBFE;background:#F8FAFC}
.scale-options label.selected{border-color:#60A5FA;background:#EFF6FF;color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.08)}

.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;border-top:1px solid var(--border-soft);padding:18px 22px;background:#FAFCFF}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:13.5px;border-radius:12px;padding:11px 18px;transition:opacity .15s,transform .1s;text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--grad-brand);color:#fff;box-shadow:var(--shadow-btn)}
.btn-primary:hover{opacity:.93}
.btn-green{background:var(--grad-green);color:#fff;box-shadow:0 6px 16px -6px rgba(5,150,105,.45)}
.btn-violet{background:var(--grad-violet);color:#fff}
.btn-ghost{border:1px solid var(--border);color:var(--text-2);background:#fff}
.btn-ghost:hover{background:var(--border-soft)}
.btn-danger{background:#FEF2F2;border:1px solid #FECACA;color:#B91C1C}
.btn-sm{padding:8px 13px;font-size:12px;border-radius:10px}

/* ---------- Resultado ---------- */
.result-screen{display:none}
.result-screen.show{display:block}
.result-hero{padding:22px;border-bottom:1px solid var(--border-soft);background:linear-gradient(135deg,#FFFFFF,#F8FAFC)}
.result-hero-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.result-title h2{font-size:24px;font-weight:800}
.result-title p{font-size:13px;color:var(--text-3);margin-top:3px}
.score-circle{width:130px;height:130px;border-radius:50%;background:conic-gradient(var(--blue) var(--pct,0%),#EAF0F8 0);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.score-circle::before{content:"";position:absolute;inset:11px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #F1F5F9}
.score-inner{position:relative;text-align:center}
.score-inner strong{display:block;font-family:var(--font-display);font-size:30px;line-height:1;font-weight:900;color:var(--text-1)}
.score-inner span{font-size:11px;color:var(--text-3);font-weight:800}
.result-grid{display:grid;grid-template-columns:1fr;gap:14px;padding:22px}
@media(min-width:920px){.result-grid{grid-template-columns:1.1fr .9fr}}
.result-block{background:#fff;border:1px solid var(--border-soft);border-radius:18px;padding:18px;box-shadow:var(--shadow-card)}
.result-block h3{font-size:16px;font-weight:800;margin-bottom:10px;display:flex;align-items:center;gap:9px}
.result-block h3 i{color:var(--blue)}
.interpretation{font-size:14px;color:var(--text-2)}
.domain-list{display:flex;flex-direction:column;gap:11px}
.domain-row{display:grid;grid-template-columns:1fr 62px;gap:10px;align-items:center}
.domain-row b{font-size:12.5px;color:var(--text-2)}
.domain-row span{font-weight:900;font-family:var(--font-display);font-size:16px;text-align:right}
.mini-bar{grid-column:1/-1;height:8px;background:#EAF0F8;border-radius:999px;overflow:hidden}
.mini-bar i{display:block;height:100%;width:0;background:var(--grad-brand);border-radius:999px}
.ai-summary{white-space:pre-line;color:var(--text-2);font-size:13.5px}
.response-list{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}
.response-item{border:1px solid #F1F5F9;border-radius:12px;padding:10px;background:#FAFCFF;font-size:12px;color:var(--text-2)}
.response-item b{color:var(--text-1)}
.footer-print{padding:0 22px 22px;color:var(--text-3);font-size:11.5px}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(12px);background:var(--navy);color:#fff;font-size:12.5px;font-weight:700;padding:11px 18px;border-radius:12px;box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:.22s;z-index:99;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translateX(-50%)}

/* ---------- Impressão ---------- */
@media print{
  body{background:#fff;color:#111;font-size:12px}
  .hero,.sidebar-card,.form-screen,.actions,.no-print,.toast{display:none!important}
  .main-wrap{display:block;width:100%;margin:0}
  .form-card,.result-block{box-shadow:none;border:1px solid #ddd;border-radius:0}
  .result-screen{display:block!important}
  .result-screen.show{display:block!important}
  .result-hero,.result-grid{padding:14px}
  .score-circle{width:100px;height:100px}
  .score-inner strong{font-size:24px}
  .result-grid{grid-template-columns:1fr;gap:8px}
  .page-break{page-break-before:always}
}
