:root{
  --bg:#f6f7fb;
  --bg2:#e9eefc;
  --panel:rgba(255,255,255,.86);
  --border:rgba(15,23,42,.12);
  --text:#101827;
  --muted:#61708f;
  --blue:#4f46e5;
  --violet:#7c3aed;
  --cyan:#0891b2;
  --shadow:0 24px 70px rgba(79,70,229,.16);
  --radius:18px;
  --grad:linear-gradient(135deg,#4f46e5,#7c3aed);
}
*{ box-sizing:border-box; }
body{
  margin:0;
  font-family:Tahoma, Arial, sans-serif;
  background:
    radial-gradient(900px 520px at 16% 6%, rgba(99,102,241,.24), transparent 58%),
    radial-gradient(820px 500px at 88% 10%, rgba(34,211,238,.12), transparent 55%),
    radial-gradient(760px 560px at 50% 120%, rgba(139,92,246,.16), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  background-attachment: fixed;
  color:var(--text);
  min-height:100vh;
  display:grid;
  place-items:center;
  padding: 28px 18px;
}
.wrap{ width:min(560px, 100%); }
.card{
  background: var(--panel);
  border:1px solid var(--border);
  border-radius: 26px;
  padding: 22px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
}
.head{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
.brand{ font-weight:900; letter-spacing:.2px; }
.muted{ color:var(--muted); margin-top:8px; line-height:1.8; font-size: 13px; }
.field{ margin-top:10px; }
label{ display:block; font-weight:900; font-size:13px; margin-bottom:8px; color:#cbd5e1; }
input{
  width:100%;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(15,23,42,.60);
  color:var(--text);
  font: inherit;
  outline:none;
}
input:focus{ border-color: rgba(129,140,248,.5); box-shadow: 0 0 0 4px rgba(99,102,241,.18); }
input::placeholder{ color:rgba(203,213,225,.78); }
.btn{
  width:100%;
  margin-top:14px;
  padding:14px;
  border-radius:16px;
  border:1px solid transparent;
  background: var(--grad);
  color:#fff;
  font-weight:900;
  cursor:pointer;
  box-shadow: 0 14px 34px rgba(99,102,241,.3);
  transition: transform .14s ease, filter .14s ease;
}
.btn:hover{ transform: translateY(-1px); filter: brightness(1.06); }
.btn:active{ transform: translateY(0); }
.error{ color:#fecaca; margin-top:10px; }
.row{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; flex-wrap:wrap; }
a{ color:#c7d2fe; text-decoration:none; font-weight:900; }
.pill{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(129,140,248,.4);
  background: rgba(22,29,52,.42);
  color:#c7d2fe;
  font-weight:900;
  font-size:12px;
  white-space:nowrap;
}
pre { white-space: pre-wrap; background: rgba(17,24,44,.45); border:1px solid rgba(255,255,255,.08); padding:12px; border-radius:16px; margin-top:12px; }

.btn.is-loading{ opacity:.85; }

button, .btn, .pill { min-height:40px; line-height:1.35; }
.head, .row { min-width:0; }
.head > *, .row > * { min-width:0; }
.card { color:var(--text); }
.pill {
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
pre {
  color:var(--text);
  overflow:auto;
}

/* Final contrast guard for auth actions. */
.btn,
button {
  background: linear-gradient(135deg, #4f46e5 0%, #6d28d9 100%);
  color:#fff;
  border-color:transparent;
  text-shadow:0 1px 1px rgba(0,0,0,.22);
}
.pill {
  color:#e0e7ff;
  background:rgba(30,41,59,.72);
  border-color:rgba(129,140,248,.45);
}
.slug-preview{ margin-top:8px; font-size:.92rem; }
#slugHint.ok{ color:#86efac; }

.i18n-float { position: fixed; inset-block-start: 12px; inset-inline-end: 12px; z-index: 9999; }
.i18n-switch { font: inherit; padding: 6px 10px; border-radius: 10px; cursor: pointer; background: rgba(127,127,127,0.12); border: 1px solid rgba(127,127,127,0.35); color: inherit; }
