.document-portal{margin:0;background:#f1f5fa;color:#20344a;font:16px/1.55 system-ui,sans-serif}.document-portal *{box-sizing:border-box}.document-portal .btn{font:inherit;padding:12px 20px;border:1px solid #cbd9e9;background:white;color:#19456f;border-radius:12px;cursor:pointer}.document-portal .btn.primary{background:#1d5fd3;color:#fff;border-color:#1d5fd3}.document-portal .btn:disabled{opacity:.5}.document-portal .field{display:grid;gap:8px;margin:18px 0}.document-portal input:not([type=checkbox]),.document-portal textarea{width:100%;font:inherit;border:1px solid #bacbde;border-radius:10px;padding:13px}.document-portal .tablewrap{overflow:auto}.document-portal .preserve-lines,.preserve-lines{white-space:pre-wrap}.portal-top{max-width:1050px;padding:20px 24px;margin:auto;display:flex;justify-content:space-between;align-items:center}.portal-top>span{font-weight:750;color:#1d5fd3}#customer-document-app{max-width:1000px;margin:0 auto;padding:0 24px 100px}.customer-document{color:#20344a;background:#fff;padding:clamp(22px,5vw,48px);border:1px solid #d6e1ef;border-radius:20px}.doc-brand{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid #1d5fd3;padding-bottom:24px;margin-bottom:28px}.doc-brand strong{font-size:22px;color:#1d5fd3}.doc-brand>div:last-child{display:grid;text-align:right;font-size:14px;align-content:start;gap:5px}.doc-brand p{margin:7px 0}.customer-document h1{font-size:clamp(25px,4vw,36px);line-height:1.2;margin:22px 0 28px}.customer-document h2{font-size:20px}.customer-document small{font-size:13px;color:#5c7087}.doc-parties{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.doc-parties>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.doc-parties p{margin:0}.doc-options{display:grid;gap:22px}.doc-options.layout-cards{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));align-items:start}.doc-option{padding:22px;border:1px solid #d7e1ed;border-radius:14px;margin:10px 0}.doc-option.chosen{border-color:#1d5fd3}.doc-option header{display:flex;justify-content:space-between;gap:12px}.doc-option header strong{font-size:22px;white-space:nowrap;color:#19456f}.doc-option h3{margin:5px 0;font-size:20px}.doc-option h4{font-size:15px;margin:20px 0 10px}.doc-lines>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid #e7edf4}.doc-lines span{overflow-wrap:anywhere}.doc-lines small{font-size:14px}.doc-totals{margin:20px 0 0 auto;max-width:330px}.doc-totals>div{display:flex;justify-content:space-between;gap:16px;padding:6px}.doc-totals dd{margin:0;font-weight:650}.doc-totals .total{border-top:1px solid #cbd9e9;margin-top:8px;padding-top:12px;color:#1d5fd3;font-size:18px}.doc-deposit{background:#edf4ff;border-radius:12px;padding:16px}.doc-message{margin-top:28px;border-top:1px solid #d7e1ed;padding-top:22px;font-size:15px}.doc-terms{margin:20px 0;border:1px solid #d7e1ed;border-radius:12px;padding:16px}.doc-terms summary{cursor:pointer;font-weight:650}.doc-terms>div{margin-top:18px;line-height:1.65;max-height:330px;overflow:auto;font-size:15px}.doc-signed{padding:24px;background:#edf8f4;border-radius:12px}.doc-signed img{width:250px;max-width:100%}.doc-signed small{overflow-wrap:anywhere}.typed-signature{font-family:cursive;font-size:34px;min-height:100px;display:flex;align-items:center;padding:24px;background:#f7faff;color:#15365b;border:1px solid #bccbdb;border-radius:12px;overflow-wrap:anywhere}.doc-sign-form{max-width:680px;margin:auto;background:#fff;color:#20344a;padding:clamp(20px,5vw,40px);border-radius:18px}.doc-sign-form .field{margin:18px 0}.doc-sign-total{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d7e1ed;padding:12px 0 22px}.doc-sign-total strong{font-size:24px}.doc-sign-tabs{display:flex;gap:8px;margin:20px 0 12px}.doc-sign-form canvas{display:block;width:100%;height:150px;background:#fff;border:1px solid #bccbdb;touch-action:none;border-radius:12px}.doc-consent{display:flex;gap:12px;align-items:flex-start;margin:24px 0;font-size:15px}.doc-consent input{width:23px;height:23px;flex-shrink:0;accent-color:#1d5fd3}.doc-sign-form>button.primary{width:100%;margin-top:16px}.required-star,#doc-sign-error{color:#c03645}.doc-sticky-action{position:sticky;bottom:0;padding:14px;background:#f1f5faf2;text-align:center}.doc-sticky-action .btn{width:100%;max-width:600px}.doc-status{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));padding:20px 0;gap:10px;margin:0}.doc-status li{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;border-radius:12px;background:var(--surface,#f4f7fb);color:var(--muted,#66788e)}.doc-status .done{background:var(--soft,#eaf2ff);color:var(--primary,#1d5fd3)}.doc-status small{font-size:12px}.doc-status span{font-size:20px}.doc-work-actions,.doc-work-options,.doc-attachment-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.doc-work-actions .btn{min-height:44px}.doc-preview-small{max-height:520px;overflow:auto;border:1px solid #d7e1ed;border-radius:16px;margin-top:20px}.doc-preview-small .customer-document{border:0;border-radius:0}.document-workspace{padding:8px}.doc-compare{min-width:520px;width:100%;border-collapse:collapse;margin:18px 0 28px;font-size:14px}.doc-compare th,.doc-compare td{border:1px solid #d7e1ed;padding:14px;vertical-align:top;text-align:left}.doc-compare thead{background:#edf4ff}.doc-file-list{display:grid;gap:10px;margin:20px 0}.doc-file-list>a,.doc-file-list>span,.doc-file-list>div{padding:12px;border:1px solid #d7e1ed;border-radius:10px;display:flex;align-items:center;gap:10px;overflow-wrap:anywhere}.doc-file-list>div>span{flex:1;min-width:0}.doc-file-list small{display:block}.doc-balance{display:grid;gap:10px;text-align:right;padding:20px}.doc-balance strong{font-size:22px}.magic-create{gap:9px;box-shadow:0 5px 14px #245fde26}.magic-create svg{overflow:visible}.magic-create:hover svg{animation:doc-magic .6s ease-in-out}.estimate-visit-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.estimate-visit-cards article{border:1px solid var(--border,#d7e1ed);border-left:4px solid #765bce;border-radius:16px;padding:22px;background:var(--surface,#fff)}.estimate-visit-cards .btn{display:block;margin-top:18px}.estimate-schedule-section{margin-top:28px}.doc-office-notice{background:var(--soft,#eaf2ff);border-left:4px solid var(--primary,#1d5fd3);border-radius:12px;padding:20px;margin-bottom:22px}.doc-trade{display:inline-flex;border-radius:7px;padding:4px 9px;background:var(--soft,#eaf2ff);color:var(--primary,#1d5fd3);font-weight:650;font-size:13px;margin-bottom:8px}.doc-estimate-tools{margin-bottom:15px}.estimateoption .field{margin-top:16px}.doc-sign-form [hidden]{display:none!important}@keyframes doc-magic{50%{transform:rotate(-12deg) scale(1.13)}}@media(prefers-reduced-motion:reduce){.magic-create:hover svg{animation:none}}@media(max-width:600px){#customer-document-app{padding:0 10px 80px}.portal-top{padding:15px}.doc-brand{flex-wrap:wrap}.doc-brand>div:last-child{text-align:left}.doc-parties{grid-template-columns:1fr}.doc-option{padding:16px}.doc-option header{flex-wrap:wrap}.doc-lines>div{grid-template-columns:1fr auto}.doc-lines span{grid-column:1/-1}.doc-lines small{white-space:normal}.doc-work-actions .btn{flex:1 1 42%}.doc-sign-form{padding:20px}.doc-options.layout-cards{grid-template-columns:1fr}}@media print{.doc-work-actions,.doc-work-options,.doc-status,.portal-top,.doc-sticky-action{display:none!important}.customer-document{border:0;padding:0}.doc-preview-small{max-height:none;overflow:visible}.doc-option{break-inside:avoid}}
.doc-attachment-thumb{width:80px;height:60px;object-fit:cover;border-radius:8px;display:inline-block;vertical-align:middle;margin-right:12px}
.customer-document .doc-company-logo{display:block;max-width:160px;max-height:70px;object-fit:contain;margin:0 0 16px}.customer-document .doc-brand{border-bottom-color:var(--document-accent,#1d5fd3)}.customer-document .doc-brand strong,.customer-document .doc-options h3,.customer-document .doc-totals .total{color:var(--document-accent,#1d5fd3)}

.invoice-pay-card{max-width:800px;margin:24px auto 100px;padding:28px;background:var(--card,#fff);border:1px solid #d5dfec;border-radius:18px}.invoice-pay-card>.field{display:block;margin:24px 0}.invoice-pay-card input:not([type=checkbox]){width:100%;padding:12px}.payment-acceptance{display:flex;align-items:flex-start;gap:12px;line-height:1.6;margin:24px 0}.payment-acceptance input{width:22px;height:22px;flex-shrink:0;margin-top:4px}.invoice-pay-card form .btn{margin-top:22px}.invoice-pay-card [hidden]{display:none!important}
