/* v1.9: original top tabs and original page design, with spacing corrections only. */
.staff-workspace [hidden]{display:none!important}
/* The hidden request form must not inherit .form's display:grid. */
.staff-workspace .phone-status{background:none;padding:0;border:0;border-radius:0;font-size:12px;color:#69766f;flex-wrap:wrap;gap:5px}
.staff-workspace .phone-status.is-verified{color:#087b4e}
.staff-workspace .phone-status a{color:#0d9488;text-decoration:underline}
.staff-workspace .btn:disabled{background:#d9dfdd!important;color:#52615b!important;opacity:1!important}
.staff-workspace #site-block .btnicon svg{width:23px;height:23px;display:block}
.staff-workspace .header-avatar{object-fit:cover}
.staff-workspace .page-content{padding-bottom:0}
/* Keep original cards, fonts, colours and calendar states. Reduce spare height. */
.staff-workspace .ov-page{padding-bottom:0}
.staff-workspace .ov-panel{margin-bottom:0}
.staff-workspace .staff-profile-page{max-width:540px;margin:0 auto}
.staff-workspace .profile-identity{display:flex;flex-direction:column;align-items:center;gap:9px;margin:12px 0}
.staff-workspace .profile-identity h2{font-size:21px;margin:3px 0}
.staff-workspace .profile-photo{width:100px;height:100px;object-fit:cover;border-radius:50%;background:#cbe9dd}
.staff-workspace .profile-photo.initials{display:grid;place-items:center;font-size:42px;font-weight:600}
.staff-workspace .picture-open{border:1px solid #0d9488;background:white;color:#0d9488;border-radius:8px;padding:9px 14px;min-height:42px;cursor:pointer}
.staff-workspace .profile-fields{background:white;border:1px solid #e0e9e4;border-radius:12px;padding:0 14px;margin:12px 0}
.staff-workspace .profile-fields>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf2ee;font-size:14px}
.staff-workspace .profile-fields>div:last-child{border:0}
.staff-workspace .profile-fields dt{color:#667a71}
.staff-workspace .profile-fields dd{margin:0;text-align:right;font-weight:550;overflow-wrap:anywhere}
.staff-workspace .verified-text{color:#087d4c}
.staff-workspace .phone-registration{display:flex;gap:10px;align-items:end}
.staff-workspace .phone-registration label{flex:1;font-size:12px;min-width:0}
.staff-workspace .phone-registration input{width:100%;box-sizing:border-box}
.staff-workspace .phone-registration button{width:auto;min-height:44px;font-size:13px;border-radius:9px;white-space:normal}
.staff-workspace .profile-note{font-size:12px}
.staff-workspace .profile-leave{display:inline-block;padding:9px 0;color:#0d9488;font-size:13px}
.staff-workspace dialog{border:1px solid #dbe8e0;border-radius:14px;max-width:360px;width:calc(100% - 40px);padding:20px;max-height:85dvh;overflow:auto}
.staff-workspace dialog::backdrop{background:#102d25aa}
.staff-workspace dialog input{max-width:100%}
.staff-workspace dialog p{font-size:12px}
.staff-workspace .dialog-actions{display:flex;justify-content:end;gap:12px}
.staff-workspace .dialog-actions button{min-height:44px}
.staff-workspace #picture-preview{width:160px;height:160px;object-fit:cover;margin:12px auto}
.staff-workspace #picture-preview:not([hidden]){display:block}
@media(max-width:899px){
 .staff-workspace .shell.authenticated{padding:12px 17px calc(12px + env(safe-area-inset-bottom,0px))!important}
 .staff-workspace .top{min-height:44px;margin-bottom:10px}
 .staff-workspace .hrdesk-employee-tabs{margin-bottom:12px}
 .staff-workspace .hrdesk-employee-tabs a{min-height:44px;padding-top:8px;padding-bottom:10px}
 .staff-workspace .welcome{margin-bottom:10px}
 .staff-workspace .shift{padding:12px 15px;margin-bottom:10px}
 .staff-workspace .shift h2{margin:6px 0 8px}
 .staff-workspace .shift p{margin-top:6px}
 .staff-workspace .attendance h3{margin-bottom:9px}
 .staff-workspace .attendance .btn{min-height:48px;padding:10px 14px}
 .staff-workspace .or{margin:7px 0}
 .staff-workspace .ov-page{padding-top:0;gap:10px}
 .staff-workspace .ov-panel{padding:12px}
 .staff-workspace .ov-metrics{gap:8px}
 .staff-workspace .ov-metric{min-height:62px;padding:9px}
 .staff-workspace .ov-metric strong{font-size:23px;margin-top:3px}
 .staff-workspace .ov-heading p,.staff-workspace .ov-sub{font-size:12px;margin-bottom:8px}
 .staff-workspace .ov-day,.staff-workspace .ov-empty{min-height:38px;padding:2px}
 .staff-workspace .ov-days{margin-top:9px;margin-bottom:6px}
 .staff-workspace .staff-profile-page h1{font-size:23px;margin:0 0 8px}
}
@media(max-height:740px) and (max-width:899px){
 .staff-workspace .profile-photo{width:70px;height:70px;font-size:30px}
 .staff-workspace .profile-identity{gap:5px;margin:7px 0}
 .staff-workspace .profile-fields>div{padding:9px 0}
 .staff-workspace .ov-metric{min-height:54px;padding:7px}
 .staff-workspace .ov-day,.staff-workspace .ov-empty{min-height:32px}
}
/* No fixed page height or overflow:hidden: expanded forms and large text remain accessible. */
/* Status colour belongs to the icon and remains independent of office/site authorization. */
.staff-workspace .verification-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:23px;flex:none;color:#dc2626}
.verification-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.staff-workspace .is-verified .verification-icon{color:#079455}
.staff-workspace .is-pending .verification-icon{color:#d97706}
.staff-workspace .phone-status,.staff-workspace .office-status{display:flex;align-items:center;gap:8px}
.staff-workspace .ov-arrows a{display:flex;align-items:center;justify-content:center;padding:0;line-height:1;width:38px;height:38px;flex:none}
.ov-arrows svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.staff-workspace .ov-page{gap:10px}.staff-workspace .ov-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.staff-workspace .ov-metric{min-height:0;padding:8px}.staff-workspace .ov-metric strong{font-size:23px;margin-top:4px}
.staff-workspace .ov-metric strong span{display:block;font-size:11px}.staff-workspace .ov-panel{padding:12px}
.staff-workspace .ov-heading p{margin:4px 0 10px;font-size:12px}
.staff-workspace .calendar-panel h2{font-size:17px;margin-bottom:7px}
.staff-workspace .ov-day,.staff-workspace .ov-empty{min-height:clamp(44px,calc((100dvh - 450px)/6),78px);font-size:16px}
.staff-workspace .ov-days{margin-top:8px;margin-bottom:7px}
.staff-workspace .profile-identity{flex-direction:row;gap:18px;justify-content:flex-start;margin:16px 0}
.staff-workspace .profile-heading{text-align:left;min-width:0}.staff-workspace .profile-heading h2{overflow-wrap:anywhere}
.staff-workspace .profile-heading p{font-size:12px;color:#738078;margin:5px 0 10px}
.staff-workspace .profile-photo{width:78px;height:78px;flex:none}
.staff-workspace .profile-phone{display:flex;align-items:center;justify-content:end;gap:6px}
.staff-workspace .phone-registration{background:#f0f7f3;border:1px solid #e0e9e4;border-radius:10px;padding:12px}
.daily-history{max-width:850px}.daily-record{background:white;border:1px solid #e0e9e4;border-radius:12px;padding:13px 16px;margin:0 0 12px}
.daily-record h2{font-size:17px;margin:0 0 9px}.daily-record h2 small{font-size:12px;color:#738078;margin-left:7px;font-weight:400}
.punch-row{display:grid;grid-template-columns:76px 64px 1fr;align-items:center;gap:4px 9px;padding:7px 0;font-size:13px}
.punch-row strong{font-size:16px}.punch-row strong small{display:block;font-size:10px;font-weight:400}.punch-location{grid-column:2/-1;color:#677970;font-size:12px;overflow-wrap:anywhere}
.punch-state{justify-self:end;font-size:12px}.punch-state.present{color:#07854e}.punch-state.late{color:#dc2626}.punch-state.early{color:#d97706}.punch-state.missing,.punch-state.unknown{color:#738078}
.session-label{font-size:11px;color:#738078;border-top:1px solid #edf2ee;padding-top:7px}.history-footnote{font-size:11px;color:#738078;max-width:850px}
@media(max-width:899px){.staff-workspace .ov-day,.staff-workspace .ov-empty{min-height:clamp(36px,calc((100dvh - 400px)/6),72px)}.staff-workspace .ov-metric small{font-size:11px}.staff-workspace .ov-page{padding-top:0}.staff-workspace .phone-registration{gap:8px}.staff-workspace .daily-record{padding:12px}}
@media(max-width:350px){.staff-workspace .phone-registration{flex-wrap:wrap}.staff-workspace .profile-identity{gap:12px}.staff-workspace .profile-fields{padding:0 10px}}
.staff-period-selector{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 8px;margin:0 0 10px;max-width:900px}.staff-period-selector label{grid-column:1/-1;font-size:11px;color:#69796f}.staff-period-selector select{min-width:0;width:100%;min-height:38px;border:1px solid #dce7e0;border-radius:8px;background:white;padding:7px 9px;font:inherit;font-size:13px;color:#244c3c}.staff-period-selector button{min-height:38px;border:1px solid #dce7e0;border-radius:8px;background:#eaf5ef;color:#0d7862;padding:7px 12px}.staff-workspace .ov-page>.staff-period-selector{margin:0}.staff-workspace .ov-day,.staff-workspace .ov-empty{min-height:clamp(36px,calc((100dvh - 505px)/6),72px)}
.staff-workspace .profile-photo-frame{position:relative;flex:none;width:108px;height:108px}.staff-workspace .profile-photo{width:108px;height:108px;border-radius:16px}.staff-workspace .camera-overlay{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:7px;border-radius:50%;border:2px solid white;background:#0d9488;color:white;box-shadow:0 2px 6px #12372c22}.camera-overlay svg{height:20px;width:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.profile-side-details{margin:0;font-size:13px}.profile-side-details>div{display:flex;flex-wrap:wrap;gap:3px 8px;margin:5px 0}.profile-side-details dt{color:#718078}.profile-side-details dd{margin:0;font-weight:550}.staff-workspace .profile-heading h2{font-size:21px}.profile-phone-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;border:1px solid #e0e9e4;border-radius:10px;padding:12px;margin:15px 0;font-size:13px}.profile-phone-row>span:first-child{color:#718078}.staff-workspace #front-camera{width:100%;max-height:260px;aspect-ratio:1;object-fit:cover;border-radius:12px}.camera-upload{display:block;font-size:12px;margin:12px 0}.camera-upload input{display:block;margin-top:6px}.staff-workspace #camera-capture,.staff-workspace #camera-retake{min-height:42px;margin:8px 0}.staff-workspace #camera-status{font-size:12px;line-height:1.5}
@media(max-width:899px){.staff-workspace .ov-day,.staff-workspace .ov-empty{min-height:clamp(32px,calc((100dvh - 450px)/6),68px)}}
@media(max-width:360px){.staff-workspace .profile-photo-frame,.staff-workspace .profile-photo{width:86px;height:86px}.staff-workspace .profile-heading h2{font-size:18px}}
/* Tabs remain in normal flow until they reach the top of the viewport. */
.hrdesk-employee-tabs,.hrdesk-admin-tabs{position:sticky!important;top:0;z-index:80;background:#f8faf9!important;box-shadow:0 2px 6px #173c2c0a}
.staff-workspace .page-content{touch-action:pan-y pinch-zoom}
.staff-workspace .daily-record h2{font-size:14px;margin-bottom:6px}.staff-workspace .daily-record h2 small{font-size:11px}
.staff-workspace .punch-row{grid-template-columns:58px 45px minmax(0,1fr) auto;gap:5px 9px;padding:6px 0;font-size:12px}
.staff-workspace .punch-row strong{font-size:13px;font-weight:600}.staff-workspace .punch-row strong small{font-size:9px}
.staff-workspace .punch-location{grid-column:auto;color:#677970;font-size:12px;overflow-wrap:anywhere}
.staff-workspace .punch-state{font-size:11px;text-align:right;white-space:nowrap;max-width:130px}
.staff-workspace .punch-state.overtime{color:#2563eb}
.staff-workspace .ov-detail{position:static!important;transform:none!important;width:auto!important;margin:5px 0 10px;box-shadow:none;grid-column:1/-1}
.staff-workspace .ov-detail:before{content:none}.ov-detail-close{margin-top:8px;padding:6px 12px;min-height:36px;background:white;border:1px solid #cfe5dc;border-radius:7px;color:#0d7862;cursor:pointer}
@media(max-width:360px){.staff-workspace .punch-row{grid-template-columns:50px 39px minmax(0,1fr) auto;gap:4px 5px}.staff-workspace .punch-state{font-size:10px}}
/* v2.3 compact records, original two-by-two overview, private account tools. */
.staff-workspace .daily-record{padding:8px 12px;margin-bottom:7px}.staff-workspace .daily-record h2{margin:0 0 3px}.staff-workspace .punch-row{padding:3px 0}.staff-workspace .session-label{padding-top:4px}
.staff-workspace .ov-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.staff-workspace .ov-metric{padding:8px;min-height:54px}.staff-workspace .ov-metric strong span{display:inline}.staff-workspace .ov-day,.staff-workspace .ov-empty{min-height:clamp(32px,calc((100dvh - 500px)/6),72px)}
.notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:36px;color:#52645d;flex:none}.notification-bell svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.notification-count{position:absolute;top:-2px;right:-5px;background:#dc2626;color:white;min-width:16px;height:16px;line-height:16px;border-radius:9px;text-align:center;font-size:9px;padding:0 3px}.notification-count[hidden]{display:none!important}
.notice-entry{display:flex;align-items:center;gap:10px;text-align:left;width:100%;background:none;border:0;border-bottom:1px solid #e3ebe7;padding:14px 0;color:#304c40;font:inherit;cursor:pointer}.notice-entry>span:last-child{margin-left:auto}.notice-entry.unread{font-weight:650}.unread-dot{height:7px;width:7px;flex:none;background:#0d9488;border-radius:50%}.notice-read-all{padding:8px 12px;margin-bottom:10px;background:white;border:1px solid #dce7e0;border-radius:8px;color:#0d7862;cursor:pointer}
.staff-workspace .profile-phone-status{display:flex;align-items:center;justify-content:center;gap:8px;color:#dc2626;text-align:center;margin:16px 0;background:none;border:0;padding:0;font-size:14px}.staff-workspace .profile-phone-status.is-verified{color:#07854e}.staff-workspace .profile-phone-status.is-pending{color:#d97706}.profile-phone-status .verification-icon{color:inherit!important}
.password-change{margin:20px 0 0;border-top:1px solid #dce7e0;padding-top:13px}.password-change summary{font-size:14px;color:#0d7862;cursor:pointer;padding:5px 0}.password-change form{display:grid;gap:10px;padding-top:12px}.password-change label{display:grid;gap:5px;font-size:12px}.password-change input{width:100%;padding:10px;border:1px solid #dce7e0;border-radius:8px;font:inherit}.password-change p{font-size:11px;color:#718078}.staff-workspace .password-change .btn{font-size:14px;min-height:44px}
@media(max-width:899px){.staff-workspace .ov-day,.staff-workspace .ov-empty{min-height:clamp(30px,calc((100dvh - 450px)/6),68px)}.staff-workspace .hrdesk-employee-tabs{gap:clamp(12px,3vw,25px)}}
/* Match the two header controls exactly, independent of older icon overrides. */
.headtools .notification-bell,.headtools .iconbtn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:36px;height:36px;min-height:36px;padding:0;margin:0;border:0;background:none;color:#52645d;vertical-align:middle;cursor:pointer;line-height:1}
.headtools .notification-bell svg,.headtools .iconbtn svg{width:22px!important;height:22px!important;fill:none;stroke:currentColor;stroke-width:1.7!important;stroke-linecap:round;stroke-linejoin:round;display:block}
.headtools>form{display:flex;align-items:center;margin:0}.notification-wrapper{position:relative;display:flex;align-items:center;flex:none}.notification-panel{position:absolute;right:0;top:calc(100% + 9px);z-index:120;width:min(350px,calc(100vw - 90px));max-height:min(480px,70dvh);overflow:auto;border:1px solid #dce7e0;background:#fff;border-radius:12px;box-shadow:0 8px 30px #173c2c26;color:#304c40;text-align:left}.notification-panel[hidden]{display:none!important}.top{position:relative;z-index:90}.notice-panel-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid #e6ece8;font-size:14px}.notice-panel-heading form{margin:0}.notice-panel-heading button{border:0;background:none;color:#0d7862;font-size:12px;cursor:pointer;padding:5px}.notice-panel-items{padding:0 14px}.notice-panel-items .notice-entry{font-size:12px;line-height:1.45;padding:12px 0}.notice-see-all{display:block;text-align:center;padding:12px;color:#0d7862;font-size:13px;font-weight:600;border-top:1px solid #e6ece8}.notice-empty{font-size:13px;color:#738078;padding:14px 0}.notification-panel:focus{outline:2px solid #0d9488;outline-offset:2px}
.password-change>h2{font-size:16px;margin:0 0 6px;color:#244c3c}.password-change>#change-password-form{padding-top:4px}.password-change #change-password-form>.btn{justify-self:start;width:auto;min-width:90px;padding:10px 22px;border-radius:9px}.password-change #password-confirm-dialog{max-width:360px}.password-change #password-confirm-dialog form{padding:0}
.brand-desk{color:#0d9488!important}
.staff-swipe-preview{position:fixed;overflow:hidden;pointer-events:none;background:#f8faf9;z-index:65;box-sizing:border-box;padding-top:8px;will-change:transform;contain:layout paint}
.staff-swipe-preview .page-content{transform:none!important}.staff-swipe-preview[aria-hidden=true]{user-select:none}
.staff-swipe-underline{position:absolute;bottom:0;height:2px;background:#0d9488;border-radius:2px;pointer-events:none;z-index:3;will-change:transform,width}
.hrdesk-employee-tabs.is-dragging a.is-active:after{opacity:0}.staff-workspace.is-page-dragging .page-content{will-change:transform;user-select:none}
.staff-workspace.is-page-dragging{cursor:grabbing}.staff-workspace .page-content{touch-action:pan-y pinch-zoom}
@media(max-width:899px){
 body.staff-home .app-frame,body.staff-home .shell.authenticated{min-height:0!important;height:auto!important}
 body.staff-home .shell.authenticated{padding-top:10px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}
 body.staff-home .top{margin-bottom:8px!important;min-height:42px}
 body.staff-home .hrdesk-employee-tabs{margin-bottom:10px}
 body.staff-home .welcome{margin-bottom:9px}
 body.staff-home .shift{padding:11px 14px;margin-bottom:10px}
 body.staff-home .shift p{margin-top:5px;line-height:1.35}
 body.staff-home .attendance .btn{min-height:48px}
 body.staff-home.home-compact .welcome h1{font-size:21px}
 body.staff-home.home-compact .welcome{margin-bottom:7px}
 body.staff-home.home-compact .shift{padding:9px 12px;margin-bottom:8px}
 body.staff-home.home-compact .shift h2{font-size:23px;margin:5px 0 6px}
 body.staff-home.home-compact .attendance h3{font-size:16px;margin-bottom:7px}
 body.staff-home.home-compact .or{margin:5px 0}
 body.staff-home.home-compact .note{margin:5px 0;font-size:11px}
 body.staff-home.home-fits{height:var(--staff-viewport-height);min-height:0;overflow-y:hidden;overscroll-behavior-y:none}
 html:has(body.staff-home.home-fits){height:var(--staff-viewport-height);min-height:0;overflow-y:hidden;overscroll-behavior-y:none}
}
/* v2.6 Header + tabs stay together; all staff pages share Home's viewport. */
.top{position:sticky!important;top:0;z-index:100;background:#fff}.top .brand{display:flex!important}
.hrdesk-admin-tabs,.hrdesk-employee-tabs{top:var(--hrdesk-header-height,60px)!important}
html:has(body.staff-workspace){height:var(--staff-viewport-height,100dvh);min-height:0;overflow:hidden!important}
body.staff-workspace{height:var(--staff-viewport-height,100dvh)!important;min-height:0!important;overflow:hidden!important}
body.staff-workspace .app-frame{height:100%!important;min-height:0!important;overflow:visible}
body.staff-workspace .shell.authenticated{display:flex;flex-direction:column;height:100%!important;min-height:0!important;box-sizing:border-box;padding:0 24px!important;overflow:visible}
body.staff-workspace .top{flex:0 0 auto;height:auto;min-height:58px;padding:8px 0!important;margin:0!important;border-bottom:1px solid #e4ebe8}
body.staff-workspace .hrdesk-employee-tabs{flex:0 0 auto;margin:0!important;min-height:46px}
body.staff-workspace .page-content{flex:1 1 0;min-height:0;max-width:none;width:100%;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain;padding:12px 0 calc(10px + env(safe-area-inset-bottom,0px))!important;scrollbar-gutter:stable}
body.staff-workspace .flash{flex:0 0 auto;max-height:22dvh;overflow:auto;margin:7px 0;padding:8px 10px}
body.staff-workspace .notification-panel{z-index:150}
@media(max-width:899px){body.staff-workspace .shell.authenticated{padding:0 16px!important}body.staff-workspace .top{min-height:55px;padding:7px 0!important;margin:0!important}body.staff-workspace .page-content{padding-top:10px!important;scrollbar-gutter:auto}}
body.staff-carousel-parent .page-content{padding:0!important;overflow:hidden!important;position:relative}
#staff-live-panels{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pan-y pinch-zoom;background:#f8faf9}
.staff-live-frame{position:absolute;top:0;left:0;width:100%;height:100%;border:0;background:#f8faf9;display:block;will-change:transform}
.staff-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:#64786e;background:#f8faf9;z-index:4}
body.staff-panel .top,body.staff-panel .hrdesk-employee-tabs,body.staff-panel .desktop-sidebar{display:none!important}
body.staff-panel .shell.authenticated{padding:0!important;width:100%!important;max-width:none!important}
body.staff-panel .page-content{scrollbar-gutter:auto;padding-left:0!important;padding-right:0!important}
body.staff-panel{--staff-viewport-height:100dvh}
body.staff-carousel-parent .hrdesk-employee-tabs.has-live-underline a:after{display:none!important}
.staff-live-underline{position:absolute;bottom:0;height:2px;background:#0d9488;pointer-events:none;z-index:5;border-radius:2px;will-change:transform,width}

/* v2.8 compact controls and full viewport profile camera */
.staff-workspace :is(input,select,textarea){-webkit-tap-highlight-color:transparent}
.staff-workspace :is(input,select,textarea):focus{outline:none!important;box-shadow:none!important}
.staff-workspace :is(input,select,textarea):focus-visible{outline:none!important;box-shadow:none!important}
.staff-workspace :is(button,.btn,.sm,.ov-detail-close){border-radius:999px!important}
.staff-workspace :is(.iconbtn,.notification-bell,.camera-overlay,.ov-arrows a){border-radius:50%!important}
.staff-workspace :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]),select){height:44px!important;min-height:44px!important;box-sizing:border-box;padding-top:8px;padding-bottom:8px}
.staff-workspace :is(button,.btn){min-height:44px;box-sizing:border-box}
.staff-workspace .staff-period-selector :is(select,button){height:44px!important;min-height:44px!important}
.staff-workspace :is(.iconbtn,.notification-bell){width:36px;height:36px;min-height:36px}
.staff-workspace .camera-overlay{width:36px;height:36px;min-height:36px}
body.staff-camera-open .page-content,body.staff-camera-open #staff-live-panels{overflow:visible!important}
body.staff-camera-open .staff-live-frame.camera-expanded{position:fixed!important;inset:0!important;width:100vw!important;height:var(--staff-viewport-height,100dvh)!important;transform:none!important;visibility:visible!important;z-index:1000!important}
body.staff-camera-open .top,body.staff-camera-open .hrdesk-employee-tabs{visibility:hidden}
.staff-workspace #picture-dialog{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;box-sizing:border-box;border:0;border-radius:0;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));overflow:auto;background:#fff}
#picture-dialog #profile-picture-form{min-height:100%;display:flex;flex-direction:column;gap:8px;max-width:720px;margin:auto}
.staff-workspace #picture-dialog #front-camera{width:100%;max-height:none;height:min(50dvh,520px);object-fit:cover;transform:scaleX(-1);border-radius:16px}
.staff-workspace #picture-dialog #picture-preview{width:auto;max-width:100%;height:min(50dvh,520px);max-height:none;object-fit:contain;margin:0 auto;border-radius:16px}
#picture-dialog .dialog-actions{margin-top:auto;padding-top:12px;position:sticky;bottom:0;background:white}

.staff-workspace .page-content :is(button,.btn):not(.camera-overlay):not(.notification-bell):not(.iconbtn){height:44px;min-height:44px;padding-top:8px;padding-bottom:8px}
.staff-workspace .page-content .attendance .btn{height:auto;min-height:48px}

/* SalesDesk-style flat sections, preserving functional calendar colours. */
.staff-workspace :is(.shift,.attendance,.daily-record,.profile-fields,.profile-phone-row,.phone-registration,.ov-metric,.leave-card,.request-card,.panel){box-shadow:none!important;background:transparent!important;border:0!important;border-radius:0!important}
.staff-workspace .daily-record{border-bottom:1px solid #e0e9e4!important;padding:10px 0!important;margin:0!important}
.staff-workspace .ov-metric{border-bottom:1px solid #e0e9e4!important}
.staff-workspace :is(.ov-day,.ov-empty){border-radius:8px!important}
.staff-workspace .ov-day{padding:2px!important}
.home-recent{border-top:1px solid #dce7e0;margin-top:14px;padding-top:9px;max-width:550px}
.home-recent h2{font-size:13px;margin:0 0 7px;color:#64766c}.home-recent-record{padding:5px 0;border-bottom:1px solid #edf1ee}.home-recent-record:last-child{border:0}.home-recent-record time{font-size:11px;color:#708077}.home-recent-record .punch-row{font-size:11px;padding:2px 0;gap:6px}.home-recent-record .punch-row strong{font-size:12px}.home-recent-record .punch-kind{min-width:52px}
.staff-workspace .profile-fields{padding:0!important}.staff-workspace .profile-phone-row{padding:10px 0!important;border-bottom:1px solid #dce7e0!important}
.staff-workspace :is(.ov-panel,.calendar-panel,.ov-detail,.popform){border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding-left:0!important;padding-right:0!important}

.staff-panel-track{position:absolute;inset:0;width:100%;height:100%;will-change:transform}
.staff-panel-track .staff-live-frame{top:0;transition:none!important;will-change:auto}
body.staff-camera-open .staff-panel-track{position:fixed;inset:0;width:100vw;height:var(--staff-viewport-height,100dvh);transform:none!important;will-change:auto;z-index:1000}
.staff-workspace .password-change #change-password-form>.btn{justify-self:end}
