/* InstallerLab account portal */
.account-shell{max-width:1180px;margin:0 auto;padding:42px 20px 72px;color:#e9f3ff}.account-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:22px;align-items:stretch;margin-bottom:24px}.account-card{border:1px solid rgba(96,165,250,.17);border-radius:18px;background:linear-gradient(180deg,rgba(13,34,58,.92),rgba(7,23,41,.94));box-shadow:0 20px 55px rgba(0,0,0,.18);padding:24px}.account-kicker{display:inline-flex;align-items:center;gap:8px;color:#7dd3fc;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.account-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:#38bdf8;box-shadow:0 0 14px rgba(56,189,248,.8)}.account-hero h1{margin:10px 0 12px;font-size:clamp(32px,5vw,54px);line-height:1.02}.account-hero p,.account-muted{color:#9fb4cf;line-height:1.65}.account-policy{display:grid;gap:10px}.account-policy div{display:flex;justify-content:space-between;gap:16px;padding:13px 14px;border-radius:12px;background:rgba(59,130,246,.07);border:1px solid rgba(96,165,250,.11)}.account-policy b{color:#e9f5ff}.account-policy span{color:#8fb0cf;text-align:right}.account-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.account-span-12{grid-column:span 12}.account-span-8{grid-column:span 8}.account-span-7{grid-column:span 7}.account-span-6{grid-column:span 6}.account-span-5{grid-column:span 5}.account-span-4{grid-column:span 4}.account-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.account-head h2,.account-head h3{margin:0}.account-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;border:1px solid rgba(96,165,250,.22);background:rgba(37,99,235,.09);font-size:12px;font-weight:800;color:#cce8ff}.account-badge.free{color:#bae6fd}.account-badge.supporter{color:#fde68a;border-color:rgba(250,204,21,.24);background:rgba(250,204,21,.08)}.account-badge.pro{color:#a7f3d0;border-color:rgba(52,211,153,.24);background:rgba(16,185,129,.08)}.account-status{display:flex;align-items:center;gap:8px;color:#9fb4cf;font-size:13px}.account-status i{width:8px;height:8px;border-radius:50%;background:#64748b}.account-status.ok i{background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.1)}.account-status.warn i{background:#f59e0b}.account-form{display:grid;gap:12px}.account-form label{font-size:12px;font-weight:700;color:#b9cce0}.account-form input{width:100%;box-sizing:border-box;border-radius:11px;border:1px solid rgba(125,171,218,.24);background:#071829;color:#eff8ff;padding:12px 13px;outline:none}.account-form input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.10)}.account-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.account-btn{appearance:none;border:1px solid rgba(96,165,250,.24);border-radius:10px;background:#102c4b;color:#eaf6ff;padding:10px 14px;font-weight:800;cursor:pointer;text-decoration:none}.account-btn:hover{background:#153859}.account-btn.primary{background:#2563eb;border-color:#3b82f6}.account-btn.primary:hover{background:#1d4ed8}.account-btn.danger{background:rgba(190,50,70,.12);border-color:rgba(248,113,113,.28);color:#fecaca}.account-btn:disabled{opacity:.48;cursor:not-allowed}.account-message{min-height:20px;margin-top:8px;font-size:12px;color:#9fb4cf}.account-message.error{color:#fca5a5}.account-message.ok{color:#86efac}.account-user{display:flex;gap:14px;align-items:center}.account-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#2563eb,#0ea5e9);font-weight:900;font-size:20px;color:white}.account-user strong{display:block}.account-user small{display:block;color:#8fa9c2;margin-top:3px}.account-meter{margin-top:16px}.account-meter-line{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#a8bfd4;margin-bottom:7px}.account-meter-track{height:8px;border-radius:999px;background:#071829;overflow:hidden;border:1px solid rgba(96,165,250,.11)}.account-meter-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#2563eb,#38bdf8);border-radius:inherit}.account-apps{display:grid;gap:10px}.account-app{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-radius:12px;background:#081b30;border:1px solid rgba(96,165,250,.11)}.account-app h4{margin:0 0 4px}.account-app code{font-size:11px;color:#8fe7ff;word-break:break-all}.account-app small{display:block;color:#7995b1;margin-top:4px}.account-empty{padding:25px 18px;border:1px dashed rgba(96,165,250,.17);border-radius:12px;text-align:center;color:#829db8}.account-drive{display:grid;gap:12px}.account-drive-box{padding:16px;border-radius:13px;background:#081b30;border:1px solid rgba(96,165,250,.12)}.account-drive-box strong{display:block;margin-bottom:5px}.account-note{padding:13px 15px;border-left:3px solid #38bdf8;border-radius:0 11px 11px 0;background:rgba(14,165,233,.07);color:#a9c1d8;font-size:13px;line-height:1.55}.account-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.account-tier{padding:16px;border-radius:13px;background:#081b30;border:1px solid rgba(96,165,250,.11)}.account-tier h4{margin:0 0 7px}.account-tier strong{font-size:24px}.account-tier p{font-size:12px;color:#8ea8c1;line-height:1.5}.account-hidden{display:none!important}

/* Account boot state: never expose the generic site page while auth/session data resolves. */
body[data-page="account"] #app>.page-hero,body[data-page="account"] #app>.content{display:none!important}body[data-page="account"] #app{min-height:520px}body[data-page="account"] #app:not(:has(>.account-shell)){max-width:1180px;margin:0 auto;padding:42px 20px 72px}body[data-page="account"] #app:not(:has(>.account-shell))::before{content:"";display:block;width:100%;height:286px;border:1px solid rgba(96,165,250,.15);border-radius:18px;background:linear-gradient(105deg,rgba(10,28,48,.96) 18%,rgba(20,54,84,.96) 32%,rgba(10,28,48,.96) 46%) 0 0/240% 100%;box-shadow:0 20px 55px rgba(0,0,0,.16);animation:accountBootShimmer 1.25s ease-in-out infinite}body[data-page="account"] #app:not(:has(>.account-shell))::after{content:"";display:block;width:68%;max-width:680px;height:16px;margin:22px 0 0 2px;border-radius:999px;background:linear-gradient(90deg,rgba(56,189,248,.15),rgba(96,165,250,.05));box-shadow:0 28px 0 rgba(96,165,250,.06),0 56px 0 rgba(96,165,250,.04)}@keyframes accountBootShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){body[data-page="account"] #app:not(:has(>.account-shell))::before{animation:none}}

@media(max-width:900px){.account-hero{grid-template-columns:1fr}.account-span-8,.account-span-7,.account-span-6,.account-span-5,.account-span-4{grid-column:span 12}.account-tiers{grid-template-columns:1fr}}@media(max-width:600px){.account-shell{padding:26px 14px 56px}.account-card{padding:18px}.account-row{grid-template-columns:1fr}.account-head{flex-direction:column}.account-app{grid-template-columns:1fr}.account-policy div{flex-direction:column}.account-policy span{text-align:left}body[data-page="account"] #app:not(:has(>.account-shell)){padding:26px 14px 56px}body[data-page="account"] #app:not(:has(>.account-shell))::before{height:230px;border-radius:15px}body[data-page="account"] #app:not(:has(>.account-shell))::after{width:88%}}
