/* mod-scheduling.css — MODULE A (Scheduling) styles. All classes prefixed sched-. */

.sched-draft {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--amber-deep, #8a5a00);
  background: rgba(255, 180, 40, .14);
  border: 1px solid rgba(255, 180, 40, .5);
  border-radius: 6px;
  padding: .25rem .6rem;
  margin: .4rem 0 .8rem;
}

.sched-chip {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  padding: .18rem .55rem;
  border-radius: 999px;
  border: 1px solid var(--line, #d8d2c4);
  background: var(--surface, #fff);
  color: var(--ink, #222);
  white-space: nowrap;
}
.sched-chip.st-scheduled { background: #eef4ff; border-color: #b9cdf5; color: #274a9e; }
.sched-chip.st-requested { background: #f3ecff; border-color: #cbb8f0; color: #5b2fa6; }
.sched-chip.st-confirmed { background: #e9f7ef; border-color: #a9dcc0; color: #1e6b3c; }
.sched-chip.st-completed { background: #f0f0ee; border-color: #c9c9c4; color: #55554f; }
.sched-chip.st-no_show { background: #fdf0e6; border-color: #f0c297; color: #a05a12; }
.sched-chip.st-cancelled { background: #fbe9e9; border-color: #ecaaaa; color: #a02c2c; }
.sched-chip.st-open { background: #eef4ff; border-color: #b9cdf5; color: #274a9e; }
.sched-chip.st-done { background: #e9f7ef; border-color: #a9dcc0; color: #1e6b3c; }
.sched-chip.st-cleared { background: #f0f0ee; border-color: #c9c9c4; color: #77776f; }

.sched-filters .row { gap: .6rem; align-items: flex-end; }
.sched-filters label { font-size: .85rem; }

.sched-item { align-items: center; gap: .6rem; }

.sched-modal h2 { margin-top: 0; }
.sched-modal label { display: block; margin: .6rem 0; font-size: .9rem; }
.sched-modal input[type="text"],
.sched-modal input[type="date"],
.sched-modal input[type="time"],
.sched-modal input[type="tel"],
.sched-modal select,
.sched-modal textarea {
  width: 100%;
  margin-top: .25rem;
}
.sched-modal .row.wrap { gap: .6rem; }

.sched-pick { display: flex; flex-direction: column; gap: .3rem; margin: .3rem 0; }
.sched-pickrow {
  text-align: left;
  background: var(--surface, #fff);
  border: 1px solid var(--line, #d8d2c4);
  border-radius: 8px;
  padding: .5rem .7rem;
}
.sched-pickrow:hover { border-color: var(--teal, #2a7f7f); }
.sched-chosen { margin: .5rem 0; padding: .5rem .7rem; border: 1px dashed var(--teal, #2a7f7f); border-radius: 8px; }

.sched-slots { display: flex; flex-wrap: wrap; gap: .45rem; margin: .6rem 0; }
.sched-slot {
  border: 1px solid var(--line, #d8d2c4);
  background: var(--surface, #fff);
  border-radius: 8px;
  padding: .5rem .8rem;
  font-weight: 600;
}
.sched-slot.sel {
  background: var(--teal, #2a7f7f);
  border-color: var(--teal-dark, #1f5f5f);
  color: var(--on-accent, #fff);
}

.sched-actions { gap: .5rem; margin-top: .8rem; }

.sched-rems { list-style: none; margin: .4rem 0; padding: 0; display: flex; flex-direction: column; gap: .45rem; }
.sched-rems li { font-size: .88rem; }

.sched-linkrow {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
  border: 1px solid var(--line, #d8d2c4);
  border-radius: 8px;
  padding: .5rem .6rem;
  margin: .4rem 0;
}
.sched-linkrow input[readonly] { flex: 1 1 200px; font-size: .8rem; }

.sched-public { max-width: 560px; margin: 0 auto; padding: 1.2rem .9rem 3rem; }
.sched-public h1 { font-size: 1.5rem; margin-bottom: .2rem; }
.sched-public label { display: block; margin: .7rem 0; font-size: .95rem; }
.sched-public input[type="text"],
.sched-public input[type="tel"],
.sched-public input[type="date"],
.sched-public select,
.sched-public textarea { width: 100%; margin-top: .25rem; }
.sched-age {
  display: flex !important;
  align-items: flex-start;
  gap: .55rem;
  font-weight: 600;
  border: 1px solid var(--line, #d8d2c4);
  border-radius: 8px;
  padding: .7rem;
}
.sched-age input[type="checkbox"] { width: 1.3rem; height: 1.3rem; margin-top: .1rem; flex: none; }
.sched-done { text-align: center; padding: 2rem 1rem; }

.sched-modal .err, .sched-public .err { color: var(--red, #b3261e); font-size: .88rem; }
.hidden { display: none !important; }
