.account-page [hidden]{display:none!important}

/* Account-only visual system; editor/workbench styles are unaffected. */
.account-page{--account-bg:#08121c;--account-card:#101e2c;--account-input:#0b1722;--account-line:#2b3c4c;--account-text:#f3f6fa;--account-muted:#a3b3c3;--account-accent:#ffb366;color:var(--account-text);background:radial-gradient(ellipse at 50% 0,#183146 0,transparent 65%),var(--account-bg);font-size:16px;line-height:1.6;min-height:100svh;-webkit-font-smoothing:antialiased}
.account-page a{text-underline-offset:4px}
.account-header{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:auto;padding:24px 32px;gap:20px}
.account-brand{display:flex;align-items:center;gap:12px;color:var(--account-text);text-decoration:none}
.account-brand strong{display:block;font-size:18px;font-weight:700}
.account-brand small{display:block;font-size:12px;color:var(--account-muted);letter-spacing:.12em}
.account-monogram{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--account-accent);color:#172330;font-size:17px;font-weight:800;letter-spacing:-.04em;flex-shrink:0}
.account-back{padding:10px 14px;border:1px solid var(--account-line);border-radius:10px;color:var(--account-muted);font-size:14px;text-decoration:none;transition:color .18s,border-color .18s}
.account-back:hover{color:var(--account-text);border-color:#758696}
.account-main{width:100%;max-width:552px;margin:0 auto;padding:32px 24px 48px}
.account-card{padding:36px;background:var(--account-card);border:1px solid var(--account-line);border-radius:24px;box-shadow:0 24px 80px #00000030}
.account-card .eyebrow{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.15em;color:var(--account-accent)}
.account-card h1{margin:0 0 10px;font-size:30px;font-weight:700;line-height:1.3;letter-spacing:-.02em}
.account-intro{margin:0;color:var(--account-muted);font-size:14px;line-height:1.7}
.account-tabs{display:flex;gap:4px;margin:26px 0 24px;padding:5px;border:1px solid #263747;background:var(--account-input);border-radius:13px}
.account-tabs button{flex:1;min-width:0;min-height:42px;padding:9px 5px;border:0;border-radius:9px;background:transparent;color:var(--account-muted);font-size:14px;cursor:pointer;transition:background .18s,color .18s}
.account-tabs button[aria-pressed=true]{color:var(--account-text);background:#26394a;box-shadow:0 2px 5px #00000024;font-weight:600}
.account-tabs button:hover:not([aria-pressed=true]){color:var(--account-text);background:#172735}
.account-page form{display:flex;flex-direction:column;gap:18px;margin:0}
.account-card label,.account-card #codeRow>label{display:block;margin:0;font-size:14px;font-weight:500;color:#dbe4ed}
.account-card input:not([type=checkbox]){display:block;width:100%;min-width:0;min-height:52px;margin:8px 0 0;padding:13px 15px;border:1px solid var(--account-line);border-radius:11px;background:var(--account-input);color:var(--account-text);font-size:16px;line-height:1.4;outline:none;box-shadow:none;transition:border-color .18s,box-shadow .18s}
.account-card input::placeholder{color:#8093a6;opacity:1}
.account-card input:not([type=checkbox]):focus{border-color:var(--account-accent);box-shadow:0 0 0 3px #ffb36614}
.account-card input:-webkit-autofill{-webkit-text-fill-color:var(--account-text);box-shadow:0 0 0 1000px var(--account-input) inset;caret-color:var(--account-text)}
.phone-input{display:flex;align-items:center;gap:0;margin-top:8px;border:1px solid var(--account-line);border-radius:11px;background:var(--account-input);transition:border-color .18s,box-shadow .18s}
.phone-input:focus-within{border-color:var(--account-accent);box-shadow:0 0 0 3px #ffb36614}
.phone-input span{padding:0 14px;color:var(--account-muted);font-size:15px;border-right:1px solid var(--account-line)}
.account-card .phone-input input{border:0;margin:0;background:none;box-shadow:none;padding-left:13px}
.account-card .phone-input input:focus{box-shadow:none}
.code-input{display:flex;align-items:stretch;gap:10px;margin:8px 0 0}
.account-card .code-input input{margin:0;flex:1;letter-spacing:.12em}
.account-card .code-input input::placeholder{letter-spacing:normal}
.account-card .code-input button{flex-shrink:0;margin:0;padding:10px 14px;border:1px solid #596272;border-radius:11px;background:transparent;color:var(--account-accent);font-size:14px;font-weight:600}
.account-card small{display:block;margin-top:7px;color:var(--account-muted);font-size:13px;line-height:1.6}
.account-card .account-check{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.7;color:var(--account-muted);cursor:pointer}
.account-check input{appearance:auto;width:17px;height:17px;min-height:17px;margin:4px 0 0;flex-shrink:0;accent-color:var(--account-accent);cursor:pointer}
.account-card a{color:var(--account-accent)}
.account-card #passwordHint{margin-top:-10px;font-size:13px}
.account-card .primary-button{width:100%;min-height:52px;margin:4px 0 0;border:1px solid transparent;border-radius:11px;padding:13px 20px;background:var(--account-accent);color:#13202d;font-size:16px;line-height:1.5;font-weight:700;cursor:pointer;box-shadow:0 4px 15px #ffb36612;transition:background .18s,transform .18s}
.account-card .primary-button:hover:enabled{background:#ffc487;transform:translateY(-1px)}
.account-card .primary-button:active:enabled{transform:translateY(0)}
.account-card button:disabled{opacity:1;cursor:not-allowed}
.account-card .primary-button:disabled{color:#a7b5c2;background:#2d3e4d;border-color:#3c4e5e;box-shadow:none}
.account-card .code-input button:disabled{color:#91a0af;border-color:var(--account-line)}
.account-links{display:flex;justify-content:center;margin-top:-8px}
.account-card .text-button{min-height:40px;padding:8px 4px;border:0;background:none;font-size:14px;color:var(--account-accent);cursor:pointer}
.service-notice{margin:22px 0 0;padding:12px 14px;border:1px solid #69513a;border-radius:11px;background:#30291f;color:#edc797;font-size:13px;line-height:1.65}
.account-message{margin:18px 0 0;padding:12px 14px;border-radius:11px;border:1px solid #2c6354;background:#163a32;font-size:14px;line-height:1.7;color:#b2ecd2;overflow-wrap:anywhere}
.account-message:empty{display:none}
.account-message.error{color:#ffc2c8;background:#39242d;border-color:#77505a}
.account-footer{max-width:440px;margin:22px auto 0;color:#91a5b8;font-size:13px;line-height:1.7;text-align:center}
.account-identity{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0 14px;justify-content:flex-start}
.account-identity strong{font-size:24px;font-variant-numeric:tabular-nums}
.account-identity .status-pill{padding:3px 10px;border-radius:8px;background:#233a3b;color:#acdccb;font-size:13px}
.account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}
.account-actions .ghost-button{min-height:48px;padding:12px;border:1px solid var(--account-line);border-radius:11px;color:var(--account-text);background:var(--account-input);font-size:14px;cursor:pointer}
.account-actions #logout{grid-column:1 / -1;background:transparent;color:var(--account-muted)}
.account-sessions{margin:18px 0}
.session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--account-line);font-size:14px;overflow-wrap:anywhere}
.account-card details{margin:20px 0 0;padding:15px;border:1px solid var(--account-line);border-radius:12px}
.account-card summary{color:var(--account-muted);font-size:14px;cursor:pointer}
.account-card details p,.account-card details a{font-size:14px}
.account-card #deleteForm{margin-top:20px}
.account-card .danger-button{min-height:48px;border:1px solid #885661;border-radius:11px;color:#ffc2c8;background:#39242d;font-size:14px;cursor:pointer}
.account-page :focus-visible{outline:2px solid var(--account-accent);outline-offset:4px}
@media(max-width:480px){.account-header{padding:18px 18px 8px;gap:12px}.account-brand{gap:9px}.account-brand strong{font-size:16px}.account-monogram{width:36px;height:36px;border-radius:11px;font-size:15px}.account-back{font-size:13px;padding:8px 10px}.account-main{padding:24px 16px 32px}.account-card{padding:26px 22px;border-radius:20px}.account-card h1{font-size:26px}.account-tabs{margin-top:22px}.code-input{gap:8px}.account-card .code-input button{padding:10px}}
@media(max-width:350px){.account-header{padding-inline:12px}.account-brand small{display:none}.account-main{padding-inline:12px}.account-card{padding:24px 16px}}
@media(prefers-reduced-motion:reduce){.account-page *{transition:none!important}}
