/* EvalWrite for NeuroEvolve Health — vision mockup.
   Palette and typography taken from neuroevolvehealth.com site.css / computed styles.
   --forest #24420e = --black-hsl (94.62, 65%, 15.69%)
   --accent #88a062 = --accent-hsl (83.23, 24.6%, 50.59%)
   --accent-light #b8c698 = --lightAccent-hsl (78.26, 28.75%, 68.63%)
   --accent-dark #5e7b38 = --darkAccent-hsl (85.97, 37.43%, 35.1%)
   --sand #f1f4eb = siteBackgroundColor hsla(lightAccent, .19) on white
   --sand-2 #e9eddf = hsla(lightAccent, .31) on white
   Headings: Newsreader 400, letter-spacing -0.02em, line-height 1.2
   Body / buttons / nav: PT Serif 400, line-height 1.5
   Primary buttons: solid, 10px radius, padding 1rem 1.3rem, bg --accent-dark, text white
*/
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/newsreader-latin.woff2") format("woff2")}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/newsreader-italic-latin.woff2") format("woff2")}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/ptserif-latin.woff2") format("woff2")}
@font-face{font-family:"PT Serif";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/ptserif-italic-latin.woff2") format("woff2")}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/ptserif-bold-latin.woff2") format("woff2")}

:root{
  --forest:#24420e;--accent:#88a062;--accent-light:#b8c698;--accent-dark:#5e7b38;
  --white:#ffffff;--sand:#f1f4eb;--sand-2:#e9eddf;
  --ink:#24420e;--mute:#5e7b38;--line:#b8c698;
  --navy:#24420e;--navy2:#5e7b38;
  --teal:#5e7b38;--teal-l:#e9eddf;--sage:#88a062;--sage-l:#e9eddf;
  --warn:#5e7b38;--warn-l:#e9eddf;--alert:#24420e;--alert-l:#e9eddf;
  --ok:#5e7b38;--ok-l:#e9eddf;--card:#ffffff;--r:10px;
  --font-heading:"Newsreader","Palatino Linotype",Palatino,"Times New Roman",serif;
  --font-body:"PT Serif",Georgia,"Times New Roman",serif;
  font-family:var(--font-body);color:var(--ink);
}
*{box-sizing:border-box}
body{margin:0;background:var(--sand);font-size:16px;line-height:1.5;color:var(--ink)}
a{color:var(--accent-dark)}
.app{display:flex;min-height:100vh}

nav.side{width:280px;background:var(--white);color:var(--ink);padding:20px 16px;position:sticky;top:0;height:100vh;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:4px 4px 18px}
.logo-banner{display:block;width:100%;height:auto;max-width:248px}
.brand-tool{font-family:var(--font-heading);letter-spacing:-.02em;line-height:1.25;color:var(--forest)}
.brand-tool b{font-size:20px;font-weight:400;color:var(--forest)}
.brand-tool .for{font-size:13px;color:var(--mute);font-family:var(--font-body);letter-spacing:0;font-style:italic}
.tag{display:inline-block;font-family:var(--font-body);font-size:11px;letter-spacing:.02em;background:var(--accent-dark);color:var(--white);padding:3px 10px;border-radius:10px;font-weight:400;margin-top:6px}
nav.side a{display:flex;align-items:center;gap:10px;color:var(--forest);text-decoration:none;padding:9px 12px;border-radius:10px;margin:2px 0;font-size:15px;white-space:nowrap}
nav.side a:hover{background:var(--sand)}
nav.side a.active{background:var(--sand-2);color:var(--forest);font-weight:400}
nav.side .ico{width:18px;text-align:center;color:var(--accent-dark)}
.side .foot{margin-top:auto;font-size:12px;color:var(--mute);padding:10px;line-height:1.45}

main{flex:1;min-width:0;background:var(--sand)}
header.top{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:var(--white);border-bottom:1px solid var(--line);gap:12px;flex-wrap:wrap}
.search{flex:1;max-width:420px;padding:9px 14px;border:1px solid var(--line);border-radius:10px;background:var(--sand);font:inherit;color:var(--ink)}
.who{display:flex;align-items:center;gap:10px;color:var(--mute);font-size:14px}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--accent-dark);color:var(--white);display:grid;place-items:center;font-weight:400;font-family:var(--font-heading)}
.banner{background:var(--sand-2);color:var(--forest);border-bottom:1px solid var(--line);padding:8px 32px;font-size:14px}
.page{padding:28px 32px 60px;max-width:1280px}

