/* AgentOS — sign-in / account security */

body.auth-locked > .topbar,
body.auth-locked > .container{display:none}
body:not(.auth-locked) > .auth-screen{display:none}

.auth-screen{min-height:100vh;display:grid;place-items:center;align-content:center;gap:18px;padding:32px 16px}
.auth-panel{width:min(440px,100%);padding:30px 28px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(16,27,46,.92),rgba(12,20,36,.96));box-shadow:var(--shadow)}
.auth-brand{display:flex;align-items:center;gap:7px;margin-bottom:22px;font-size:24px;font-weight:800;letter-spacing:-1px}
.auth-brand img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(50,214,255,.18))}
.auth-brand strong{color:var(--cyan)}
.auth-foot{color:var(--muted);font-size:12px;opacity:.7}

.auth-view{display:grid;gap:14px}
.auth-view[hidden]{display:none}
.auth-view h1{font-size:22px;letter-spacing:-.4px}
.auth-sub{color:var(--muted);font-size:13px;line-height:1.55}
.auth-view label,.reauth-dialog label,.security-card label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}
.auth-view label[hidden],.reauth-dialog label[hidden]{display:none}
.auth-submit{width:100%;min-height:44px}
.auth-submit:disabled,button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.auth-error{min-height:0;color:#ff9caa;font-size:13px;line-height:1.45}
.auth-error:empty{display:none}
.auth-notice{padding:10px 12px;border:1px solid rgba(50,214,255,.35);border-radius:9px;background:rgba(50,214,255,.08);color:#bdefff;font-size:13px;margin-bottom:14px}
.auth-notice[hidden]{display:none}
.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.auth-links [hidden]{display:none}
.link-button{min-height:auto;padding:4px 0;border:0;background:none;color:var(--cyan);font-weight:600;font-size:13px}
.link-button:hover{transform:none;box-shadow:none;text-decoration:underline}
.auth-row{display:flex;gap:10px;flex-wrap:wrap}
.auth-row>button{flex:1 1 120px}
.auth-check{display:flex!important;align-items:center;gap:10px!important;color:var(--text)!important;font-size:13px!important;font-weight:500!important;cursor:pointer}
.auth-check input{width:18px;min-height:18px;height:18px;flex:0 0 auto;accent-color:var(--cyan)}

.pw-field{position:relative;display:block}
.pw-field input{padding-right:64px}
.pw-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);min-height:32px;padding:0 10px;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:12px;font-weight:700}
.pw-toggle:hover{transform:translateY(-50%);box-shadow:none;color:var(--text)}

.pw-meter{display:grid;grid-template-columns:repeat(4,1fr) auto;align-items:center;gap:5px;margin-top:-6px}
.pw-meter i{height:4px;border-radius:4px;background:var(--line)}
.pw-meter span{min-width:62px;text-align:right;color:var(--muted);font-size:11px;font-weight:700}
.pw-meter[data-score="0"] i:nth-child(-n+1),.pw-meter[data-score="1"] i:nth-child(-n+1){background:var(--danger)}
.pw-meter[data-score="2"] i:nth-child(-n+2){background:var(--warning)}
.pw-meter[data-score="3"] i:nth-child(-n+3){background:var(--cyan)}
.pw-meter[data-score="4"] i:nth-child(-n+4){background:var(--green)}
.pw-checks{list-style:none;display:grid;gap:4px;margin-top:-4px;color:var(--muted);font-size:12px}
.pw-checks li::before{content:"○";display:inline-block;width:18px;color:var(--line-bright)}
.pw-checks li.met{color:#bfeedd}
.pw-checks li.met::before{content:"✓";color:var(--green)}

.recovery-code{display:block;padding:14px;border:1px dashed var(--line-bright);border-radius:10px;background:#081220;color:#bdefff;font:600 17px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;text-align:center;word-break:break-all;user-select:all}

/* re-authentication dialog */
.reauth-dialog{margin:auto;width:min(420px,calc(100vw - 32px));padding:24px;border:1px solid var(--line-bright);border-radius:var(--radius);background:var(--panel);color:var(--text);box-shadow:var(--shadow)}
.reauth-dialog::backdrop{background:rgba(3,6,12,.72);backdrop-filter:blur(3px)}
.reauth-dialog form{display:grid;gap:14px}
.reauth-dialog h2{font-size:18px}

/* topbar identity */
.profile-chip .signout-button{min-height:30px;margin-left:6px;padding:0 10px;border:1px solid var(--line-bright);background:transparent;color:var(--muted);font-size:12px;font-weight:700}
.profile-chip .signout-button:hover{color:var(--text);box-shadow:none}

/* settings → account & security */
.security-panel{margin-top:22px}
.security-head{margin-bottom:12px}
.security-head h3{margin-top:4px;font-size:18px}
.security-flash{margin-bottom:12px;padding:10px 12px;border:1px solid rgba(53,224,161,.4);border-radius:9px;background:rgba(53,224,161,.08);color:#bfeedd;font-size:13px}
.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.security-card{display:grid;align-content:start;gap:12px}
.security-card .pw-meter{margin-top:-4px}
.security-card h3{font-size:15px;color:#bdefff}
.security-card h3:not(:first-child){margin-top:6px}
.security-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px}
.security-facts dt{color:var(--muted)}
.security-facts dd{overflow-wrap:anywhere}
.security-note{color:var(--muted);font-size:12px;line-height:1.5}
.security-events{list-style:none;display:grid;gap:6px;font-size:13px}
.security-events li{display:flex;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.security-events time{color:var(--muted);font-size:12px;white-space:nowrap}
.danger-title{color:#ff9caa!important}

body.light-mode .security-card h3{color:#0b5f80}
body.light-mode .recovery-code{background:#f3f8fc;color:#0b3f57}

@media(max-width:820px){.security-grid{grid-template-columns:1fr}}
@media(max-width:560px){.auth-panel{padding:24px 18px}.security-events li{flex-direction:column;gap:2px}}
