@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;450;500;550;600;650;700;750;800&display=swap');
:root{--ink:#182520;--muted:#78817a;--line:#dfe5dc;--paper:#fff;--bg:#f2f4ee;--green:#21573f;--lime:#d6eb9e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'Golos Text',Arial,sans-serif}button,input,textarea,select{font:inherit}button,a,label.drop,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #91ba59;outline-offset:3px}button{border:0}a{color:inherit;text-decoration:none}.top{height:85px;background:#fafbf7;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4vw;gap:30px}.brand{display:flex;align-items:center;font-size:21px;font-weight:750;gap:8px;letter-spacing:-.6px}.logo{background:var(--green);color:var(--lime);width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:26px;margin-right:5px}.arrow{color:#8d998d;font-weight:400}.private{margin-left:auto;color:#626d63;font-size:12px;display:flex;gap:8px;align-items:center}.private span{width:6px;height:6px;border-radius:50%;background:#6b9748}main{max-width:1540px;padding:0 4vw;margin:auto}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding:53px 0 36px;gap:24px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.9px;color:#75846c}h1{font-size:clamp(36px,4.1vw,59px);line-height:1.07;letter-spacing:-2.7px;font-weight:550;margin:17px 0}p{line-height:1.65}.intro p{color:#707c70;font-size:14px;margin-bottom:0}.steps{display:flex;gap:24px;margin-bottom:5px;font-size:12px;color:#8a9387}.steps div{padding-top:15px;border-top:1px solid #d4dccb}.steps .active{border-color:var(--green);color:var(--green)}.steps b{font-size:10px;margin-right:7px}.workspace{display:grid;grid-template-columns:minmax(290px,.8fr) minmax(0,1.55fr);gap:24px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:24px}.source{position:sticky;top:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}h2{margin:0;font-size:14px;font-weight:650;letter-spacing:-.15px}h2 span{color:#94a18b;font-size:11px;margin-right:8px}.tag{font-size:9px;letter-spacing:.4px;white-space:nowrap;border:1px solid var(--line);border-radius:5px;padding:5px 6px;color:#7e8979;background:#fafbf8}.drop{min-height:265px;border:1.5px dashed #bacbb0;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8faf5;text-align:center;cursor:pointer;transition:.2s;padding:22px}.drop.drag{background:#edf4de;border-color:var(--green)}.upload-icon{height:49px;width:43px;background:#e7eddd;border:1px solid #d0dcc1;border-radius:9px;font-size:29px;color:#557345;display:grid;place-items:center;margin:5px 0 13px}.drop h3{font-size:15px;font-weight:550;margin:0 0 5px}.drop p{font-size:12px;color:#7b8772;margin:0 0 18px}.drop>span{font-size:10px;color:#8c9685}.primary,.secondary{border-radius:8px;padding:13px 17px;font-size:12px;font-weight:550;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:43px}.primary{background:var(--green);color:white}.primary:hover:not(:disabled){background:#16432e}.primary span:last-child{font-size:18px;font-weight:400}.secondary{background:#edf1e7;color:#355037}.wide{width:100%;margin-top:16px}.ghost{background:transparent;color:#63765c;padding:7px 3px;font-size:11px}.ghost:hover{color:#183c24}.hint{font-size:11px;color:#8b9386;margin:13px 0 22px}.raw{border-top:1px solid var(--line);padding-top:16px}.raw summary{display:flex;justify-content:space-between}.raw textarea{margin:15px 0 10px}.raw .secondary,.paste .secondary{padding:10px 12px;min-height:34px;font-size:10px}summary{font-size:11px;color:#6b7d61;cursor:pointer}textarea{resize:vertical;width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;font-size:11px;line-height:1.6;color:var(--ink);background:#fafcf8}.privacy-note{display:flex;gap:11px;margin-top:25px;color:#7f8c76}.privacy-note>span{font-size:21px}.privacy-note p{font-size:10px;line-height:1.6;margin:1px 0}.section-title{font-size:10px;letter-spacing:.6px;font-weight:650;text-transform:uppercase;color:#6c7d60;margin:25px 0 13px}.notice{background:#f6f8ee;color:#788268;font-size:11px;line-height:1.7;padding:12px 14px;border-left:2px solid #b8ce8f;border-radius:5px}.notice.warn{background:#fff8e9;border-color:#cf9c48;color:#85632d}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid.three{grid-template-columns:1fr 1fr 1.15fr}.grid label{display:flex;flex-direction:column;gap:7px;color:#7c8577;font-size:10px}.full{grid-column:1/-1}input:not([type=checkbox]),select{border:1px solid #e0e5da;border-radius:6px;min-height:38px;background:#fff;padding:9px 11px;width:100%;color:#26392b;font-size:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#7e9f69!important;box-shadow:0 0 0 2px #a4bd7f26;outline:none}input::placeholder,textarea::placeholder{color:#afb5a8}.line{display:flex;align-items:center;justify-content:space-between;gap:10px}.line button{text-transform:none;letter-spacing:0}.count{display:inline-grid;place-items:center;border:1px solid var(--line);font-size:10px;border-radius:4px;min-width:20px;height:18px;margin-left:5px;color:#909d84}.table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:7px}table{border-collapse:collapse;width:100%;font-size:10px;min-width:920px}th{text-align:left;font-weight:500;color:#8a9481;background:#f7f9f3;padding:10px 7px;white-space:nowrap}td{padding:4px;border-top:1px solid #eef1e8}td input{min-height:32px!important;padding:6px!important;font-size:11px!important;border-color:transparent!important;min-width:65px}td:nth-child(2){width:28%}td:nth-child(2) input{min-width:170px}td:first-child{padding-left:9px;color:#93a086}td button{background:transparent;color:#a39e8f;padding:6px}.empty-rows{text-align:center;color:#a2ac97;font-size:11px;line-height:1.8;padding:25px 5px;border:1px solid var(--line);border-top:0;border-radius:0 0 7px 7px}.paste{margin-top:12px}.paste textarea{margin-bottom:8px}.muted{color:#8a9581;font-size:10px;line-height:1.65}.bottom-fields{margin-top:15px}.export{margin-top:0}.export p{font-size:10px;color:#8a9481;line-height:1.8}.export b{color:#52674b;font-weight:500}.check{display:flex;align-items:flex-start;gap:9px;margin:20px 0;color:#5c6e53;font-size:11px;line-height:1.6;cursor:pointer}.check input{accent-color:var(--green);margin:2px 0}.export-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.export details{margin-top:17px}.export details p{margin:9px 0}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:30px 0 25px;color:#929c88;font-size:10px}footer span:first-child{font-weight:650;color:#6c7e61}.image-tools{display:flex;gap:9px;align-items:center;margin-bottom:12px}.image-tools select{font-size:10px;min-width:0}.image-tools button{white-space:nowrap}.photo-wrap{height:350px;background:#f0f2eb;border:1px solid var(--line);border-radius:8px;overflow:auto;display:flex;justify-content:center;align-items:center}.photo-wrap img{max-width:100%;max-height:100%;object-fit:contain}.images .muted{margin-top:8px}.progress{height:4px;border-radius:2px;background:#e3ebd6;margin-top:17px;overflow:hidden}.progress>div{height:100%;width:0;background:#6f9449;transition:width .2s}#progressText{font-size:11px;color:#708063;margin-bottom:4px}.validation{background:#fff3e6;color:#8e6234;border-radius:7px;padding:12px 15px;font-size:11px;line-height:1.9;margin-bottom:15px}.validation ul{margin:0;padding-left:17px}dialog{border:1px solid var(--line);border-radius:15px;width:min(900px,94vw);max-height:85vh;padding:23px;color:var(--ink)}dialog::backdrop{background:#162b2480}.dialog-head{display:flex;justify-content:space-between;align-items:center}pre{white-space:pre-wrap;word-break:break-all;font:11px/1.65 monospace;background:#f3f6ee;padding:17px;border-radius:7px;max-height:65vh;overflow:auto}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:9px;background:#253f2b;color:#fff;font-size:12px;z-index:10;display:none;max-width:90vw}[hidden]{display:none!important}
@media(min-width:1600px){main{padding:0 45px}.top{padding:0 calc((100vw - 1450px)/2)}}@media(max-width:1050px){.workspace{grid-template-columns:minmax(260px,.8fr) minmax(0,1.3fr);gap:15px}.panel{padding:18px}.steps{gap:12px}.top{padding:0 25px}main{padding:0 25px}.grid.three{grid-template-columns:1fr 1fr}.grid.three label:last-child{grid-column:1/-1}.panel-head{flex-wrap:wrap}}@media(max-width:760px){.top{height:70px;padding:0 18px;gap:12px}.private{display:none}.top>.ghost{margin-left:auto}.intro{padding:30px 0 24px;display:block}h1{font-size:43px;letter-spacing:-1.8px}.steps{margin-top:25px;justify-content:space-between}.steps div{flex:1}.workspace{display:block}.source{position:static;margin-bottom:18px}main{padding:0 15px}.drop{min-height:220px}.panel{padding:19px;border-radius:13px}.grid.three{grid-template-columns:1fr 1fr}.photo-wrap{height:320px}footer{flex-wrap:wrap;font-size:9px}.desktop{display:none}.export-actions .primary{flex:1}.intro p{font-size:13px}.grid input{font-size:12px}.panel-head{flex-wrap:nowrap}h2{font-size:13px}}
.signer-fields{margin-top:24px;padding-top:17px;border-top:1px solid var(--line)}.signer-fields .grid{margin-top:14px}tr.needs-review{background:#fff8e9}#newDocument{justify-content:center}#xsdStatus{font-size:11px;color:#6b7d61;margin-top:12px}

/* Service center branding and assistance */
.brand-logo{display:block;width:90px;height:72px;object-fit:contain;flex-shrink:0}.brand-product{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:18px;margin-left:5px;white-space:nowrap}.help-card{margin-top:22px;padding:18px;border:1px solid #d5dfca;border-radius:11px;background:#f6f8ef}.help-card h3{font-size:14px;font-weight:650;margin:0}.help-card p{font-size:11px;color:#718066;margin:7px 0 14px}.help-link{width:100%;gap:12px;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.brand-logo{width:72px;height:58px}.brand-product{padding-left:12px;margin-left:0;font-size:18px;gap:5px}.help-card{padding:16px}}

/* Excel import, v1.1.0 */
.excel-name{font-weight:600;overflow-wrap:anywhere}.excel-sheet-label{display:grid;gap:8px}.excel-sheet-label select{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:white;color:#17212f}.excel-preview-wrap{max-height:360px;overflow:auto;border:1px solid #dce2e8;border-radius:8px;margin:16px 0}.excel-preview-wrap table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.excel-preview-wrap td{border:1px solid #e3e8ee;padding:6px;white-space:pre-wrap;min-width:42px;max-width:300px;overflow-wrap:anywhere}.excel-preview-wrap tr:nth-child(even){background:#f7f9fb}

/* Required fields after review */
.grid input.field-missing,.grid select.field-missing,.table-scroll input.field-missing{border:1px solid #b42318;background:#fff1f0;box-shadow:0 0 0 1px #b42318}.grid input.field-missing:focus,.grid select.field-missing:focus,.table-scroll input.field-missing:focus{outline:2px solid #b42318;outline-offset:2px}.required-help{color:#b42318;font-size:12px;line-height:1.5}.empty-rows.missing-items{border:1px solid #b42318;background:#fff1f0;color:#b42318;border-radius:7px}

.error-field-link{border:0;background:transparent;color:#9c251a;text-decoration:underline;padding:2px 4px;font:inherit;cursor:pointer}.error-field-link:focus-visible{outline:2px solid #b42318;outline-offset:2px}

/* Larger horizontal scrollbar below the invoice table */
.table-scroll::-webkit-scrollbar{height:24px}
.table-scroll::-webkit-scrollbar-track{background:#e4eadb;border-radius:8px}
.table-scroll::-webkit-scrollbar-thumb{background:#718266;border:3px solid #e4eadb;border-radius:12px;min-width:80px;cursor:grab}
.table-scroll::-webkit-scrollbar-thumb:hover{background:#536947}
.table-scroll::-webkit-scrollbar-thumb:active{background:#405536;cursor:grabbing}

.editor-column{display:grid;gap:24px;min-width:0}@media(max-width:760px){.editor-column{gap:18px}}
