:root{font-family:Inter,Arial,sans-serif;color:#202725;background:#f6f8f7;font-synthesis:none;letter-spacing:0;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button,a.button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button,input,a.button{border-radius:6px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #468de5;outline-offset:3px}[hidden]{display:none!important}.header{height:88px;max-width:1120px;width:100%;margin:auto;padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #dce2df}.brand{font-size:26px;font-weight:800;white-space:nowrap}.brand span{font-weight:400}.brand .brand-dot{color:#16806a;font-weight:800}.muted-link,.secondary-link{color:#306494;font-size:14px}.secondary-link{display:inline-block;margin-top:20px;line-height:1.6}main{width:100%;max-width:1120px;padding:48px 36px 64px;margin:0 auto;flex:1}.login-view{max-width:420px;margin:26px auto 40px}.eyebrow{font-size:12px;font-weight:700;color:#567568;margin:0 0 16px;line-height:1.5}h1{font-size:36px;line-height:1.18;margin:0 0 22px;font-weight:650;overflow-wrap:anywhere}h2{font-size:19px;margin:0 0 22px;line-height:1.4}form{margin-top:32px}label{display:block;font-size:14px;font-weight:550;margin:20px 0 9px}input{display:block;width:100%;min-width:0;border:1px solid #bdccc5;padding:14px;background:#fff;height:50px;color:#202725}input:focus{border-color:#16806a}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:1px solid #bdccc5;background:#fff;font-size:14px;font-weight:600;text-align:center;line-height:1.4;max-width:100%;text-decoration:none}.button:hover{text-decoration:none;background:#e7efeb}.primary{background:#13735c;color:#fff;border-color:#13735c}.primary:hover{background:#0d604b}form .primary{width:100%;margin-top:6px}.error{min-height:36px;font-size:14px;color:#ac293c;line-height:1.4;margin:12px 0}.muted{color:#697772;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.account-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.account-heading h1{margin-bottom:10px}.quiet{background:transparent;border-color:#cfd8d3;color:#38544a;flex-shrink:0}.subscription-status{margin-top:24px;padding:24px 0;border-top:1px solid #dce2df;border-bottom:1px solid #dce2df}.subscription-status p{margin:12px 0 0;font-size:15px}.status{font-weight:650;color:#13735c}.status[data-state=expired],.status[data-state=none]{color:#9c344a}.status[data-state=grace]{color:#936c10}.notice{color:#936c10}.subscription-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:72px;padding-top:36px}.subscription-details{min-width:0}.subscription-details label{color:#697772;font-weight:400}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.payment{margin-top:38px;border-top:1px solid #dce2df;padding-top:28px}.payment h2{margin-bottom:18px}.payment .muted{max-width:460px}.qr-section{text-align:center}.qr-section img{display:block;width:256px;height:256px;max-width:100%;object-fit:contain;margin:0 auto;background:white;border:1px solid #dce2df;border-radius:6px}.qr-section h2{text-align:left}.qr-section .secondary-link{margin-top:12px}.qr-section .muted{text-align:left;margin-top:22px}.refresh-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:40px}.loading,.service-error{text-align:center;margin:80px auto;color:#697772}footer{max-width:1120px;width:100%;margin:0 auto;padding:24px 36px;display:flex;gap:16px;justify-content:space-between;border-top:1px solid #dce2df;color:#697772;font-size:13px}@media(max-width:720px){.header{height:76px;padding:0 20px}.brand{font-size:22px}.muted-link{font-size:12px}main{padding:32px 20px 48px}.login-view{margin:16px auto 28px}h1{font-size:30px}.subscription-grid{grid-template-columns:minmax(0,1fr);gap:32px}.qr-section{border-top:1px solid #dce2df;padding-top:28px}.qr-section .muted{max-width:360px;margin:20px auto}.qr-section h2{text-align:center}.account-heading{align-items:flex-start}.account-heading .quiet{padding:9px 12px}.actions>*{flex:1 1 150px}.refresh-row{gap:12px}footer{padding:24px 20px}}@media(prefers-reduced-motion:no-preference){button,a.button{transition:background .15s}} 
