/* The weekly timings picker (public/js/scheduleEditor.js): day chips, time dropdowns, appointment length. */
.sch { display: grid; gap: .9rem; font-family: inherit; }
.sch-empty-text { margin: 0 0 .6rem; color: #5a6b80; font-size: .95rem; }
.sch-session { border: 1.5px solid #dfe7f0; border-radius: 16px; padding: .9rem 1rem; background: #fbfcfe; }
.sch-days { display: flex; flex-wrap: wrap; gap: .4rem; }
.sch-day { min-width: 3.1rem; padding: .5rem .7rem; border-radius: 999px; border: 1.5px solid #cfd9e6; background: #fff; color: #33475b; font-weight: 700; font-size: .92rem; cursor: pointer; transition: all .12s; }
.sch-day:hover { border-color: #0a8f9b; }
.sch-day.is-on { background: #0a8f9b; border-color: #0a8f9b; color: #fff; }
.sch-day:focus-visible, .sch-select:focus-visible, .sch-add:focus-visible, .sch-link:focus-visible { outline: 3px solid rgba(10, 143, 155, .35); outline-offset: 2px; }
.sch-quick { margin: .5rem 0 .2rem; font-size: .85rem; color: #8a97a8; }
.sch-link { background: none; border: 0; padding: 0; color: #076d77; font-weight: 700; font-size: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.sch-times { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .7rem; margin-top: .6rem; }
.sch-times label, .sch-len { display: block; margin: 0; }
.sch-times label span, .sch-len span { display: block; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: #667085; margin-bottom: .2rem; }
.sch-select { padding: .6rem .8rem; border: 1.5px solid #cfd9e6; border-radius: 12px; font-size: 1rem; font-weight: 600; color: #0b2239; background: #fff; min-width: 8.5rem; }
.sch-remove { margin-left: auto; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 0; background: #fdecea; color: #b42318; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.sch-add { justify-self: start; background: #fff; border: 1.5px dashed #9fc9cd; color: #076d77; border-radius: 12px; padding: .6rem 1rem; font-weight: 700; cursor: pointer; }
.sch-add small { color: #8a97a8; font-weight: 600; }
.sch-add--big { padding: .85rem 1.3rem; font-size: 1rem; }
.sch-add:hover { background: #e4f6f7; }
.sch-opts { display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; align-items: flex-end; padding-top: .3rem; }
.sch-book { display: flex; align-items: center; gap: .5rem; margin: 0; font-weight: 600; color: #0b2239; }
.sch-book input { width: 1.15rem; height: 1.15rem; accent-color: #0a8f9b; }
.sch-preview { background: #e4f6f7; border-radius: 14px; padding: .8rem 1rem; color: #0b2239; line-height: 1.55; }
.sch-preview strong { display: block; font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; color: #076d77; margin-bottom: .15rem; }
.sch-preview small { display: block; margin-top: .4rem; color: #476072; }
.sch-problem { margin: 0; padding: .6rem .8rem; border-radius: 12px; background: #fef3f2; border: 1px solid #fecdca; color: #b42318; font-size: .92rem; }
.sch-clear { justify-self: start; font-size: .85rem; color: #8a97a8; }
@media (max-width: 575.98px) { .sch-select { min-width: 7.2rem; } .sch-day { min-width: 2.7rem; padding: .45rem .5rem; } }
