.reserve-badge{display:inline-block;margin-left:.35rem;padding:.1rem .45rem;border-radius:999px;background:#fff7d6;color:#8a5a00;border:1px solid #f3cf66;font-size:.7rem;font-weight:800}
.reserve-stop.inactive{opacity:1;background:#fffdf5;border-style:dashed;border-color:#e5c76b}
.reserve-stop.inactive .stop-top,.reserve-stop.inactive .times{opacity:.78}
.reserve-stop.active{border-color:#e5b83f;box-shadow:0 0 0 2px #fff4c2 inset}
.reserve-preview{display:grid;gap:.2rem;margin:.6rem 0;padding:.65rem .75rem;border-radius:10px;background:#eefbf3;border:1px solid #9ed7b3;font-size:.82rem}
.reserve-preview b{color:#176b3a}.reserve-preview span,.reserve-preview small{color:var(--muted)}
.reserve-preview.late{background:#fff4ed;border-color:#fdba74}.reserve-preview.late b{color:#b45309}
.reserve-preview.unavailable{background:#f8fafc;border-color:var(--line)}.reserve-preview.unavailable b{color:var(--ink)}
.reserve-toggle{display:flex}.reserve-toggle button{flex:1}
.reserve-setting{grid-column:1/-1;padding:.65rem .75rem;border:1px solid #f1cf71;border-radius:10px;background:#fffaf0}
.reserve-setting small{display:block;color:var(--muted);margin-top:.25rem}
.service-payment:has(input[name="service_fare_yen"]){grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){.service-payment:has(input[name="service_fare_yen"]){grid-template-columns:1fr 1fr}}
@media(max-width:480px){.service-payment:has(input[name="service_fare_yen"]){grid-template-columns:1fr}}
