:root{--ink:#16203a;--muted:#626877;--line:#e6e1d8;--bg:#f8f5ef;--paper:#fffdf9;--brand:#1c2b4a;--accent:#b5782f;--tint:#efeadf;--good:#127a46;--goodbg:#e7f6ee;--bad:#b42318;--badbg:#fdecea;--warn:#9a6700;--warnbg:#fff6db}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;font-size:17px}
a{color:var(--brand)}
.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.2rem;background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{display:inline-flex;align-items:baseline;gap:.05rem;font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;font-weight:600;font-size:1.45rem;text-decoration:none;color:var(--brand);letter-spacing:.005em}.brand .dot{color:var(--accent)}.brand-sub{font-size:.8rem;color:var(--muted);margin-left:.6rem;font-family:inherit}h1,h2{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-weight:600;color:var(--brand)}
nav{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}
nav a{padding:.4rem .7rem;border-radius:8px;text-decoration:none;color:var(--ink)}
nav a.on{background:var(--tint);color:var(--brand);font-weight:600}
main{max-width:60rem;margin:0 auto;padding:1.2rem}
h1{font-size:1.7rem;margin:.4rem 0 1rem;letter-spacing:-.02em}
h2{font-size:1.25rem;margin:0 0 .6rem}
h3{font-size:1.05rem;margin:.2rem 0}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.2rem;margin:0 0 1rem}
.narrow{max-width:28rem;margin:1.5rem auto}
label{display:block;margin:.8rem 0;font-weight:600}
input[type=email],input[type=password],input:not([type]),input[type=text],select{display:block;width:100%;margin-top:.3rem;padding:.7rem;border:1px solid #cfd4de;border-radius:10px;font-size:1rem;font-weight:400}
label.check{display:flex;gap:.6rem;align-items:center;font-weight:400;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;margin:.5rem 0;cursor:pointer}
.label{font-weight:600;margin:.8rem 0 .2rem}
.btn{display:inline-block;border:1px solid #cfd4de;background:#fff;color:var(--ink);padding:.55rem 1rem;border-radius:10px;font-size:1rem;cursor:pointer;text-decoration:none;font-weight:600}
.btn.big{padding:.8rem 1.6rem;font-size:1.1rem;min-width:7rem}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.yes{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.later{background:transparent;border-color:#cfc6b6;color:var(--muted)}
.btn.no{background:#fff;border-color:var(--bad);color:var(--bad)}
button.link{background:none;border:0;color:var(--muted);cursor:pointer;font-size:1rem;padding:.4rem .7rem}
.inline{display:inline}
.row{display:flex;gap:.6rem;align-items:center;margin-top:1rem;flex-wrap:wrap}
.muted{color:var(--muted)}.small{font-size:.9rem}
.alert{padding:.7rem 1rem;border-radius:10px;margin:0 0 1rem}
.alert.good{background:var(--goodbg);color:var(--good)}.alert.bad{background:var(--badbg);color:var(--bad)}.alert.warn{background:var(--warnbg);color:var(--warn)}
.bad-text{color:var(--bad);font-size:.9rem}
.steps{color:var(--muted);margin:0}
.bar{height:6px;background:var(--line);border-radius:6px;margin:.4rem 0 1rem;overflow:hidden}
.fill{display:block;height:100%;background:var(--brand)}
.fill.s1{width:20%}.fill.s2{width:40%}.fill.s3{width:60%}.fill.s4{width:80%}.fill.s5{width:100%}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:760px){.grid2{grid-template-columns:1fr}body{font-size:16px}main{padding:.8rem}}
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;border:2px dashed #b9c2d6;border-radius:14px;padding:2rem 1rem;text-align:center;background:var(--paper);cursor:pointer;font-weight:400}
.drop.over{border-color:var(--brand);background:var(--tint)}
.drop input{max-width:100%}
.drop-text{font-weight:700;font-size:1.1rem}
details{margin:.6rem 0}summary{cursor:pointer;color:var(--brand);font-weight:600}
.checklist,.findings,.history{list-style:none;padding:0;margin:0}
.checklist li,.findings li,.history li{display:flex;gap:.8rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid var(--line)}
.tick{width:1.8rem;height:1.8rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;font-weight:800}
.done .tick{background:var(--goodbg);color:var(--good)}.todo .tick{background:#f0f1f5;color:var(--muted)}.staff .tick{background:var(--warnbg);color:var(--warn)}
.summary .verdict{font-size:1.3rem;font-weight:700;margin:.2rem 0 1rem}
.summary.bad{border-left:6px solid var(--bad)}.summary.warn{border-left:6px solid var(--warn)}.summary.good{border-left:6px solid var(--good)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.8rem}
.stats div{background:var(--bg);border-radius:10px;padding:.7rem}
.num{display:block;font-size:1.5rem;font-weight:800}
.count{background:var(--accent);color:#fff;border-radius:99px;padding:.05rem .6rem;font-size:.9rem;vertical-align:middle}
.ask{border:1px solid var(--line);border-radius:12px;padding:1rem;margin:.8rem 0}
.ask-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;flex-wrap:wrap}
.amt{font-weight:800;font-size:1.15rem}
.yesno{display:flex;gap:.8rem;align-items:flex-start;flex-wrap:wrap;margin-top:.6rem}
.yesno details.no{margin:0}.yesno details.no summary{list-style:none;color:var(--bad)}
.yesno details.no summary::-webkit-details-marker{display:none}
.yesno details.no[open] form{margin-top:.6rem}
pre.evidence{white-space:pre-wrap;font-family:inherit;background:var(--bg);padding:.8rem;border-radius:10px;font-size:.92rem;max-height:24rem;overflow:auto}
.sev{flex:none;font-size:.8rem;font-weight:700;border-radius:99px;padding:.15rem .6rem;white-space:nowrap}
.sev.high{background:var(--badbg);color:var(--bad)}.sev.medium{background:var(--warnbg);color:var(--warn)}.sev.low{background:#f0f1f5;color:var(--muted)}
.pill{flex:none;font-size:.8rem;font-weight:700;border-radius:99px;padding:.15rem .6rem}
.pill.good{background:var(--goodbg);color:var(--good)}.pill.bad{background:var(--badbg);color:var(--bad)}.pill.muted{background:#f0f1f5;color:var(--muted)}
.report-body p{margin:.25rem 0}.report-body h3{margin-top:1rem}
.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.6rem;border-bottom:1px solid var(--line);vertical-align:top}
@media (max-width:760px){.table thead{display:none}.table tr{display:block;border-bottom:1px solid var(--line);padding:.4rem 0}.table td{display:block;border:0;padding:.2rem .4rem}}
.foot{max-width:60rem;margin:2rem auto;padding:0 1.2rem 2rem;color:var(--muted);font-size:.85rem}
/* stages (DEC-62) */
.stage-pill{display:inline-block;background:#eef3ff;border-radius:999px;padding:.25rem .8rem;margin:.2rem 0 .4rem;font-size:.95rem}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1rem 0}
.card.mini h2{font-size:1.05rem;margin:0 0 .3rem}
.big-num{font-size:2rem;font-weight:700;margin:.2rem 0}
.good-text{color:#13795b}.warn-text{color:#9a6700}
.top3 ol{font-size:1.1rem;line-height:1.6;padding-left:1.4rem}
.top3 .amt{font-weight:600;margin-left:.4rem}
.money-in{display:flex;align-items:center;gap:.3rem}.money-in input{max-width:10rem}
.stage-form{display:flex;gap:.3rem;margin-top:.3rem}.btn.small{padding:.2rem .6rem;font-size:.85rem}

/* affiliates */
.aff-set { border: 0; padding: 0; margin: 0 0 1rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .6rem 1.2rem; }
.aff-set label, .aff-form > label { display: block; }
.aff-set input, .aff-set select { width: 100%; }
.aff-group { margin: .4rem 0; }
.aff-group > summary { cursor: pointer; padding: .4rem 0; }
.aff-table td details summary { cursor: pointer; }
.aff-table td details ul { margin: .3rem 0 .3rem 1rem; }
tr.on td { font-weight: 600; }
.table th.rt,.table td.rt{text-align:right;white-space:nowrap}

.ask{background:var(--paper)}.ask .nodlabel{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:700}
.snoozed{color:var(--muted);font-size:.9rem;margin-top:.6rem}
.tagline{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-style:italic;color:var(--brand)}
.foot .wm{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;color:var(--brand);font-weight:600}
.btn.big{line-height:1.25}.yesno details.no summary{display:block}
