/* ===== softwall.css =====
   Styles for the soft authentication wall overlay.
   All selectors use the .softwall- prefix to avoid collisions. */

/* ── Gate state: hide app content while wall is active ──────── */
body.softwall-active > *:not(.softwall-overlay) {
  visibility: hidden !important;
}

/* ── Full-screen backdrop ───────────────────────────────────── */
.softwall-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg, #0f1216);
}

/* ── Centered dialog ────────────────────────────────────────── */
.softwall-dialog {
  width: 90%;
  max-width: 360px;
  padding: 2rem 1.5rem;
  border: 1px solid var(--border, #2b3440);
  border-radius: 12px;
  background: var(--panel, #171b21);
  box-shadow: var(--shadow-soft, 0 3px 12px rgba(0, 0, 0, 0.35));
  text-align: center;
}

/* ── Branding ───────────────────────────────────────────────── */
.softwall-brand {
  margin-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.softwall-brand-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text, #e6edf3);
}

.softwall-brand-subtitle {
  font-size: 0.9rem;
  color: var(--muted, #9aa7b2);
}

/* ── Form ───────────────────────────────────────────────────── */
.softwall-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.softwall-label {
  text-align: left;
  font-size: 0.85rem;
  color: var(--muted, #9aa7b2);
}

.softwall-input {
  width: 100%;
  padding: 0.6rem 0.75rem;
  font-size: 1rem;
  color: var(--text, #e6edf3);
  background: var(--bg, #0f1216);
  border: 1px solid var(--border, #2b3440);
  border-radius: 6px;
  outline: none;
  transition: border-color 0.15s;
}

.softwall-input:focus {
  border-color: var(--accent, #2f6fed);
}

/* ── Submit button ──────────────────────────────────────────── */
.softwall-submit {
  padding: 0.6rem 1rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--button-text, #e6edf3);
  background: var(--button-bg, linear-gradient(to bottom, #1f2630, #151a22));
  border: 1px solid var(--button-border, #2b3440);
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}

.softwall-submit:hover {
  background: var(--button-hover, linear-gradient(to bottom, #263040, #1b2330));
}

.softwall-submit:active {
  background: var(--button-active, #121821);
}

.softwall-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ── Error message ──────────────────────────────────────────── */
.softwall-error {
  min-height: 1.2em;
  font-size: 0.85rem;
  color: #e74c3c;
}
