/* Keep each page's existing card, typography and button theme. */
.ak-step-form { overflow: hidden; }
.ak-step-form .ak-step-view { display: grid; gap: 18px; min-width: 0; }
.ak-step-form [hidden] { display: none !important; }
.ak-step-form .ak-step-view > label { display: grid; gap: 8px; }
.ak-step-form .ak-step-account { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ak-step-form .ak-step-account > span { min-width: 0; overflow-wrap: anywhere; }
.ak-step-form .ak-step-account > button { flex-shrink: 0; }
.ak-step-form .ak-step-code { padding: 0; margin: 0; min-width: 0; border: 0; }
.ak-step-form .ak-step-code legend { padding: 0; margin-bottom: 12px; }
.ak-step-form .ak-step-boxes { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; padding: 4px 2px 6px; }
.ak-step-form .ak-step-boxes input { width: 100%; min-width: 0; height: 58px; padding: 0; text-align: center; font-size: 24px; font-weight: 600; border: 1px solid #b8c7da; border-radius: 10px; background: #fff; color: #142f4c; transition: transform .18s, border-color .18s, box-shadow .18s; }
.ak-step-form .ak-step-boxes input:focus { border-color: #0877cd; transform: translateY(-2px); box-shadow: 0 3px 0 #d9ecff; }
.ak-step-form .ak-step-boxes input.is-filled { border-color: #7ba6d2; background: #f7fbff; }
.ak-step-form .ak-step-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ak-step-form .ak-step-actions .form-note { margin: 0; }
.ak-step-form .link-button { border: 0; background: transparent; color: #0969b5; padding: 3px 0; text-decoration: none; font: inherit; cursor: pointer; }
.ak-step-form button:disabled { opacity: .65; cursor: wait; }
.ak-step-form .ak-step-password { position: relative; }
.ak-step-form .ak-step-password input { padding-right: 65px; }
.ak-step-form .ak-step-password button { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); }
@media(max-width:380px) { .ak-step-form .ak-step-boxes { gap: 5px; } .ak-step-form .ak-step-boxes input { height: 48px; font-size: 21px; border-radius: 8px; } }
@media(prefers-reduced-motion:reduce) { .ak-step-form * { transition: none !important; } }

/* Compact code entry, insulated from the portal's decorative input theme. */
.ak-step-form .ak-step-boxes { width: 100%; max-width: 344px; box-sizing: border-box; gap: 9px; }
.ak-step-form .ak-step-boxes input { height: 50px; border-radius: 9px; border: 1px solid #ced8e5; background: #fff; background-image: none; box-shadow: 0 2px 4px #14365408; font-size: 22px; line-height: 1; box-sizing: border-box; outline: none; }
.ak-step-form .ak-step-boxes input:focus { transform: none; border-color: #2474ba; background: #fff; box-shadow: 0 0 0 3px #2474ba18; }
.ak-step-form .ak-step-boxes input.is-filled { background: #f5f9fe; border-color: #90b1d2; }
.ak-step-form .link-button { box-shadow: none; background-image: none; border-radius: 4px; }
@media(max-width:380px) { .ak-step-form .ak-step-boxes { gap: 6px; } .ak-step-form .ak-step-boxes input { height: 46px; font-size: 21px; } }
