/* Customer portal */
:root{color-scheme:dark;--ink:#eff5ff;--soft:#b4c4db;--cyan:#90e5ff;--edge:rgba(154,193,234,.2);font-family:"Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
.billing-panel{margin:1rem 0;padding:1rem;border:1px solid #37647b;border-radius:12px;background:linear-gradient(120deg,#102735,#151c34)}
.billing-panel>strong{font-size:1.35rem;color:#ecf7ff}
.billing-panel .buttons,.billing details .buttons{display:flex;flex-wrap:wrap;gap:.5rem}
#billing-feedback:empty,#notice:empty{display:none}
body{margin:0;min-height:100vh;color:var(--ink);font-size:16px;line-height:1.55;background:radial-gradient(ellipse at 88% 28%,#151934 0,transparent 49%),radial-gradient(ellipse at 4% 50%,#0b2032 0,transparent 43%),#070d19}
a{color:var(--cyan);text-underline-offset:.22em}
:focus-visible{outline:2px solid #a4e9ff;outline-offset:4px}
button,select{font:inherit}button,summary{cursor:pointer}
.wrap{width:min(1096px,calc(100% - 64px));margin-inline:auto}
.mast{border-bottom:1px solid var(--edge);background:#08111deb}
.mast-inner,.brand,.site-link,.card-top,.buttons,.btn,.identity,.identity-person,footer,footer a,.entry-foot,.scene-caption{display:flex;align-items:center}
.mast-inner{justify-content:space-between;min-height:68px;gap:16px}
.brand{text-decoration:none;color:var(--ink);letter-spacing:.2em;font-size:18px;font-weight:650;gap:.23em}
.brand img{margin-right:.38em;object-fit:contain}.brand b{color:#82dcff;font-size:.74em;letter-spacing:.08em}
.site-link,footer a{gap:9px;text-decoration:none;font-size:14px;font-weight:600}
.icon{height:19px;width:19px;display:block;flex:none}
.site-link .icon,footer .icon{width:16px}
.skip{position:absolute;left:12px;top:8px;z-index:4;background:#152840;padding:8px;transform:translateY(-180%)}.skip:focus{transform:none}
.hero{position:relative;isolation:isolate;overflow:hidden;margin:30px 0 18px;min-height:210px;border-radius:22px;border:1px solid #304961;display:flex;align-items:center;background:#0b192d url('/assets/scenes/orbit.webp') 62% 52%/cover no-repeat;box-shadow:0 16px 45px #0003}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b1528 3%,#0a1627ed 33%,#0b1a2a58 68%,#0910232e),linear-gradient(0deg,#080e1b85,transparent 52%)}
.hero-copy{padding:28px 38px;max-width:570px}
.eyebrow,.scene-caption{margin:0;color:var(--accent,var(--cyan));font-size:10.5px;line-height:1.4;letter-spacing:.17em;font-weight:700;text-transform:uppercase}
.hero-copy .eyebrow{display:flex;align-items:center;gap:9px}.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px #4dd5ff}
h1,h2,p{margin:0}
h1{font-size:clamp(42px,5vw,62px);line-height:1.04;letter-spacing:-.052em;margin:10px 0}
.hero-copy>p:last-child{font-size:16px;color:#d2dfed}
.scene-caption{position:absolute;right:25px;bottom:16px;gap:9px;color:#d2edff;font-size:9px;text-shadow:0 1px 4px #000}.scene-caption span{height:1px;width:24px;background:currentColor}
#message:not(:empty),#notice:not(:empty){border-left:2px solid #93ddf7;padding:8px 14px;background:#0e2232;margin:12px 0;color:#d8effc}
.identity{justify-content:space-between;gap:16px;min-height:62px;padding:8px 6px;margin-bottom:12px}
.identity-person{gap:12px;min-width:0}.identity-person>div{min-width:0}.identity strong{display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere}.identity .eyebrow{color:#9cacc5;font-size:9px}
.quiet{border:1px solid var(--edge);background:#0d1727;color:var(--soft);padding:8px 15px;border-radius:9px;white-space:nowrap}
.dashboard{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:16px}
.card{position:relative;min-width:0;border:1px solid var(--edge);border-radius:18px;padding:26px 28px;background:radial-gradient(ellipse at 100% 0%,var(--tint,#18395666),transparent 64%),linear-gradient(128deg,#101e31,#0b1424);box-shadow:inset 0 1px 0 #ffffff07,0 10px 30px #0002}
.card-top{gap:12px;margin-bottom:20px}
.badge{display:inline-grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--accent,var(--cyan)) 35%,transparent);border-radius:12px;color:var(--accent,var(--cyan));background:linear-gradient(140deg,var(--tint,#134364),#10192b);box-shadow:inset 0 1px 0 #ffffff0f}
.badge .icon{width:22px;height:22px}.badge.small{width:36px;height:36px;border-radius:50%}.small .icon{width:17px;height:17px}
.card h2{font-size:clamp(22px,2.4vw,30px);line-height:1.17;letter-spacing:-.036em}
.card h2+p{margin-top:8px}.card p:not(.eyebrow){color:var(--soft)}
.billing{--accent:#c0b3ff;--tint:#44396977}.downloads{--tint:#1f4a6377}
.buttons,.auth-actions{gap:10px;flex-wrap:wrap;margin:20px 0}
.btn{display:inline-flex;justify-content:center;gap:8px;padding:11px 14px;border:1px solid #6383a262;border-radius:10px;background:#16273a;color:#e6f6ff;font-size:14px;font-weight:650;line-height:1.4;text-decoration:none;text-align:center}
.btn.primary{border-color:#92dcff;background:linear-gradient(110deg,#b7f3fb,#99d9fa 53%,#b8c7fb);color:#10283d;box-shadow:0 3px 18px #2da4cd22}
.btn:hover,.quiet:hover{filter:brightness(1.12);border-color:#88c6e4}.btn:disabled{cursor:wait;opacity:.7}
details{border-top:1px solid var(--edge);margin:18px 0 0;padding-top:12px;font-size:14px}
summary{font-weight:600;color:#cbdef0;padding-block:4px}summary::marker{color:var(--accent,var(--cyan))}
details p,details ul{margin-top:10px}ul{list-style:none;margin:0;padding:0}li{color:var(--soft);overflow-wrap:anywhere}
#manage{margin-top:15px}#notice:empty,#message:empty{display:none}
.activation{--accent:#8fe4df;--tint:#13474a55;grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:16px 32px}.activation .card-top{margin:0}.activation h2{font-size:22px;margin-top:2px}#devices{display:flex;gap:8px;flex-wrap:wrap;max-width:100%}#devices li{padding:6px 11px;background:#0a1825;border:1px solid #7297af37;border-radius:8px;font-size:14px}
#selection{display:block;margin-bottom:14px}select{max-width:100%;padding:8px;background:#101c2e;color:var(--ink);border:1px solid var(--edge);border-radius:8px}
.entry{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px 48px;padding:30px 36px}
.entry-copy>.badge{float:left;margin:0 12px 12px 0}.entry-copy h2{margin-top:2px}.entry-copy>p:last-child{clear:both;padding-top:3px}.entry-access{align-self:center}.auth-actions{display:flex;margin:0 0 12px}.auth-actions .btn{min-width:110px}.hint,.entry-foot{font-size:13px}.entry-foot{grid-column:1/-1;flex-wrap:wrap;gap:8px 18px;border-top:1px solid var(--edge);padding-top:16px;color:var(--soft)}
footer{justify-content:space-between;flex-wrap:wrap;gap:12px;margin:25px 0 90px;padding:17px 2px;border-top:1px solid var(--edge);font-size:13px;color:#98aec4}
footer b{color:#5d7790;margin:0 6px}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.hero{margin-top:18px;min-height:178px}.hero-copy{padding:25px;max-width:430px}.dashboard,.entry{grid-template-columns:1fr}.card{padding:22px}.entry{gap:16px}.activation{align-items:flex-start}.hero::before{background:linear-gradient(90deg,#091423f5,#0a192ccb 45%,#0c182b55)}.card-top{margin-bottom:14px}}
@media(max-width:480px){.wrap{width:calc(100% - 24px)}.mast-inner{min-height:56px}.brand{font-size:16px}.brand img{width:31px;height:31px}.site-link{font-size:12px}.hero{border-radius:16px;min-height:178px}.hero-copy{padding:22px 18px 30px}.hero-copy>p:last-child{font-size:14px;max-width:240px}.scene-caption{right:14px;bottom:12px}.card{padding:19px 17px}.identity{gap:8px;padding-inline:2px}.identity-person{gap:8px}.identity strong{font-size:13px}.quiet{font-size:13px;padding:7px 10px}.buttons{align-items:stretch;flex-direction:column}.btn{min-height:44px}.activation{display:grid}.entry-foot{align-items:flex-start;flex-direction:column}footer{padding-right:65px}}
@media(prefers-reduced-motion:no-preference){.btn,.quiet{transition:filter .18s,border-color .18s}.btn:active{transform:translateY(1px)}}


.downloads::before,.billing::before{content:'';position:absolute;top:-1px;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,var(--accent,var(--cyan)),transparent);opacity:.42;pointer-events:none}
