/* login-users — login mask, users admin panel, action buttons */
  /* --- Login mask (DESIGN_SYSTEM.md dark splash card) --- */

  .login-overlay {
    position: fixed;
    inset: 0;
    z-index: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: #2C292A;
  }

  .login-overlay[hidden] { display: none; }

  .login-card {
    width: min(380px, 100%);
    background: #353233;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    box-shadow: 0 24px 48px rgba(15, 15, 15, 0.32);
    padding: 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .login-card .tile { height: auto; padding: 0; }

  .login-card .tile img {
    height: 56px;
    width: auto;
    margin: 0;
  }

  .login-title {
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: 600;
    color: var(--text);
    text-align: center;
  }

  .login-subtitle {
    color: rgba(255, 255, 255, 0.5);
    font-size: 12px;
    margin-top: 4px;
    text-align: center;
  }

  .login-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }

  .login-input {
    height: 38px;
    border-radius: var(--radius-md);
    border: 1px solid var(--divider);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text);
    font-family: inherit;
    font-size: 14px;
    padding: 0 12px;
  }

  .login-input::placeholder { color: rgba(255, 255, 255, 0.35); }

  .login-input:focus {
    outline: none;
    border-color: #22B34A;
  }

  .login-submit {
    height: 38px;
    border: none;
    border-radius: 8px;
    background: var(--brand-6);
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 120ms ease, transform 120ms ease;
  }

  .login-submit:hover {
    background: var(--brand-7);
    transform: translateY(-1px);
  }

  .login-error {
    color: #dc2626;
    font-size: 0.82rem;
    text-align: center;
  }

  .login-error[hidden] { display: none; }

  /* --- Users panel (admin) --- */

  .user-add-form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 16px;
  }

  .user-add-form .filter-input { flex: 0 1 220px; min-width: 160px; }

  /* Primary "add" action — distinguished by an accent (green) tint/outline,
     not a saturated fill. Borrows the .im-btn tinted-action pattern at the
     form-control size so it sits with its sibling action buttons. */
  .user-add-btn {
    height: 32px;
    padding: 0 14px;
    border: 1px solid rgba(34, 179, 74, 0.35);
    border-radius: 8px;
    background: rgba(34, 179, 74, 0.12);
    color: var(--accent-5);
    font-family: inherit;
    font-size: var(--font-control);
    font-weight: 600;
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease;
  }

  .user-add-btn:hover {
    background: rgba(34, 179, 74, 0.18);
    border-color: rgba(34, 179, 74, 0.5);
  }

  .user-add-btn:disabled { opacity: 0.6; cursor: not-allowed; }

  .users-status {
    font-size: 0.82rem;
    color: var(--muted);
  }

  .users-status.error { color: #dc2626; }

  /* Compact action buttons — DESIGN_SYSTEM.md .im-btn pattern.
     --font-control matches the .chip role pill sitting in the same table row. */
  .im-btn {
    height: 24px;
    padding: 3px 8px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: var(--text);
    font-family: inherit;
    font-size: var(--font-control);
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease;
  }

  .im-btn:hover { background: rgba(255, 255, 255, 0.12); }

  .im-btn.danger {
    background: rgba(220, 38, 38, 0.12);
    color: #dc2626;
    border: 1px solid rgba(220, 38, 38, 0.35);
  }

  .im-btn.danger:hover { background: rgba(220, 38, 38, 0.18); }

  .im-btn:disabled { opacity: 0.6; cursor: not-allowed; }

