:root{
  --paper:#fbfaf6; --paper-2:#f3efe6; --ink:#0e0d0b; --ink-2:#1f1c17; --dim:#5f5b52; --dim-2:#8a8478;
  --rule:#e6e0d2; --rule-2:#d3ccba; --red:#a8341c; --green:#2f6b3f; --amber:#8a5d00;
  --serif:"Fraunces",Georgia,serif; --sans:"Inter",-apple-system,system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5}
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:1px solid var(--rule);position:sticky;top:0;background:rgba(251,250,246,.95);z-index:10}
.brand{font-family:var(--serif);font-size:20px}.brand em{color:var(--red);font-style:italic}.brand span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-left:8px}
.who{font-size:13px;color:var(--dim)}
main{max-width:1320px;margin:0 auto;padding:24px 16px 80px}
h1{font-family:var(--serif);font-weight:400;font-size:30px;margin:8px 0 16px}
h2{font-family:var(--serif);font-weight:400;font-size:22px;margin:0}
h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:20px 0 8px}
.lede{font-family:var(--serif);font-size:18px;color:var(--ink-2)}
.card{background:#fff;border:1px solid var(--rule-2);border-radius:12px;padding:18px 20px;margin:0 0 18px}
fieldset.card{min-width:0}
legend{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);padding:0 6px}
.narrow{max-width:560px;margin:40px auto}
.stack{display:flex;flex-direction:column;gap:10px}
label{display:block;font-size:13px;font-weight:600;margin:14px 0 5px}
.hint,.hint-inline{color:var(--dim);font-size:13px;font-weight:400}
.hint-inline{margin-left:6px}
.count{font-weight:400;color:var(--dim);margin-left:6px}
input,select,textarea{width:100%;font:inherit;padding:9px 11px;border:1px solid var(--rule-2);border-radius:8px;background:var(--paper);color:var(--ink)}
textarea{resize:vertical}
.mono{font-family:var(--mono);font-size:12.5px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:1px;border-color:var(--red)}
input.bad,textarea.bad{border-color:var(--red);background:#fff4f1}
.btn{font:inherit;font-size:13px;font-weight:600;padding:9px 16px;border-radius:999px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.ghost{border-color:var(--rule-2);color:var(--dim)}
.btn.small{font-size:12px;padding:6px 12px;margin-top:8px}
.btn.big{padding:13px 22px;font-size:14px;width:100%}
.btn:disabled{opacity:.45;cursor:wait}
.btn:hover:not(:disabled){background:var(--red);border-color:var(--red);color:#fff}
.link{background:none;border:0;color:var(--red);cursor:pointer;font:inherit;font-size:13px;padding:2px 4px}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.row-wrap{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.row-wrap input,.row-wrap select{flex:1 1 140px;width:auto}
.row-wrap .narrow-in{flex:0 0 90px}
.row-wrap .num{font-family:var(--mono);font-size:12px;color:var(--dim);width:20px}
.row-tools{display:flex;gap:2px}
.check{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:14px}
.check input{width:auto;margin-top:3px}
.check.small{font-size:12px;margin:0;align-items:center}
.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
@media(max-width:1000px){.grid{grid-template-columns:1fr}}
.sticky{position:sticky;top:70px}
.section{border:1px solid var(--rule);border-radius:10px;padding:12px;margin:10px 0;background:var(--paper)}
.block{margin:8px 0 8px 10px;padding-left:10px;border-left:2px solid var(--rule-2)}
.block .tag{font-family:var(--mono);font-size:11px;color:var(--dim);display:flex;justify-content:space-between}
.block img{max-width:220px;max-height:140px;display:block;margin:6px 0;border:1px solid var(--rule)}
.add-blocks{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.import{margin:6px 0 10px}.import summary{cursor:pointer;color:var(--red);font-size:13px}
.actions{margin:10px 0 30px}
iframe#pdf{width:100%;height:68vh;border:1px solid var(--rule-2);border-radius:8px;background:var(--paper-2)}
.pages{font-family:var(--mono);font-size:13px;margin:10px 0}
.pages.over{color:var(--red);font-weight:600}
.findings{list-style:none;padding:0;margin:0}
.findings li{padding:8px 10px;border-radius:8px;margin-bottom:6px;font-size:13.5px}
.findings li.error{background:#fbe9e4;border-left:3px solid var(--red)}
.findings li.warning{background:#fbf3df;border-left:3px solid var(--amber)}
.findings li.info{background:var(--paper-2);border-left:3px solid var(--rule-2)}
.findings .where{display:block;font-size:12px;color:var(--dim);margin-top:2px}
.refs-out{padding-left:22px;font-size:12.5px}
.refs-out li{margin-bottom:6px}
.pill{display:inline-block;font-family:var(--mono);font-size:10.5px;padding:1px 7px;border-radius:999px;color:#fff;margin-right:6px;background:var(--dim-2)}
.pill.ok{background:var(--green)}.pill.warn{background:var(--amber)}.pill.bad{background:var(--red)}
.seg{display:flex;border:1px solid var(--rule-2);border-radius:999px;overflow:hidden}
.seg-b{border:0;background:transparent;padding:6px 12px;font:inherit;font-size:12px;cursor:pointer}
.seg-b.on{background:var(--ink);color:var(--paper)}
.list .item{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.state{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--paper-2)}
.state.revision_open{background:#fbf3df;color:var(--amber)}
.state.sync_failed,.state.resubmit_pending,.state.queued{background:var(--paper-2);color:var(--dim)}
.state.filed,.state.resubmitted{background:#e6f1e8;color:var(--green)}
.confirm{border-top:1px solid var(--rule);margin-top:16px;padding-top:6px}
