.topbar-actions {
  display: flex;
  align-items: stretch;
  gap: 10px;
}

.mobile-lock-button {
  display: none;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid #d9d4ca;
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
  color: #626a7c;
  cursor: pointer;
  font-size: 11px;
}

.come-here-reauth {
  margin-bottom: 12px;
  padding: 13px;
  border: 1px solid #c6a974;
  border-radius: 8px;
  background: #f5ecdc;
}

.come-here-reauth > strong {
  color: #24345b;
  font-size: 12px;
}

.come-here-reauth > p {
  margin: 6px 0 10px;
  color: #665d52;
  font-size: 10px;
  line-height: 1.6;
}

.come-here-reauth > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.come-here-reauth input {
  min-width: 0;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #c9bda9;
  border-radius: 6px;
  background: #fffdf8;
  font-size: 14px;
  outline: none;
}

.come-here-reauth input:focus { border-color: #9c7a45; }

.come-here-reauth button {
  min-height: 40px !important;
  border-radius: 6px;
  background: #20325d !important;
  color: #fff !important;
  font-size: 10px !important;
}

.come-here-reauth > small {
  min-height: 15px;
  margin-top: 7px !important;
  color: #a0483f !important;
  font-size: 9px !important;
}

@media (max-width: 800px) {
  .topbar-actions { width: 100%; }
  .snapshot-badge { flex: 1 1 auto; width: auto !important; }
  .mobile-lock-button { display: block; flex: 0 0 auto; }
}

@media (max-width: 420px) {
  .topbar-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .mobile-lock-button { padding-inline: 10px; }
  .come-here-reauth > div { grid-template-columns: 1fr; }
}
