:root{
  --rose:#a06b6d;       /* Akzent */
  --rose-ink:#7e4f51;   /* dunkler für Text */
  --paper:#dedacc;      /* warmer Hintergrund */
  --ink:#2b2b2b;
  --muted:#686868;
  --outline:rgba(0,0,0,.06);
  --card:#fff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:
  radial-gradient(1200px 420px at 50% -10%, var(--paper), transparent 65%),
  linear-gradient(180deg,#fff 0%, #fffdf8 100%);
font:16px/1.55 ui-sans-serif,system-ui,Segoe UI,Roboto,Arial;color:var(--ink);min-height:100%}

a{color:var(--rose);text-decoration:none}
a:hover{filter:brightness(.92)}

.wrap{min-height:100svh;display:grid;place-items:center;padding:24px}
.card{
  width:min(92vw,440px); background:var(--card);
  border:1px solid var(--outline); border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.08); padding:22px 20px;
  animation:fadeUp .35s ease both
}
@keyframes fadeUp{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none}}

h1{margin:0 0 .35rem 0; font-size:1.4rem; color:var(--rose-ink); letter-spacing:.2px}
p{margin:.25rem 0 1rem 0; color:var(--muted)}

label{display:block; font-weight:600; margin:.25rem 0 .35rem 0}
input[type=password]{
  width:100%; border:1px solid var(--outline); background:#fff; color:var(--ink);
  border-radius:12px; padding:.85rem .95rem; outline:0;
}
input[type=password]:focus{box-shadow:0 0 0 3px rgba(160,107,109,.18)}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  border:0; border-radius:999px; padding:.8rem 1rem; font-weight:700; cursor:pointer;
  transition:filter .15s ease;
}
.btn.primary{background:var(--rose); color:#fff; width:100%}
.btn.primary:hover{filter:brightness(.96)}

.hint{font-size:.88rem; color:#8b8b8b; margin-top:.5rem}
.error{color:#9b1c1c; background:#ffeef0; border:1px solid #ffd6db; padding:.5rem .7rem; border-radius:10px; margin-top:.5rem; display:none}
.error.show{display:block}

.footer{
  margin-top:1rem; display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center
}
.btn.ghost{background:transparent; color:var(--ink); border:1px solid var(--outline)}
