.subpage-body { min-height: 100vh; display: flex; flex-direction: column; }
.subpage { width: min(900px, calc(100% - 40px)); margin: 54px auto 90px; flex: 1; }
.back-home { display: inline-block; margin-bottom: 24px; color: #168b99; font-size: 14px; font-weight: 700; }
.page-card { min-height: 430px; padding: clamp(28px, 5vw, 58px); background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 24px 70px rgba(23,52,60,.09); }
.page-card > h1 { margin: 0 0 28px; font-size: clamp(34px, 5vw, 52px); line-height: 1.15; letter-spacing: -.04em; }
.page-copy { color: #53686d; }
.page-copy h2 { margin: 34px 0 8px; color: var(--ink); font-size: 21px; }
.page-copy p { margin: 0 0 18px; }
.page-callout { margin: 28px 0; padding: 22px 26px; border-radius: 14px; background: #fff5d6; color: var(--ink); }
.page-callout ol { margin: 12px 0 0; padding-left: 22px; }
.release-card { display: grid; gap: 20px; }
.release-card > div { display: flex; align-items: baseline; gap: 18px; }
.release-card b { color: var(--ink); font-size: 30px; }
.release-card span, .release-card small { color: #718387; }
.release-card small { overflow-wrap: anywhere; }
.release-card .button { width: fit-content; }
.status-line { display: flex; align-items: center; gap: 12px; margin: 26px 0; padding: 18px 20px; border-radius: 13px; background: #eef5f2; color: var(--ink); }
.status-line i { width: 11px; height: 11px; border-radius: 50%; background: #d24c3f; box-shadow: 0 0 0 5px rgba(210,76,63,.12); }
.status-line.online i { background: #22a565; box-shadow: 0 0 0 5px rgba(34,165,101,.12); }
.web-account { display: flex; align-items: center; gap: 18px; margin: 28px 0; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #f7faf8; color: var(--ink); }
.web-account.loading { min-height: 92px; }
.account-pulse { width: 13px; height: 13px; border-radius: 50%; background: #ffc42e; box-shadow: 0 0 0 0 rgba(255,196,46,.5); animation: account-pulse 1.4s infinite; }
.account-avatar { flex: 0 0 auto; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: #17343c; color: #fff; font-size: 22px; font-weight: 800; }
.account-copy { display: grid; gap: 3px; min-width: 0; }
.account-copy small { color: #168b99; font-weight: 800; }
.account-copy b { font-size: 19px; }
.account-copy span { color: #718387; font-size: 14px; }
.account-links { display: flex; align-items: center; gap: 10px; margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
.account-links .button { white-space: nowrap; }
.text-link { color: #718387; font-size: 14px; font-weight: 700; }
@keyframes account-pulse { 70% { box-shadow: 0 0 0 10px rgba(255,196,46,0); } 100% { box-shadow: 0 0 0 0 rgba(255,196,46,0); } }
@media (max-width: 700px) { .web-account { align-items: flex-start; flex-wrap: wrap; } .account-links { width: 100%; margin-left: 0; justify-content: flex-start; } }
@media (max-width: 600px) { .subpage { margin-top: 28px; } .page-card { border-radius: 16px; } }
.subscription-plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 22px 0 32px; }
.subscription-plans.loading,.subscription-plans.unavailable { display:block;padding:20px;border-radius:14px;background:#f7faf8; }
.plan-card { position:relative;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink); }
.plan-card.recommended { border-color:#ffc42e;box-shadow:0 12px 28px rgba(23,52,60,.09); }
.plan-card em { position:absolute;right:12px;top:12px;padding:3px 8px;border-radius:20px;background:#fff5d6;font-size:12px;font-style:normal;font-weight:800; }
.plan-card h3 { margin:0 0 12px;font-size:18px; }.plan-card p{font-size:13px;min-height:40px}.plan-price{font-size:38px;font-weight:800}.plan-price span{font-size:17px}.plan-card .button{width:100%;text-align:center}
.plan-card .button:disabled{cursor:not-allowed;opacity:.55}
.payment-modal { position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;background:rgba(10,30,35,.45); }
.payment-modal.hidden{display:none}.payment-card{position:relative;width:min(420px,100%);padding:30px;border-radius:20px;background:#fff;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.25)}
.payment-card h2{margin-top:0}.payment-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:28px;cursor:pointer;color:#718387}.payment-qr{display:block;width:220px;height:220px;margin:12px auto;border:1px solid var(--line)}
.payment-amount{font-size:30px;font-weight:800;color:var(--ink)}.payment-status{padding:10px;border-radius:9px;background:#f7faf8}.payment-status.success{background:#e5f5eb;color:#216a46}.payment-status.error{background:#fff0ed;color:#9b3b30}.payment-loading{display:flex;justify-content:center;align-items:center;gap:12px;padding:32px}
@media (max-width:700px){.subscription-plans{grid-template-columns:1fr}.plan-card p{min-height:0}}
.device-authorization{display:grid;gap:14px;margin-top:26px;padding:26px;border:1px solid var(--line);border-radius:17px;background:#f7faf8;color:var(--ink)}
.device-authorization.loading{grid-template-columns:auto 1fr;align-items:center}.device-authorization small{color:#168b99;font-weight:800}.authorization-code{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fff;font:800 25px/1 Consolas,monospace;letter-spacing:.1em;text-align:center}.authorization-account{padding:13px 15px;border-radius:11px;background:#fff5d6}.authorization-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.authorization-actions .button{border:0;cursor:pointer}.authorization-actions .secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.authorization-fine{margin:0!important;color:#718387;font-size:12px}.device-authorization.success{background:#e5f5eb;color:#216a46}.device-authorization.cancelled{background:#f3f6f5}.device-authorization.error{background:#fff0ed;color:#9b3b30}.device-authorization.success span,.device-authorization.cancelled span,.device-authorization.error span{display:block}
@media(max-width:600px){.authorization-actions{grid-template-columns:1fr}}
