/* Payroll page and owner time clock. Each shift state has a text label; color is never the only signal. */
:root{--pay-open:#2d7a50;--pay-open-bg:#e3f4ea;--pay-regular:#5d665f;--pay-regular-bg:#eef0ed;--pay-owner:#2a63a8;--pay-owner-bg:#e4eefb;--pay-manual:#6447a8;--pay-manual-bg:#efe9fb;--pay-edited:#8a6414;--pay-edited-bg:#fff2d6;--pay-long:#a8443a;--pay-long-bg:#fbe7e3}
[data-theme=dark]{--pay-open:#9fd8b4;--pay-open-bg:#1d3a2a;--pay-regular:#c3cdc6;--pay-regular-bg:#2a352f;--pay-owner:#a6c8f2;--pay-owner-bg:#1a2c42;--pay-manual:#c9b8f2;--pay-manual-bg:#2d2442;--pay-edited:#ecd38a;--pay-edited-bg:#433a20;--pay-long:#f0b3a8;--pay-long-bg:#4a2c27}
.team-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.owner-clock{border-radius:6px;padding:6px 10px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;border:1px solid}
.owner-clock.clock-in{background:var(--pay-open-bg);color:var(--pay-open);border-color:var(--pay-open)}
.owner-clock.clock-out{background:var(--pay-long-bg);color:var(--pay-long);border-color:var(--pay-long)}
.owner-clock:disabled{opacity:.55;cursor:progress}
.pay-stats{grid-template-columns:repeat(4,1fr)}
.pay-stat{border-top:3px solid var(--pay-regular)}.pay-stat-rate{border-top-color:var(--pay-owner)}.pay-stat-week{border-top-color:var(--pay-open)}.pay-stat-month{border-top-color:var(--pay-manual)}.pay-stat-period{border-top-color:var(--pay-edited)}
.pay-stat .stat-number small{display:inline;font-size:13px;color:var(--muted);margin-left:2px}
.pay-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:24px 0 14px}
.pay-period-nav{display:flex;align-items:center;gap:12px}.pay-period-nav strong{display:block;font-size:15px}.pay-period-nav small{font-size:11px;color:var(--muted)}.pay-period-nav .secondary{padding:8px 12px}
.pay-settings{background:white;border:1px solid var(--line);border-left:4px solid var(--pay-edited);border-radius:10px;padding:18px 20px;margin:22px 0 0}
.pay-settings-head h2{font-size:16px;margin:0 0 4px}.pay-settings-head p{font-size:12px;color:var(--muted);margin:0 0 14px}
.pay-schedule{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px}.pay-schedule label{font-size:11px;margin:0}.pay-schedule select,.pay-schedule input{margin-top:5px;min-width:200px}.pay-schedule .primary{margin-top:19px}
.pay-anchor small{display:block;max-width:260px;margin-top:5px;font-size:10px;color:var(--muted);line-height:1.4}.pay-anchor[hidden]{display:none}
.pay-preview{font-size:12px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line)}
[data-theme=dark] .pay-settings{background:#19261f}
.pay-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.pay-chip{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;padding:4px 8px;border-radius:999px;white-space:nowrap}
.pay-chip:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.pay-open{background:var(--pay-open-bg);color:var(--pay-open)}.pay-regular{background:var(--pay-regular-bg);color:var(--pay-regular)}.pay-owner{background:var(--pay-owner-bg);color:var(--pay-owner)}.pay-manual{background:var(--pay-manual-bg);color:var(--pay-manual)}.pay-edited{background:var(--pay-edited-bg);color:var(--pay-edited)}.pay-long{background:var(--pay-long-bg);color:var(--pay-long)}
.pay-summary,.pay-member{background:white;border:1px solid var(--line);border-radius:10px;overflow:auto;margin-bottom:18px}
.pay-summary table,.pay-shifts{width:100%;border-collapse:collapse;font-size:12px}
.pay-summary th,.pay-shifts th{text-align:left;font-size:9px;letter-spacing:1px;text-transform:uppercase;font-weight:500;color:var(--muted);padding:12px 16px;background:#fafbf7;white-space:nowrap}
.pay-summary td,.pay-shifts td{padding:12px 16px;border-top:1px solid var(--line);vertical-align:middle}
.pay-summary tfoot td{font-weight:700;background:#fafbf7}
.pay-summary small,.pay-shifts small{color:var(--muted);font-size:10px}
.pay-person{display:flex;align-items:center;gap:10px;text-align:left}.pay-person small{display:block;margin-top:3px}
.pay-jump{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}.pay-jump:hover strong,.pay-jump:focus-visible strong{text-decoration:underline;color:var(--green)}
.pay-member{scroll-margin-top:20px}.pay-member-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.pay-row td:first-child{border-left:4px solid var(--pay-regular)}
.pay-row-open td:first-child{border-left-color:var(--pay-open)}.pay-row-open{background:color-mix(in srgb,var(--pay-open-bg) 45%,transparent)}
.pay-row-long td:first-child{border-left-color:var(--pay-long)}.pay-row-long{background:color-mix(in srgb,var(--pay-long-bg) 45%,transparent)}
.pay-row-edited td:first-child{border-left-color:var(--pay-edited)}.pay-row-owner td:first-child{border-left-color:var(--pay-owner)}.pay-row-manual td:first-child{border-left-color:var(--pay-manual)}
.pay-chips{display:flex;flex-wrap:wrap;gap:5px}.pay-note{display:block;margin-top:5px;max-width:260px}.pay-was{display:block;text-decoration:line-through}
.pay-empty{padding:16px 18px;margin:0;font-size:12px;color:var(--muted)}
.pay-form-who{margin:0;font-size:13px}
[data-theme=dark] :is(.pay-summary,.pay-member){background:#19261f}[data-theme=dark] :is(.pay-summary th,.pay-shifts th,.pay-summary tfoot td){background:#16231b}
@media(max-width:900px){.pay-stats{grid-template-columns:repeat(2,1fr)}.pay-toolbar{align-items:stretch;flex-direction:column}}
@media(max-width:560px){.pay-stats{grid-template-columns:1fr}.pay-schedule select,.pay-schedule input{min-width:0;width:100%}.pay-schedule label{flex:1 1 100%}.pay-schedule .primary{margin-top:0;width:100%}}
