/* Settings page and the sign-in screens */
.set-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--line-2); }
.set-row:last-child { border-bottom: 0; }
.set-row > span { display: grid; gap: 2px; }
.set-inline { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; }
.set-inline .field { flex: 0 1 200px; }
.set-code { font-family: var(--f-num); font-size: 13px; line-height: 1.45; white-space: pre; overflow: auto; }
.set-key { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.set-key code { font-family: var(--f-num); font-size: 13px; background: var(--surface-3); border-radius: var(--r-sm); padding: 8px 10px; overflow-wrap: anywhere; min-width: 0; }
.set-note { margin: 0; }
/* Team card */
.tm-h { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); padding: 14px 0 2px; }
.tm-row { align-items: center; }
.tm-row .body { flex: 1 1 auto; min-width: 0; display: grid; gap: 1px; }
.tm-row .meta { overflow-wrap: anywhere; }
.tm-row.inactive .avatar, .tm-row.inactive .body b { opacity: .55; }
.tm-tags { flex: 0 0 auto; gap: 6px; flex-wrap: nowrap; }
.tm-work { margin: 0; padding-left: 18px; display: grid; gap: 3px; }
#team .card-h .sub { flex: 1 1 240px; }

/* Sign-in screens: a card on a plain page, no app chrome */
body.auth-mode .side, body.auth-mode .top, body.auth-mode .tabbar { display: none !important; }
body.auth-mode .app { display: block; }
body.auth-mode .main { padding: 0; }
/* Sign-in: the Axe staff sign-in layout (teal band with fine diagonal lines, centered white logo, tagline, one card). Light only. */
.au-page { min-height: 100vh; min-height: 100dvh; display: grid; justify-items: center; align-content: start;
  padding: 48px max(16px, env(safe-area-inset-right, 0px)) 28px max(16px, env(safe-area-inset-left, 0px));
  background:
    repeating-linear-gradient(-58deg, transparent 0 46px, rgba(255,255,255,.035) 46px 48px) top / 100% 300px no-repeat,
    linear-gradient(160deg, var(--brand) 0%, #0f3a40 72%) top / 100% 300px no-repeat,
    var(--bg); }
.au-stage { width: 100%; max-width: 420px; display: grid; }
.au-brand { display: grid; justify-items: center; gap: 8px; margin-bottom: 26px; }
.au-brand img { width: 260px; height: auto; display: block; }
.au-for { font: 600 12px var(--f-ui); letter-spacing: .14em; text-transform: uppercase; color: #cfe1e3; }
.au-card { width: 100%; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 10px 30px rgba(15,58,64,.18); padding: 28px 28px 24px; display: grid; gap: 18px; }
.au-card h1 { font: 600 28px/1.1 var(--f-head); margin: 0; }
.au-card .stack { display: grid; gap: 14px; }
.au-fline { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.au-fline label { font-size: 13px; font-weight: 600; color: var(--ink-2); }
.au-lnk, .au-link { color: var(--brand); font-weight: 600; font-size: 13px; text-decoration: none; cursor: pointer; }
.au-lnk:hover, .au-link:hover { text-decoration: underline; }
.au-link { justify-self: center; font-size: 14px; }
.au-pw { position: relative; }
.au-pw .input { padding-right: 52px; }
.au-show { position: absolute; right: 3px; top: 50%; transform: translateY(-50%); border: 0; min-height: 36px; min-width: 40px; background: transparent; color: var(--ink-2); display: grid; place-items: center; border-radius: 8px; cursor: pointer; }
.au-show:hover { color: var(--brand); background: var(--brand-tint); }
.au-show[aria-pressed="true"] { color: var(--brand); }
.au-full { width: 100%; min-height: 46px; font-size: 15.5px; }
.au-msg { margin: 0; font-size: 14px; }
.au-msg:empty { display: none; }
.au-msg.bad { color: var(--bad); }
.au-msg.ok { color: var(--ok); }
.au-msg.info { color: var(--ink-2); background: var(--brand-tint); border-radius: var(--r-sm); padding: 8px 10px; }
.au-hint { margin: 0; font-size: 13px; color: var(--ink-3); }
.au-small { text-align: center; margin: 14px 0 0; font-size: 13.5px; color: var(--ink-3); }
.au-help { background: var(--surface-2, #f3f7f7); border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; margin-top: 14px; font-size: 14px; color: var(--ink-2); }
.au-help h3 { font: 600 16px var(--f-head); margin: 0 0 6px; color: var(--ink); }
.au-help p { margin: 4px 0 0; overflow-wrap: anywhere; }
.au-help b { color: var(--ink); font-weight: 600; }
.au-help a { color: var(--brand); font-weight: 600; text-decoration: none; }
.au-admin { display: inline-block; margin-top: 2px; }
.au-foot { font-size: 12.5px; color: var(--ink-3); display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 36px; padding-top: 16px; border-top: 1px solid var(--line); }
.au-foot a { color: inherit; text-decoration: none; }
.au-foot a:hover { text-decoration: underline; }
@media (max-width: 640px) {
  .au-page { padding-top: 28px; padding-bottom: 20px; background-size: 100% 240px, 100% 240px, auto; }
  .au-brand img { width: 190px; }
  .au-card { padding: 22px 18px 18px; }
}
@media (max-width: 640px) { .au-card { padding: 22px 18px 20px; } }
