:root{
  --brand:#165DFF;
  --brand-700:#0F4FD6;
  --brand-50:#F3F7FF;
  --ink:#0F172A;
  --text:#334155;
  --muted:#64748B;
  --muted-2:#94A3B8;
  --line:#E2E8F0;
  --line-strong:#CBD5E1;
  --surface:#FFFFFF;
  --surface-soft:#F8FAFD;
  --page:#F5F7FB;
  --danger:#DC2626;
  --success:#16A34A;
  --radius:16px;
  --shadow:0 18px 48px rgba(15,23,42,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--page);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
.checkout-container{width:min(1100px,calc(100% - 48px));margin:0 auto}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* Header */
.checkout-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);border-bottom:1px solid #E9EEF5;backdrop-filter:blur(14px)}
.header-row{height:64px;display:flex;align-items:center;gap:24px}
.checkout-brand{display:inline-flex;align-items:center;gap:10px;min-width:0}
.brand-logo{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.brand-logo:empty{display:none}
.brand-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.brand-text{font-size:17px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.header-actions{margin-left:auto;height:100%;display:flex;align-items:center;justify-content:flex-end;gap:6px}
.header-link,.header-login{height:36px;padding:0 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:#526276;font-size:13px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;vertical-align:middle;appearance:none;transition:.16s}
.header-link:hover{background:#F5F8FC;color:var(--brand)}

/* Intro */
.checkout-page{flex:1;padding:34px 0 54px}
.checkout-intro{margin-bottom:18px}
.checkout-intro h1{margin:0;font-size:32px;line-height:1.2;letter-spacing:-.035em}

/* Resume */
.resume-banner{margin:0 0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid #BFD3FF;border-radius:12px;background:#F2F6FF}
.resume-banner b{display:block;font-size:13px}
.resume-banner small{display:block;margin-top:3px;color:#66758A;font-size:11px}
.resume-actions{display:flex;gap:8px;flex:0 0 auto}
.small-btn{height:36px;padding:0 12px;border:1px solid #C9D7EB;border-radius:9px;background:#fff;color:#43546A;font-size:12px;font-weight:750}
.small-btn.primary{border-color:var(--brand);background:var(--brand);color:#fff}

/* Single checkout workspace */
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:stretch;border:1px solid #DCE4EF;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden}
.checkout-form{min-width:0;background:#fff}
.form-section{padding:27px 30px}
.form-section+.form-section{border-top:1px solid #EDF1F5}
.section-title-row{margin-bottom:20px}
.section-title-row h2{margin:0;font-size:19px;line-height:1.3;letter-spacing:-.02em}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.field{display:grid;gap:7px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:750;color:#334155}
.field input{width:100%;height:46px;padding:0 13px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink);outline:0;transition:border-color .16s,box-shadow .16s}
.field input:hover{border-color:#B7C5D7}
.field input:focus{border-color:#7FA6FF;box-shadow:0 0 0 3px rgba(22,93,255,.08)}
.field input.invalid{border-color:#EF4444;box-shadow:none}
.field-error{min-height:0;color:var(--danger);font-size:11px;line-height:1.35}
.field-error:empty{display:none}

.config-list{display:grid}
.config-item{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;padding:17px 0}
.config-item:first-child{padding-top:0}
.config-item:last-child{padding-bottom:0}
.config-item+.config-item{border-top:1px solid #EDF1F5}
.config-info{display:grid;gap:4px}
.config-info strong{font-size:14px;color:#1F2937}
.config-info span{color:#64748B;font-size:12px;line-height:1.45}
.term-options{width:min(100%,390px);justify-self:end;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--brand);border-radius:10px;overflow:hidden;background:#fff}
.term-option{height:44px;border:0;border-right:1px solid rgba(22,93,255,.35);background:#fff;color:var(--brand);font-size:13px;font-weight:780;white-space:nowrap;transition:background .16s,color .16s}
.term-option:last-child{border-right:0}
.term-option:hover:not(.active){background:#F3F7FF}
.term-option.active{background:var(--brand);color:#fff}
.stepper{width:min(100%,390px);justify-self:end;height:46px;display:grid;grid-template-columns:46px 1fr 46px;align-items:center;border:1px solid #D6E0EC;border-radius:10px;background:#fff;overflow:hidden}
.stepper button{width:46px;height:46px;border:0;background:#fff;color:var(--brand);font-size:21px;font-weight:500;display:grid;place-items:center;transition:.16s}
.stepper button:first-child{border-right:1px solid #E1E7EF}
.stepper button:last-child{border-left:1px solid #E1E7EF}
.stepper button:hover:not(:disabled){background:#EEF4FF;color:var(--brand-700)}
.stepper button:disabled{background:#FAFBFD;color:#C7D1DE;cursor:not-allowed}
.stepper strong{text-align:center;font-size:16px;font-weight:850;color:#101828}

/* Order */
.order-summary{min-width:0;padding:26px 24px;background:#FAFCFF;border-left:1px solid #E6ECF3}
.summary-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#64748B;font-size:12px;font-weight:750}
.summary-badge{padding:5px 8px;border-radius:999px;background:#EDF4FF;color:var(--brand);font-size:10px;font-weight:850}
.summary-plan-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:14px}
.summary-plan-row h2{margin:0;font-size:22px;line-height:1.25;letter-spacing:-.025em}
.summary-plan-row p{margin:6px 0 0;color:#64748B;font-size:11px;line-height:1.5}
.summary-discount{display:inline-flex;margin-top:11px;padding:5px 8px;border-radius:999px;background:#ECFDF5;color:#047857;font-size:10px;font-weight:750}
.summary-costs{display:grid;gap:10px;margin-top:18px;padding:16px 0;border-top:1px solid #E7EDF5;border-bottom:1px solid #E7EDF5}
.summary-cost{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#64748B;font-size:12px}
.summary-cost b{color:#334155;font-weight:800;white-space:nowrap}
.summary-total{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:17px 0 4px}
.summary-total span{color:#64748B;font-size:12px}
.summary-total strong{color:var(--brand);font-size:34px;line-height:1;letter-spacing:-.045em}
.summary-assurance{margin:11px 0 0;color:#475569;font-size:12px;line-height:1.5}
.summary-assurance::before{content:'✓';margin-right:7px;color:var(--success);font-weight:900}
.payment-actions{display:grid;gap:10px;margin-top:15px}
.pay-btn{height:50px;border:0;border-radius:10px;color:#fff;font-size:14px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:9px;transition:transform .16s,box-shadow .16s,background .16s}
.pay-btn:hover{transform:translateY(-1px)}
.pay-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.pay-btn-icon{width:21px;height:21px;display:grid;place-items:center;flex:0 0 auto;color:#fff}
.pay-btn-icon svg{display:block;width:100%;height:100%;fill:currentColor}
.pay-btn.wechat{background:#07C160;box-shadow:0 8px 18px rgba(7,193,96,.13)}
.pay-btn.wechat:hover{background:#06AD56}
.pay-btn.alipay{background:#1677FF;box-shadow:0 8px 18px rgba(22,119,255,.14)}
.pay-btn.alipay:hover{background:#0F68E8}
.terms-consent{margin:14px 0 0;display:flex;align-items:flex-start;gap:8px;color:#64748B;font-size:13px;line-height:1.6;cursor:pointer}
.terms-consent input{width:16px;height:16px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--brand)}
.terms-consent a{color:var(--brand);font-weight:700}
.summary-error{margin-top:10px;color:var(--danger);font-size:12px;line-height:1.5}

/* Payment and state views */
.result-shell{border:1px solid #DCE4EF;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);padding:30px}
.payment-view,.success-view,.processing-view{min-height:460px}
.payment-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:34px;align-items:center;max-width:760px;margin:0 auto;padding:26px 0}
.qr-card{min-height:280px;padding:20px;border:1px solid #E0E7F0;border-radius:16px;background:#F8FAFD;display:grid;place-items:center}
.qr-box{width:220px;height:220px;padding:7px;border-radius:10px;background:#fff;display:grid;place-items:center}
.qr-box img,.qr-box canvas{max-width:100%;height:auto!important}
.qr-placeholder{color:#64748B;text-align:center;font-size:13px;line-height:1.7}
.pay-copy .eyebrow,.eyebrow{display:inline-flex;padding:5px 9px;border-radius:999px;background:#EEF4FF;color:var(--brand);font-size:11px;font-weight:800}
.pay-copy h2{margin:14px 0 8px;font-size:28px;letter-spacing:-.03em}
.pay-copy>p{margin:0;color:#64748B;font-size:13px}
.pay-amount{margin-top:18px;color:var(--brand);font-size:36px;font-weight:900;letter-spacing:-.045em}
.pay-order-meta{display:grid;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid #E5EBF2}
.pay-order-meta>div{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pay-order-meta span{color:#64748B;font-size:12px}.pay-order-meta b{font-size:12px;text-align:right}
.waiting{display:flex;align-items:center;gap:8px;margin-top:18px;color:#475569;font-size:12px;font-weight:700}
.waiting-dot{width:8px;height:8px;border-radius:50%;background:#F59E0B;box-shadow:0 0 0 5px rgba(245,158,11,.12)}
.pay-tools{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.secondary-btn,.primary-wide{min-height:42px;padding:0 15px;border-radius:9px;font-size:13px;font-weight:750}
.secondary-btn{border:1px solid #CFDAE8;background:#fff;color:#475569}.secondary-btn:hover{background:#F7F9FC}
.primary-wide{width:100%;border:1px solid var(--brand);background:var(--brand);color:#fff}.primary-wide:hover{background:var(--brand-700)}
.state-card{min-height:390px;display:grid;place-items:center;text-align:center;max-width:680px;margin:0 auto}
.state-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;font-size:25px;font-weight:900}
.state-icon.ok{background:#ECFDF5;color:#059669}.state-icon.wait{background:#EEF4FF;color:var(--brand)}
.state-card h2{margin:0;font-size:28px}.state-card p{margin:9px 0 0;color:#64748B;font-size:13px;line-height:1.7}
.success-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.success-meta>div{padding:14px;border:1px solid #E2E8F0;border-radius:10px;background:#FAFCFF;text-align:left}
.success-meta span{display:block;color:#64748B;font-size:11px}.success-meta b{display:block;margin-top:5px;font-size:14px;word-break:break-all}
.password-box{width:min(440px,100%);margin:22px auto 0;text-align:left}.password-box .field+.field{margin-top:12px}.password-box .primary-wide{margin-top:14px}

/* Footer */
.checkout-footer{margin-top:auto;background:#fff;border-top:1px solid #E7EDF4}
.footer-row{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#718198;font-size:11px}
.footer-copyright{color:#475569;font-weight:700}.footer-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.footer-links a:hover{color:var(--brand)}

/* Modal */
.modal-backdrop{position:fixed;z-index:100;inset:0;background:rgba(15,23,42,.42);display:flex;align-items:center;justify-content:center;padding:20px}
.modal{width:min(460px,100%);max-height:min(720px,88vh);overflow:auto;border-radius:16px;background:#fff;padding:24px;box-shadow:0 28px 80px rgba(15,23,42,.22)}
.modal h3{margin:0;font-size:21px}.modal>p{margin:8px 0 18px;color:#64748B;font-size:13px;line-height:1.65}
.modal-message{margin-top:10px;color:#047857;font-size:12px}.modal-error{margin-top:10px;color:var(--danger);font-size:12px}
.modal-actions{display:flex;gap:10px;margin-top:18px}.recover-back-btn{min-width:86px}.code-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.recovery-orders{display:grid;gap:10px}.recovery-order{padding:14px;border:1px solid #E2E8F0;border-radius:11px;background:#FAFCFF}.recovery-order-head{display:flex;justify-content:space-between;gap:12px}.recovery-order small{display:block;margin:6px 0 12px;color:#64748B}.recovery-order .primary-wide{margin-top:6px}
.preview-tools{position:fixed;z-index:120;left:12px;bottom:12px;display:flex;gap:6px;padding:6px;border-radius:10px;background:#111827;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.preview-tools button{height:30px;padding:0 10px;border:0;border-radius:7px;background:#334155;color:#fff;font-size:11px}

@media(max-width:920px){
  .checkout-layout{grid-template-columns:1fr}
  .order-summary{border-left:0;border-top:1px solid #E6ECF3}
}
@media(max-width:680px){
  .checkout-container{width:calc(100% - 28px)}
  .checkout-header{position:relative;backdrop-filter:none}
  .header-row{height:62px}
  .brand-logo{width:28px;height:28px}.brand-text{font-size:15px}
  .header-actions{gap:2px}
  .header-actions .header-link{display:inline-flex;height:34px;padding:0 7px;font-size:12px}
  .checkout-page{padding:26px 0 38px}
  .checkout-intro{margin-bottom:18px}
  .checkout-intro h1{font-size:28px}
  .resume-banner{align-items:flex-start;flex-direction:column}.resume-actions{width:100%}.resume-actions>*{flex:1}
  .checkout-layout{border-radius:14px}
  .form-section{padding:22px 20px}
  .section-title-row{margin-bottom:18px}.section-title-row h2{font-size:18px}
  .field-grid{grid-template-columns:1fr;gap:14px}.field.full{grid-column:auto}
  .field input{height:48px}
  .config-item{grid-template-columns:1fr;gap:10px;padding:16px 0}
  .term-options{border-radius:10px}.term-option{height:46px;font-size:13px}
  .term-options,.stepper{width:100%;justify-self:stretch}
  .stepper{height:46px;grid-template-columns:46px 1fr 46px}.stepper button{width:46px;height:46px}
  .order-summary{padding:22px 20px}
  .summary-plan-row{display:block}.summary-total strong{font-size:32px}
  .result-shell{padding:20px}
  .payment-layout{grid-template-columns:1fr;gap:20px;padding:4px 0}.qr-card{min-height:250px;padding:14px}.qr-box{width:210px;height:210px}.pay-copy h2{font-size:24px}
  .payment-view,.success-view,.processing-view{min-height:auto}.state-card{min-height:340px}.success-meta{grid-template-columns:1fr}
  .checkout-footer .footer-row{min-height:0;padding:18px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px}.checkout-footer .footer-copyright,.checkout-footer .footer-links{width:auto;max-width:100%;margin-left:auto;margin-right:auto;text-align:center;justify-content:center}.footer-brandline,.footer-links{justify-content:center;gap:10px}
  .modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:82vh;border-radius:20px 20px 0 0}.modal-actions{flex-direction:column}
  .preview-tools{left:8px;right:8px;overflow:auto;justify-content:center}
}
@media(max-width:390px){
  .checkout-container{width:calc(100% - 20px)}
  .form-section,.order-summary{padding-left:16px;padding-right:16px}
  .footer-brandline{gap:8px}
}


/* v1.35.6 enterprise-name identity check */
.company-name-control{position:relative}
.company-name-control>input{padding-right:42px}
.company-name-indicator{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:none;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:17px;font-weight:800;line-height:1;pointer-events:none}
.company-name-indicator.is-checking,.company-name-indicator.is-available{display:flex}
.company-name-indicator.is-checking{color:#86909c;font-size:15px}
.company-name-indicator.is-available{color:#16a34a;background:#ecfdf3}
.company-name-state{display:none;margin-top:5px;font-size:12px;line-height:1.45;color:#d4380d}
.company-name-state.is-exists{display:block}
.company-name-action{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}.company-name-action:hover{opacity:.8}
.field input.company-name-exists{border-color:#EF4444;box-shadow:0 0 0 3px rgba(239,68,68,.07)}
