/* Sign-in (/client/signin/). Builds on /client/dashboard/style.css (cd-*) and the shared tokens. */
.si-main { max-width: 440px; margin: 0 auto; padding: 48px 16px 40px; }
.si-card { padding: 28px; }
.si-title { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; color: var(--ink); }
.si-sub { margin-top: 6px; font-size: 15px; }
.si-label { display: block; margin-top: 22px; margin-bottom: 6px; font-size: 13px; font-weight: 700; color: var(--ink-soft); }
.si-phone { display: flex; align-items: stretch; border: 1px solid var(--rule); border-radius: var(--radius-md); background: var(--paper-white); overflow: hidden; }
.si-phone:focus-within { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(15, 45, 33, 0.08); }
.si-phone span { display: flex; align-items: center; padding: 0 12px; background: var(--bg-warm); color: var(--ink-soft); font-weight: 600; border-right: 1px solid var(--rule); }
.si-phone input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 13px 14px; font: 600 17px var(--sans); color: var(--ink); background: transparent; letter-spacing: 0.02em; }
.si-wide { width: 100%; margin-top: 18px; padding: 13px 20px; font-size: 15px; }
.si-foot { margin-top: 16px; text-align: center; }
.si-otp { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-top: 22px; }
.si-digit {
  width: 100%; height: 54px; text-align: center; border: 1px solid var(--rule); border-radius: var(--radius-md);
  font: 700 22px var(--sans); color: var(--ink); background: var(--paper-white); outline: 0;
}
.si-digit:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(15, 45, 33, 0.08); }
.si-legal { margin-top: 18px; text-align: center; font-size: 12px; color: var(--muted); }
#si-dev { margin-top: 10px; }
