body.checkout-open{overflow:hidden}
#checkout-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#faf9fc;color:var(--ink);overflow:auto;overscroll-behavior:contain}
#checkout-dialog::backdrop{background:#fff}
.checkout-shell{min-height:100%;padding-bottom:48px}
.checkout-header{height:85px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:#fff}
.checkout-close{width:44px;height:44px;border:0;border-radius:8px;background:transparent;display:grid;place-items:center;color:var(--muted)}
.checkout-close:hover{background:var(--lavender);color:var(--purple)}
.checkout-mode{display:flex;align-items:center;justify-content:center;gap:8px;background:#f0ebff;padding:10px 20px;color:#4a278f;font-size:12px;font-weight:600}
.checkout-mode svg{width:15px;height:15px}
.checkout-layout{max-width:1120px;margin:45px auto 0;padding:0 28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:80px;align-items:start}
.checkout-document{padding-top:55px;text-align:center}
.checkout-document h2{font-size:32px;line-height:1.2;letter-spacing:-.035em;margin-bottom:12px}
.checkout-document>p{font-size:14px;max-width:31ch;margin:0 auto 25px}
.checkout-document-preview{width:220px;height:270px;margin:0 auto 27px;position:relative;background:#fff;box-shadow:0 15px 38px #26154b16;display:grid;grid-template-rows:minmax(0,1fr);place-items:center;border-radius:3px}
.checkout-document-preview>img{width:100%;height:100%;min-height:0;min-width:0;object-fit:contain;object-position:top;display:block}
.checkout-file-symbol{padding:35px;color:#bca6f5;background:#f5f1ff;border-radius:20px}
.checkout-file-symbol svg{width:70px;height:70px;stroke-width:1}
.checkout-document-check{position:absolute;width:40px;height:40px;right:-16px;bottom:19px;border-radius:50%;background:var(--purple);color:#fff;display:grid;place-items:center;border:4px solid #faf9fc}
.checkout-document-check svg{width:21px;height:21px}
.checkout-document-name{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;overflow-wrap:anywhere}
.checkout-document-name svg{width:17px;height:17px;color:var(--purple)}
.checkout-benefits{padding:20px 0 0;list-style:none;margin:0;text-align:left;display:inline-grid;gap:12px;max-width:100%}
.checkout-benefits li{display:flex;gap:9px;font-size:12px;color:#655b73;align-items:flex-start}
.checkout-benefits svg{width:17px;height:17px;color:var(--green);margin-top:1px}
.checkout-main{min-width:0}
.checkout-steps{display:flex;justify-content:space-between;gap:16px;margin:0 10px 22px;position:relative}
.checkout-steps:before{content:'';position:absolute;left:16px;right:16px;top:14px;height:1px;background:#ded6ec;z-index:0}
.checkout-steps>span{display:flex;align-items:center;gap:7px;background:#faf9fc;position:relative;padding-right:7px;font-size:12px;color:#756b82}
.checkout-steps b{display:grid;place-items:center;background:#eee9f5;border-radius:50%;width:28px;height:28px;font-size:11px;font-weight:600}
.checkout-steps .active{color:var(--purple);font-weight:650}
.checkout-steps .active b,.checkout-steps .complete b{background:var(--purple);color:white}
.checkout-steps b svg{width:15px;height:15px}
.checkout-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:31px 32px 25px}
.checkout-card h1{font-size:29px;line-height:1.18;letter-spacing:-.035em;margin-bottom:13px;outline:none}
.checkout-description{font-size:14px;line-height:1.65;margin-bottom:25px}
.checkout-card .button{font-size:14px;min-height:48px;margin-top:19px}
.checkout-card .button svg{width:19px;height:19px}
.checkout-card .text-button{font-size:12px}
.checkout-back{margin:0 0 16px}
.checkout-back svg{width:15px;height:15px}
#checkout-access-form>label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
#checkout-email{font-size:14px;width:100%;min-width:0;border:1px solid #dcd5e6;border-radius:8px;min-height:48px;padding:12px;background:#fff;color:var(--ink)}
.checkout-small{font-size:11px;line-height:1.65;margin:10px 0 0;color:#71687d}
.checkout-demo-access{margin:12px auto 0;display:flex!important}
.checkout-access-note{border-top:1px solid var(--line);padding-top:20px;margin:23px 0 0;font-size:12px;line-height:1.75}
.checkout-footer{font-size:11px;color:#71687d;line-height:1.7;text-align:center;margin:17px 20px 0}
.checkout-plans{border:0;padding:0;margin:0;display:grid;gap:11px;min-width:0}
.checkout-plan{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:16px 13px;cursor:pointer;transition:border-color .15s,background .15s}
.checkout-plan:hover{border-color:#b49bfc}
.checkout-plan.selected{border-color:var(--purple);background:#faf7ff;box-shadow:inset 0 0 0 1px var(--purple)}
.checkout-plan input{margin:0;accent-color:var(--purple);width:16px;height:16px;flex-shrink:0}
.checkout-plan-copy{display:block;flex:1;min-width:0}
.checkout-plan-heading{font-size:12px;font-weight:650;line-height:1.5;display:block}
.checkout-popular{color:var(--green);font-weight:600;font-size:9px;display:block;margin-top:2px}
.checkout-plan-renewal{display:block;font-size:10px;line-height:1.6;color:#6b6179;margin-top:5px}
.checkout-plan-price{font-size:21px;font-weight:700;white-space:nowrap;letter-spacing:-.03em;text-align:right;align-self:flex-start}
.checkout-plan-price small{font-size:10px;font-weight:450;color:#6b6179;letter-spacing:0;display:block;margin-top:1px}
.checkout-plan.unavailable{cursor:not-allowed;background:#faf9fc}
.checkout-unavailable{font-size:10px;color:#8b4d17;display:block;margin-top:5px}
.checkout-included{display:flex;gap:7px;align-items:center;font-size:12px;color:#5e536d;margin:21px 0 0}
.checkout-included svg{width:17px;height:17px;color:var(--green)}
.checkout-order{padding:19px;background:#faf9fc;border-radius:9px}
.checkout-order>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.checkout-order strong{font-size:14px}
.checkout-order p{font-size:12px;line-height:1.75;margin:9px 0 18px;color:#584e65}
.checkout-order dl{margin:0;border-top:1px solid var(--line);padding-top:13px;display:grid;gap:8px}
.checkout-order dl>div{display:flex;justify-content:space-between;gap:16px;font-size:11px}
.checkout-order dl>div:first-child{font-size:15px;font-weight:650}
.checkout-order dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.checkout-provider{display:flex;align-items:flex-start;gap:12px;margin:22px 0}
.checkout-provider>svg{width:20px;height:20px;color:var(--purple);margin-top:2px}
.checkout-provider strong{font-size:13px}
.checkout-provider p{font-size:11px;line-height:1.75;margin:4px 0 0}
.checkout-consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.75;cursor:pointer}
.checkout-consent input{margin:4px 0 0;accent-color:var(--purple);width:16px;height:16px;flex-shrink:0}
.checkout-center{text-align:center}
.checkout-error{background:#fff2ee;color:#a13524;padding:12px;border-radius:7px;font-size:12px;line-height:1.6;margin:18px 0 0}
.checkout-success-symbol{color:var(--green);background:#eaf6ef;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:23px 0}
.checkout-success-symbol svg{width:28px;height:28px}
.checkout-filename{overflow-wrap:anywhere;text-align:center}
#checkout-reset,#checkout-manage{display:flex;margin:17px auto 0}
.checkout-loading{padding:20vh 25px;text-align:center;font-size:16px}
.checkout-visually-hidden{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:980px){.checkout-layout{gap:35px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.checkout-card{padding:27px 23px}.checkout-document h2{font-size:27px}.checkout-document-preview{width:190px;height:240px}.checkout-document-name{font-size:11px}.checkout-benefits li{font-size:11px}}
@media(max-width:700px){.checkout-header{height:68px;padding:0 20px}.checkout-layout{display:block;max-width:520px;margin-top:26px;padding:0 18px}.checkout-document{display:none}.checkout-card{padding:26px 23px 22px}.checkout-card h1{font-size:27px}.checkout-steps{margin:0 5px 20px}.checkout-shell{padding-bottom:30px}.checkout-description{font-size:13px}.checkout-footer{margin:16px 8px 0}.checkout-plan{padding:15px 12px}.checkout-mode{font-size:11px}}
@media(max-width:360px){.checkout-layout{padding:0 12px}.checkout-card{padding:23px 17px}.checkout-plan{gap:8px;padding:13px 9px}.checkout-plan-price{font-size:18px}.checkout-plan-heading{font-size:11px}.checkout-steps{gap:8px}.checkout-steps>span{font-size:11px}.checkout-card h1{font-size:25px}.checkout-order{padding:14px}}

.checkout-legal-link{font-size:13px;line-height:1.6;margin:16px 0}.checkout-legal-link a{color:#5630c9;text-decoration:underline;text-underline-offset:3px}
.checkout-recovery{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;line-height:1.6}
.checkout-recovery summary{cursor:pointer;color:#5630c9;padding:8px 0}
.checkout-recovery label{display:grid;gap:8px;margin:16px 0;font-weight:600}
.checkout-recovery input{width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #dcd5e6;border-radius:8px;font:inherit}
.checkout-access-code{display:block;overflow-wrap:anywhere;white-space:normal;padding:14px;background:#f5f1fb;color:#3f286b;margin:16px 0;font-size:14px;user-select:all}
.checkout-recovery .text-button{display:flex;align-items:center;gap:8px;min-height:44px}
.checkout-recovery svg{width:18px;height:18px}
#checkout-logout{display:block;margin:16px auto;min-height:44px}

/* Express checkout shares the existing editor and payment typography. */
.checkout-social {display:grid;gap:10px;margin:22px 0 12px}
.checkout-social-button {display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:12px 16px;border:1px solid #cfcbd8;border-radius:10px;background:#fff;color:#202124;font:inherit;font-size:16px;font-weight:500;line-height:1.4;cursor:pointer}
.checkout-social-button:hover {background:#f7f5fb;border-color:#716c81}
.checkout-social-button:focus-visible {outline:3px solid #6740e8;outline-offset:3px}
.checkout-social-button svg {width:22px;height:22px;flex:none}
.checkout-social-button:disabled {opacity:.55;cursor:wait}
.checkout-divider {display:flex;align-items:center;gap:14px;margin:18px 0;color:#625b70;font-size:14px}
.checkout-divider::before,.checkout-divider::after {content:"";height:1px;flex:1;background:#e3deec}
#checkout-fast-form>label:first-child {display:block;font-weight:600;font-size:14px;margin-bottom:8px}
#checkout-fast-form>#checkout-email {width:100%;min-height:48px;padding:12px 14px;border:1px solid #d5cee5;border-radius:10px;font:inherit;font-size:16px;background:#fff;color:#242030}
#checkout-fast-form>#checkout-email[readonly] {background:#f6f4fa}
.checkout-fast-total {display:flex;justify-content:space-between;gap:20px;align-items:baseline;border-top:1px solid #e3deec;padding-top:20px;margin-top:22px;font-weight:600}
.checkout-fast-total strong {font-size:28px;white-space:nowrap;font-variant-numeric:tabular-nums}
.checkout-fast-renewal {font-size:15px;line-height:1.6;margin:8px 0 16px;color:#494154}
.checkout-signed-in {display:flex;gap:8px;align-items:center;color:#216a44;font-weight:600}
.checkout-signed-in svg {width:20px;height:20px}
.checkout-fast-plans .checkout-plan-price {font-size:22px}
.checkout-fast-plans .checkout-plan-heading {font-size:15px}
.checkout-fast-plans .checkout-plan-renewal {font-size:13px}
#checkout-fast-form .checkout-small,#checkout-fast-form .checkout-consent {font-size:14px}
.checkout-social+.checkout-small {font-size:13px}
@media(max-width:480px){.checkout-fast-plans .checkout-plan{gap:10px;padding:14px 12px}.checkout-fast-plans .checkout-plan-price{font-size:20px}.checkout-social-button{padding-inline:12px}.checkout-fast-total strong{font-size:26px}}
