:root {
  color-scheme:dark;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:100%;
  line-height:1.5;
  --signin-bg:#101216;
  --signin-surface:#181b22;
  --signin-field:#11141a;
  --signin-ink:#f0f2f8;
  --signin-muted:#a3adbf;
  --signin-line:#333a48;
  --signin-action:#aebfff;
  --signin-action-ink:#101a39;
  --signin-error:#ffadc0;
  --signin-success:#a3dec1;
  background:var(--signin-bg);
  color:var(--signin-ink);
}
@supports(color:light-dark(#fff,#000)) {
  :root {
    --signin-bg:light-dark(#f4f5fa,#101216);
    --signin-surface:light-dark(#fff,#181b22);
    --signin-field:light-dark(#f8f9fc,#11141a);
    --signin-ink:light-dark(#1c2537,#f0f2f8);
    --signin-muted:light-dark(#5d667b,#a3adbf);
    --signin-line:light-dark(#d9dfea,#333a48);
    --signin-action:light-dark(#445ec3,#aebfff);
    --signin-action-ink:light-dark(#fff,#101a39);
    --signin-error:light-dark(#aa2940,#ffadc0);
    --signin-success:light-dark(#256649,#a3dec1);
  }
}
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; min-height:100vh; min-height:100svh; font-size:1rem; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.8; }
a { color:var(--signin-action); }
:focus-visible { outline:3px solid var(--signin-action); outline-offset:4px; }
.page-header { max-width:1100px; min-height:74px; margin:0 auto; padding:0 44px; display:flex; align-items:center; }
.brand { display:inline-flex; align-items:center; min-height:44px; gap:10px; font-size:1.25rem; font-weight:600; letter-spacing:-.6px; text-decoration:none; color:var(--signin-ink); }
.brand span:last-child { min-width:0; overflow-wrap:anywhere; }
.signin-layout { max-width:1100px; min-height:calc(100vh - 74px); min-height:calc(100svh - 74px); margin:0 auto; padding:28px 44px 42px; display:flex; justify-content:center; align-items:center; }
.form-intro h1,.dialog-heading h2 { overflow-wrap:anywhere; }
.auth-column { width:100%; max-width:390px; min-width:0; }
.auth-panel { padding:30px; border:1px solid var(--signin-line); border-radius:18px; background:var(--signin-surface); box-shadow:0 16px 48px color-mix(in srgb,var(--signin-ink) 4%,transparent); }
.form-intro { margin-bottom:28px; }
.form-intro h1 { margin:0 0 10px; font-size:1.875rem; font-weight:500; line-height:1.18; letter-spacing:-1px; }
.form-intro p { margin:0; color:var(--signin-muted); font-size:.875rem; }
.field+.field { margin-top:18px; }
label { display:block; margin:0 0 8px; color:var(--signin-ink); font-size:.875rem; font-weight:500; }
input { display:block; width:100%; min-width:0; min-height:3.125rem; border:1px solid var(--signin-line); border-radius:10px; padding:.75rem 13px; background:var(--signin-field); color:var(--signin-ink); font-size:1rem; }
input::placeholder { color:var(--signin-muted); opacity:1; }
input[aria-invalid=true] { border-color:var(--signin-error); }
.password-wrap { position:relative; }
.password-wrap input { padding-right:4.5rem; }
.password-reveal { position:absolute; top:3px; right:3px; min-height:calc(3.125rem - 6px); min-width:3.875rem; padding:0 8px; border:0; border-radius:8px; background:transparent; color:var(--signin-action); font-size:.8125rem; font-weight:500; }
.password-help { margin:10px 0 0; color:var(--signin-muted); font-size:.8125rem; }
.help-row { display:flex; justify-content:flex-end; margin:4px 0 10px; }
.text-action { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; border:0; border-radius:8px; padding:0; background:transparent; color:var(--signin-action); font-size:.8125rem; font-weight:500; }
.text-action:hover,a:hover { text-decoration:underline; text-underline-offset:4px; }
.primary { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:3.125rem; border:0; border-radius:10px; padding:10px 16px; background:var(--signin-action); color:var(--signin-action-ink); font-size:.9375rem; font-weight:500; }
.primary:hover:not(:disabled) { filter:brightness(.95); }
.primary [data-button-label] { min-width:0; overflow-wrap:anywhere; }
.auth-direction { display:block; flex:none; width:1.375rem; height:1.375rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.auth-direction--chevron { width:1.125rem; height:1.125rem; }
.new-here .text-action { gap:5px; }
#auth>.primary { margin-top:10px; }
.new-here { display:flex; flex-direction:column; align-items:center; justify-content:center; margin-top:24px; padding-top:18px; border-top:1px solid var(--signin-line); color:var(--signin-muted); font-size:.8125rem; }
.field-error { margin:8px 0 0; color:var(--signin-error); font-size:.8125rem; line-height:1.45; }
#status { margin:14px 0 0; overflow-wrap:anywhere; color:var(--signin-muted); font-size:.875rem; white-space:pre-wrap; }
#status[data-tone=error] { color:var(--signin-error); }
#status[data-tone=success] { color:var(--signin-success); }
#status a { display:inline-flex; align-items:center; min-height:44px; margin-top:6px; }
.retry-link { margin-top:6px; }
.return-to-login { margin:18px 0 0; text-align:center; font-size:.875rem; }
.return-to-login a { display:inline-flex; align-items:center; min-height:44px; }
.auth-dialog { width:min(400px,calc(100% - 32px)); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); padding:24px; border:1px solid var(--signin-line); border-radius:18px; background:var(--signin-surface); color:var(--signin-ink); font-family:inherit; box-shadow:0 24px 80px color-mix(in srgb,var(--signin-ink) 25%,transparent); }
.auth-dialog::backdrop { background:color-mix(in srgb,var(--signin-bg) 78%,transparent); }
.dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.dialog-heading h2 { min-width:0; margin:8px 0 12px; font-size:1.5rem; font-weight:500; line-height:1.2; letter-spacing:-.6px; }
.dialog-close { flex:0 0 44px; min-height:44px; padding:0; border:0; border-radius:8px; background:transparent; color:var(--signin-muted); font-size:1.5rem; font-weight:400; }
.auth-dialog>p { margin:0 0 20px; color:var(--signin-muted); font-size:.875rem; line-height:1.65; }
.auth-dialog .dialog-detail { font-size:.8125rem; }
#invitation-form>.primary { margin-top:20px; }
body[data-auth-mode=invite] #auth>.primary,body[data-auth-mode=reset] #auth>.primary { margin-top:24px; }
@media(max-width:700px) {
  .page-header { min-height:82px; padding:0 24px; }
  .signin-layout { min-height:calc(100vh - 82px); min-height:calc(100svh - 82px); display:flex; justify-content:center; align-items:flex-start; padding:24px 24px 36px; }
  .auth-column { max-width:420px; }
  .auth-panel { border:0; padding:0; background:transparent; box-shadow:none; }
  .form-intro { margin-bottom:32px; }
  .form-intro h1 { font-size:2rem; }
  label { font-size:.9375rem; }
  input { min-height:3.25rem; }
  .password-reveal { top:4px; min-height:calc(3.25rem - 8px); }
  .primary { min-height:3.25rem; font-size:1rem; }
  .new-here { margin-top:26px; padding-top:22px; }
}
@media(max-width:359px) {
  .page-header { padding-left:20px; padding-right:20px; }
  .signin-layout { padding-left:20px; padding-right:20px; }
}
@media(prefers-reduced-motion:no-preference) {
  button,a { transition:filter .15s ease; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .auth-direction { transition:transform .16s ease; }
  .primary:hover:not(:disabled) .auth-direction,.new-here .text-action:hover .auth-direction { transform:translateX(2px); }
}

