:root{
  /* Warm-dark tokens */
  --bg:#181616; --card:#22201e; --border:#3a342f; --text:#f5f2e8; --muted:#9c9388;

  /* Primary/controls */
  --btn:#c8a97e;                /* muted amber-gold (not orange) */
  --btn-ghost:#2a2623;

  /* Status (no red/orange) */
  --ok-bg:#162019; --ok-bd:#2e4a3a; --ok-fg:#9fd1b3;     /* moss */
  --err-bg:#241e1b; --err-bd:#4a3b35; --err-fg:#d8c7be;  /* muted clay/beige */
}

*{box-sizing:border-box}
body{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--bg); color:var(--text);
  min-height:100vh; margin:0; display:flex; align-items:center; justify-content:center; padding:16px;
}
.card{
  width:100%; max-width:520px; background:var(--card);
  border:1px solid var(--border); border-radius:14px; padding:22px;
  box-shadow:0 10px 30px rgba(0,0,0,.30);
}
h1{margin:0 0 8px; font-size:22px}
.muted{color:var(--muted); font-size:13px; margin:0 0 14px}
label{display:block; font-size:13px; margin:12px 0 6px}
input{
  width:100%; background:#1f1b18; color:var(--text);
  border:1px solid #3a342f; border-radius:10px; padding:10px 12px; outline:none;
}
input:focus{border-color:var(--btn); box-shadow:0 0 0 3px rgba(200,169,126,.28)}
.row{display:flex; gap:10px; flex-wrap:wrap}
.row > .col{flex:1; min-width:200px}
.actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px}
.btn{
  padding:10px 14px; border-radius:10px; border:0; cursor:pointer; font-weight:600;
  background:var(--btn); color:#1a160f;
}
.btn.secondary{background:var(--btn-ghost); color:var(--text)}
.btn.ghost{background:transparent; border:1px solid #4a433d; color:var(--text)}
.btn:disabled{opacity:.6; cursor:not-allowed}
.status{display:none; margin-top:12px; padding:10px 12px; border-radius:10px}
.ok{background:var(--ok-bg); border:1px solid var(--ok-bd); color:var(--ok-fg)}
.err{background:var(--err-bg); border:1px solid var(--err-bd); color:var(--err-fg)}
.section{margin-top:12px}
.hint{font-size:12px; color:var(--muted); margin-top:6px}
.divider{height:1px; background:#2a2520; margin:16px 0}

/* Availability editor (simple) */
#availEditor{
  display:none; margin-top:10px; border:1px solid #2f2823; border-radius:12px; padding:12px; background:#1e1a17;
}
table.week{width:100%; border-collapse:collapse}
table.week th, table.week td{
  padding:8px; border-bottom:1px solid #3a342f; text-align:left; font-size:14px
}
table.week th{color:#b7aea3; font-weight:600}
