.ps-nav{display:flex;gap:6px}
.ps-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ps-table th.ps-day{text-align:center}.ps-table th.ps-day small{display:block;font-size:10px;color:#b9aca0;margin-top:3px}
.ps-table th.ps-day.today{color:var(--ink);font-weight:650}
.ps-table td.ps-name{font-weight:600}.ps-table td.ps-name small{display:block;font-weight:400;font-size:10px;color:var(--muted);margin-top:3px}
.ps-table tr.ps-group td{background:var(--paper);font-size:11px;color:var(--muted);padding:8px 12px;letter-spacing:1px}
.ps-cell{text-align:center;padding:8px 4px;min-width:64px}
.ps-table .ps-cell input{width:56px;min-height:34px;padding:0 2px;font-size:14px;border:1px solid #e9e2da;border-radius:8px;text-align:center;background:#fff;color:var(--ink);font-variant-numeric:tabular-nums;outline:none}
.ps-cell input:focus{border-color:var(--ink)}
.ps-cell input::placeholder{color:#c4b8ac}
.ps-cell small{display:block;font-size:9px;color:#b9aca0;margin-top:4px}
.ps-cell span{font-variant-numeric:tabular-nums}
.ps-cell.set input,.ps-cell.off input{border-color:var(--ink);font-weight:650}
.ps-cell.rest,.ps-cell.off{background:#faf8f5}
.ps-cell.none small{color:#d0c5ba}
.ps-cell.edited input{border-color:var(--ink);border-width:2px;font-weight:650}
.ps-cell.edited small{color:var(--ink);font-weight:600}
.ps-cell.today{box-shadow:inset 0 2px 0 var(--ink)}
@media(max-width:760px){.ps-nav{width:100%}.ps-cell{min-width:56px}.ps-table .ps-cell input{width:48px;font-size:14px;padding:0 2px}}
.ps-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin:-6px 0 16px;border-radius:12px;font-size:12px;background:var(--paper)}
.ps-confirm span{flex:1;min-width:200px;color:var(--muted)}
.ps-confirm.todo{border:1px solid #f0e1cc;background:#fbf3e9}.ps-confirm.todo span{color:#a38356}
.ps-cell.bad input{border-color:#c0392b;color:#c0392b}.ps-cell.bad small{color:#c0392b}
.ps-confirm .chip{flex:none}
.ps-table td.ps-name,.ps-table thead th:first-child{position:sticky;left:0;z-index:1;background:var(--card)}
.ps-table tr.ps-group td{position:sticky;left:0}
.pp-bar-cell{min-width:160px}
.pp-bar{position:relative;height:8px;background:#f3eee8;border-radius:4px;overflow:visible}
.pp-bar i{display:block;height:100%;background:var(--ink);border-radius:4px}
.pp-bar b{position:absolute;top:-4px;width:2px;height:16px;background:var(--muted);transform:translateX(-1px)}
.pp-n{display:block;font-size:9px;color:#b9aca0;margin-top:3px;font-weight:400}
tr.pp-me td{font-weight:650;background:var(--paper)}
