/* ============ CAPFORGE BRAND TOKENS ============ */
:root{
  --cf-navy:#3C5A7C; --cf-navy-dark:#2E4660; --cf-brown:#6B4A40; --cf-red:#9B3B3B;
  --cf-green:#4C7A4C; --cf-slate:#5C6B77;
  --cf-bg:#F4F6F8; --cf-card:#FFFFFF; --cf-line:#D5DBE2; --cf-ink:#2b2b2b; --cf-muted:#63707C;
  --cf-navy-wash:#EDEFF2; --cf-brown-wash:#F1EAE7; --cf-red-wash:#F6EDED; --cf-green-wash:#EEF4EE; --cf-slate-wash:#EDF0F2;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cf-bg);color:var(--cf-ink);font-family:"Source Sans 3",-apple-system,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.5}
#cf-app{max-width:960px;margin:0 auto;padding:32px 20px 64px}
.cf-masthead{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-bottom:3px solid var(--cf-navy);padding-bottom:18px;margin-bottom:22px}
.cf-masthead img{height:72px;width:auto}
.cf-masthead h1{font-family:"Source Serif 4",Georgia,serif;color:var(--cf-navy);font-size:clamp(22px,4vw,32px);margin:0;line-height:1.15}
.cf-masthead p{margin:4px 0 0;color:var(--cf-muted);font-size:14.5px;max-width:56ch}
.cf-stale{background:#FBF3E2;border:1px solid #E4CD9A;border-radius:6px;padding:12px 16px;margin-bottom:18px;font-size:14.5px}
.cf-flagged{background:#FBF3E2;border:1px solid #E4CD9A;border-radius:6px;padding:10px 14px;margin:0 0 14px;font-size:14px;page-break-inside:avoid}
.cf-card{background:var(--cf-card);border:1px solid var(--cf-line);border-radius:8px;padding:22px 24px;margin-bottom:18px}
.cf-card h2{font-family:"Source Serif 4",Georgia,serif;color:var(--cf-navy);font-size:20px;margin:0 0 4px}
.cf-card .cf-cardsub{color:var(--cf-muted);font-size:14px;margin:0 0 16px}
.cf-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.cf-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--cf-navy-dark)}
.cf-input{font:inherit;font-weight:400;color:var(--cf-ink);background:#fff;border:1px solid var(--cf-line);border-radius:6px;padding:9px 11px;width:100%}
.cf-input:focus{outline:2px solid var(--cf-navy);outline-offset:1px}
.cf-bizrow{border:1px solid var(--cf-line);border-left:4px solid var(--cf-navy);border-radius:6px;padding:14px 16px;margin-bottom:12px;background:#FBFCFD}
.cf-bizhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cf-biznum{font-weight:700;color:var(--cf-navy);font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.cf-remove{background:none;border:1px solid var(--cf-line);border-radius:5px;color:var(--cf-red);font:inherit;font-size:13px;padding:4px 10px;cursor:pointer}
.cf-remove:hover{background:var(--cf-red-wash)}
.cf-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:600;border:none;border-radius:6px;padding:11px 20px;cursor:pointer}
.cf-btn.primary{background:var(--cf-navy);color:#fff}
.cf-btn.primary:hover{background:var(--cf-navy-dark)}
.cf-btn.ghost{background:#fff;color:var(--cf-navy);border:1px solid var(--cf-navy)}
.cf-btn.ghost:hover{background:var(--cf-navy-wash)}
.cf-btn.accent{background:var(--cf-brown);color:#fff}
.cf-btn.accent:hover{background:#59392f}
#cf-addbiz{margin-top:4px}
/* multiselect */
.cf-ms{position:relative}
.cf-msbtn{text-align:left;cursor:pointer;display:flex;justify-content:space-between;gap:8px;align-items:center}
.cf-caret{color:var(--cf-muted)}
.cf-mspanel{display:none;position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow-y:auto;background:#fff;border:1px solid var(--cf-line);border-radius:6px;box-shadow:0 8px 24px rgba(44,70,96,.18);padding:6px}
.cf-ms.open .cf-mspanel{display:block}
.cf-msopt{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:4px;font-weight:400;font-size:14.5px;cursor:pointer}
.cf-msopt:hover{background:var(--cf-navy-wash)}
/* output */
#cf-output{display:none}
.cf-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
#cf-report{background:#fff;border:1px solid var(--cf-line);border-radius:8px;padding:28px 30px}
.cf-rephead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:3px solid var(--cf-navy);padding-bottom:14px;margin-bottom:14px}
.cf-replogo{height:58px;width:auto}
.cf-reptitle h2{font-family:"Source Serif 4",Georgia,serif;color:var(--cf-navy);margin:0;font-size:24px;text-align:right}
.cf-repsub{margin:2px 0 0;color:var(--cf-muted);font-size:13.5px;text-align:right}
.cf-profile{background:var(--cf-navy-wash);border-radius:6px;padding:10px 14px;font-size:14.5px;margin-bottom:14px}
.cf-legend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.cf-month{font-family:"Source Serif 4",Georgia,serif;color:var(--cf-brown);font-size:19px;border-bottom:1px solid var(--cf-line);padding-bottom:4px;margin:24px 0 10px}
.cf-evt{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px dotted var(--cf-line);font-size:14.5px;page-break-inside:avoid}
.cf-evtdate{font-weight:700;color:var(--cf-navy);min-width:56px;white-space:nowrap;font-variant-numeric:tabular-nums}
.cf-tag{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:3px;white-space:nowrap;flex-shrink:0}
.t-fed{background:var(--cf-navy-wash);color:var(--cf-navy)}
.t-state{background:var(--cf-brown-wash);color:var(--cf-brown)}
.t-local{background:var(--cf-red-wash);color:var(--cf-red)}
.t-prop{background:var(--cf-green-wash);color:var(--cf-green)}
.t-pay{background:var(--cf-slate-wash);color:var(--cf-slate)}
.cf-evtbody{flex:1;min-width:220px}
.cf-scope{font-weight:600;color:var(--cf-navy-dark)}
.cf-paylink{color:var(--cf-navy);font-weight:600;text-decoration:none;white-space:nowrap}
.cf-paylink:hover{text-decoration:underline}
.cf-noteh{font-family:"Source Serif 4",Georgia,serif;color:var(--cf-navy);font-size:18px;margin:26px 0 8px;border-bottom:1px solid var(--cf-line);padding-bottom:4px}
.cf-note{font-size:14px;margin:0 0 8px;page-break-inside:avoid}
.cf-links{margin:0;padding-left:18px;font-size:14px}
.cf-links li{margin-bottom:5px}
.cf-links a{color:var(--cf-navy);font-weight:600}
.cf-url{color:var(--cf-muted);font-size:12.5px;word-break:break-all}
.cf-disclaimer{font-size:12.5px;color:var(--cf-muted);border-top:1px solid var(--cf-line);margin-top:22px;padding-top:12px}
.cf-repfoot{text-align:center;font-size:12.5px;color:var(--cf-brown);font-weight:600;letter-spacing:.05em;margin-top:14px}
@media print{
  body{background:#fff}
  .cf-masthead,.cf-card,.cf-actions,.cf-stale,#cf-formwrap{display:none !important}
  #cf-app{padding:0;max-width:none}
  #cf-report{border:none;padding:0}
}

/* ---- client edition additions ---- */
.cf-toast{background:var(--cf-green-wash);border:1px solid var(--cf-green);color:var(--cf-ink);border-radius:6px;padding:10px 14px;margin:0 0 14px;font-size:14px}
.cf-saveinfo{font-size:13px;color:var(--cf-muted);margin:8px 0 0}
.cf-btn.quiet{background:#fff;color:var(--cf-brown);border:1px solid var(--cf-brown)}
.cf-btn.quiet:hover{background:var(--cf-brown-wash)}
.cf-loading{color:var(--cf-muted);font-size:15px;padding:30px 0;text-align:center}
.cf-error{background:var(--cf-red-wash);border:1px solid var(--cf-red);border-radius:6px;padding:12px 16px;font-size:14.5px;margin-bottom:16px}
@media print{ .cf-toast{display:none !important} }