h1{font-family:var(--font-heading);font-size:32px;margin:0 0 4px;color:var(--forest);font-weight:400;letter-spacing:-.02em;line-height:1.2}
h2{font-family:var(--font-heading);font-size:22px;margin:0 0 12px;color:var(--forest);font-weight:400;letter-spacing:-.02em;line-height:1.2}
h3{font-family:var(--font-heading);font-size:16px;margin:0 0 8px;color:var(--forest);font-weight:400;letter-spacing:-.02em;line-height:1.2}
.sub{color:var(--mute);margin:0 0 22px}

.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:none}
.stat .n{font-family:var(--font-heading);font-size:32px;font-weight:400;color:var(--forest);letter-spacing:-.02em}.stat .l{color:var(--mute);font-size:14px}
.stat .d{font-size:13px;color:var(--ok);margin-top:4px}

.pipeline{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;overflow-x:auto;padding-bottom:4px}
.col{background:var(--sand);border-radius:10px;padding:10px;min-height:150px}
.col h4{margin:0 0 8px;font-family:var(--font-heading);font-size:13px;letter-spacing:.02em;color:var(--navy2);display:flex;justify-content:space-between;font-weight:400;text-transform:uppercase}
.col h4 span{background:var(--white);border-radius:10px;padding:0 8px}
.case{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:8px;font-size:13px;cursor:pointer}
.case:hover{border-color:var(--accent-dark)}
.case small{color:var(--mute);display:block}

.pill{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:10px;font-weight:400;background:var(--sand-2);color:var(--accent-dark)}
.pill.warn{background:var(--accent-light);color:var(--forest)}
.pill.alert{background:var(--forest);color:var(--white)}
.pill.ok{background:var(--sand-2);color:var(--accent-dark)}
.pill.gray{background:var(--sand);color:var(--mute)}

