/* Account UI — matches the app's tokens (Space Grotesk / Inter, --structure navy).
   Loaded on every page after the page's own stylesheet. */

.acct-notice{
  display:flex;align-items:center;gap:11px;
  background:linear-gradient(90deg,#EEF1FB,#F4F5F7);
  border:1px solid #D8DEF2;border-radius:11px;
  padding:10px 12px;margin:0 0 16px;
  font-size:13px;color:var(--ink,#14161A);
}
.acct-notice-dot{width:8px;height:8px;border-radius:50%;background:#6C7FD8;flex:none;box-shadow:0 0 0 3px rgba(108,127,216,.18)}
.acct-notice-text{flex:1;line-height:1.4}
.acct-notice-cta{
  flex:none;border:none;background:var(--structure,#2A2F45);color:#fff;
  font-family:inherit;font-size:12.5px;font-weight:500;padding:6px 12px;border-radius:8px;cursor:pointer;
  white-space:nowrap;transition:background .12s;
}
.acct-notice-cta:hover{background:#1d2136}
.acct-notice-x{
  flex:none;border:none;background:transparent;color:#9AA1AC;font-size:19px;line-height:1;
  width:26px;height:26px;border-radius:7px;cursor:pointer;
}
.acct-notice-x:hover{background:rgba(20,22,26,.06);color:var(--ink,#14161A)}

/* ---------------- modal ---------------- */
.acct-modal{
  position:fixed;inset:0;z-index:200;display:none;
  align-items:center;justify-content:center;padding:16px;
  background:rgba(20,22,26,.34);
}
.acct-modal.show{display:flex}
.acct-box{
  position:relative;background:#fff;border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.32);
  width:100%;max-width:380px;padding:24px 22px 18px;
  max-height:calc(100vh - 32px);overflow-y:auto;
}
.acct-x{
  position:absolute;top:11px;right:11px;width:30px;height:30px;border:none;background:transparent;
  color:#9AA1AC;font-size:22px;line-height:1;border-radius:8px;cursor:pointer;
}
.acct-x:hover{background:#F1F2F5;color:#14161A}
.acct-h2{font-family:'Space Grotesk',system-ui,sans-serif;font-size:20px;font-weight:600;margin:0 0 4px;letter-spacing:-.01em}
.acct-sub{font-size:13px;color:#6B7280;margin:0 0 18px;line-height:1.45}

.acct-google{
  width:100%;display:flex;align-items:center;justify-content:center;gap:9px;
  border:1px solid #D4D8DE;background:#fff;color:#14161A;
  font-family:inherit;font-size:14px;font-weight:500;padding:10px;border-radius:10px;cursor:pointer;
  transition:background .12s;
}
.acct-google:hover{background:#F5F6F8}

.acct-or{position:relative;text-align:center;margin:16px 0}
.acct-or::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#E6E8EC}
.acct-or span{position:relative;background:#fff;padding:0 10px;font-size:11.5px;color:#9AA1AC;text-transform:uppercase;letter-spacing:.05em}

.acct-label{display:block;font-size:12px;color:#6B7280;margin-bottom:6px;font-weight:500;line-height:1.4}
.acct-label b{color:#14161A}
.acct-input{
  width:100%;border:1px solid #D4D8DE;border-radius:10px;padding:10px 11px;
  font-family:inherit;font-size:15px;color:#14161A;box-sizing:border-box;
}
.acct-input:focus{outline:none;border-color:var(--structure,#2A2F45)}
.acct-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;letter-spacing:.4em;text-align:center}

.acct-primary{
  width:100%;margin-top:11px;border:none;background:var(--structure,#2A2F45);color:#fff;
  font-family:inherit;font-size:14px;font-weight:500;padding:11px;border-radius:10px;cursor:pointer;
  transition:background .12s;
}
.acct-primary:hover{background:#1d2136}
.acct-primary:disabled{opacity:.6;cursor:default}

.acct-link{
  display:block;width:100%;margin-top:10px;border:none;background:transparent;
  color:#6B7280;font-family:inherit;font-size:12.5px;cursor:pointer;text-decoration:underline;
}
.acct-link:hover{color:#14161A}

.acct-msg{font-size:12.5px;color:#6B7280;margin:12px 0 0;line-height:1.4}
.acct-msg.bad{color:#C2603E}
.acct-fine{font-size:11px;color:#9AA1AC;margin:14px 0 0;line-height:1.5;text-align:center}

.acct-toast{
  position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);
  background:var(--structure,#2A2F45);color:#fff;padding:10px 16px;border-radius:24px;
  font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:320;
}
.acct-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media (prefers-reduced-motion:reduce){.acct-notice-cta,.acct-google,.acct-primary{transition:none}}
