:root{--green:#31702a;--green-d:#266221;--red:#a9211c;--beige:#f5efec;--ink:#222;--line:#e3dad5;--muted:#6b6560}
*{box-sizing:border-box}
body{margin:0;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
h1,h2{font-family:'Playfair Display',Georgia,serif;color:var(--green);margin:.2em 0 .6em}
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.top-in{max-width:980px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.logo{height:37px;width:auto;display:block}
.tabs{display:flex;gap:4px;flex:1}
.tabs button,.bottom button{background:none;border:0;border-bottom:3px solid transparent;padding:10px 12px;font:inherit;font-weight:500;color:var(--ink);cursor:pointer}
.tabs button[aria-current=true]{border-color:var(--green);color:var(--green)}
.who{margin-left:auto;font-size:.9rem;color:var(--muted)}
.link{background:none;border:0;color:var(--green);cursor:pointer;font:inherit;text-decoration:underline}
main{max-width:980px;margin:0 auto;padding:20px 16px 90px}
.gate{text-align:center;padding-top:60px}
.warn{background:var(--beige);border-left:4px solid var(--red);padding:10px 14px;border-radius:4px;font-size:.92rem}
label{display:block;font-weight:700;margin:18px 0 6px}
input,textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff}
input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:var(--beige);border-radius:999px;padding:7px 14px;font:inherit;cursor:pointer}
.chip[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}
.btn{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:6px;padding:11px 20px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;margin-top:14px}
.btn:hover{background:var(--green-d)}.btn.alt{background:#fff;color:var(--green);border:1px solid var(--green)}
.btn:disabled{opacity:.55;cursor:wait}
.row{display:flex;gap:10px;align-items:flex-end}.row input{flex:1}.row .btn{margin-top:0}
.out{margin-top:18px;white-space:pre-wrap}
.badge{display:inline-block;padding:4px 12px;border-radius:999px;font-weight:700;color:#fff;margin-bottom:8px}
.b-office{background:var(--green)}.b-review{background:#b26a00}.b-oversight,.b-refer{background:var(--red)}
.note{background:var(--beige);padding:10px 14px;border-radius:6px}
.err{color:var(--red);font-weight:500}.muted{color:var(--muted);font-size:.88rem}
.chat{min-height:160px;margin-bottom:12px}
.msg{padding:10px 14px;border-radius:10px;margin:8px 0;white-space:pre-wrap;max-width:90%}
.msg.u{background:var(--beige);margin-left:auto}.msg.a{background:#fff;border:1px solid var(--line)}
.src{font-size:.82rem;color:var(--muted);margin-top:6px}
.card{border:1px solid var(--line);border-radius:8px;padding:14px;margin:12px 0;background:var(--beige)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0}
.stat{background:var(--beige);border-radius:8px;padding:12px}.stat b{display:block;font-size:1.6rem;color:var(--green);font-family:'Playfair Display',serif}
table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}
.bottom{display:none}
@media(max-width:700px){
 .tabs{display:none}
 .bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:5}
 .bottom button{flex:1;padding:12px 2px;font-size:.78rem;border-bottom:0;border-top:3px solid transparent}
 .bottom button[aria-current=true]{border-top-color:var(--green);color:var(--green)}
 .who{width:100%;margin-left:0}
 .row{flex-direction:column;align-items:stretch}.row .btn{margin-top:8px}
 .msg{max-width:100%}
}
[hidden]{display:none!important}
