/* Checkout: the same quiet, light surfaces as the public landing. */
.checkout-page{background:var(--ice,#f3fafc);color:var(--ink,#15282e);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.55}
.checkout-page *, .checkout-page *::before, .checkout-page *::after{animation:none!important;transition:none!important}
.checkout-header{width:calc(100% - 64px);max-width:1080px;height:96px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.checkout-header .co-logo{display:inline-flex;min-height:44px;margin:0;padding:4px 0;flex-shrink:0}
.checkout-header .co-logo img{display:block;width:124px;height:auto;max-width:100%;object-fit:contain}
.checkout-back{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 18px;border:1px solid var(--line,#dce8ec);border-radius:999px;color:var(--muted,#526c75);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.checkout-back:hover{background:#e8f4f8;color:var(--ink,#15282e);border-color:#abcbd5}
.checkout-wrap{min-height:calc(100dvh - 96px);padding:29px 24px 64px;overflow:visible;position:relative;display:flex;flex-direction:column;align-items:center}
.steps-bar{width:100%;max-width:408px;display:flex;justify-content:center;align-items:center;margin:0 0 29px;gap:0}
.step-wrap{gap:8px;min-width:48px;flex-shrink:0}
.step-dot{width:32px;height:32px;border:1px solid var(--line,#dce8ec);background:var(--paper,#fcfefe);color:var(--muted,#526c75);font-size:12px;font-weight:600;box-shadow:none}
.step-dot.active{background:var(--action,#59c9e9);border-color:var(--action,#59c9e9);color:var(--ink,#15282e);box-shadow:none}
.step-dot.done{background:#deeff2;border-color:#c7e1e7;color:#286174}
.step-lbl{font-size:11px;line-height:1.35;font-weight:500;color:var(--muted,#526c75)}
.step-line{flex:1;min-width:16px;max-width:64px;height:1px;margin:-23px 8px 0;background:var(--line,#dce8ec)}
.step-line.done{background:#9ccbd6}
.co-card{width:100%;max-width:560px;min-width:0;padding:34px 32px 28px;border:1px solid var(--line,#dce8ec);border-radius:20px;background:var(--paper,#fcfefe);box-shadow:0 8px 32px rgba(33,73,87,.025);backdrop-filter:none}
.co-title{margin:0 0 9px;font-family:inherit;font-size:30px;line-height:1.2;letter-spacing:-1.05px;font-weight:600;color:var(--ink,#15282e);text-wrap:balance}
.co-sub{margin:0 0 27px;color:var(--muted,#526c75);font-size:14px;line-height:1.65}
.plan-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:26px}
.plan-tab{display:flex;min-width:0;flex-direction:column;align-items:flex-start;text-align:left;gap:0;border:1px solid var(--line,#dce8ec);border-radius:16px;padding:19px 12px 16px;background:var(--paper,#fcfefe);font-family:inherit;color:var(--ink,#15282e);box-shadow:none;overflow:visible}
.plan-tab:hover{border-color:#99c6d3;background:#f5fafb}
.plan-tab.active{border-color:#67c3dc;background:#e4f5fa;box-shadow:inset 0 0 0 1px #67c3dc}
.plan-tab.active::before{display:none}
.plan-tab-period{font-size:11px;font-weight:600;text-transform:none;letter-spacing:0;line-height:1.4;color:var(--muted,#526c75);margin:0 0 15px;white-space:nowrap}
.plan-tab-price{font-size:27px;line-height:1.15;letter-spacing:-1.1px;font-weight:600;color:var(--ink,#15282e);white-space:nowrap}
.plan-tab-save{min-height:0;margin:8px 0 0;font-size:11px;font-weight:400;color:var(--muted,#526c75);line-height:1.4}
.btn-sbp,.btn-login,.btn-tg,.btn-ghost,.open-pay-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:49px;padding:13px 20px;gap:8px;border:1px solid transparent;border-radius:999px;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:0;line-height:1.4;text-decoration:none;text-align:center;box-shadow:none;transform:none;cursor:pointer}
.btn-sbp,.btn-login{background:var(--action,#59c9e9);border-color:var(--action,#59c9e9);color:var(--ink,#15282e);margin-bottom:10px}
.btn-sbp:hover,.btn-login:hover{background:var(--action-hover,#7ed9f0);border-color:var(--action-hover,#7ed9f0);color:var(--ink,#15282e);box-shadow:none;transform:none}
.btn-tg,.btn-ghost,.open-pay-link{background:transparent;border-color:var(--line,#dce8ec);color:var(--muted,#526c75);margin-bottom:0}
.btn-tg:hover,.btn-ghost:hover,.open-pay-link:hover{background:#edf7fa;border-color:#aacbd5;color:var(--ink,#15282e);box-shadow:none;transform:none}
.btn-back{min-height:40px;margin:15px 0 0;padding:8px 18px;border-color:transparent;font-size:13px;font-weight:500}
.btn-back:hover{background:transparent;border-color:transparent;color:#087290}
.btn-sbp:disabled,.btn-login:disabled{opacity:.65;cursor:wait}
.auth-tabs{padding:4px;gap:4px;border-radius:999px;background:#edf4f6;margin-bottom:23px}
.auth-tab{min-height:40px;padding:9px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted,#526c75);font-family:inherit;font-size:13px;font-weight:600;line-height:1.4}
.auth-tab.active{background:var(--paper,#fcfefe);border-color:var(--line,#dce8ec);color:var(--ink,#15282e);box-shadow:0 1px 3px rgba(25,57,66,.025)}
.field{display:flex;flex-direction:column;align-items:stretch}
.field label{display:block;margin:0 0 7px;color:var(--ink,#15282e);font-size:13px;font-weight:500;line-height:1.4}
.field input{display:block;width:100%;min-width:0;min-height:48px;padding:12px 14px;margin:0 0 18px;border:1px solid #d1e2e8;border-radius:12px;background:var(--paper,#fcfefe);color:var(--ink,#15282e);font-family:inherit;font-size:16px;line-height:1.4;box-shadow:none}
.field input::placeholder{color:#6b838b;opacity:1}
.field input:focus{border-color:#087290;outline:3px solid rgba(8,114,144,.18);outline-offset:1px}
.checkout-page a:focus-visible,.checkout-page button:focus-visible{outline:3px solid #087290;outline-offset:4px}
.err{margin:0 0 14px;padding:11px 13px;background:#fff2ef;border:1px solid #eed3cd;border-radius:10px;font-size:13px;line-height:1.5;color:#a83c35;overflow-wrap:anywhere}
.divider{gap:14px;margin:17px 0}
.divider::before,.divider::after{background:var(--line,#dce8ec)}
.divider span{font-size:12px;color:var(--muted,#526c75)}
.selected-plan{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 20px;margin:0 0 26px;background:#edf7fa;border:1px solid #d6eaf0;border-radius:16px}
.sp-left{min-width:0}
.sp-left .sp-name{font-size:16px;line-height:1.4;font-weight:600;color:var(--ink,#15282e)}
.sp-left .sp-meta{margin-top:5px;font-size:12px;line-height:1.5;color:var(--muted,#526c75)}
.sp-price{font-size:34px;font-weight:600;letter-spacing:-1.4px;line-height:1.1;white-space:nowrap;flex-shrink:0;background:none;color:var(--ink,#15282e);-webkit-text-fill-color:var(--ink,#15282e);background-clip:initial;-webkit-background-clip:initial}
.terms{margin:15px 5px 0;font-size:12px;line-height:1.65;color:var(--muted,#526c75);text-align:center;text-wrap:balance}
.terms a{color:#087290;text-decoration:underline;text-underline-offset:3px}
#step3-waiting,#step4{text-align:center}
.waiting-label{margin:0 0 13px;color:#286174;font-size:12px;font-weight:600;letter-spacing:.2px}
#step3-waiting .co-sub,#step4>.co-sub{max-width:360px;margin-left:auto;margin-right:auto}
.open-pay-link{margin-bottom:19px;color:var(--ink,#15282e);background:var(--action,#59c9e9);border-color:var(--action,#59c9e9)}
.open-pay-link:hover{background:var(--action-hover,#7ed9f0);border-color:var(--action-hover,#7ed9f0)}
.waiting-timer{margin:0;color:var(--muted,#526c75);font-size:12px;font-variant-numeric:tabular-nums}
.device-add-card{padding:19px;margin:0 0 18px;background:#f4f9fb;border:1px solid var(--line,#dce8ec);border-radius:16px}
.device-add-title{margin:0 0 7px;color:var(--ink,#15282e);font-size:14px;font-weight:600;line-height:1.4}
.device-add-sub{margin:0 0 19px;color:var(--muted,#526c75);font-size:13px;line-height:1.6}
.device-counter{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 14px}
.counter-btn{width:44px;height:44px;border:1px solid #c8dfe6;border-radius:999px;background:var(--paper,#fcfefe);color:var(--ink,#15282e);font-size:21px;line-height:1;font-weight:500}
.counter-btn:hover{background:#e4f3f8;border-color:#9bc5d0}
.counter-val{min-width:50px;font-size:25px;line-height:1.2;font-weight:500;font-variant-numeric:tabular-nums}
.device-add-summary{margin:0 0 15px;font-size:12px;line-height:1.5;color:var(--muted,#526c75);text-align:center}
.post-devices{margin:26px 0 0;text-align:left}
.post-devices .btn-ghost{min-height:44px;background:var(--paper,#fcfefe);font-size:13px}
.toast-wrap{left:auto;right:24px;bottom:24px;max-width:calc(100% - 48px)}
.toast{max-width:360px;border:1px solid var(--line,#dce8ec);border-radius:14px;background:var(--paper,#fcfefe);color:var(--ink,#15282e);padding:13px 17px;box-shadow:0 6px 24px rgba(21,40,46,.08);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.toast.success{background:#edf9f4;color:#21684d;border-color:#c8e5d7}
.toast.error{background:#fff4f1;color:#a83c35;border-color:#eed3cd}
@media(max-width:600px){
  .checkout-header{width:calc(100% - 40px);height:80px;gap:16px}
  .checkout-header .co-logo img{width:108px;height:auto}
  .checkout-back{min-height:40px;padding:8px 14px;font-size:12px}
  .checkout-wrap{min-height:calc(100dvh - 80px);padding:20px 16px 40px}
  .steps-bar{max-width:340px;margin-bottom:24px}
  .co-card{padding:27px 23px 23px}
  .co-title{font-size:27px;letter-spacing:-.85px}
  .co-sub{font-size:13px;margin-bottom:24px}
}
@media(max-width:520px){
  .plan-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px}
  .plan-tab{padding:17px 17px 15px}
  .plan-tab-period{font-size:12px;margin-bottom:12px}
  .plan-tab-price{font-size:30px;letter-spacing:-1.1px}
  .plan-tab-save{font-size:11px;margin-top:7px}
}
@media(max-width:370px){
  .checkout-header{width:calc(100% - 32px)}
  .checkout-header .co-logo img{width:100px}
  .checkout-wrap{padding:16px 12px 32px}
  .steps-bar{padding-inline:3px;max-width:292px}
  .step-wrap{min-width:43px}
  .step-dot{width:29px;height:29px;font-size:11px}
  .step-line{margin-inline:5px;min-width:10px}
  .step-lbl{font-size:10px}
  .co-card{padding:25px 18px 20px}
  .co-title{font-size:25px}
  .co-sub{font-size:12px}
  .plan-tab{padding:16px 14px 14px}
  .plan-tab-price{font-size:28px}
  .btn-sbp,.btn-login,.btn-tg,.btn-ghost,.open-pay-link{padding-inline:14px;font-size:13px}
  .auth-tab{padding-inline:8px;font-size:12px}
  .selected-plan{padding:18px 15px;gap:12px}
  .sp-left .sp-name{font-size:14px}
  .sp-left .sp-meta{font-size:11px;max-width:138px}
  .sp-price{font-size:29px}
  .device-add-card{padding:16px}
  .toast-wrap{right:16px;bottom:16px;max-width:calc(100% - 32px)}
}
