/* Schedulise — pages d'entrée (front brique 1). Style « premiere » sombre. */
:root {
  --bg: #12121c; --bg-dark: #1a1a28; --bg-medium: #24243a; --bg-light: #2e2e48;
  --border: #3a3a52; --accent: #7e5cef; --accent-soft: rgba(139, 92, 246, .16);
  --txt: #f0f0f5; --txt-2: #9a9ab0; --txt-3: #6b6b80;
  --ok: #65a30d; --err: #ef5350;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  background: radial-gradient(900px 500px at 20% -10%, #1a1330 0%, transparent 55%), var(--bg);
  color: var(--txt); min-height: 100vh;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  display: flex; align-items: center; justify-content: center; padding: 24px;
}
.card {
  width: 100%; max-width: 400px; background: var(--bg-dark);
  border: 1px solid var(--border); border-radius: 14px; padding: 28px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
}
.card::before { content: ""; display: block; height: 3px; margin: -28px -28px 24px;
  border-radius: 14px 14px 0 0; background: var(--accent); }
.brand { font-weight: 700; font-size: 20px; letter-spacing: -.01em; margin-bottom: 4px; }
.brand span { color: var(--accent); }
.sub { color: var(--txt-2); font-size: 13.5px; margin-bottom: 22px; }
label { display: block; font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: .1em; color: var(--txt-3); margin: 14px 0 6px; }
input {
  width: 100%; background: var(--bg-medium); border: 1px solid var(--border);
  border-radius: 9px; padding: 10px 12px; color: var(--txt); font-size: 14px;
}
input:focus { outline: none; border-color: var(--accent); }
button {
  width: 100%; margin-top: 20px; background: var(--accent); color: #fff;
  border: none; border-radius: 9px; padding: 11px; font-size: 14px;
  font-weight: 600; cursor: pointer;
}
button:hover { filter: brightness(1.08); }
button:disabled { opacity: .6; cursor: wait; }
.msg { margin-top: 14px; font-size: 13px; border-radius: 8px; padding: 10px 12px; display: none; }
.msg.err { display: block; color: var(--err); background: rgba(239, 83, 80, .1);
  border: 1px solid rgba(239, 83, 80, .3); }
.msg.ok { display: block; color: var(--ok); background: rgba(101, 163, 13, .1);
  border: 1px solid rgba(101, 163, 13, .3); }
.links { margin-top: 18px; font-size: 12.5px; color: var(--txt-3); text-align: center; }
.links a { color: var(--txt-2); text-decoration: none; }
.links a:hover { color: var(--accent); }
.list { margin-top: 10px; }
.list .item { padding: 10px 12px; border: 1px solid var(--border); border-radius: 9px;
  margin-bottom: 8px; background: var(--bg-medium); font-size: 14px; }
