﻿/* Sign-in page and the signed-in header additions. */
.aps-login { display: grid; place-items: center; min-height: 60vh; }
.aps-login__card {
    background: #fff; border: 1px solid var(--aps-line); border-radius: var(--aps-radius);
    padding: 2rem; width: min(420px, 100%); box-shadow: 0 8px 28px rgba(16,24,40,.08);
}
.aps-login__card h1 { margin: 0 0 .3rem; font-size: 1.35rem; color: var(--aps-navy-dark); }
.aps-login__hint { margin: 0 0 1.4rem; color: var(--aps-muted); font-size: .9rem; }
.aps-login__foot { margin: 1.2rem 0 0; font-size: .8rem; color: var(--aps-muted); text-align: center; }
.aps-login label { display: block; font-size: .85rem; font-weight: 600; margin-block: .8rem .35rem; }
.aps-input {
    width: 100%; padding: .62rem .8rem; font: inherit;
    border: 1px solid var(--aps-line); border-radius: 8px; background: #fff;
}
.aps-input:focus { outline: 2px solid rgba(47,87,139,.35); outline-offset: 1px; border-color: var(--aps-navy); }
.aps-btn {
    margin-block-start: 1.4rem; width: 100%; padding: .68rem 1rem;
    background: var(--aps-navy); color: #fff; border: 0; border-radius: 8px;
    font: inherit; font-weight: 600; cursor: pointer;
}
.aps-btn:hover { background: var(--aps-navy-dark); }
.aps-alert {
    background: #FDECEA; border: 1px solid #F5C2BC; color: #8C2318;
    padding: .65rem .85rem; border-radius: 8px; font-size: .87rem; margin-block-end: .5rem;
}
.aps-header__actions { display: flex; align-items: center; gap: .6rem; }
.aps-user { font-size: .85rem; opacity: .92; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aps-logout-form { margin: 0; }
.aps-lang--btn { background: none; color: inherit; font: inherit; cursor: pointer; }
.aps-hero__id { margin: .5rem 0 0; font-size: .86rem; color: var(--aps-muted); }
.aps-hero__id--missing { color: #8A5B00; }
/* A Latin-digit national ID inside Persian text needs an explicit LTR embed,
   or the browser reorders it. */
.aps-num { unicode-bidi: embed; direction: ltr; font-variant-numeric: tabular-nums; }
.aps-captcha { margin-block-start: 1rem; }
.aps-captcha__row { display: flex; align-items: center; gap: .6rem; }
.aps-captcha__img { border: 1px solid var(--aps-line); border-radius: 6px; height: 60px; }
.aps-captcha .aps-input { flex: 1; text-transform: uppercase; letter-spacing: .18em; }