@font-face{font-family:FolioSans;src:local('Avenir Next'),local('Trebuchet MS');font-display:swap}
:root{--paper:#f5f2e9;--card:#fffdf7;--ink:#243d38;--muted:#65716a;--line:#d5d9cb;--accent:#ab4527;--green:#2d6556;--soft:#e9eddf;--warn:#8c4c12;--shadow:0 8px 24px #243d3809}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:FolioSans,'Trebuchet MS',sans-serif;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent)}button{cursor:pointer;border:1px solid var(--line);padding:10px 17px;background:var(--card);border-radius:5px;color:var(--ink);font-weight:600}button:hover:not(:disabled){border-color:var(--green);background:#edf1e5}button.primary{background:var(--ink);color:white;border-color:var(--ink)}button.primary:hover:not(:disabled){background:var(--green)}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--green);text-underline-offset:3px}.shell{max-width:1600px;margin:auto;min-height:100vh;display:grid;grid-template-columns:230px 1fr}.rail{padding:32px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px}.brand{font:42px Georgia,serif;letter-spacing:-2px;display:flex;align-items:center;gap:10px}.brand svg{width:31px;height:37px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:10px;font-weight:700;color:var(--muted)}.rail .eyebrow{margin-top:-22px;margin-left:43px;font-size:8px;letter-spacing:1.4px}.new{width:100%;text-align:left}.runlist{display:flex;flex-direction:column;gap:8px}.run-button{background:transparent;text-align:left;width:100%;border:0;padding:10px;font-size:12px;overflow-wrap:anywhere}.run-button.active{background:var(--soft)}.run-button small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.rail-footer{margin-top:auto;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px}.dot.off{background:var(--accent)}.workspace{min-width:0}.topbar{padding:22px 42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:1px}.topbar span:first-child{color:var(--muted)}main{padding:44px 42px 60px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15}h1{font-size:48px;letter-spacing:-1.4px;margin:14px 0 18px;max-width:780px}h2{font-size:28px;letter-spacing:-.6px;margin-bottom:17px}h3{font-size:22px;margin-bottom:10px}p{margin-bottom:14px}.lede{color:var(--muted);font-size:16px;max-width:610px;line-height:1.8}.intro{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:32px}.folio-stamp{width:135px;height:135px;border:1px solid var(--line);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);flex-shrink:0;margin:18px 25px;color:var(--green)}.folio-stamp strong{font:42px Georgia,serif}.folio-stamp span{font-size:9px;letter-spacing:2px}.upload{border:1px dashed #97a994;background:var(--card);padding:30px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-radius:6px;margin:30px 0;box-shadow:var(--shadow)}.upload h3{font-size:24px}.upload p{color:var(--muted);margin:0}.upload input{max-width:260px}.micro{font-size:11px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:32px 0 16px}.section-heading h2{margin:0;font-size:25px}.samples{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sample{padding:24px;background:var(--card);border:1px solid var(--line);border-radius:5px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.sample p{font-size:12px;color:var(--muted);flex:1}.sample .number{font:32px Georgia,serif;color:#a6af9d}.sample h3{font-size:22px}.sample a{font-size:11px}.steps{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0 28px;overflow:auto}.step{border:0;border-radius:0;padding:16px 14px;background:transparent;white-space:nowrap;flex:1;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}.step span{font:17px Georgia,serif;margin-right:9px}.step.active{border-bottom-color:var(--ink);color:var(--ink);background:#e9eddf70}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.status{padding:4px 9px;border:1px solid var(--line);background:var(--soft);font-size:10px;text-transform:uppercase;letter-spacing:1px;border-radius:3px;display:inline-flex;align-items:center}.status.warn{color:var(--warn);background:#f8e8cb;border-color:#e7cb9d}.status.bad{color:var(--accent);background:#f8e4dc;border-color:#e9c7b9}.banner{border-left:3px solid var(--green);padding:16px 20px;background:var(--soft);margin-bottom:22px}.banner.warn{border-color:var(--warn);background:#f7eacb}.banner.error{border-color:var(--accent);background:#f7e5de}.banner p:last-child{margin-bottom:0}.panel{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:24px;margin-bottom:20px;box-shadow:var(--shadow);min-width:0}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);gap:22px;align-items:start}.evidence{position:sticky;top:20px}.evidence header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.evidence h3{font-size:21px;margin:0}.table-wrap{overflow:auto;max-height:540px;border:1px solid var(--line);border-radius:4px}table{width:100%;border-collapse:collapse;font-size:12px;background:var(--card)}th,td{text-align:left;padding:10px 13px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:10px;text-transform:uppercase;letter-spacing:.7px;position:sticky;top:0;background:#edf0e5;z-index:1}td.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.source-grid td{min-width:130px;max-width:230px;overflow-wrap:anywhere}.source-grid td:first-child,.source-grid th:first-child{min-width:44px;position:sticky;left:0;background:#edf0e5}.source-grid td.error-cell{background:#f9e8df}.source-grid button{padding:0;border:0;text-align:left;font-weight:400;background:transparent;max-width:220px}.source-grid .formula{font-size:9px;color:var(--green);display:block}.source-grid tr.highlight td{background:#fcf0c6}.sheet-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.sheet-tabs button{font-size:10px;padding:5px 9px}.sheet-tabs .active{background:var(--ink);color:white}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:5px;overflow:hidden;margin:22px 0}.metric{padding:20px;background:var(--card)}.metric strong{font:30px Georgia,serif;display:block;margin:4px 0}.metric span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.question{border-bottom:1px solid var(--line);padding:24px 0}.question:first-child{padding-top:0}.question:last-child{border:0;padding-bottom:0}.question h3{font-size:21px;margin:12px 0}.question p{font-size:12px}.question blockquote{margin:14px 0;padding:12px 15px;border-left:2px solid #b5c6ad;background:#f1f3eb;font:14px Georgia,serif}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.chips button{font-size:10px;padding:4px 8px}.question textarea,textarea.full{width:100%;min-height:90px;padding:10px;border:1px solid var(--line);border-radius:3px;background:white}.question label{font-size:11px;color:var(--muted);display:block;margin-top:10px}.question select,.question input{border:1px solid var(--line);padding:7px;border-radius:3px;background:white;max-width:100%}.question .typed{display:grid;grid-template-columns:1fr 100px;gap:8px;margin:8px 0}.question .typed input{width:100%}.question .actions{margin-top:14px}.answer-saved{background:var(--soft);padding:12px;margin:12px 0;font-size:12px}.entity{border-left:2px solid var(--green);padding-left:16px;margin:22px 0}.entity p{font-size:12px;margin-bottom:8px}.fields{font:11px ui-monospace,monospace;color:var(--muted);line-height:1.9}.rule{display:flex;gap:13px;margin:18px 0}.rule .index{color:var(--muted);font:19px Georgia,serif}.rule p{font-size:12px;margin:0}.erd{width:100%;min-width:470px;height:auto}.erd rect{fill:var(--card);stroke:#9cad97;stroke-width:1}.erd text{fill:var(--ink);font:12px FolioSans,'Trebuchet MS',sans-serif}.erd text.label{font-size:10px;fill:var(--muted)}.erd line{stroke:var(--green);stroke-width:1.3}.erd-wrap{overflow:auto;background:#eef1e7;border:1px solid var(--line);border-radius:4px;margin:15px 0;padding:12px}.relationship{font-size:12px;margin-bottom:9px}.mapping-table td{font-size:11px}.mapping-table code{font-size:10px;overflow-wrap:anywhere}.mapping-table details{min-width:180px}.mapping-table pre{white-space:pre-wrap;max-width:480px;max-height:180px;overflow:auto}.checkbox{display:flex;gap:10px;align-items:flex-start;margin:18px 0}.checkbox input{margin-top:6px;width:17px;height:17px}.small-button{font-size:11px;padding:6px 9px}.empty{padding:45px 25px;text-align:center;color:var(--muted)}.empty h3{color:var(--ink)}.record-button{font-size:11px;padding:3px 7px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.tabs button{font-size:11px;padding:8px 11px}.tabs button.active{background:var(--ink);color:white}.search{width:100%;max-width:350px;border:1px solid var(--line);padding:10px 13px;border-radius:4px;margin-bottom:16px;background:white}.receipt{border:1px solid var(--green);background:var(--soft);padding:25px;margin-bottom:24px}.receipt h2{margin:10px 0}.progress{display:flex;align-items:center;gap:14px}.spinner{width:19px;height:19px;border-radius:50%;border:2px solid #bdcab7;border-top-color:var(--green);animation:spin 1s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}details summary{cursor:pointer;font-size:12px;font-weight:600}details>pre{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}dialog{max-width:min(900px,90vw);max-height:85vh;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:28px;color:var(--ink);box-shadow:0 18px 80px #0003}dialog::backdrop{background:#142c2580}dialog pre{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:55vh;overflow:auto}dialog form{margin-top:20px}#notice{position:fixed;right:25px;bottom:24px;max-width:500px;padding:0;z-index:20;background:var(--ink);color:white;border-radius:5px;box-shadow:var(--shadow)}#notice.visible{padding:16px 22px}.skip{position:absolute;left:12px;top:-100px;background:white;padding:10px;z-index:30}.skip:focus{top:12px}.mono{font:11px ui-monospace,monospace;overflow-wrap:anywhere}.muted{color:var(--muted)}.margin-top{margin-top:20px}.no-margin{margin:0}.mobile-only{display:none}@media(max-width:1100px){.shell{grid-template-columns:190px 1fr}.rail{padding:28px 16px}main{padding:30px 26px}.topbar{padding:20px 26px}.split{grid-template-columns:1fr}.evidence{position:static}.folio-stamp{display:none}.metrics{grid-template-columns:repeat(2,1fr)}h1{font-size:40px}.samples{gap:10px}.sample{padding:18px}}@media(max-width:720px){.shell{display:block}.rail{border-right:0;border-bottom:1px solid var(--line);padding:14px 20px;display:grid;grid-template-columns:1fr auto;gap:10px}.brand{font-size:32px}.brand svg{height:28px;width:25px}.rail .eyebrow,.rail-footer,.runlist{display:none}.rail .new{width:auto;align-self:center}.topbar{padding:15px 20px;font-size:9px}main{padding:28px 20px}h1{font-size:36px;overflow-wrap:anywhere}.intro{margin-bottom:22px}.lede{font-size:14px}.samples{grid-template-columns:1fr}.upload{padding:22px;flex-direction:column;align-items:flex-start}.upload input{max-width:100%}.steps{margin-top:20px}.step{padding:13px 10px;flex:none}.panel{padding:18px}.metric{padding:15px}.metric strong{font-size:25px}.topbar .micro{display:none}.mobile-only{display:block}.evidence{min-width:0}.table-wrap{max-height:400px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

fieldset{border:0;padding:0;margin:0;min-width:0}
.source-exclusion-actions{margin:12px 0}
