.sft-registration-offer{margin:10px 0 16px;padding:16px 18px;border:1px solid #d4dfd0;border-radius:12px;background:#f3f7ef;color:#233a31}
.sft-registration-offer[hidden]{display:none}
.sft-registration-offer h3{margin:0 0 6px;font-size:19px;line-height:1.3}
.sft-registration-offer p{margin:0 0 12px;font-size:15px;line-height:1.5}
.sft-registration-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.sft-registration-actions .button{padding:10px 16px;min-height:0;font-size:15px}
.sft-registration-actions span{font-size:14px;line-height:1.5}
.sft-registration-actions span a{font-weight:600}
@media(max-width:480px){.sft-registration-offer{padding:14px}.sft-registration-actions{gap:10px}}
/* Align the homepage introduction with the upload card. */
.hero:not(.document-workspace){padding-top:32px}
.hero:not(.document-workspace) .hero-grid{align-items:start}
.hero:not(.document-workspace) .hero-copy{align-self:start}
@media(max-width:650px){.hero:not(.document-workspace){padding-top:20px}}

.sft-registration-offer h3{font-size:21px;color:#154e3a}
.sft-registration-offer p{font-size:16px}
.sft-registration-actions .button{min-height:44px;padding:11px 18px;font-size:16px}
.sft-registration-actions .sft-register-secondary{background:white;color:#154e3a;border:1px solid #154e3a}
.sft-registration-actions .sft-register-secondary:hover{background:#e8f0e0}

/* Clear account choices before the main homepage heading. */
.sft-account-banner{display:flex;align-items:center;justify-content:space-between;gap:18px 24px;margin:0 0 24px;padding:18px 22px}
.sft-account-banner-copy{flex:1;min-width:0}
.sft-account-banner h3{font-size:20px;margin:0 0 6px}
.sft-account-banner p{font-size:15px;margin:0;line-height:1.5}
.sft-account-banner .sft-registration-actions{flex-shrink:0}
@media(max-width:850px){.sft-account-banner{flex-direction:column;align-items:flex-start;padding:16px;gap:14px;margin-bottom:20px}.sft-account-banner .sft-registration-actions{width:100%}.sft-account-banner h3{font-size:19px}}

/* Make account choices easy to see before uploading. */
.sft-account-banner{background:#154e3a;border:1px solid #154e3a;color:#fff;padding:22px 24px;box-shadow:0 7px 20px #154e3a18}
.sft-account-banner h3{color:#fff;font-size:25px;line-height:1.2;margin-bottom:8px}
.sft-account-banner p{color:#eef5e8;font-size:16px;line-height:1.55}
.sft-account-banner .sft-registration-actions .button{background:#fff;color:#154e3a;border-color:#fff;font-weight:700;min-height:48px}
.sft-account-banner .sft-registration-actions .button:hover{background:#e8f0e0}
.sft-account-banner .sft-registration-actions .sft-register-secondary{background:transparent;color:#fff;border-color:#c4d8cc}
.sft-account-banner .sft-registration-actions .sft-register-secondary:hover{background:#24664d}
.sft-account-banner-blocked{outline:3px solid #9cbd75;outline-offset:3px}
@media(max-width:850px){.sft-account-banner{padding:20px}.sft-account-banner h3{font-size:23px}.sft-account-banner .sft-registration-actions .button{flex:1}}

/* Processing limits are a complete workspace state. */
.sft-processing-limit{margin:22px 0;padding:26px 28px;border:1px solid #d2ddcc;border-left:5px solid #759351;border-radius:14px;background:#f5f8ef;scroll-margin-top:110px}
.sft-processing-limit[hidden]{display:none!important}
.sft-limit-label{display:block;font-size:11px;font-weight:700;letter-spacing:1.5px;color:#60764d;margin:0 0 10px}
.sft-processing-limit h2{font-size:26px;line-height:1.25;letter-spacing:-.5px;margin:0 0 12px;color:#233a31}
.sft-processing-limit p{font-size:16px;line-height:1.6;color:#536451;max-width:72ch;margin:0 0 18px}
.sft-limit-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px}
.sft-limit-actions .button{min-height:46px;font-size:15px}
.sft-limit-actions .sft-limit-secondary{background:white;color:#154e3a}
.sft-processing-limit .sft-limit-detail{font-size:14px;margin:0;color:#67745f}
.sft-limit-active #processing-verification,.sft-limit-active #extract-document,.sft-limit-active #improve-extraction,.sft-limit-active #extraction-status-panel,.sft-limit-active .saved-next,.sft-limit-active .preview-payment-note,.sft-limit-active .sample-row{display:none!important}
.sft-limit-active .document-filebar{padding-bottom:4px}
.sft-limit-active #saved-name{font-size:15px;line-height:1.5}
.sft-limit-active #replace-document{background:transparent;font-size:13px}
.sft-limit-active #delete-document{font-size:13px;margin-top:4px}
@media(max-width:650px){.sft-processing-limit{padding:20px 18px;margin:18px 0}.sft-processing-limit h2{font-size:22px}.sft-processing-limit p{font-size:15px}.sft-limit-actions .button{flex:1}}
/* Extraction actions override the saved-document text-link button rule. */
.upload-card #saved-document > #extract-document,
.upload-card #saved-document > #improve-extraction{
 display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;
 min-height:44px;max-width:100%;padding:11px 18px;margin:14px 10px 10px 0;
 border:1px solid #154e3a;border-radius:8px;font:inherit;font-size:14px;
 font-weight:600;line-height:1.4;text-align:center;text-decoration:none;
 white-space:normal;cursor:pointer;box-sizing:border-box;
}
.upload-card #saved-document > #extract-document{background:#154e3a;color:#fff}
.upload-card #saved-document > #extract-document:hover{background:#24664d}
.upload-card #saved-document > #improve-extraction{background:#fff;color:#154e3a}
.upload-card #saved-document > #improve-extraction:hover{background:#f0f5eb}
.upload-card #saved-document > #extract-document:disabled,
.upload-card #saved-document > #improve-extraction:disabled{opacity:.55;cursor:wait}
@media(max-width:480px){
 .upload-card #saved-document > #extract-document,
 .upload-card #saved-document > #improve-extraction{display:flex;width:100%;margin:10px 0 0}
}