.btn{font-family:var(--font-body);font-size:15px;font-weight:400;border:1px solid var(--accent-dark);background:var(--white);color:var(--accent-dark);padding:10px 18px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.btn:hover{background:var(--sand)}
.btn.primary{background:var(--accent-dark);color:var(--white);border-color:var(--accent-dark)}
.btn.primary:hover{background:var(--forest);border-color:var(--forest)}
.btn.sm{padding:5px 12px;font-size:13px}
a.btn{text-decoration:none}

.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.between{justify-content:space-between}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--mute);font-weight:400;background:var(--sand)}
td input{width:74px;padding:5px 7px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--white);color:var(--ink)}
td input:focus,textarea:focus,select:focus,.search:focus{outline:2px solid var(--accent-dark);outline-offset:1px}
.flag{color:var(--forest);font-weight:700}
.list{margin:0;padding-left:18px}
.kv{display:grid;grid-template-columns:160px 1fr;gap:6px 14px;font-size:14px}.kv dt{color:var(--mute)}.kv dd{margin:0}
.check{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}
.check input{margin-top:4px;accent-color:var(--accent-dark)}
.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.tab{padding:7px 13px;border-radius:10px;border:1px solid var(--line);background:var(--white);cursor:pointer;font:inherit;font-size:14px;color:var(--forest)}
.tab.on{background:var(--accent-dark);color:var(--white);border-color:var(--accent-dark)}
.note{font-size:13px;color:var(--forest);background:var(--sand-2);border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.disclaim{font-size:12px;color:var(--mute);font-style:italic}
.chart{width:100%;height:auto}
.rw{display:grid;grid-template-columns:230px minmax(0,1fr) 300px;gap:18px;align-items:start}
.sections a{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:14px;cursor:pointer}
.sections a.on{background:var(--sand-2);color:var(--forest);font-weight:400}
.doc{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:34px 40px;font-family:var(--font-body);font-size:16px;line-height:1.5}
.doc h2{font-family:var(--font-heading)}
.para{position:relative;border-left:3px solid transparent;padding:6px 10px 6px 12px;margin:6px 0 12px;border-radius:4px}
.para.pending{border-left-color:var(--accent);background:var(--sand)}
.para.approved{border-left-color:var(--accent-dark)}
.para .meta{font-family:var(--font-body);font-size:12px;display:flex;gap:8px;align-items:center;margin-top:6px}
.hitl{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:400;padding:2px 8px;border-radius:10px}
.hitl.pending{background:var(--accent-light);color:var(--forest)}.hitl.approved{background:var(--sand-2);color:var(--ok)}
.doc table{font-family:var(--font-body);font-size:13px;margin:8px 0 14px}
.toggle{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.toggle button{font:inherit;font-size:13px;border:0;background:var(--white);padding:7px 10px;cursor:pointer;color:var(--forest);flex:1}
.toggle button.on{background:var(--accent-dark);color:var(--white)}
select,textarea{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--white);width:100%;color:var(--ink)}
.lib-item{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:var(--white)}
.lib-item p{margin:6px 0 0;font-size:14px;color:var(--ink)}
.onepager{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:34px;max-width:760px}
.onepager .hl{background:var(--sand-2);border-radius:10px;padding:14px 16px;margin:12px 0}
.strength{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.toast{position:fixed;bottom:24px;right:24px;background:var(--forest);color:var(--white);padding:12px 18px;border-radius:10px;box-shadow:0 8px 24px rgba(36,66,14,.18);opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none;max-width:380px;font-size:14px;z-index:9}
.toast.show{opacity:1;transform:none}
.audit td{font-size:13px}
.lock{font-size:20px}
.mt{margin-top:18px}
@media (max-width:1100px){.rw{grid-template-columns:1fr}.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:800px){.app{flex-direction:column}nav.side{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;gap:4px}.side .foot{display:none}.logo-banner{max-width:180px}.g2,.g3,.g4{grid-template-columns:1fr}.page{padding:20px 16px}header.top{padding:12px 16px}.doc{padding:20px}}
@media print{nav.side,header.top,.banner{display:none}}

.chip{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--white);border-radius:10px;padding:5px 11px;margin:0 6px 6px 0;cursor:pointer;color:var(--forest)}
.chip.on{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--white)}
.chip.on::before{content:"✓ "}
.bb{display:grid;grid-template-columns:250px minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.subnav a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:14px;color:var(--ink);text-decoration:none}
.subnav a.on{background:var(--sand-2);color:var(--forest);font-weight:400}
.meter{height:6px;background:var(--sand-2);border-radius:6px;overflow:hidden;margin-top:4px}.meter i{display:block;height:100%;background:var(--accent-dark)}
.src{display:inline-block;font-family:var(--font-body);font-size:10.5px;font-weight:400;padding:0 6px;border-radius:10px;margin-left:3px;vertical-align:2px;cursor:help}
.src.IQ{background:var(--sand-2);color:var(--forest)}.src.II{background:var(--accent-light);color:var(--forest)}.src.PR{background:var(--sand);color:var(--accent-dark);border:1px solid var(--line)}.src.TI{background:var(--accent-dark);color:var(--white)}.src.AD{background:var(--forest);color:var(--white)}
.srcrow{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13.5px}
.missing{color:var(--forest);font-size:13px}
.draftbox{font-family:var(--font-body);font-size:16px;line-height:1.5;border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-height:150px;background:var(--white)}
.draftbox[contenteditable=true]{outline:2px dashed var(--accent-dark)}
.beforeafter{display:flex;gap:16px;align-items:flex-end;margin-top:8px}
.bar{width:54px;border-radius:6px 6px 0 0}
@media (max-width:1200px){.bb{grid-template-columns:1fr}}

/* Report layout helpers */
.confid{font-family:var(--font-body);font-size:11.5px;letter-spacing:.3px;text-transform:uppercase;color:var(--forest);border:1px solid var(--line);background:var(--sand-2);padding:6px 10px;border-radius:10px;margin:0 0 16px}
.idgrid{display:grid;grid-template-columns:180px 1fr;gap:4px 16px;font-family:var(--font-body);font-size:14px;margin:8px 0 16px}
.idgrid dt{color:var(--mute);font-weight:400}.idgrid dd{margin:0}
.dxline{font-family:var(--font-body);font-size:15px;padding:4px 0;border-bottom:1px dashed var(--line)}
.dxline code{font-family:var(--font-body);font-weight:700;color:var(--forest);margin-right:16px}
.proc-group{margin:10px 0 14px}
.proc-group h3{margin-bottom:4px}
.subhead{font-family:var(--font-heading);font-style:italic;color:var(--navy2);margin:10px 0 4px;letter-spacing:-.02em}
.subnav a span:first-child{min-width:0}
.subnav a{align-items:flex-start}
.subnav .meter{width:100%;max-width:140px}

