.pricing{padding-top:64px;padding-bottom:64px}.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.plan-card{padding:26px;background:white;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column}.plan-card h3{font-size:2.6rem;margin:10px 0}.plan-card h3 span{font-size:1.5rem}.plan-card p{margin:8px 0;color:var(--muted)}.plan-card .eyebrow{font-size:.75rem;color:var(--ink)}.plan-detail{font-size:.9rem}.plan-card .button{margin-top:22px}.checkout,.payment{padding-top:52px;padding-bottom:70px;min-height:75vh}.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:30px}.checkout h1,.payment h1{font-size:2.7rem}.order-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.order-summary h2{font-size:1.5rem}#checkout-price{font-size:2rem;font-weight:700}.consent{display:flex;gap:12px;align-items:flex-start;font-weight:400}.consent input{width:20px;height:20px;flex:none;margin-top:3px}.acquiring-placeholder{min-height:180px;border:1px dashed #95acbc;border-radius:12px;padding:30px;margin:30px 0;color:var(--muted);max-width:640px}.payment .actions{margin-bottom:18px}.checkout .form-card{width:100%}#payment-success .button{display:block;text-align:center}#payment-success{max-width:520px}#subscription-plan,#subscription-devices{overflow-wrap:anywhere}@media(max-width:900px){.plan-grid{grid-template-columns:repeat(2,1fr)}.checkout-grid{gap:28px}}@media(max-width:600px){.plan-grid{grid-template-columns:1fr}.pricing{padding-top:40px;padding-bottom:40px}.checkout-grid{grid-template-columns:1fr}.checkout h1,.payment h1{font-size:2.1rem}.checkout,.payment{padding-top:30px}.plan-card{padding:24px}}

.subscription-state{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink)}.subscription-state::before{content:"";width:11px;height:11px;flex:0 0 11px;border-radius:50%;background:#b83232}.subscription-state.active::before{background:#258746}.subscription-state.ending::before{background:#e0aa17}.subscription-state.inactive::before{background:#c43b3b}

.subscription-qr{margin:24px 0}.subscription-qr canvas{display:block;width:min(100%,320px);height:auto;border:1px solid var(--line);border-radius:8px;background:#fff;image-rendering:pixelated}.subscription-qr figcaption{max-width:420px;margin-top:12px}

.plan-durations{list-style:none;padding:12px 0;margin:6px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.85rem}.plan-durations li{display:grid;grid-template-columns:1fr auto;gap:3px 8px;margin:10px 0}.plan-durations small{grid-column:1/-1;color:var(--muted)}.plan-card .button{margin-top:auto}#checkout-durations{border:1px solid var(--line);border-radius:12px;margin:0 0 24px;padding:16px}#checkout-durations legend{font-weight:700;padding:0 6px}#checkout-duration-options label{display:flex;align-items:center;gap:10px;margin:10px 0;font-weight:400;cursor:pointer}#checkout-duration-options input{width:18px;height:18px;flex:none;margin:0;accent-color:#168bc5}
.key-login{border-top:1px solid var(--line);margin-top:26px;padding-top:18px}.key-login textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:12px;font:inherit;resize:vertical;overflow-wrap:anywhere}.key-login button{margin-top:12px}.email-binding{max-width:600px;margin:24px 0}.email-binding p{color:var(--muted)}
#happ .form-card{min-width:0}#happ label{display:block;margin-top:24px}#happ-cipher{display:block;width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.9rem;line-height:1.5;resize:vertical;overflow-wrap:anywhere}#happ-copy{display:block;width:100%;box-sizing:border-box;margin-top:12px}#happ-copy[hidden]{display:none}
.checkout-promo{border:1px solid var(--line);border-radius:12px;margin:0 0 24px;padding:18px}.checkout-promo h3{font-size:1.2rem}.checkout-promo button{margin-top:12px}.checkout-promo select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:white;font:inherit}.checkout-promo input:not([type=checkbox]){text-transform:uppercase}
