/* Private lesson hours (public/staff/private-hours.js): the staff page and
   the Owner's staff record. Self-contained so it looks the same in both. */
.ph { display: flex; flex-direction: column; gap: 10px; }
.ph p { margin: 0; }
.ph-meta { color: var(--muted, #6b665c); font-size: 0.92rem; }
.ph-strong { font-weight: 700; }
.ph-sub { margin-top: 6px !important; font-weight: 700; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted, #6b665c); }
.ph-list { display: flex; flex-direction: column; }
.ph-day { display: flex; gap: 10px; align-items: flex-start; border-bottom: 1px solid #ece8de; padding: 8px 0; }
.ph-day-date { width: 110px; flex: none; font-weight: 700; padding-top: 2px; }
.ph-day-list { flex: 1; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ph-win { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; flex-wrap: wrap; }
.ph-win > span:first-child { display: flex; flex-direction: column; }
.ph-win.off strong { text-decoration: line-through; opacity: 0.6; }
.ph-clash { color: #7a5700; font-size: 0.9rem; font-weight: 600; }
.ph-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 0; border-bottom: 1px solid #ece8de; }
.ph-acts { display: inline-flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ph-btn { font: inherit; font-weight: 700; min-height: 40px; padding: 0 14px; border-radius: 10px; border: 1px solid #cfcabd; background: #fff; color: inherit; cursor: pointer; }
.ph-btn-primary { background: #f5c518; border-color: #f5c518; color: #151515; }
.ph-btn:disabled { opacity: 0.55; cursor: default; }
.ph-add-open { align-self: flex-start; }
.ph-link { background: none; border: none; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; padding: 4px; min-height: 36px; color: inherit; }
.ph-box { border: 1px solid #e6e1d6; border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 10px; background: #fbfaf7; }
.ph-kind { display: flex; gap: 8px; flex-wrap: wrap; }
.ph-pill { font: inherit; font-weight: 700; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid #cfcabd; background: #fff; color: inherit; cursor: pointer; }
.ph-pill.on { background: #151515; border-color: #151515; color: #fff; }
.ph-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.ph-grid label { display: flex; flex-direction: column; gap: 4px; font-weight: 600; }
.ph-input { font: inherit; font-weight: 400; padding: 10px 12px; border: 1px solid #e6e1d6; border-radius: 10px; background: #fff; color: inherit; width: 100%; box-sizing: border-box; min-height: 44px; }
.ph-input:focus { outline: 3px solid #f5c518; outline-offset: 1px; }
.ph-warn { background: #fff8e0; border: 1px solid #ecd27a; border-radius: 10px; padding: 10px 12px; }
.ph-warn p { margin: 4px 0 0 !important; }
.ph-err { color: #b3261e; font-weight: 600; }
.ph-err:empty { display: none; }
.ph-foot { display: flex; justify-content: flex-end; gap: 10px; align-items: center; }
