/* Employee records use the shared Rad Place palette with Frappe-style records and sections. */
.employee-kicker{display:block;margin-bottom:8px;color:var(--teal);font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.employee-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 29px}.employee-heading h1{font-size:34px;margin-bottom:8px}.employee-heading p{margin:0;color:var(--muted);font-size:13px}.employee-status{display:inline-flex;align-items:center;align-self:flex-start;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:600;white-space:nowrap}.employee-status.complete{color:#087168;background:#e9f6f2}.employee-status.pending{color:#9a5b0e;background:#fff2db}.employee-record-layout{display:grid;grid-template-columns:190px minmax(0,820px);align-items:start;gap:25px}.employee-profile-summary,.employee-section-card,.employee-admin-section,.employee-issued-code{background:#fff;border:1px solid var(--line);border-radius:10px}.employee-profile-summary{position:sticky;top:25px;padding:25px 20px;text-align:center}.employee-profile-summary strong,.employee-profile-summary small{display:block}.employee-profile-summary strong{margin-top:13px;font-size:14px}.employee-profile-summary small{color:var(--muted);font-size:11px;margin-top:3px}.employee-photo-frame{width:76px;height:76px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#e8f4f5;color:var(--teal);font-size:26px;font-weight:650;border:4px solid #f1f7f7}.employee-photo-frame img{width:100%;height:100%;object-fit:cover}.employee-photo-frame.large{width:78px;height:78px;flex:none}.employee-photo-upload{display:flex;flex-direction:column;gap:7px;margin-top:23px;padding-top:18px;border-top:1px solid var(--line);text-align:left}.employee-photo-upload label{color:var(--teal);cursor:pointer;font-size:12px;text-align:center}.employee-photo-upload input{position:absolute;width:1px;height:1px;opacity:0}.employee-photo-upload small{font-size:10px;line-height:1.45;text-align:center}.employee-record-form{display:flex;flex-direction:column;gap:18px}.employee-section-card,.employee-admin-section{padding:26px}.employee-section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}.employee-section-heading h2{margin:0 0 4px;font-size:16px}.employee-section-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.employee-section-number{display:inline-flex;justify-content:center;align-items:center;min-width:34px;height:23px;padding:0 8px;border-radius:5px;color:var(--teal);background:#e9f6f7;font-size:10px;font-weight:650}.employee-section-number.optional{color:#77717f;background:#f0f1f5}.employee-field.has-error input{border-color:#c64768}.employee-error{color:#a42e4d!important}.employee-check{margin-top:17px;color:#635c6d;font-size:12px;font-weight:500}.employee-check input{margin-right:7px}.employee-form-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:3px 0 8px}.employee-primary{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:6px;padding:10px 14px;font-size:12px;font-weight:600;min-height:40px}.employee-primary:hover{background:#066d7d}.employee-primary .icon{width:15px}.employee-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:950px}.employee-request-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.employee-request-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.employee-request-row>div{flex:1;min-width:0}.employee-request-row strong,.employee-request-row small{display:block}.employee-request-row strong{font-size:12px}.employee-request-row small{color:var(--muted);font-size:11px;margin-top:3px}.employee-empty{font-size:12px;color:var(--muted);margin:0}.employee-admin-heading{margin-bottom:19px}.employee-search{display:flex;align-items:center;gap:9px;max-width:450px;margin:0 0 23px;padding:5px 8px 5px 13px;background:#fff;border:1px solid var(--line);border-radius:7px;color:#8d8795}.employee-search input{border:0;min-height:31px;padding:5px;box-shadow:none}.employee-search .icon{width:16px}.employee-list-name{display:flex;align-items:center;gap:10px;color:inherit}.employee-list-name:hover{text-decoration:none;color:var(--teal)}.employee-list-avatar{width:29px;height:29px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e8f4f5;color:var(--teal);font-size:11px;font-weight:650}.employee-list-avatar img{width:100%;height:100%;object-fit:cover}.employee-admin-record{display:flex;align-items:center;gap:17px;margin:0 0 26px}.employee-admin-record h1{margin-bottom:4px}.employee-admin-record p{margin:0;color:var(--muted);font-size:12px}.employee-admin-record .employee-status{margin-left:auto}.employee-issued-code{margin-bottom:27px;padding:23px 26px;background:#fff8eb;border-color:#f0d8ae}.employee-issued-code h2{font-size:16px;margin-bottom:8px}.employee-issued-code output{display:block;letter-spacing:.12em;font-size:22px;font-weight:700;color:var(--orange-dark);margin:14px 0}.employee-issued-code p{margin:0;color:#80683e;font-size:11px}.employee-admin-section{margin-bottom:22px;max-width:1000px}.employee-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px 28px;margin:0}.employee-detail-grid dt{color:var(--muted);font-size:10px;margin-bottom:4px}.employee-detail-grid dd{margin:0;font-size:12px;overflow-wrap:anywhere}.employee-review-actions{display:flex;gap:9px;align-items:center}.employee-review-actions .text-button{font-size:11px}
@media(max-width:720px){.employee-heading{flex-direction:column;margin-bottom:22px}.employee-heading h1{font-size:28px}.employee-record-layout{grid-template-columns:1fr}.employee-profile-summary{position:static;display:grid;grid-template-columns:76px 1fr;gap:0 16px;text-align:left;align-items:center}.employee-profile-summary .employee-photo-frame{grid-row:span 2}.employee-profile-summary strong{margin:0}.employee-profile-summary small{margin:3px 0}.employee-photo-upload{grid-column:1/-1;text-align:center}.employee-section-card,.employee-admin-section{padding:21px}.employee-form-actions{flex-wrap:wrap;justify-content:stretch}.employee-form-actions>*{flex:1}.employee-access-grid{grid-template-columns:1fr}.employee-admin-record{align-items:flex-start;flex-wrap:wrap}.employee-admin-record .employee-status{margin-left:0}.employee-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-request-row{flex-wrap:wrap}.employee-request-row>div{min-width:60%}.employee-review-actions{margin-left:auto}}

/* Profile setup keeps required work visible and lets optional contact details stay out of the way. */
.employee-onboarding-progress{display:flex;align-items:center;gap:8px;margin:0 0 20px;padding:10px 13px;border:1px solid #cfe8e9;border-radius:8px;background:#f4fbfb;color:#477277;font-size:11px}.employee-onboarding-progress span{display:inline-flex;align-items:center;gap:5px}.employee-onboarding-progress b{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--teal);color:#fff;font-size:10px}.employee-onboarding-progress small{margin-left:auto;color:#6e707e;font-size:10px}.employee-optional-section{padding:0}.employee-optional-section summary{display:flex;align-items:flex-start;gap:13px;padding:26px;cursor:pointer;list-style:none}.employee-optional-section summary::-webkit-details-marker{display:none}.employee-optional-section summary::after{content:'+';margin-left:auto;color:var(--teal);font-size:21px;line-height:20px}.employee-optional-section[open] summary{padding-bottom:20px}.employee-optional-section[open] summary::after{content:'-'} .employee-optional-section summary strong,.employee-optional-section summary small{display:block}.employee-optional-section summary strong{font-size:16px}.employee-optional-section summary small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.55}.employee-optional-section .field-grid{padding:0 26px 26px}
.employee-check{display:flex;align-items:center;gap:10px;min-height:44px;width:max-content;max-width:100%;margin-top:14px;padding:7px 0;cursor:pointer}.employee-check input{width:20px;height:20px;min-width:20px;margin:0}
@media(max-width:720px){.employee-onboarding-progress{position:sticky;top:8px;z-index:12;box-shadow:0 5px 14px #211d2612}.employee-onboarding-progress small{display:none}.employee-form-actions{position:sticky;bottom:0;z-index:11;margin:0 -2px -8px;padding:12px 2px calc(12px + env(safe-area-inset-bottom));background:var(--canvas);border-top:1px solid var(--line)}.employee-optional-section summary{padding:21px}.employee-optional-section .field-grid{padding:0 21px 21px}}
@media(max-width:390px){.employee-onboarding-progress{gap:5px;padding:9px}.employee-onboarding-progress span{font-size:10px}.employee-onboarding-progress b{width:17px;height:17px}}

/* Photo editing is a focused, local step that never submits the employee record form. */
.employee-photo-upload{position:relative}.employee-photo-upload .text-button{align-self:center;min-height:36px}.employee-photo-status{min-height:17px;margin:0;color:var(--teal);font-size:11px;line-height:1.45;text-align:center}.employee-photo-dialog{width:min(680px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;box-shadow:0 22px 70px #211d2673}.employee-photo-dialog::backdrop{background:#211d267a}.employee-photo-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 14px}.employee-photo-dialog-head h2{margin:0 0 3px;font-size:18px}.employee-photo-dialog-head p{margin:0;color:var(--muted);font-size:12px}.employee-crop-stage{height:min(54vh,430px);min-height:260px;background:#eef0f3}.employee-crop-stage img{display:block;max-width:100%;max-height:100%}.employee-crop-controls{display:grid;grid-template-columns:auto 1fr;gap:12px 15px;align-items:center;padding:17px 22px 8px}.employee-crop-controls label{margin:0;font-size:12px}.employee-crop-controls input{padding:0;min-height:24px}.employee-crop-controls>div{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}.employee-crop-controls .button{min-height:36px}.employee-photo-dialog-error{min-height:20px;margin:0;padding:4px 22px;color:#a42e4d;font-size:12px}.employee-photo-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 22px 22px}.employee-photo-dialog footer .button,.employee-photo-dialog footer .employee-primary{min-width:110px}@media(max-width:720px){.employee-photo-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.employee-photo-dialog-head{padding:17px 17px 12px}.employee-crop-stage{height:48vh;min-height:230px}.employee-crop-controls{padding:15px 17px 7px}.employee-photo-dialog-error{padding:4px 17px}.employee-photo-dialog footer{padding:10px 17px 17px}.employee-photo-dialog footer .button,.employee-photo-dialog footer .employee-primary{flex:1;min-width:0}}

/* Staff money dashboard: a calm ledger surface with clear estimate and payout states. */
.staff-money-heading{align-items:flex-start;margin-bottom:22px}.staff-money-heading h1{font-size:38px;margin-bottom:7px}.staff-money-period-chip{display:inline-flex;align-items:center;min-height:32px;padding:7px 11px;border:1px solid #d5e7e8;border-radius:6px;background:#f4fbfb;color:#34737a;font-size:11px;font-weight:600}.staff-money-test-notice{display:flex;align-items:flex-start;gap:11px;padding:13px 16px;margin-bottom:23px;background:#fff4e3;border-color:#f1d4a5;color:#81521b}.staff-money-test-notice>.icon{width:18px;height:18px;color:#b56b18;margin-top:1px}.staff-money-test-notice strong{display:block;font-size:12px}.staff-money-test-notice p{margin:2px 0 0;color:#865e2d;font-size:11px}.staff-money-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}.staff-money-card{min-height:137px;padding:18px 19px 16px;background:#fff;border:1px solid var(--line);border-radius:9px}.staff-money-card-estimate{border-top:3px solid var(--orange);padding-top:16px}.staff-money-card-label{display:flex;align-items:baseline;gap:7px;min-height:31px;color:#77717f;font-size:11px;line-height:1.35}.staff-money-card-label em{font-style:normal;color:#b26619;background:#fff2dc;padding:3px 5px;border-radius:4px;font-size:9px;font-weight:650}.staff-money-value{display:block;margin:7px 0 4px;color:var(--ink);font-size:27px;line-height:1.1;letter-spacing:-.6px;font-weight:620;overflow-wrap:anywhere}.staff-money-hours{font-size:29px}.staff-money-date{font-size:21px;letter-spacing:-.3px}.staff-money-value-muted{color:#938c9b;font-size:18px;letter-spacing:-.2px}.staff-money-card small{display:block;color:#918998;font-size:10px;line-height:1.4}.staff-money-columns{display:grid;grid-template-columns:1.12fr .88fr;gap:18px;margin-bottom:22px}.staff-money-panel{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.staff-money-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 23px 17px;border-bottom:1px solid #efeff3}.staff-money-panel-heading .employee-kicker{margin-bottom:5px;font-size:10px}.staff-money-panel-heading h2{margin:0 0 4px;font-size:17px}.staff-money-panel-heading p{margin:0;color:#898290;font-size:11px;line-height:1.45}.staff-money-period-mark{flex:none;padding:5px 7px;border-radius:4px;background:#f1f2f5;color:#7e7887;font-size:10px;font-weight:650}.staff-money-panel-icon{width:21px;height:21px;flex:none;color:var(--teal);margin-top:8px}.staff-money-period-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 18px;padding:23px}.staff-money-period-stats>div{display:flex;flex-direction:column;gap:5px}.staff-money-period-stats span{color:#87808e;font-size:10px}.staff-money-period-stats strong{color:#383440;font-size:22px;line-height:1.1;font-weight:600;letter-spacing:-.4px}.staff-money-period-stats strong small{display:inline;font-size:10px;color:#8c8494;font-weight:450;letter-spacing:0}.staff-money-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 23px;border-top:1px solid #efeff3;background:#fcfcfd}.staff-money-panel-footer p{margin:0;color:#898290;font-size:10px;line-height:1.5}.staff-money-review-link{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:11px;font-weight:600}.staff-money-review-link .icon{width:14px;height:14px}.staff-money-account-status{display:flex;align-items:flex-start;gap:11px;margin:22px 23px 19px;padding:13px 14px;border-radius:7px;background:#f4f5f7}.staff-money-account-status strong,.staff-money-account-status small{display:block}.staff-money-account-status strong{font-size:12px;font-weight:650}.staff-money-account-status small{margin-top:3px;color:#817a89;font-size:10px;line-height:1.45}.staff-money-status-dot{width:9px;height:9px;flex:none;margin-top:4px;border-radius:50%;background:#a8a3ae}.staff-money-account-status.is-ready{background:#edf8f5;color:#176f69}.staff-money-account-status.is-ready small{color:#527b77}.staff-money-account-status.is-ready .staff-money-status-dot{background:#159786}.staff-money-account-status.is-pending{background:#fff5e5;color:#925a16}.staff-money-account-status.is-pending small{color:#896e47}.staff-money-account-status.is-pending .staff-money-status-dot{background:#e2942f}.staff-money-account-status.is-action{background:#fff0f3;color:#a53050}.staff-money-account-status.is-action small{color:#936271}.staff-money-account-status.is-action .staff-money-status-dot{background:#c64768}.staff-money-account-actions{display:flex;flex-wrap:wrap;gap:9px;padding:0 23px}.staff-money-account-actions form{margin:0}.staff-money-account-actions .button{min-height:40px;font-size:11px}.staff-money-account-note{margin:18px 23px 22px;color:#898290;font-size:10px;line-height:1.6}.staff-money-history-panel{margin-bottom:0}.staff-money-history-list{display:flex;flex-direction:column}.staff-money-history-row{display:grid;grid-template-columns:1fr minmax(110px,.45fr) 105px;align-items:center;gap:18px;padding:16px 23px;border-bottom:1px solid #efeff3}.staff-money-history-row:last-child{border-bottom:0}.staff-money-history-date strong,.staff-money-history-date small{display:block}.staff-money-history-date strong{font-size:12px;font-weight:600}.staff-money-history-date small{margin-top:3px;color:#8e8795;font-size:10px}.staff-money-history-amount{text-align:right}.staff-money-history-amount strong{font-size:16px;font-weight:620}.staff-money-status{display:inline-flex;justify-content:center;align-items:center;justify-self:end;min-width:82px;padding:5px 7px;border-radius:4px;font-size:10px;font-weight:650}.staff-money-status.is-success{background:#e9f6f2;color:#087168}.staff-money-status.is-warning{background:#fff2db;color:#9a5b0e}.staff-money-status.is-neutral{background:#f0f1f5;color:#70727e}.staff-money-empty-state{display:flex;align-items:center;flex-direction:column;text-align:center;padding:35px 22px 39px}.staff-money-empty-icon{width:20px;height:20px;margin-bottom:11px;padding:10px;box-sizing:content-box;border-radius:50%;color:#85808d;background:#f2f3f6}.staff-money-empty-state h3{margin:0 0 5px;font-size:13px}.staff-money-empty-state p{max-width:330px;margin:0;color:#8b8493;font-size:11px;line-height:1.55}
@media(max-width:1050px){.staff-money-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-money-columns{grid-template-columns:1fr}}
@media(max-width:620px){.staff-money-heading{gap:14px;margin-bottom:21px}.staff-money-heading h1{font-size:31px}.staff-money-period-chip{align-self:flex-start;max-width:100%;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-money-test-notice{margin-bottom:19px;padding:12px 13px}.staff-money-summary{grid-template-columns:1fr;gap:10px;margin-bottom:19px}.staff-money-card{min-height:0;padding:16px 17px}.staff-money-card-label{min-height:0}.staff-money-value{margin-top:8px;font-size:26px}.staff-money-date{font-size:20px}.staff-money-columns{gap:13px;margin-bottom:18px}.staff-money-panel-heading{padding:18px 17px 15px}.staff-money-panel-heading h2{font-size:16px}.staff-money-period-stats{gap:19px 13px;padding:19px 17px}.staff-money-period-stats strong{font-size:20px}.staff-money-panel-footer{display:block;padding:15px 17px}.staff-money-panel-footer p{margin-bottom:11px}.staff-money-review-link{min-height:38px}.staff-money-account-status{margin:18px 17px 16px}.staff-money-account-actions{padding:0 17px;display:grid;grid-template-columns:1fr}.staff-money-account-actions .button{width:100%;min-height:45px}.staff-money-account-note{margin:16px 17px 19px}.staff-money-history-row{grid-template-columns:1fr auto;gap:8px 12px;padding:15px 17px}.staff-money-history-amount{grid-column:2;grid-row:1;text-align:right}.staff-money-history-date{grid-column:1;grid-row:1}.staff-money-status{grid-column:1/-1;grid-row:2;justify-self:start;min-height:31px;padding:6px 9px}.staff-money-empty-state{padding:29px 17px 32px}}
.staff-money-ytd{flex:none;text-align:right}.staff-money-ytd span,.staff-money-ytd strong{display:block}.staff-money-ytd span{color:#8b8493;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.staff-money-ytd strong{margin-top:4px;font-size:18px}.staff-money-disclaimer{margin:15px 2px 0;color:#8b8493;font-size:10px;line-height:1.55}
@media(max-width:620px){.staff-money-ytd{text-align:left}.staff-money-disclaimer{margin-bottom:2px}}
@media(prefers-reduced-motion:reduce){.staff-money-panel,.staff-money-card{scroll-behavior:auto}}

.staff-overview-money{margin-top:34px}.staff-overview-money-heading{margin-bottom:22px}.staff-overview-money-heading h2{font-size:clamp(1.75rem,3vw,2.35rem);margin:3px 0 4px}.staff-banking-focus{max-width:760px}.staff-banking-heading{gap:24px}
@media(max-width:620px){.staff-overview-money{margin-top:26px}.staff-banking-heading{align-items:flex-start;flex-direction:column}.staff-banking-focus{padding:22px 18px}}

/* ==== Portal density P5/P8 (2026-09-25): Employees (admin), Staff access, staff profile and onboarding,
   signed-in sessions, banking, payment receipt. Only new emp- classes and emp-scoped overrides: the older
   employee-/staff-money- rules above still serve Add time and the Today money overview (P7) unchanged.
   Tokens and .rp- components come from the admin.css foundation. ==== */
.emp-head{max-width:900px;margin-bottom:var(--rp-s4)}
.emp-head>.rp-chip{align-self:flex-start;margin-top:3px}
.emp-section{max-width:900px;margin:0 0 var(--rp-s5)}
.emp-section>.rp-section-title{flex-wrap:wrap;justify-content:flex-start;gap:2px var(--rp-s3);margin-top:0}
.emp-title-row{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:2px var(--rp-s3)}
.emp-title-row>h2{margin:0;font:inherit;color:inherit;letter-spacing:inherit}
.emp-panel-title{gap:var(--rp-s2);margin:0 0 var(--rp-s1)}
.emp-panel-title>h2{font-size:var(--rp-h2);font-weight:650;color:var(--rp-text)}
.emp-actions>.emp-cancel{order:-1}
.emp-section>.rp-section-title .rp-meta{font-weight:400;letter-spacing:0}
.emp-section-hint{margin:calc(-1 * var(--rp-s1)) 0 var(--rp-s2)}
.emp-panel{max-width:900px}
.emp-panel>h2{display:flex;align-items:center;flex-wrap:wrap;gap:var(--rp-s2);margin:0 0 var(--rp-s1);font-size:var(--rp-h2)}
.emp-panel-text{margin:0 0 var(--rp-s3);font-size:var(--rp-t2);line-height:1.45;color:var(--rp-text-2)}
.emp-panel-text.rp-hint{color:var(--rp-text-3)}
.emp-foot{margin:var(--rp-s3) 0 0}
.emp-panel output{display:inline-block;margin:var(--rp-s1) 0}
.emp-panel p{margin:0 0 var(--rp-s2);font-size:var(--rp-t2)}
label.emp-field{margin:0;font-size:var(--rp-t3);font-weight:600;color:var(--rp-text-2)}
.emp-inline-form{margin:0}
.emp-inline-form>.rp-span:empty{display:none}
.emp-check{font-size:var(--rp-t2);font-weight:500;color:var(--rp-text-2)}
.emp-check input{margin:0 8px 0 0}
.emp-actions{margin-top:var(--rp-s3)}
/* Employees list */
.emp-search{display:flex;align-items:center;gap:6px;max-width:420px;height:var(--rp-ctl);margin:0 0 var(--rp-s3);padding:0 3px 0 10px;background:#fff;border:var(--rp-hair);border-radius:var(--rp-radius);color:var(--rp-text-3)}
.emp-search:focus-within{outline:2px solid var(--rp-accent);outline-offset:1px}
.emp-search .icon{flex:none;width:15px;height:15px}
.emp-search input{flex:1;min-width:0;height:100%;min-height:0;padding:0 4px;border:0;box-shadow:none;background:transparent;font-size:var(--rp-field-font)}
.emp-search input:focus{outline:none}
.emp-table .employee-list-avatar{flex:none;width:24px;height:24px;font-size:.6875rem}
.emp-name.employee-list-name{gap:var(--rp-s2);min-width:0}
.emp-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.emp-table form{margin:0}
.emp-table td.rp-end,.emp-table th:last-child{text-align:right}
.emp-table td.emp-date{text-align:left}
.emp-table .empty-inline{color:var(--rp-text-3)}
/* Employee record */
.emp-record-id{display:flex;align-items:center;gap:var(--rp-s3);min-width:0}
.emp-avatar.employee-photo-frame{flex:none;width:44px;height:44px;border-width:0;font-size:1.125rem}
.emp-record-head h1{overflow-wrap:anywhere}
.emp-code.employee-issued-code{max-width:900px;margin:0 0 var(--rp-s4);padding:10px 14px;border-radius:var(--rp-radius)}
.emp-code.employee-issued-code h2{margin:0;font-size:var(--rp-h2)}
.emp-code.employee-issued-code output{margin:var(--rp-s2) 0;font-size:1.25rem}
.emp-code.employee-issued-code p{font-size:var(--rp-t3)}
.emp-tabs{max-width:900px}
.rp-dl.emp-dl{grid-template-columns:minmax(96px,128px) minmax(0,1fr) minmax(96px,128px) minmax(0,1fr);gap:6px var(--rp-s4);padding:10px 14px;background:#fff;border:var(--rp-hair);border-radius:var(--rp-radius)}
.emp-dl>div{display:contents}
.emp-form.rp-panel{max-width:900px;padding:12px 14px;gap:0}
.emp-form .rp-form-grid{gap:var(--rp-s3) var(--rp-s5)}
.emp-form-actions{justify-content:flex-end;margin-top:var(--rp-s3)}
.emp-requests .rp-row{flex-wrap:wrap}
.emp-requests .employee-review-actions{gap:14px}
.emp-requests .rp-row-trail{gap:14px;flex-wrap:wrap}
.emp-danger-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--rp-s3) var(--rp-s5);padding:10px 14px;background:#fff;border:var(--rp-hair);border-radius:var(--rp-radius)}
.emp-danger-row h2{margin:0;font-size:var(--rp-h2)}
.emp-danger-row p{margin:2px 0 0;font-size:var(--rp-t2);color:var(--rp-text-3)}
/* Delete */
.emp-delete{max-width:48rem;padding:14px 16px;font-size:var(--rp-t1);line-height:1.5}
.emp-delete>p{margin:0 0 var(--rp-s3)}
.emp-delete-list{margin:0 0 var(--rp-s3);padding-left:18px;font-size:var(--rp-t2);color:var(--rp-text-2)}
.emp-delete-list li{margin:2px 0}
.emp-delete-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--rp-s3);margin-top:var(--rp-s3)}
/* Staff profile and onboarding */
.emp-steps.employee-onboarding-progress{gap:var(--rp-s4);margin:0 0 var(--rp-s3);padding:6px 10px;border:0;border-radius:var(--rp-radius);background:var(--rp-accent-bg);color:var(--rp-info-text);font-size:var(--rp-t3);font-weight:600}
.emp-steps.employee-onboarding-progress span{font-size:var(--rp-t3)}
.emp-steps.employee-onboarding-progress b{width:18px;height:18px;font-size:var(--rp-t4)}
.emp-steps.employee-onboarding-progress small{font-size:var(--rp-t3);font-weight:500;color:var(--rp-text-3)}
.emp-record.employee-record-layout{display:block;max-width:900px}
.emp-me.employee-profile-summary{position:static;display:flex;align-items:center;flex-wrap:wrap;gap:var(--rp-s2) var(--rp-s4);margin:0;padding:0 0 var(--rp-s4);background:transparent;border:0;border-radius:0;text-align:left}
.emp-me.employee-profile-summary .employee-photo-frame{flex:none;grid-row:auto;width:52px;height:52px;border-width:0;font-size:1.25rem}
.emp-me-name{flex:0 1 auto;min-width:0}
.emp-me.employee-profile-summary .emp-me-name strong{margin:0;font-size:var(--rp-t1)}
.emp-me.employee-profile-summary .emp-me-name small{margin:1px 0 0;font-size:var(--rp-t3);color:var(--rp-text-3)}
.emp-me .employee-photo-upload{flex:1 1 240px;gap:4px;margin:0;padding:0;border:0;text-align:left}
.emp-me .employee-photo-upload label{position:relative;display:inline-flex;align-items:center;align-self:flex-start;height:var(--rp-ctl-sm);padding:0 10px;border:1px solid var(--rp-border-2);border-radius:var(--rp-radius);background:#fff;color:var(--rp-text);font-size:var(--rp-t2);font-weight:600;text-align:left}
.emp-me .employee-photo-upload label:hover{background:var(--rp-hover)}
.emp-me .employee-photo-upload input:focus-visible+.text-button,.emp-me .employee-photo-upload:focus-within label{outline:2px solid var(--rp-accent);outline-offset:2px}
.emp-me .employee-photo-upload .text-button{align-self:flex-start}
.emp-me .employee-photo-upload small{font-size:var(--rp-t3);line-height:1.4;text-align:left;color:var(--rp-text-3)}
.emp-me .employee-photo-status{min-height:0;text-align:left;font-size:var(--rp-t3)}
.emp-form.employee-record-form{gap:0}
.emp-sec.employee-section-card{padding:var(--rp-s4) 0;background:transparent;border:0;border-top:var(--rp-hair);border-radius:0}
.emp-sec .employee-section-heading{align-items:baseline;gap:var(--rp-s2);margin:0 0 var(--rp-s3)}
.emp-sec .employee-section-heading>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px var(--rp-s3);min-width:0}
.emp-sec .employee-section-heading h2{margin:0;font-size:var(--rp-h2)}
.emp-sec .employee-section-heading p{font-size:var(--rp-t3);line-height:1.4;color:var(--rp-text-3)}
.emp-sec .employee-section-number{flex:none;min-width:0;height:auto;padding:0;background:none;color:var(--rp-accent);font-size:var(--rp-t3);font-weight:650;font-variant-numeric:tabular-nums}
.emp-sec .employee-section-number.optional{background:none;color:var(--rp-text-3)}
.emp-sec .field-grid.rp-form-grid{gap:var(--rp-s3) var(--rp-s5)}
.emp-sec .employee-check{margin-top:var(--rp-s2);padding:0;min-height:32px;font-size:var(--rp-t2);color:var(--rp-text-2)}
.emp-sec.employee-optional-section{padding:0}
.emp-sec.employee-optional-section summary{align-items:baseline;gap:var(--rp-s2);min-height:44px;padding:var(--rp-s3) 0;box-sizing:border-box}
.emp-sec.employee-optional-section[open] summary{padding-bottom:var(--rp-s3)}
.emp-sec.employee-optional-section summary strong{display:inline;font-size:var(--rp-h2)}
.emp-sec.employee-optional-section summary small{display:inline;margin:0 0 0 var(--rp-s2);font-size:var(--rp-t3);color:var(--rp-text-3)}
.emp-sec.employee-optional-section summary::after{font-size:1.125rem;line-height:1}
.emp-sec.employee-optional-section .field-grid{padding:0 0 var(--rp-s4)}
.emp-sec .employee-zip-status{margin:var(--rp-s2) 0 0;font-size:var(--rp-t3);color:var(--rp-text-3)}
.emp-sec .employee-zip-status:empty{min-height:0;margin:0}
.emp-actions.employee-form-actions{gap:10px;margin-top:0;padding:var(--rp-s4) 0 var(--rp-s2);border-top:var(--rp-hair)}
.staff-portal .emp-actions button[type=submit]{min-height:0}
/* Banking (scoped: the same staff-money classes also draw the Today money overview) */
.emp-banking{max-width:760px}
.emp-banking .staff-money-test-notice{align-items:center;gap:var(--rp-s2);margin:0 0 var(--rp-s3);padding:6px 10px;border-radius:7px}
.emp-banking .staff-money-test-notice>.icon{width:16px;height:16px;margin:0}
.emp-banking .staff-money-test-notice strong{display:inline;font-size:var(--rp-t2)}
.emp-banking .staff-money-test-notice p{display:inline;margin:0 0 0 6px;font-size:var(--rp-t3)}
.emp-banking .staff-money-panel{margin:0 0 var(--rp-s4);border-color:var(--rp-border);border-radius:var(--rp-radius)}
.emp-banking .staff-banking-focus{max-width:none;padding:0}
.emp-banking .staff-money-panel-heading{gap:var(--rp-s3);padding:10px 14px;border-bottom:var(--rp-hair)}
.emp-banking .staff-money-panel-heading .employee-kicker{margin:0 0 2px;font-size:var(--rp-t3);letter-spacing:0;text-transform:none}
.emp-banking .staff-money-panel-heading h2{margin:0;font-size:var(--rp-h2)}
.emp-banking .staff-money-panel-heading p{margin:2px 0 0;font-size:var(--rp-t3);color:var(--rp-text-3)}
.emp-banking .staff-money-panel-icon{width:18px;height:18px;margin-top:2px}
.emp-banking .staff-money-account-status{gap:var(--rp-s2);margin:0;padding:8px 14px;border-radius:0}
.emp-banking .staff-money-account-status strong{font-size:var(--rp-t2)}
.emp-banking .staff-money-account-status small{margin-top:1px;font-size:var(--rp-t3)}
.emp-banking .staff-money-status-dot{width:8px;height:8px;margin-top:5px}
.emp-banking .staff-money-account-actions{gap:10px;padding:10px 14px 0}
.emp-banking .staff-money-account-actions .button{height:var(--rp-ctl);min-height:0;padding:0 12px;font-size:.8125rem}
.emp-banking .staff-money-account-note{margin:var(--rp-s2) 14px 10px;font-size:var(--rp-t3);color:var(--rp-text-3)}
.emp-banking .staff-money-ytd span{font-size:var(--rp-t3);letter-spacing:0;text-transform:none;color:var(--rp-text-3)}
.emp-banking .staff-money-ytd strong{margin-top:1px;font-size:var(--rp-h2)}
.emp-banking .staff-money-history-row{gap:4px var(--rp-s3);padding:8px 14px;border-bottom:var(--rp-hair)}
.emp-banking .staff-money-history-date strong{font-size:var(--rp-t1)}
.emp-banking .staff-money-history-date small,.emp-banking .staff-money-history-amount span,.emp-banking .staff-money-history-row small{font-size:var(--rp-t3);color:var(--rp-text-3)}
.emp-banking .staff-money-history-amount strong{font-size:var(--rp-t1)}
.emp-banking .staff-money-status{min-width:0;min-height:0;height:20px;padding:0 7px;border-radius:5px;font-size:.75rem}
.emp-banking .staff-money-empty-state{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px var(--rp-s2);padding:10px 14px;text-align:left}
.emp-banking .staff-money-empty-icon{display:none}
.emp-banking .staff-money-empty-state h2,.emp-banking .staff-money-empty-state h3{margin:0;font-size:var(--rp-t2)}
.emp-banking .staff-money-empty-state p{max-width:none;margin:0;font-size:var(--rp-t3);color:var(--rp-text-3)}
/* Receipt */
.emp-receipt{max-width:640px}
.emp-receipt h2{margin:0 0 var(--rp-s2);font-size:var(--rp-h2)}
.emp-receipt p{margin:0 0 var(--rp-s1);font-size:var(--rp-t2);color:var(--rp-text-2)}
@media(max-width:720px){
  .emp-actions.employee-form-actions{gap:var(--rp-s2);padding:8px 2px calc(8px + env(safe-area-inset-bottom))}
  .emp-actions.employee-form-actions>*{flex:1 1 auto}
  .emp-actions.employee-form-actions>.emp-primary{flex:2 1 auto}
  .emp-steps.employee-onboarding-progress{top:6px;box-shadow:none;border:var(--rp-hair)}
}
@media(max-width:620px){
  .emp-search{max-width:none;height:auto}
  .emp-search input{height:var(--rp-ctl-edge)}
  .emp-form .rp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rp-s3)}
  .emp-form .rp-form-grid>.rp-field:nth-child(-n+2){grid-column:1/-1}
  .emp-requests .rp-row-main{flex-basis:100%}
  .emp-requests .rp-row-trail{margin-left:0}
  .rp-dl.emp-dl{grid-template-columns:minmax(92px,112px) minmax(0,1fr);gap:4px var(--rp-s3)}
  .rp-dl.emp-dl dd{margin:0}
  .emp-danger-row{padding:10px 12px}
  .emp-delete{padding:12px}
  .emp-banking .staff-money-panel-heading,.emp-banking .staff-money-history-row{padding-left:12px;padding-right:12px}
  .emp-banking .staff-money-account-status{margin:0;padding:8px 12px}
  .emp-banking .staff-money-account-actions{padding:10px 12px 0}
  .emp-banking .staff-money-account-actions .button{height:var(--rp-ctl-edge)}
  .emp-banking .staff-money-account-note{margin:var(--rp-s2) 12px 10px}
  .emp-banking .staff-money-status{min-height:0;padding:0 7px}
  .emp-banking .staff-money-panel-heading{flex-wrap:wrap}
  .emp-banking .staff-money-ytd{display:flex;flex-basis:100%;align-items:baseline;gap:var(--rp-s2)}
  .emp-banking .staff-money-ytd strong{margin:0}
}
/* HIG: fields are 44px on touch and phones (16px text from --rp-field-font); the photo label grows its hit area. */
@media (pointer:coarse),(max-width:620px){
  .emp-form .rp-field input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.emp-form .rp-field select,
  .emp-inline-form .rp-field input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.emp-inline-form .rp-field select,
  .emp-ready .rp-field input{height:var(--rp-ctl-edge)}
  .emp-sec .employee-check{min-height:44px}
  .emp-delete-actions>:is(a,button){min-height:44px}
  .emp-me .employee-photo-upload label::after{content:'';position:absolute;left:50%;top:50%;width:max(100%,var(--rp-hit));height:max(100%,var(--rp-hit));transform:translate(-50%,-50%)}
}
