/* display */
.op-hours-module .oph-table { width:100%; border-collapse:collapse; }
.op-hours-module .oph-table td { padding:.45rem .25rem; border-bottom:1px solid #f0f1f3;  vertical-align:top; }
.op-hours-module .oph-table tr:last-child td { border-bottom:0; }
.op-hours-module .oph-day { color:#475569; width:42%; }
.op-hours-module .oph-hours { text-align:right; color:#1f2937; }
.op-hours-module .oph-closed { color:#9ca3af; }
.op-hours-module .oph-today td { font-weight:600; }
.op-hours-module .oph-empty { padding:.75rem 0; font-size:.9rem; }
.op-hours-module .oph-status { margin-bottom:.5rem; }
.oph-badge { display:inline-block; padding:.15rem .6rem; border-radius:999px;  font-weight:600; }
.oph-open-badge { background:#dcfce7; color:#166534; }
.oph-closed-badge { background:#fee2e2; color:#991b1b; }

/* editor */
.oph-switch { display:flex; align-items:center; gap:.4rem;  cursor:pointer; user-select:none; }
.oph-editor .oph-day-row { display:flex; gap:1rem; padding:.6rem 0; border-bottom:1px solid #f0f1f3; }
.oph-editor .oph-day-row:last-child { border-bottom:0; }
.oph-day-name { width:90px; flex:0 0 90px; padding-top:.35rem; font-weight:600; color:#334155; }
.oph-day-body { flex:1 1 auto; }
.oph-mode { margin-bottom:.5rem; }
.oph-mode-btn { border:1px solid #d1d5db; background:#fff; color:#475569; }
.oph-mode-btn.active { background:#4f46e5; border-color:#4f46e5; color:#fff; }
.oph-range { display:flex; align-items:center; gap:.4rem; margin-bottom:.4rem; }
.oph-range .oph-open, .oph-range .oph-close { width:130px; }
.oph-range .oph-dash { color:#94a3b8; }
.oph-del-range { color:#ef4444; border:0; background:transparent; padding:.2rem .4rem; }
.oph-day-actions { display:flex; gap:1rem; }
.oph-day-actions .btn-link { text-decoration:none; padding:.1rem 0; }

/* the magic: ranges only show in "Open" mode â€” no JS needed */
.oph-day-row[data-mode='closed'] .oph-ranges,
.oph-day-row[data-mode='closed'] .oph-add-range,
.oph-day-row[data-mode='24'] .oph-ranges,
.oph-day-row[data-mode='24'] .oph-add-range { display:none; }

.oph-note-wrap { margin-top:.5rem; }
.op-hours-module .oph-note {  color:#64748b; font-style:italic; margin-top:.15rem; }


.op-hours-manager {  }
.op-hours-manager .oph-day-name { padding-top:.4rem; }
.oph-alert:empty { display:none; }


