/* Staff shell shares admin tokens while keeping staff navigation independent. */
.staff-portal{--staff-rail:220px;font-size:15px}.staff-brandbar{position:fixed;inset:0 auto auto 0;width:var(--staff-rail);height:104px;padding:30px 23px;z-index:20;background:var(--charcoal)}.staff-brandbar .brand{font-size:17px}.staff-brandbar .brand small{font-size:11px}.staff-mobile-avatar{display:none}.staff-rail{position:fixed;inset:104px auto 0 0;width:var(--staff-rail);padding:20px 15px 26px;background:var(--charcoal);display:flex;flex-direction:column;color:#eee9f1}.staff-rail-greeting{font-size:14px;color:#c9bfce;margin:0 14px 32px;line-height:1.75}.staff-nav-link{display:flex;gap:13px;align-items:center;padding:13px 15px;margin:5px 0;color:#c8bfce;border-radius:6px;font-size:14px}.staff-nav-link:hover{background:#302a36;color:white;text-decoration:none}.staff-nav-link.active{color:#ffbc62;background:#39303a}.staff-rail-foot{margin:auto 13px 0;padding-top:40px;overflow-wrap:anywhere}.staff-rail-foot .avatar{background:#4d3d39;color:#ffbf81;margin-bottom:12px}.staff-rail-foot strong,.staff-rail-foot small{display:block}.staff-rail-foot strong{font-size:13px;font-weight:500}.staff-rail-foot small{font-size:11px;color:#aaa0b4;margin-top:3px}.staff-bottom-nav{display:none}.staff-main{margin-left:var(--staff-rail);max-width:1500px;min-width:0;padding:47px clamp(24px,4vw,64px) 64px}
.staff-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}.staff-heading h1{font-size:34px;letter-spacing:-1px;overflow-wrap:anywhere}.staff-heading p{color:var(--muted);font-size:14px;margin:0}.staff-heading .staff-date{color:var(--teal);font-size:12px;margin-bottom:12px}.staff-timezone{color:#77717f;font-size:11px;white-space:nowrap}.staff-today-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:stretch}.staff-clock-panel{background:white;border:1px solid #e2e3e9;border-top:4px solid var(--orange);border-radius:11px;padding:27px 30px 22px}.staff-clock-panel.clocked_in{border-top-color:var(--teal)}.staff-clock-panel.on_break{border-top-color:var(--raspberry)}.staff-clock-top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:26px;flex-wrap:wrap}.staff-status,.staff-location{display:inline-flex;gap:7px;align-items:center;font-size:12px}.staff-status{color:#8e571a;background:#fff4e3;padding:6px 9px;border-radius:5px}.clocked_in .staff-status{color:#096c72;background:#e9f6f4}.on_break .staff-status{color:#ab2c54;background:#fbedf2}.staff-status .icon,.staff-location .icon{width:15px;height:15px}.staff-location{color:#77717f}.staff-clock-panel h2{font-size:25px;font-weight:600;letter-spacing:-.6px}.staff-clock-panel>p{font-size:13px;color:var(--muted);max-width:370px;line-height:1.7;margin-bottom:23px}.staff-portal input:not([type=hidden]),.staff-portal select{min-height:47px;font-size:15px}.staff-portal button[type=submit],.staff-portal .button{min-height:45px;font-size:13px}.staff-clock-panel form{margin:0}.staff-clock-panel label{font-size:12px}.staff-clock-panel select{margin-bottom:17px}.staff-clock-panel button[type=submit]{width:100%;justify-content:space-between;padding:12px 17px}.staff-clock-foot{display:flex;align-items:flex-start;gap:7px;font-size:10px;color:#87818e;margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.staff-clock-foot .icon{width:14px;height:14px}
.staff-week-panel{padding:29px 28px;border:1px solid var(--line);background:#f0f3f5;border-radius:11px;display:flex;flex-direction:column}.staff-panel-title{display:flex;justify-content:space-between;align-items:center;color:#716b79}.staff-panel-title h2{color:var(--ink);font-size:15px;margin:0}.staff-week-panel>p{font-size:11px;color:#807987;margin-top:5px}.staff-hours-number{font-size:clamp(31px,3vw,44px);font-weight:600;line-height:1.2;letter-spacing:-1.2px;margin:18px 0 7px}.staff-hours-label{color:#77717f;font-size:12px}.staff-week-lines{margin:22px 0}.staff-week-lines>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #dfe3e8;font-size:12px}.staff-week-lines span{color:#76717e}.staff-week-lines strong{font-weight:550}.staff-inline-link{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:auto}.staff-inline-link .icon{width:16px}.staff-live{display:flex;flex-direction:column;margin:18px 0 25px}.staff-live strong{font-size:34px;line-height:1.2;margin-bottom:9px;font-weight:550;letter-spacing:-.8px}.staff-live span{color:#807887;font-size:11px}.staff-clock-actions{display:flex;flex-direction:column;gap:12px}.staff-clock-actions .staff-break-note{font-size:12px;color:var(--muted);margin:3px 0}.staff-section{margin-top:36px}.staff-section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:17px}.staff-section-heading h2{font-size:16px;margin-bottom:4px}.staff-section-heading p{font-size:12px;color:var(--muted);margin:0}.staff-section-heading>a{font-size:12px;white-space:nowrap}.staff-section-heading>a .icon{width:14px;margin-left:6px}
.staff-shift-list{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.staff-shift-row{display:grid;grid-template-columns:1fr 1.4fr .7fr;align-items:center;gap:18px;padding:20px 24px}.staff-shift-row+.staff-shift-row{border-top:1px solid var(--line)}.staff-shift-date,.staff-shift-time,.staff-shift-total{display:flex;flex-direction:column;gap:5px;min-width:0}.staff-shift-row strong{font-size:13px;font-weight:550}.staff-shift-date span,.staff-shift-time small,.staff-shift-total small{font-size:11px;color:#7c7586}.staff-shift-time>span{font-size:12px}.staff-shift-total{align-items:flex-end}.staff-shift-total .badge{font-size:10px}.staff-footnote{font-size:11px;color:#87808e;margin:15px 0}.staff-empty{padding:40px 24px;background:#fff;border:1px dashed #dad9e2;border-radius:8px;font-size:13px;color:#807887;text-align:center}.staff-hours-overview{border:1px solid var(--line);background:white;border-radius:10px;overflow:hidden}.staff-period{padding:23px 27px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.staff-period span{font-size:11px;color:#7f778a}.staff-period h2{font-size:16px;margin:4px 0 0}.staff-week-navigation{display:flex;gap:7px;align-items:center}.staff-week-navigation .button{min-height:39px;font-size:11px;padding:9px 11px}.staff-week-navigation .icon{width:15px;height:15px}.staff-previous{display:inline-flex;transform:rotate(180deg)}.staff-hours-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:27px;gap:25px}.staff-hours-stats>div{display:flex;flex-direction:column;gap:8px}.staff-hours-stats strong{font-weight:550;font-size:28px;letter-spacing:-.7px}.staff-hours-stats span{color:#7e7588;font-size:11px}.staff-day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:14px 20px;background:#fafbfc;border-top:1px solid var(--line)}.staff-day{display:flex;flex-direction:column;gap:8px;padding:9px 7px}.staff-day span{font-size:10px;color:#82798d}.staff-day strong{font-size:12px;font-weight:550}.staff-day small{color:var(--teal);font-size:9px}.staff-hours-help{display:flex;gap:10px;align-items:flex-start;margin-top:20px;max-width:650px;color:#827a8c}.staff-hours-help .icon{width:17px;height:17px}.staff-hours-help p{font-size:11px;line-height:1.7;margin:0}
.staff-app-list{background:white;border:1px solid var(--line);border-radius:10px}.staff-app-row{display:flex;align-items:center;gap:22px;padding:28px;color:var(--ink)}.staff-app-row:hover{background:#f0f6f7;text-decoration:none}.staff-app-row .icon-tile{margin:0}.staff-app-row h2{font-size:18px;margin-bottom:6px}.staff-app-row p{font-size:13px;margin:0;color:var(--muted)}.staff-app-open{margin-left:auto;white-space:nowrap;color:var(--teal);font-size:12px}.staff-app-open .icon{width:16px;margin-left:10px}.staff-app-future{margin:47px 0 0;max-width:400px}.staff-app-future h2{font-size:17px}.staff-app-future p{font-size:13px;color:#827b8b}.staff-account-panel{max-width:710px;background:white;border:1px solid var(--line);border-radius:10px;padding:29px}.staff-account-identity{display:flex;gap:18px;align-items:center}.staff-account-identity .avatar{margin:0}.staff-account-identity h2{font-size:19px;overflow-wrap:anywhere}.staff-account-identity p{color:#81788b;font-size:12px;margin:0}.staff-account-details{margin:28px 0;border-top:1px solid var(--line)}.staff-account-details>div{display:grid;grid-template-columns:130px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:17px 0;font-size:12px}.staff-account-details dt{color:#867c90}.staff-account-details dd{margin:0;overflow-wrap:anywhere}.staff-account-help{display:flex;gap:13px;padding:18px;background:#f2f7f8;border-radius:7px;color:#56797f;margin:22px 0}.staff-account-help p{font-size:12px;margin:0;line-height:1.7}.staff-account-panel form small{margin-top:12px;font-size:11px;max-width:420px}
.staff-hours-summary{display:flex;gap:48px;padding:24px 27px}.staff-hours-summary>div{display:flex;flex-direction:column;gap:7px}.staff-hours-summary span,.staff-history-week header span{font-size:11px;color:#7f778a}.staff-hours-summary strong{font-size:28px;font-weight:550}.staff-history{display:flex;flex-direction:column;gap:24px}.staff-history-week>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:10px;padding:0 3px}.staff-history-week h3{font-size:15px;margin:3px 0 0}.staff-history-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.staff-history-total strong{font-size:17px;font-weight:550}.staff-shift-saved{background:#eaf7f2;box-shadow:inset 4px 0 var(--teal);scroll-margin-top:24px;outline:none}.staff-history-more{margin-top:20px}
.staff-connect .staff-brandbar{position:static;width:100%;background:white;height:98px;border-bottom:1px solid var(--line);padding:29px 40px}.staff-connect .brand{color:var(--ink)}.staff-connect .brand small{color:#81788b}.staff-connect .staff-main{margin-left:0;max-width:none;padding:0}.staff-login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 98px);background:white}.staff-login-form{max-width:455px;padding:50px 34px;margin:auto}.staff-login-form h1{font-size:36px;letter-spacing:-1.2px}.staff-login-form .staff-lead{font-size:14px;color:#7f748a;line-height:1.75;margin-bottom:29px}.staff-login-form label{font-size:13px}.staff-login-form input{letter-spacing:.5px}.staff-login-form small{font-size:11px;line-height:1.7;margin-top:9px}.staff-login-form button[type=submit]{min-height:48px;width:100%;justify-content:space-between}.staff-login-note{display:flex;gap:10px;color:#887c92;margin-top:29px;padding-top:24px;border-top:1px solid var(--line)}.staff-login-note .icon{width:17px;height:17px}.staff-login-note p{font-size:11px;line-height:1.8;margin:0}.staff-login-art{background:#211d26;display:flex;align-items:center;justify-content:center;overflow:hidden}.staff-login-art img{display:block;width:100%;max-height:calc(100vh - 98px);object-fit:contain}.staff-access-link{display:inline-flex;align-items:center;gap:9px;overflow-wrap:anywhere}
@media(max-width:1100px){.staff-portal{--staff-rail:190px}.staff-brandbar{padding:29px 16px}.staff-brandbar .brand{font-size:15px;gap:9px}.staff-today-grid{grid-template-columns:1.2fr 1fr;gap:18px}.staff-clock-panel,.staff-week-panel{padding:23px}.staff-main{padding:36px 27px 55px}.staff-heading{align-items:flex-start;flex-direction:column;gap:10px}.staff-day-strip{padding:12px}.staff-day span{font-size:9px}}
@media(max-width:820px){.staff-today-grid{grid-template-columns:1fr}.staff-week-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.staff-week-panel>p,.staff-panel-title{grid-column:1/-1}.staff-hours-number{grid-column:1;font-size:34px}.staff-hours-label{grid-column:1}.staff-week-lines{grid-column:2;grid-row:3/5;margin:7px 0 20px}.staff-inline-link{grid-column:1/-1;padding-top:22px}.staff-period{flex-direction:column;align-items:flex-start;gap:17px}.staff-hours-stats{gap:12px;padding:23px}.staff-hours-stats strong{font-size:23px}.staff-day-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.staff-shift-row{grid-template-columns:1fr auto;gap:8px}.staff-shift-time{grid-column:1;grid-row:2}.staff-shift-total{grid-column:2;grid-row:1/3}}
@media(max-width:620px){.staff-brandbar{position:static;width:100%;height:82px;padding:22px;display:flex;align-items:center;justify-content:space-between}.staff-brandbar .brand{font-size:16px}.staff-brandbar .brand small{font-size:10px}.staff-mobile-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:#ffc47e;background:#493b3b;border-radius:50%;font-size:12px}.staff-rail{display:none}.staff-main{margin-left:0;padding:28px 18px calc(106px + env(safe-area-inset-bottom))}.staff-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;z-index:25;border-top:1px solid #e2e1e7;padding-bottom:env(safe-area-inset-bottom)}.staff-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;color:#84798e;min-height:67px;text-decoration:none;border-top:2px solid transparent}.staff-bottom-nav .icon{width:19px;height:19px}.staff-bottom-nav .active{color:var(--teal);border-top-color:var(--teal);background:#f6fbfb}.staff-heading{margin-bottom:24px;gap:10px}.staff-heading h1{font-size:29px;margin-bottom:7px}.staff-heading p{font-size:12px}.staff-heading .staff-date{font-size:11px;margin-bottom:10px}.staff-timezone{font-size:10px}.staff-clock-panel{padding:22px 21px 18px}.staff-clock-top{margin-bottom:23px}.staff-clock-panel h2{font-size:25px}.staff-clock-panel>p{font-size:12px}.staff-status{font-size:11px}.staff-location{font-size:10px}.staff-clock-foot{font-size:9px}.staff-portal input:not([type=hidden]),.staff-portal select{font-size:16px}.staff-week-panel{padding:22px;gap:0 14px}.staff-hours-number{font-size:29px}.staff-week-lines>div{font-size:10px}.staff-hours-label{font-size:10px}.staff-section{margin-top:29px}.staff-section-heading{gap:14px;align-items:flex-start}.staff-section-heading h2{font-size:15px}.staff-section-heading p{font-size:10px}.staff-section-heading>a{font-size:10px}.staff-shift-row{padding:18px;gap:9px}.staff-shift-row strong{font-size:12px}.staff-shift-time>span{font-size:11px}.staff-shift-time small,.staff-shift-date span{font-size:10px}.staff-shift-total{max-width:110px;text-align:right}.staff-shift-total .badge{font-size:9px}.staff-period{padding:20px}.staff-period h2{font-size:15px}.staff-week-navigation{width:100%}.staff-week-navigation .button:nth-child(2){flex:1}.staff-hours-stats{padding:22px 20px;grid-template-columns:1fr 1fr;gap:23px}.staff-hours-stats>div:first-child{grid-column:1/-1}.staff-hours-stats>div:first-child strong{font-size:35px}.staff-hours-stats strong{font-size:24px}.staff-hours-stats span{font-size:10px}.staff-day-strip{padding:13px 12px}.staff-day strong{font-size:11px}.staff-app-row{padding:23px 20px;flex-wrap:wrap;gap:17px}.staff-app-row>div{flex:1;min-width:170px}.staff-app-row h2{font-size:17px}.staff-app-row p{font-size:12px}.staff-app-row .icon-tile{width:39px;height:39px}.staff-app-open{margin-left:56px}.staff-app-future{margin:37px 5px}.staff-account-panel{padding:22px}.staff-account-details>div{grid-template-columns:1fr;gap:5px}.staff-account-help{padding:14px}.staff-account-help p{font-size:11px}.staff-account-panel form button{width:100%}.staff-connect .staff-brandbar{height:85px;padding:25px}.staff-login-layout{grid-template-columns:1fr;min-height:calc(100vh - 85px)}.staff-login-art{display:none}.staff-login-form{margin:0 auto;padding:43px 27px;max-width:450px}.staff-login-form h1{font-size:33px}.staff-login-form .staff-lead{font-size:13px}.staff-login-note{margin-top:30px}}
@media(max-width:620px){.staff-hours-summary{gap:24px;padding:20px;flex-wrap:wrap}.staff-hours-summary strong{font-size:24px}.staff-history{gap:21px}.staff-history-week>header{align-items:center}.staff-history-week h3{font-size:14px}.staff-history-week>header>strong{font-size:15px}}

.staff-login-onboarding{font-size:12px;color:var(--muted);line-height:1.7;margin:-12px 0 26px}.staff-pin-identity{font-size:14px;color:var(--ink);overflow-wrap:anywhere}.staff-pin-signout{margin-top:19px}.staff-pin-form .notice.error{margin:12px 0 0}.staff-pin-form>.notice.error{margin:0 0 22px}

/* Mobile navigation keeps the common staff tasks in reach while preserving desktop navigation. */
.staff-more-panel,.staff-more-backdrop{display:none}
.staff-onboarding .staff-main{padding:47px clamp(24px,4vw,64px) 64px}
@media(max-width:620px){
  .staff-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}
  .staff-bottom-nav a{position:relative}
  .staff-nav-badge{position:absolute;top:7px;left:calc(50% + 4px);min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--raspberry);color:#fff;font-size:10px;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px #fff}
  .staff-bottom-nav a,.staff-more-toggle{min-width:0;min-height:67px;padding:7px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-top:2px solid transparent;background:#fff;color:#84798e;font:inherit;font-size:10px;line-height:1.15;text-decoration:none}
  .staff-bottom-nav a.active,.staff-more-toggle.active{color:var(--teal);border-top-color:var(--teal);background:#f6fbfb}
  .staff-more-toggle .icon{width:19px;height:19px}
  .staff-more-panel{position:fixed;z-index:31;display:block;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));max-width:500px;margin:auto;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 38px #211d2640}
  .staff-more-panel[hidden]{display:none!important}
  .staff-more-panel-head{display:flex;align-items:center;justify-content:space-between;padding:9px 10px 10px;color:#514a58;font-size:12px}
  .staff-more-panel-head .icon{width:18px;height:18px}
  .staff-more-panel nav{display:flex;flex-direction:column}
  .staff-more-panel a{display:grid;grid-template-columns:21px 1fr 16px;gap:11px;align-items:center;padding:13px 11px;border-top:1px solid var(--line);color:var(--ink);font-size:13px}
  .staff-more-panel a.active{color:var(--teal);background:#f6fbfb}
  .staff-more-panel a .icon{width:18px;height:18px}.staff-more-panel a .icon:last-child{width:14px;height:14px;justify-self:end;color:#978f9f}
  .staff-more-backdrop{position:fixed;z-index:30;inset:0;background:#211d2633}.staff-more-backdrop:not([hidden]){display:block}
  .staff-onboarding .staff-main{padding:28px 18px calc(100px + env(safe-area-inset-bottom))}
}

/* Native disclosure keeps More useful when scripts are unavailable. */
@media(max-width:620px){
  .staff-more-disclosure{min-width:0}.staff-more-disclosure summary{min-width:0;min-height:67px;padding:7px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-top:2px solid transparent;background:#fff;color:#84798e;font:inherit;font-size:10px;line-height:1.15;list-style:none;cursor:pointer}.staff-more-disclosure summary::-webkit-details-marker{display:none}.staff-more-disclosure.active summary{color:var(--teal);border-top-color:var(--teal);background:#f6fbfb}.staff-more-disclosure summary .icon{width:19px;height:19px}.staff-more-disclosure:not([open]) .staff-more-panel{display:none}.staff-more-disclosure .staff-more-panel{position:fixed;z-index:31;display:block;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));max-width:500px;margin:auto;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 38px #211d2640}.staff-more-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 10px 10px;color:#514a58;font-size:12px}.staff-more-panel-head span{color:var(--muted);font-size:10px}.staff-connected .employee-form-actions{bottom:calc(67px + env(safe-area-inset-bottom));margin-bottom:0}.staff-connected .employee-record-form{scroll-padding-bottom:calc(145px + env(safe-area-inset-bottom))}
}

/* The profile identity owns profile editing; daily tools stay in task order. */
.staff-rail{overflow-y:auto}.staff-rail-foot{flex-shrink:0;padding-top:28px}
.staff-profile-person{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;min-width:0;padding:6px 0}
.staff-profile-person:hover{text-decoration:none}.staff-profile-person[aria-current=page] strong{color:#ffbc62}
.staff-profile-person .avatar{width:40px;height:40px;flex:0 0 40px;margin:0;overflow:hidden;border-radius:50%}
.staff-profile-person .avatar img,.staff-mobile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.staff-profile-label{min-width:0}.staff-profile-label strong,.staff-profile-label small{display:block;overflow-wrap:anywhere}
.staff-profile-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px}
.staff-edit-profile{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#ffbc62;font-size:12px}
.staff-edit-profile .icon{width:15px;height:15px}.staff-account-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#c8bfce;border-radius:6px}
.staff-account-link:hover{background:#302a36}.staff-account-link .icon{width:17px;height:17px}
.staff-profile-identity a:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:5px}
@media(max-width:620px){
  .staff-bottom-nav-manager{grid-template-columns:repeat(6,minmax(0,1fr))}
  .staff-mobile-avatar{width:44px;height:44px;text-decoration:none;overflow:hidden}
  .staff-more-panel .staff-profile-identity{border-top:1px solid var(--line);margin-top:8px;padding:12px 11px 4px;color:var(--ink)}
  .staff-more-panel .staff-profile-person{display:flex;flex-direction:row;justify-content:flex-start;gap:11px;padding:0;min-height:48px;border:0;color:var(--ink);font-size:14px}
  .staff-more-panel .staff-profile-label{text-align:left}.staff-more-panel .staff-profile-label small{color:var(--muted);font-size:11px;margin-top:4px}
  .staff-more-panel .staff-edit-profile{display:inline-flex;flex-direction:row;gap:8px;min-height:44px;padding:0;border:0;color:var(--teal);font-size:12px}
  .staff-more-panel .staff-account-link{display:flex;min-height:44px;padding:0;border:0;color:var(--muted)}
  .staff-more-panel .staff-profile-person[aria-current=page] strong{color:var(--teal)}
}

.staff-login-help { margin-top: .85rem; }

.staff-passkey-login{margin-bottom:25px}.staff-passkey-login .passkey-button{width:100%;min-height:48px!important;justify-content:space-between;padding:12px 17px}.staff-passkey-login .passkey-personal-device{margin-bottom:1px}.staff-passkey-login .passkey-warning{margin-top:4px}.staff-portal .passkey-settings{max-width:710px;margin-top:24px}.staff-portal .passkey-settings .passkey-button{min-height:45px}

/* ==== Portal density foundation, staff shell (phase 1, 2026-09-25) ==========================
   Additive, shell only: brand bar, rail, page padding, page title, bottom-nav labels, sign-in
   header. Tokens and .rp- components live in admin.css (loaded first on every staff page).
   The phone bottom nav keeps its 67px height on purpose: Work's review sheet, composer and
   quick-add are pinned to it in work.css (see PORTAL_DENSITY_RULES.md, phase 2 note). */
@media(min-width:1101px){.staff-portal{--staff-rail:208px}}
/* The staff page gutter as a token too, so full-bleed pieces (catalog editor header) can match it. */
.staff-portal{--rp-page-x:clamp(20px,2.4vw,32px)}
@media(max-width:620px){.staff-portal{--rp-page-x:14px}}
@media(min-width:621px){
  .staff-brandbar{height:60px;padding:14px 16px}
  .staff-rail{inset:60px auto 0 0;padding:8px 10px 14px}
  .staff-rail-greeting{margin:0 8px 10px;font-size:12.5px;line-height:1.5}
  .staff-nav-link{padding:8px 10px;margin:1px 0;gap:10px;font-size:13.5px}
  .staff-rail-foot{margin:auto 8px 0;padding-top:16px}
  .staff-rail-foot .avatar{margin-bottom:8px}
  .staff-main{padding:20px var(--rp-page-x) 32px}
  .staff-onboarding .staff-main{padding:20px clamp(20px,2.4vw,32px) 32px}
  .staff-connect .staff-brandbar{height:60px;padding:14px 28px}
  .staff-login-layout{min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px)}
  .staff-login-art img{max-height:calc(100vh - 60px)}
}
.staff-heading{margin-bottom:var(--rp-s5);gap:var(--rp-s4)}
.staff-heading .staff-date{margin-bottom:2px}
.staff-connected .staff-main h1:not([class*="wk-"]):not(.sr-only),.staff-onboarding .staff-main h1:not([class*="wk-"]):not(.sr-only){font-size:var(--rp-h1);line-height:1.2;letter-spacing:-.4px;margin-bottom:var(--rp-s2)}
@media(max-width:620px){
  .staff-brandbar{height:52px;padding:8px 14px}
  .staff-brandbar .brand{font-size:15px;gap:9px}
  .staff-main{padding:14px var(--rp-page-x) calc(84px + env(safe-area-inset-bottom))}
  .staff-onboarding .staff-main{padding:14px 14px calc(84px + env(safe-area-inset-bottom))}
  .staff-bottom-nav a,.staff-more-disclosure summary{font-size:11px;gap:3px}
  .staff-connect .staff-brandbar{height:52px;padding:8px 14px}
  .staff-login-layout{min-height:calc(100vh - 52px);min-height:calc(100dvh - 52px)}
}
/* HIG: safe areas. This base sets viewport-fit=cover, so fixed and edge bars pad for the notch,
   the home indicator and landscape side insets. */
@media(max-width:620px){
  body:not(.wk-body) .staff-brandbar,.staff-connect .staff-brandbar{height:auto;min-height:calc(52px + env(safe-area-inset-top));padding-top:calc(4px + env(safe-area-inset-top));padding-bottom:4px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .staff-main,.staff-onboarding .staff-main{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  /* the avatar link keeps its 44px ::after hit area; the photo is already rounded on the img itself */
  .staff-mobile-avatar{overflow:visible}
  .staff-bottom-nav{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .staff-more-disclosure .staff-more-panel{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}
  /* AA: bottom-nav labels were #84798e on white (4.1:1) */
  .staff-bottom-nav a:not(.active),.staff-more-disclosure:not(.active) summary{color:var(--rp-text-3)}
}
/* On an unpaid break is a normal state, not an error: neutral tone instead of raspberry (AA 7.3:1) */
.staff-clock-panel.on_break{border-top-color:var(--rp-neutral)}
.on_break .staff-status{color:var(--rp-neutral-text);background:var(--rp-neutral-bg)}
/* ==== end staff shell density ==== */