/* App additions (same NeuroEvolve palette) */
.banner.demo{background:var(--sand-2);color:var(--forest);border-bottom:1px solid var(--line);padding:8px 32px;font-size:14px}
form.stack{display:grid;gap:10px;max-width:640px}
form.stack label, .field label{display:block;font-size:13px;color:var(--mute);margin-bottom:4px}
form.stack input, form.stack textarea, form.stack select,
.field input, .field textarea, .field select{width:100%;font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink)}
.muted{color:var(--mute);font-size:13px}
.empty{color:var(--mute);padding:16px 0}
.danger{color:var(--forest)}
.audit{font-size:13px}
.avatar.sm{width:28px;height:28px;font-size:12px}
nav.side a .count{margin-left:auto;font-size:11px;color:var(--mute)}
@media print{
  nav.side, header.top, .banner, .btn, .tabs, .toggle, .search, .toast, .no-print{display:none !important}
  .app{display:block}
  main{background:#fff}
  .page{padding:0;max-width:none}
  .doc, .onepager{border:0;box-shadow:none;padding:0}
  body{background:#fff;color:#24420e}
}
#gen-progress{min-height:1.2em}
#note-file{padding:6px 0}

.mb-16{margin-bottom:16px}
.mb-14{margin-bottom:14px}
.fs-12{font-size:12px}
.mw-0{width:0%}
.mw-1{width:1%}
.mw-2{width:2%}
.mw-3{width:3%}
.mw-4{width:4%}
.mw-5{width:5%}
.mw-6{width:6%}
.mw-7{width:7%}
.mw-8{width:8%}
.mw-9{width:9%}
.mw-10{width:10%}
.mw-11{width:11%}
.mw-12{width:12%}
.mw-13{width:13%}
.mw-14{width:14%}
.mw-15{width:15%}
.mw-16{width:16%}
.mw-17{width:17%}
.mw-18{width:18%}
.mw-19{width:19%}
.mw-20{width:20%}
.mw-21{width:21%}
.mw-22{width:22%}
.mw-23{width:23%}
.mw-24{width:24%}
.mw-25{width:25%}
.mw-26{width:26%}
.mw-27{width:27%}
.mw-28{width:28%}
.mw-29{width:29%}
.mw-30{width:30%}
.mw-31{width:31%}
.mw-32{width:32%}
.mw-33{width:33%}
.mw-34{width:34%}
.mw-35{width:35%}
.mw-36{width:36%}
.mw-37{width:37%}
.mw-38{width:38%}
.mw-39{width:39%}
.mw-40{width:40%}
.mw-41{width:41%}
.mw-42{width:42%}
.mw-43{width:43%}
.mw-44{width:44%}
.mw-45{width:45%}
.mw-46{width:46%}
.mw-47{width:47%}
.mw-48{width:48%}
.mw-49{width:49%}
.mw-50{width:50%}
.mw-51{width:51%}
.mw-52{width:52%}
.mw-53{width:53%}
.mw-54{width:54%}
.mw-55{width:55%}
.mw-56{width:56%}
.mw-57{width:57%}
.mw-58{width:58%}
.mw-59{width:59%}
.mw-60{width:60%}
.mw-61{width:61%}
.mw-62{width:62%}
.mw-63{width:63%}
.mw-64{width:64%}
.mw-65{width:65%}
.mw-66{width:66%}
.mw-67{width:67%}
.mw-68{width:68%}
.mw-69{width:69%}
.mw-70{width:70%}
.mw-71{width:71%}
.mw-72{width:72%}
.mw-73{width:73%}
.mw-74{width:74%}
.mw-75{width:75%}
.mw-76{width:76%}
.mw-77{width:77%}
.mw-78{width:78%}
.mw-79{width:79%}
.mw-80{width:80%}
.mw-81{width:81%}
.mw-82{width:82%}
.mw-83{width:83%}
.mw-84{width:84%}
.mw-85{width:85%}
.mw-86{width:86%}
.mw-87{width:87%}
.mw-88{width:88%}
.mw-89{width:89%}
.mw-90{width:90%}
.mw-91{width:91%}
.mw-92{width:92%}
.mw-93{width:93%}
.mw-94{width:94%}
.mw-95{width:95%}
.mw-96{width:96%}
.mw-97{width:97%}
.mw-98{width:98%}
.mw-99{width:99%}
.mw-100{width:100%}
