/* DT standard sign-in page. Canonical copy: DT Apps/_shared/dt-signin/.
   Self-contained on purpose: no Tailwind, so the page renders identically in
   every app (DT Equity has no Tailwind build) and cannot be affected by an
   app's base stylesheet. Tokens match dt-apps.css (ink + warm stone). */

@font-face { font-family: 'HelveticaNowDisplay'; src: url("../fonts/HelveticaNowDisplay-Regular.52ff070eaaa0.otf") format('opentype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'HelveticaNowDisplay'; src: url("../fonts/HelveticaNowDisplay-Medium.129d7a13f486.otf") format('opentype'); font-weight: 500; font-style: normal; font-display: swap; }

.dt-signin, .dt-signin * { box-sizing: border-box; }
.dt-signin [hidden] { display: none !important; }

.dt-signin {
  margin: 0;
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  padding: 24px 16px;
  background: #141312;
  color: #141312;
  font-family: 'HelveticaNowDisplay', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px; line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.dt-signin__panel { width: 100%; max-width: 380px; }

.dt-signin__card {
  background: #fff;
  border-radius: 18px;
  padding: 32px 32px 28px;
  box-shadow: 0 18px 60px rgba(0,0,0,0.35);
}

.dt-signin__lockup { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.dt-signin__lockup img { width: 44px; height: 44px; border-radius: 8px; display: block; flex: none; }
.dt-signin__name { font-size: 21px; font-weight: 500; line-height: 1; letter-spacing: -0.01em; }

.dt-signin__notice { font-size: 13px; line-height: 1.45; border-radius: 10px; padding: 10px 12px; margin-bottom: 16px; }
.dt-signin__notice strong { display: block; font-weight: 500; margin-bottom: 2px; }
.dt-signin__notice--error { background: #efe1d9; color: #7a3d24; }
.dt-signin__notice--warn  { background: #f1e8d2; color: #6f5416; }
.dt-signin__notice--info  { background: #f0ede9; color: #5c564f; }

.dt-signin__btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; padding: 12px 18px; border-radius: 999px;
  background: #141312; color: #fff;
  font: inherit; font-size: 14px; font-weight: 500;
  border: none; cursor: pointer; text-decoration: none;
  transition: opacity 140ms;
}
.dt-signin__btn:hover { opacity: .88; }
.dt-signin__btn:focus-visible { outline: 2px solid #141312; outline-offset: 3px; }
.dt-signin__btn--busy { opacity: .7; pointer-events: none; }
.dt-signin__btn--outline { background: #fff; color: #141312; border: 1px solid #dad5cd; margin-top: 4px; }
.dt-signin__g { width: 18px; height: 18px; flex: none; }
.dt-signin__spin { width: 16px; height: 16px; flex: none; animation: dt-signin-spin 900ms linear infinite; }
@keyframes dt-signin-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .dt-signin__spin { animation: none; } }

.dt-signin__hint { font-size: 12px; color: #9d968d; text-align: center; margin: 14px 0 0; }

.dt-signin__dev { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(20,19,18,0.1); }
.dt-signin__eyebrow { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: #b9933f; margin-bottom: 10px; }
.dt-signin__field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.dt-signin__field label { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: #7f7870; }
.dt-signin__field input {
  font: inherit; font-size: 14px; padding: 9px 12px; border-radius: 10px;
  border: 1px solid #dad5cd; background: #fff; color: #141312; width: 100%;
}
.dt-signin__field input:focus { outline: none; border-color: #141312; }

.dt-signin__foot { text-align: center; font-size: 12px; color: rgba(255,255,255,0.38); margin: 22px 0 0; line-height: 1.6; }
.dt-signin__foot-note { color: rgba(255,255,255,0.55); }
.dt-signin__foot a { color: rgba(255,255,255,0.55); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.2); }
.dt-signin__foot a:hover { color: #fff; }
