diff --git a/core/templates/core/payroll_dashboard.html b/core/templates/core/payroll_dashboard.html index 3cb797e..9bc9e3c 100644 --- a/core/templates/core/payroll_dashboard.html +++ b/core/templates/core/payroll_dashboard.html @@ -29,17 +29,20 @@

Payroll Dashboard

- - - -
diff --git a/docs/design-tokens.md b/docs/design-tokens.md index 93508f2..faa92a7 100644 --- a/docs/design-tokens.md +++ b/docs/design-tokens.md @@ -33,6 +33,25 @@ Token definitions live in `static/css/custom.css`: - Dark theme: `:root { ... }` block around lines 85-91 - Light theme: `[data-theme="light"] { ... }` block around lines 149-155 +## Button-action tokens (payroll dashboard) + +Pastel soft-fill palette for the 4 action buttons at the top of +`/payroll/` (Worker Lookup / Batch Pay / Add Adjustment / Price +Overtime). Defined alongside the badge tokens in the same `:root` / +`[data-theme="light"]` blocks. + +| Token pair | Button | Dark BG | Dark FG | Light BG | Light FG | +|---|---|---|---|---|---| +| `--btn-action-lookup-bg/fg` | Worker Lookup | `#3e5c7b` | `#d7e5f2` | `#c7d9e8` | `#243b56` | +| `--btn-action-pay-bg/fg` | Batch Pay | `#7a4d1a` | `#fae0c3` | `#f5d6a8` | `#633e0e` | +| _reuses `--badge-bonus-*`_ | Add Adjustment | (see Bonus row above) | | | | +| _reuses `--badge-overtime-*`_ | Price Overtime | (see Overtime row above) | | | | + +The CSS classes are `.btn-action-soft` (shared shape) + one of +`.btn-action-lookup` / `.btn-action-pay` / `.btn-action-add` / +`.btn-action-price` (colour modifier). See the `.btn-action-soft` +block in `custom.css` for hover/active/focus behaviour. + ## Where each colour appears | Semantic | Used by | diff --git a/static/css/custom.css b/static/css/custom.css index cd09f9c..269b5c9 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -89,6 +89,15 @@ --badge-loan-rep-bg: #b48a1a; --badge-loan-rep-fg: #fef4d1; --badge-advance-bg: #3e5c7b; --badge-advance-fg: #d7e5f2; --badge-advance-rep-bg: #2f679a; --badge-advance-rep-fg: #d7e5f2; + + /* === PAYROLL DASHBOARD action-button tokens (dark theme) === + Soft-fill pastels for the 4 action buttons at the top of /payroll/ + (Worker Lookup / Batch Pay / Add Adjustment / Price Overtime). + Lookup + Pay introduce new tokens; Add + Price reuse the bonus + + overtime adjustment-badge tokens so the payroll page's action + row visually echoes the badges below it. */ + --btn-action-lookup-bg: #3e5c7b; --btn-action-lookup-fg: #d7e5f2; + --btn-action-pay-bg: #7a4d1a; --btn-action-pay-fg: #fae0c3; } /* === LIGHT MODE === */ @@ -153,6 +162,10 @@ --badge-loan-rep-bg: #f7d873; --badge-loan-rep-fg: #5a4418; --badge-advance-bg: #bccee0; --badge-advance-fg: #243b56; --badge-advance-rep-bg: #9ec1dd; --badge-advance-rep-fg: #1d3550; + + /* === PAYROLL DASHBOARD action-button tokens (light theme) === */ + --btn-action-lookup-bg: #c7d9e8; --btn-action-lookup-fg: #243b56; + --btn-action-pay-bg: #f5d6a8; --btn-action-pay-fg: #633e0e; } /* =================================================================== @@ -1954,6 +1967,48 @@ body, .card, .modal-content, .form-control, .form-select, color: var(--badge-advance-fg); } +/* =================================================================== + Payroll dashboard action buttons — pastel soft-fill (24 Apr 2026) + --------------------------------------------------------------- + Replaces the earlier mix of `btn-outline-info` / `btn-primary` / + `btn-outline-success` / `btn-outline-warning` at the top of /payroll/ + with a single uniform treatment: solid pastel fill, no border, + contrasting text in the same colour family. All four buttons now + look like siblings while each retains a colour hint of its role. + ================================================================= */ +.btn-action-soft { + display: inline-flex; + align-items: center; + gap: 0.4rem; + padding: 0.4rem 0.9rem; + font-size: 0.875rem; + font-weight: 500; + border: none; + border-radius: 0.5rem; + line-height: 1.25; + cursor: pointer; + /* `filter: brightness(...)` on hover is GPU-cheap and gives a + subtle lift without having to define 4×2 = 8 hover colours. */ + transition: filter 150ms ease, transform 80ms ease, box-shadow 150ms ease; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08); +} +.btn-action-soft:hover { filter: brightness(1.08); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.14); } +.btn-action-soft:active { transform: translateY(1px); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08); } +.btn-action-soft:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; } +.btn-action-soft:disabled { opacity: 0.55; cursor: not-allowed; filter: none; } +/* Icon sits inline with text; inherit colour so it always matches. */ +.btn-action-soft .fas { font-size: 0.85em; } + +/* --- Per-button colour modifiers. + Lookup + Pay use dedicated --btn-action-*-bg/fg tokens (new). + Add reuses --badge-bonus-* (green, "adding money" semantic). + Price reuses --badge-overtime-* (mauve, matches Overtime badge + on the Adjustments tab). --- */ +.btn-action-lookup { background: var(--btn-action-lookup-bg); color: var(--btn-action-lookup-fg); } +.btn-action-pay { background: var(--btn-action-pay-bg); color: var(--btn-action-pay-fg); } +.btn-action-add { background: var(--badge-bonus-bg); color: var(--badge-bonus-fg); } +.btn-action-price { background: var(--badge-overtime-bg); color: var(--badge-overtime-fg); } + /* --- Sticky filter bar (keeps filters visible as the table scrolls) --- */ .adjustments-filter-bar { position: sticky;