.p54-integration-warning{margin:10px 20px 0;padding:12px 16px;border:1px solid #f0ce93;background:#fffaf1;color:#704711;border-radius:12px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px}
.p54-integration-warning span{flex:1;min-width:150px}
.p54-integration-warning button{color:#6f4819;background:#fff;border:1px solid #e7c486;padding:6px 12px;border-radius:8px;cursor:pointer}
/* HR 21.51 responsive ESS/MSS portal; deliberately does not style the HR/Admin portal. */
body.account-employee-2150{background:#f4f7fc!important;color:#142341}
body.account-employee-2150 .ux9-topbar,body.account-employee-2150 #ux9PageContext,body.account-employee-2150 .build-watermark{display:none!important}
body.account-employee-2150 .ux9-shell{background:#f4f7fc!important}
body.account-employee-2150 .ux9-content-wrap{max-width:none!important;padding:0!important;width:100%!important}
body.account-employee-2150 #selfPage.portal-page-ux12,body.account-employee-2150 #teamPage.portal-page-ux12{max-width:none!important;margin:0!important;display:block;min-height:100vh;animation:none}
body.account-employee-2150 #selfPage>:not(.p51-shell),body.account-employee-2150 #teamPage>:not(.p51-shell){display:none!important}
body.account-employee-2150 .p51-shell{--p51-blue:#2b68ef;--p51-navy:#142445;--p51-muted:#72819c;--p51-line:#e4ebf6;display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--p51-navy);background:#f4f7fc}
.p51-shell *{box-sizing:border-box}
.p51-shell button{font:inherit;cursor:pointer;transition:background-color .15s,border-color .15s,transform .15s}
.p51-shell button:focus-visible,.p51-shell input:focus-visible{outline:3px solid #a4c4ff;outline-offset:2px}
.p51-shell button:hover:not(:disabled){filter:brightness(.98)}
.p51-shell .p51-side{background:#fff;border-right:1px solid #e7edf6;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:23;overflow:auto}
.p51-brand{display:flex;align-items:center;gap:12px;padding:24px 20px 26px;border-bottom:1px solid #edf1f8}
.p51-brand-mark{background:#c11f36;display:grid;place-items:center;color:white;width:40px;height:40px;border-radius:9px;font-size:26px;font-family:Georgia,serif;font-weight:700;box-shadow:0 6px 14px #c11f3617}
.p51-brand strong,.p51-brand small{display:block}.p51-brand strong{font-size:18px;letter-spacing:-.025em}.p51-brand small{font-size:10px;color:#8190a9;font-weight:600}
.p51-side-nav{display:grid;gap:3px;padding:22px 12px}
.p51-shell .p51-side-link{border:0;background:transparent;display:flex;align-items:center;gap:13px;color:#536585;padding:13px 13px;border-radius:11px;text-align:left;font-weight:650;font-size:12px;width:100%}
.p51-side-link .p51-ico{font-size:23px;color:#7f91b0;width:25px;display:inline-grid;place-items:center}
.p51-side-link.active{background:#eaf2ff;color:#2363dc;box-shadow:inset 3px 0 0 #2e72f8}.p51-side-link.active .p51-ico{color:#2363dc}
.p51-side-link b{margin-left:auto;font-size:10px;padding:2px 7px;border-radius:25px;background:#e7455b;color:white}
.p51-side-footer{margin-top:auto;padding:16px;border-top:1px solid #eaf0f9;display:grid;gap:8px;font-size:11px;color:#8392a7}.p51-side-footer button{border:0;background:#f3f7fd;padding:10px;border-radius:9px;text-align:start;color:#435b86}
.p51-main{min-width:0;max-width:100%;padding-bottom:28px}
.p51-bar{height:83px;display:flex;gap:22px;align-items:center;background:white;border-bottom:1px solid #e5ecf6;padding:0 29px;position:sticky;top:0;z-index:18}
.p51-bar-title{min-width:190px}.p51-bar-title strong{display:block;font-size:16px}.p51-bar-title small{display:block;font-size:10px;color:#8b9ab2}
.p51-hamburger{display:none;border:0;background:transparent;color:#366dec;font-size:22px}
.p51-searchbox{margin:0 auto!important;max-width:520px;width:40%;display:flex;gap:8px;align-items:center;background:#f1f5fb;border:1px solid #ebf0f7;border-radius:28px;padding:10px 15px;min-width:160px}
.p51-searchbox .p51-ico{font-size:20px;color:#6786ba}.p51-searchbox input{background:transparent;border:0;outline:none;min-width:0;flex:1;font-size:12px;color:#23395e}
.p51-bar-controls{display:flex;gap:12px;align-items:center}.p51-bar-controls>button{background:white;border:0;position:relative;color:#52698c;font-size:13px;border-radius:12px;padding:8px}.p51-bar-controls button>.p51-ico{font-size:22px}.p51-bar-controls sup{background:#eb384c;color:white;position:absolute;top:0;right:-3px;border-radius:50%;font-size:10px;min-width:17px;text-align:center}
.p51-bar-controls .p51-person{display:flex;align-items:center;gap:9px;border-left:1px solid #e7ecf5;border-radius:0;padding-left:17px}.p51-bar-controls .p51-avatar{width:36px;height:36px;font-size:12px}.p51-person span:not(.p51-ico){font-size:11px;font-weight:750;text-align:left}.p51-person small{display:block;color:#8d9ab0;font-size:10px;font-weight:400}
.p51-content{max-width:1800px;margin:auto;padding:20px 26px 40px;display:grid;gap:16px}
.p51-shell .p51-hero{min-height:175px;border:1px solid #e4edfc;border-radius:20px;display:flex;align-items:center;justify-content:space-between;padding:25px 33px;background:linear-gradient(110deg,#f9fcff 5%,#e5f0ff 55%,#f6fafe 100%);overflow:hidden;box-shadow:0 10px 28px rgba(47,79,135,.035);position:relative}
.p51-hero-person{display:flex;gap:24px;align-items:center;z-index:1}
.p51-avatar{height:64px;width:64px;border-radius:50%;display:grid;place-items:center;flex:none;background:linear-gradient(140deg,#537cf9,#9db8ff);border:4px solid white;color:white;font-size:18px;font-weight:850;box-shadow:0 5px 17px #285bbb22}
.p51-hero .p51-avatar{width:94px;height:94px;font-size:28px;border-width:6px}
.p51-greeting{color:#6a83b1;font-size:13px}.p51-hero h1{font-size:26px;font-weight:820;line-height:1.2;letter-spacing:-.04em;margin:3px 0 5px}.p51-hero p{margin:0;color:#607396;font-size:12px}.p51-hero p b{padding:0 10px;color:#bdcadb}
.p51-hero-meta{display:flex;flex-wrap:wrap;gap:19px;margin-top:15px;color:#617899;font-size:11px}.p51-hero-meta span{display:flex;align-items:center;gap:5px}.p51-hero-meta .p51-ico{font-size:18px;color:#4b74b6}
.p51-hero-art{min-width:260px;align-self:stretch;display:flex;gap:32px;align-items:center;color:#285baa;font-size:20px;font-weight:700;line-height:1.16;position:relative}
.p51-glass-building{width:164px;height:155px;transform:skew(-13deg);background:linear-gradient(100deg,#5986ba,#bfd9f5 45%,#7ca4db 47%,#e0f2ff);border:5px solid #ffffff91;border-bottom:0;box-shadow:12px 0 0 #d4e5f7;opacity:.6;display:flex;align-items:stretch;gap:9px;padding:6px}
.p51-glass-building i{display:block;width:27%;height:100%;background:repeating-linear-gradient(180deg,#b8d9f6 0 14px,#588abe 15px 17px,#c8e5fc 18px 31px)}
.p51-home-grid{display:grid;gap:14px;min-width:0}.p51-top-cards{grid-template-columns:1.08fr 1fr 1.12fr}.p51-mid-cards{grid-template-columns:1.1fr 1fr .87fr}.p51-end-cards{grid-template-columns:1fr 1fr}
.p51-card{background:white;border:1px solid #e7edf6;border-radius:17px;min-width:0;padding:18px 19px;box-shadow:0 7px 22px rgba(33,68,116,.035)}
.p51-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #eef2f8}.p51-card-header h3{font-size:15px;font-weight:790;color:#1a2c4d;margin:0}.p51-card-header small{font-size:11px;color:#8394ac}.p51-action{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent!important;color:#2970e9;font-weight:700;font-size:11px!important;white-space:nowrap;padding:3px 0}.p51-action .p51-ico{font-size:15px}
.p51-attendance{display:flex;gap:17px;align-items:center}.p51-attendance-ring{width:124px;height:124px;border:10px solid #dceaff;border-top-color:#286dff;border-right-color:#286dff;border-radius:50%;display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:inset 0 0 0 2px white}.p51-attendance-ring>.p51-ico{font-size:25px;color:#3575f5}.p51-attendance-ring strong{font-size:11px;text-align:center}.p51-attendance-ring small{font-size:9px;color:#7186a7;text-align:center}.p51-attendance-detail{min-width:0;font-size:11px;line-height:1.4;color:#657695}.p51-attendance-detail p{margin:4px 0 12px}.p51-attendance-detail strong{color:#24375a}
.p51-inline-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.p51-inline-buttons button,.p51-shell .p51-primary{padding:9px 14px;border:1px solid #3478f5;background:#2f74ef;color:#fff;border-radius:10px;font-size:11px;font-weight:750}.p51-inline-buttons button+button{background:#fff;color:#346adb;border-color:#d9e5fa}
.p51-leave-row{display:flex;gap:16px;align-items:center}.p51-leave-ring{width:118px;height:118px;flex:none;border-radius:50%;background:conic-gradient(#326ff7 0 var(--p),#edf3ff var(--p) 100%);display:grid;place-items:center}.p51-leave-ring>div{background:#fff;border-radius:50%;width:90px;height:90px;display:grid;place-content:center;text-align:center}.p51-leave-ring strong{font-size:23px;letter-spacing:-.04em}.p51-leave-ring small{font-size:10px;color:#7388a8}.p51-leave-details{flex:1;min-width:0}.p51-leave-details p{display:flex;align-items:center;gap:7px;font-size:10px;margin:8px 0}.p51-leave-details i{width:7px;height:7px;border-radius:50%;background:#3275f0;flex:none}.p51-leave-details span{flex:1;color:#7587a0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p51-leave-details b{font-size:10px}
.p51-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.p51-quick{background:#f3f7fd;border:1px solid #edf2fb;border-radius:12px;min-height:77px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#254575;padding:8px}.p51-quick .p51-ico{color:#2672f6;font-size:27px}.p51-quick span:not(.p51-ico){font-size:10px;line-height:1.25;font-weight:700;text-align:center}
.p51-course{display:grid;grid-template-columns:102px minmax(0,1fr);gap:13px;margin-bottom:15px;align-items:center}.p51-course-visual{background:linear-gradient(140deg,#c5daf8,#eff8ff);border-radius:12px;min-height:90px;display:flex;align-items:center;justify-content:center;gap:8px;color:#2f66cb}.p51-course-visual .p51-ico{font-size:28px}.p51-course-visual span:last-child{font-size:10px;font-weight:800}.p51-course h4{margin:0 0 7px;font-size:13px}.p51-course p{margin:0;color:#8a9ab1;font-size:10px}.p51-course button,.p51-course-card button,.p51-ai-panel button,.p51-talent-illustration button{background:transparent;border:0;color:#2568de;padding:6px 0;font-weight:750;font-size:11px}.p51-progress{margin:10px 0 4px;background:#edf2fa;border-radius:50px;height:7px;overflow:hidden}.p51-progress i{height:100%;display:block;border-radius:30px;background:linear-gradient(90deg,#14b5f6,#2d72f4)}
.p51-tiles,.p51-big-stats{display:flex;flex-wrap:wrap;gap:8px}.p51-mini-kpi{flex:1;min-width:90px;display:flex;gap:9px;align-items:center;background:#f5f8fe;border-radius:11px;padding:11px}.p51-mini-kpi>.p51-ico{font-size:23px;color:#3273ee}.p51-mini-kpi small,.p51-mini-kpi strong,.p51-mini-kpi span:not(.p51-ico){display:block}.p51-mini-kpi small{font-size:9px;color:#72819b}.p51-mini-kpi strong{font-size:21px;line-height:1.3}.p51-mini-kpi span:not(.p51-ico){font-size:9px;color:#8a9ab3}
.p51-list{display:grid;gap:0}.p51-list-row{display:flex;gap:11px;align-items:center;border-bottom:1px solid #eef2f8;padding:10px 0;min-width:0}.p51-list-row:last-child{border:0}.p51-list-row>.p51-ico{width:32px;height:32px;border-radius:10px;background:#ebf3ff;color:#3479ef;display:grid;place-items:center;flex:none;font-size:19px}.p51-list-row>div{flex:1;min-width:0}.p51-list-row strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis}.p51-list-row small{display:block;font-size:9px;color:#93a0b4;overflow:hidden;text-overflow:ellipsis}.p51-status{font-size:9px;font-weight:750;white-space:nowrap;padding:6px 8px;border-radius:20px;background:#fff2dc;color:#b37609}.p51-status.p51-ok{background:#e7f8ee;color:#20884c}.p51-status.p51-bad{background:#ffecef;color:#be3b50}
.p51-talent-illustration{text-align:center;padding:10px}.p51-talent-illustration>.p51-ico{font-size:47px;color:#407cf5}.p51-talent-illustration strong{display:block;margin:8px 0}.p51-talent-illustration p{color:#7889a4;font-size:11px;max-width:360px;margin:0 auto;line-height:1.6}.p51-note{font-size:12px;color:#70829f;margin:15px 0;line-height:1.6}
.p51-empty{padding:20px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px;color:#8494ae}.p51-empty>.p51-ico{font-size:30px;color:#a7bbdd}.p51-empty strong{font-size:12px;color:#4a638b}.p51-empty p{font-size:11px;margin:0;max-width:330px}
.p51-notification-row{width:100%;border:0;background:white;border-bottom:1px solid #eef2f9;display:flex;gap:10px;align-items:flex-start;text-align:left;padding:11px 4px}.p51-notification-row>.p51-ico{font-size:22px;color:#3878ea}.p51-notification-row span:not(.p51-ico){flex:1;min-width:0}.p51-notification-row strong,.p51-notification-row small{display:block}.p51-notification-row strong{font-size:11px}.p51-notification-row small{color:#8291a8;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p51-unread{width:7px;height:7px;border-radius:100%;background:#ea3e56;flex:none}
.p51-ai-panel{display:flex;gap:13px;align-items:center;background:linear-gradient(105deg,#f0f6ff,#e8f2ff);border-radius:14px;padding:17px}.p51-ai-panel>.p51-ico{font-size:42px;color:#3777f5}.p51-ai-panel p{font-size:11px;color:#7889a6;margin:5px 0}
.p51-team-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:13px}.p51-team-mini>div{background:#f7faff;border-radius:12px;padding:10px;min-width:0;text-align:center}.p51-team-mini .p51-avatar{width:38px;height:38px;font-size:12px;margin:0 auto 5px}.p51-team-mini strong,.p51-team-mini small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p51-team-mini strong{font-size:10px}.p51-team-mini small{font-size:9px;color:#8b9bb3}.p51-pending-stat{display:flex;align-items:center;gap:14px;background:#f3f8ff;border-radius:12px;padding:10px 14px}.p51-pending-stat>.p51-ico{font-size:35px;color:#3676ee}.p51-pending-stat strong{font-size:30px}.p51-pending-stat span:last-child{font-size:11px;color:#8292a9}
.p51-section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 7px 9px}.p51-section-title span{font-size:10px;letter-spacing:.09em;font-weight:800;color:#3977ef}.p51-section-title h2{font-size:27px;margin:1px 0;color:#142649;letter-spacing:-.04em}.p51-section-title p{font-size:12px;color:#7888a3;margin:0}.p51-section-title button{border:1px solid #dce5f5;background:white;color:#3768b7;border-radius:10px;padding:9px 12px;font-size:12px}
.p51-profile-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.p51-profile-info>div{border:1px solid #edf2fa;padding:14px;border-radius:12px}.p51-profile-info span{display:block;font-size:11px;color:#8292a9}.p51-profile-info strong{font-size:13px}.p51-table-scroll{max-width:100%;overflow:auto}.p51-table{border-collapse:collapse;width:100%;min-width:520px}.p51-table th{font-size:10px;text-transform:none!important;letter-spacing:0!important;text-align:left;padding:13px;border-bottom:1px solid #e4ebf6;color:#7686a1}.p51-table td{font-size:12px;padding:14px 13px;border-bottom:1px solid #edf2f9;color:#33496c}.p51-table tr:hover{background:#f9fbff}
.p51-requests-grid{grid-template-columns:repeat(6,1fr)}.p51-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:13px}.p51-course-card{background:#f8fbff;border:1px solid #ebf1fb;border-radius:14px;padding:17px}.p51-course-card>.p51-ico{font-size:30px;color:#3772e9}.p51-course-card h3{font-size:14px;margin:10px 0}.p51-course-card p{font-size:12px;color:#788bac}.p51-team-grid,.p51-service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.p51-team-card{display:flex;gap:12px;background:#f7faff;border:1px solid #eef3fb;padding:14px;border-radius:12px}.p51-team-card .p51-avatar{height:47px;width:47px;font-size:14px}.p51-team-card strong,.p51-team-card span:not(.p51-status){display:block}.p51-team-card strong{font-size:12px}.p51-team-card div>span:not(.p51-status){font-size:10px;color:#8797ac}.p51-service-tile{display:flex;gap:10px;align-items:center;min-height:80px;background:#f6f9ff;border:1px solid #e8f0ff;border-radius:12px;padding:14px;color:#2a4574}.p51-service-tile .p51-ico{font-size:26px;color:#3470eb}.p51-service-tile strong{font-size:12px;text-align:left}.p51-approval-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #eef2f8}.p51-approval-row>div{display:flex;gap:10px;align-items:center}.p51-approval-row>.p51-ico{font-size:24px}.p51-approval-row strong,.p51-approval-row small{display:block}.p51-approval-row strong{font-size:13px}.p51-approval-row small{font-size:10px;color:#8090a9}.p51-approval-row button{padding:8px 10px;border:1px solid #dde5f1;border-radius:9px;background:white;font-size:10px;color:#315d9d}.p51-approval-row .p51-danger{border-color:#f7d3db;color:#c93e58}
.p51-form{display:grid;gap:10px}.p51-form p{font-size:12px;color:#7889a0}.p51-form label{display:grid;gap:7px;font-size:12px;color:#41567a;margin:5px 0}.p51-form input,.p51-form select,.p51-form textarea{width:100%;background:white;border:1px solid #dbe4f2;border-radius:10px;padding:11px;font-size:13px;color:#253a5a;min-width:0}.p51-form-cols{display:grid;grid-template-columns:1fr 1fr;gap:13px}.p51-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}.p51-form-actions button{border-radius:10px;border:1px solid #dae5f3;padding:9px 15px;background:white}.p51-form-actions .p51-primary{background:#2c6ff0;border-color:#2c6ff0}
.p51-mobile-switch,.p51-bottom{display:none}.p51-loading,.p51-error{margin:30px auto;max-width:500px;background:white;border-radius:16px;text-align:center;padding:40px;box-shadow:0 10px 32px #37578214}.p51-error strong{font-size:18px}.p51-error p{color:#bf3446}
html[dir="rtl"] .p51-shell .p51-side{border-right:none;border-left:1px solid #e7edf6}html[dir="rtl"] .p51-bar-controls .p51-person{border-left:none;border-right:1px solid #e7ecf5}html[dir="rtl"] .p51-side-link.active{box-shadow:inset -3px 0 0 #2e72f8}html[dir="rtl"] .p51-side-link b{margin-left:0;margin-right:auto}html[dir="rtl"] .p51-table th{text-align:right}
@media(max-width:1280px){body.account-employee-2150 .p51-shell{grid-template-columns:194px minmax(0,1fr)}.p51-content{padding:16px}.p51-top-cards,.p51-mid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.p51-top-cards>.p51-card:last-child,.p51-mid-cards>.p51-card:last-child{grid-column:1/-1}.p51-requests-grid{grid-template-columns:repeat(3,1fr)}.p51-hero-art{min-width:180px}.p51-glass-building{width:110px}}
@media(max-width:900px){body.account-employee-2150 .p51-shell{display:block}.p51-shell .p51-side{position:fixed;inset:0 auto 0 0;width:265px;transform:translateX(-110%);transition:transform .2s;box-shadow:18px 0 40px #203d7433}.p51-shell .p51-side.open{transform:translateX(0)}html[dir="rtl"] .p51-shell .p51-side{inset:0 0 0 auto;transform:translateX(110%)}html[dir="rtl"] .p51-shell .p51-side.open{transform:translateX(0)}.p51-hamburger{display:block}.p51-bar-title{min-width:130px}.p51-bar{height:70px;padding:0 17px;gap:10px}.p51-searchbox{width:auto;flex:1}.p51-hero-art{min-width:100px}.p51-glass-building{display:none}.p51-bar-controls .p51-person>span:not(.p51-avatar){display:none}}
@media(max-width:650px){body.account-employee-2150 .p51-shell{font-size:13px}.p51-content{padding:12px 12px 85px;gap:12px}.p51-bar{height:64px}.p51-bar-title{display:none}.p51-bar-controls{gap:1px}.p51-bar-controls .p51-person{padding:0;border:0!important}.p51-bar-controls .p51-person .p51-avatar{width:31px;height:31px}.p51-searchbox{min-width:95px;padding:8px 10px}.p51-searchbox input{font-size:10px}.p51-mobile-switch{display:flex;gap:6px;background:#edf4ff;padding:5px;border-radius:13px;margin:10px 13px 0}.p51-mobile-switch:empty{display:none}.p51-mobile-switch button{flex:1;border:0;background:transparent;border-radius:9px;padding:9px;color:#6984b1;font-weight:720;font-size:11px}.p51-mobile-switch button.active{background:white;box-shadow:0 2px 9px #224a8215;color:#2368e8}.p51-hero{padding:15px!important;min-height:125px!important;border-radius:15px!important}.p51-hero-person{gap:11px}.p51-hero .p51-avatar{width:58px;height:58px;border-width:3px;font-size:17px}.p51-hero h1{font-size:17px}.p51-greeting{font-size:11px}.p51-hero p{font-size:10px}.p51-hero-meta{gap:7px;margin-top:8px;font-size:9px}.p51-hero-art{display:none}.p51-top-cards,.p51-mid-cards,.p51-end-cards{grid-template-columns:1fr}.p51-top-cards>.p51-card:last-child,.p51-mid-cards>.p51-card:last-child{grid-column:auto}.p51-card{padding:15px;border-radius:14px}.p51-card-header h3{font-size:14px}.p51-attendance-ring{width:110px;height:110px}.p51-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.p51-quick{min-height:77px}.p51-team-mini{grid-template-columns:repeat(2,minmax(0,1fr))}.p51-section-title{padding:13px 5px 2px}.p51-section-title h2{font-size:20px}.p51-section-title p{font-size:11px}.p51-section-title button{font-size:10px;white-space:nowrap}.p51-profile-info{grid-template-columns:1fr}.p51-form-cols{grid-template-columns:1fr}.p51-approval-row{display:block}.p51-approval-row>div:last-child{margin-top:10px;flex-wrap:wrap}.p51-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:21;background:#fff;box-shadow:0 -8px 24px #274b8116;border-top:1px solid #e6edf8;height:67px;align-items:stretch;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.p51-bottom button{flex:1;border:0;background:transparent;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:2px;color:#8391ae}.p51-bottom button.active{color:#286af1}.p51-bottom .p51-ico{font-size:23px}.p51-bottom small{font-size:9px}.p51-form-actions button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.p51-shell *{transition:none!important;scroll-behavior:auto!important}}

/* Authorized ESS/MSS switch, desktop and mobile */
.p51-shell .p51-bar-controls .p51-desktop-persona{display:inline-flex;gap:7px;align-items:center;border:1px solid #dbe7fc;background:#eff5ff;color:#2764d4;padding:9px 12px;border-radius:12px;font-size:11px;font-weight:750;white-space:nowrap}
.p51-desktop-persona .p51-ico{font-size:18px}
@media(max-width:900px){.p51-shell .p51-bar-controls .p51-desktop-persona{display:none}}

/* 21.54: keep in-page navigation headings visible below the sticky portal bar. */
body.account-employee-2150 .p51-content { scroll-margin-top: 95px; }
.p51-shell .p54-team-button { text-align:left;cursor:pointer;width:100%;font:inherit; }
.p51-shell .p54-team-button:hover { border-color:#adc8f7; background:#f5f9ff; }
.p54-team-button>span:last-child { margin-left:auto; font-size:22px; color:#6185c4; }
.p54-page-intro { display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px; }
.p54-page-intro>span { margin-right:auto; color:#6b7e9d;font-size:12px; }
.p54-page-intro>strong { font-size:12px; }
.p54-modal-form { display:grid;gap:15px; max-width:100%; }
.p54-modal-form>p { color:#647793; font-size:13px; }
.p54-modal-form label { display:grid;gap:7px;font-size:13px;font-weight:650;color:#365174; }
.p54-modal-form input,.p54-modal-form textarea,.p54-modal-form select { width:100%;min-width:0;border-radius:10px;border:1px solid #d7e3f4;background:white;padding:12px;color:#183457;font:inherit; }
.p54-modal-form footer {display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.p54-modal-form footer button {padding:10px 14px;border-radius:10px;border:1px solid #d7e3f4;background:#fff;}
.p54-modal-form footer button.p51-primary {background:#2872ec;color:#fff;}
.p54-team-detail {display:grid;gap:10px;padding:12px;}
.p54-team-detail .p51-avatar {margin:auto;width:85px;height:85px;}
.p54-team-detail h3,.p54-team-detail p {text-align:center;margin:2px 0;}
.p54-team-detail dl {display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;background:#f4f8ff;border-radius:12px;}
.p54-team-detail dt {color:#7184a0;}.p54-team-detail dd {margin:0;font-weight:700;}
@media(max-width:650px){body.account-employee-2150 .p51-content{scroll-margin-top:72px;}.p54-page-intro{align-items:stretch;flex-direction:column}.p54-page-intro>span{margin:0}}

/* HR 21.55 — scoped employee and manager workbenches (no HR Admin UI changes) */
.p55-profile-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.p55-profile-sections>.p51-card{min-width:0}
.p55-team-filters{display:flex;flex-wrap:wrap;gap:15px;margin-top:14px}
.p55-team-filters label{display:grid;gap:6px;min-width:180px;font-size:12px;font-weight:700;color:#58739f}
.p55-team-filters select{border:1px solid #dce6f5;background:#fff;border-radius:10px;padding:10px;color:#264467;font-size:13px}
.p55-performance-employee{display:flex;align-items:center;flex-wrap:wrap;gap:15px;padding:17px 4px;border-bottom:1px solid #edf2fa}
.p55-performance-title{min-width:200px;display:flex;align-items:center;gap:10px}
.p55-performance-title .p51-ico{font-size:25px;color:#3376eb}
.p55-performance-title strong,.p55-performance-title small{display:block}
.p55-performance-title strong{font-size:13px;color:#203c60}
.p55-performance-title small{font-size:11px;color:#8295b2}
.p55-reviews{display:flex;flex:1;flex-wrap:wrap;gap:8px;align-items:center;min-width:180px}
.p55-review-chip{background:#f6f9ff;border:1px solid #dbe7fa;border-radius:12px;padding:9px 12px;display:flex;gap:8px;align-items:center;font-size:12px;color:#325d94}
.p55-score-list{display:grid;gap:8px;max-height:48vh;overflow-y:auto}
.p55-review-item{display:grid!important;grid-template-columns:minmax(130px,1fr) 80px minmax(130px,1fr);align-items:center;gap:12px;background:#f8fbff;border:1px solid #e7eef8;border-radius:11px;padding:11px}
.p55-review-item strong,.p55-review-item small{display:block}
.p55-review-item strong{font-size:12px;color:#1c3d62}
.p55-review-item small{font-size:10px;color:#7890b3}
.p55-review-item input{width:100%;min-width:0}
@media(max-width:950px){.p55-profile-sections{grid-template-columns:1fr}}
@media(max-width:650px){.p55-performance-employee{align-items:stretch;flex-direction:column}.p55-review-item{grid-template-columns:minmax(0,1fr) 75px}.p55-review-item input:last-child{grid-column:1/-1}.p55-score-list{max-height:58vh}}

/* Build 304: full-size MSS team cards and mobile-ready attendance */
.p57-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;margin-top:18px}
.p57-person-card{background:#fff;border:1px solid #e2eaf6;border-radius:18px;padding:20px;box-shadow:0 7px 21px rgba(30,73,127,.06);min-width:0}
.p57-person-top{display:flex;gap:17px;align-items:flex-start}
.p57-person-avatar{flex:0 0 96px;width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#d5e5ff,#6993f6);color:white;display:grid;place-items:center;font-size:28px;font-weight:800;border:4px solid #f2f7ff}
.p57-person-detail{min-width:0;display:grid;gap:5px;color:#5a7196;font-size:12px;overflow-wrap:anywhere}
.p57-person-detail strong{font-size:17px;color:#173357}.p57-person-detail b{color:#1775e8;font-size:13px}
.p57-person-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #e8eef6;padding-top:14px;margin-top:16px}
.p57-tenure{display:grid;text-align:center}.p57-tenure strong{font-size:23px;color:#16345f}.p57-tenure small{font-size:11px;color:#7990ac}
.p57-person-bottom button{border:0;background:#eaf3ff;color:#176ee6;padding:10px 12px;border-radius:10px;cursor:pointer;font-weight:750}
.p57-shift{display:grid;gap:12px;background:#f4f9ff;padding:20px;border:1px solid #e3eefc;border-radius:14px}.p57-shift strong{font-size:17px;color:#16365e}.p57-shift small{color:#7990ac}
.p57-attendance-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.p57-attendance-actions button{min-height:90px;border:1px solid #dce9fb;background:#f1f7ff;color:#155eca;border-radius:13px;cursor:pointer;font-weight:800}
.p57-attendance-actions button:nth-child(1){background:#eaf8f0;color:#148154}.p57-attendance-actions button:nth-child(2){background:#fff0f1;color:#c8344e}.p57-attendance-actions button:nth-child(4){background:#fff5e9;color:#bd740a}
@media(max-width:650px){.p57-team-grid{grid-template-columns:1fr}.p57-person-avatar{width:78px;height:78px;flex-basis:78px;font-size:22px}.p57-attendance-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.p57-person-card{padding:16px}}

.p57-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin:14px 0}
.p57-review-card{border:1px solid #e3ebf6;border-radius:18px;background:#fff;padding:18px;box-shadow:0 5px 17px #204a780d;min-width:0}
.p57-review-head{display:flex;align-items:center;gap:13px}.p57-mini-avatar{display:grid;place-items:center;width:72px;height:72px;flex-shrink:0;background:#d9e6ff;border-radius:14px;color:#2a62cb;font-size:20px;font-weight:800}
.p57-review-head strong,.p57-review-head small{display:block}.p57-review-head strong{color:#1b365e;font-size:15px}.p57-review-head small{color:#8ba0b8}
.p57-review-meta{margin:16px 0;display:grid;gap:8px;color:#355376}.p57-review-meta strong{font-size:13px}.p57-review-meta small{font-size:11px}
.p57-steps{display:flex;justify-content:space-between;gap:9px;margin:15px 0}.p57-steps span{flex:1;white-space:nowrap;border-top:3px solid #dbe5f0;padding-top:9px;text-align:center;font-size:11px;color:#8798ad}.p57-steps span.done{border-top-color:#34b76d;color:#187b51}
.p57-review-actions{display:flex;gap:9px}.p57-review-actions button{flex:1;border:1px solid #bcd6fa;border-radius:10px;padding:11px 8px;background:#edf5ff;color:#1763cb;font-weight:700;cursor:pointer}.p57-review-actions button:first-child{background:#126af1;color:white}.p57-review-actions button:disabled{opacity:.45;cursor:not-allowed}
.p57-person-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}

.p57-absence-alert{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:15px 20px;border:1px solid #f1d49b;border-radius:14px;background:#fff8e8;color:#76501c}.p57-absence-alert button{margin-left:auto;border:0;border-radius:10px;background:#af7121;color:#fff;padding:9px 14px;cursor:pointer;font-weight:750}

.p57-performance-filters{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.p57-performance-filters input,.p57-performance-filters select{background:#f8fbff;border:1px solid #dce6f5;color:#294466;border-radius:10px;padding:12px;min-width:190px}.p57-performance-filters input{flex:1}.p57-score{font-size:20px;color:#1e72e9}.p57-person-detail small,.p57-review-head small{line-height:1.4}.p57-tenure strong{font-size:15px}

/* HR 21.58 — premium ESS/MSS only; intentionally scoped below employee portal. */
body.account-employee-2150 .p51-shell {--p58-blue:#0872f5;--p58-navy:#0c2155;--p58-line:#dfe8f6;--p58-muted:#667d9e;background:#f2f7fe}
.p51-shell .p58-topline{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin:0 0 19px}
.p51-shell .p58-team-count{display:flex;gap:13px;align-items:center;border-radius:16px;border:1px solid var(--p58-line);background:#f8fbff;padding:14px 22px;color:var(--p58-navy)}
.p51-shell .p58-team-count>strong{font-size:29px;font-weight:850;line-height:1}
.p51-shell .p58-team-count span{font-size:13px;font-weight:800}.p51-shell .p58-team-count small{display:block;font-size:11px;font-weight:450;color:var(--p58-muted);margin-top:3px}
.p51-shell button.p58-primary{border:0;border-radius:11px;background:var(--p58-blue);color:#fff;padding:15px 19px;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.p51-shell .p58-team-filters,.p51-shell .p58-perf-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap}
.p51-shell .p58-team-filters label,.p51-shell .p58-perf-filters label{display:grid;gap:7px;color:#41577d;font-size:12px;font-weight:650;min-width:150px;flex:1}
.p51-shell .p58-team-filters .p58-search-label,.p51-shell .p58-perf-filters label:first-child{flex:2.3;min-width:230px}
.p51-shell .p58-team-filters input,.p51-shell .p58-team-filters select,.p51-shell .p58-perf-filters input,.p51-shell .p58-perf-filters select{width:100%;min-height:45px;background:#f9fbff;border:1px solid #d7e2f5;border-radius:9px;padding:9px 12px;font:inherit;color:var(--p58-navy);box-sizing:border-box;font-size:12px}
.p51-shell button.p58-plain{min-height:45px;padding:10px 14px;border-radius:10px;border:1px solid #dbe7f7;background:#fff;color:#315583;cursor:pointer}
.p51-shell .p58-listbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 1px 13px;flex-wrap:wrap;color:var(--p58-navy)}
.p51-shell .p58-listbar h3{font-size:18px;font-weight:800;margin:0}.p51-shell .p58-listbar>div{display:flex;align-items:center;gap:6px}
.p51-shell .p58-listbar select{padding:8px;border:1px solid #d8e3f4;border-radius:8px;background:#fff;color:#395575}
.p51-shell .p58-listbar label{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--p58-muted)}
.p51-shell .p58-listbar button{padding:7px 12px;border:1px solid #dbe6f7;background:#fff;border-radius:7px;color:#416487;font-size:20px;cursor:pointer}
.p51-shell .p58-listbar button.active{background:var(--p58-blue);color:#fff;border-color:var(--p58-blue)}
.p51-shell .p58-team-grid,.p51-shell .p58-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.p51-shell .p58-team-grid.list{grid-template-columns:1fr}
.p51-shell .p58-person-card,.p51-shell .p58-review-card{min-width:0;border-radius:15px;background:#fff;border:1px solid #e2eaf5;box-shadow:0 7px 22px #1c47800b;padding:17px;display:flex;flex-direction:column;gap:11px}
.p51-shell .p58-person-main{display:flex;gap:18px;align-items:flex-start;min-width:0}
.p51-shell .p58-person-avatar{flex:0 0 112px;width:112px;height:112px;border-radius:100%;font-size:27px;border:4px solid #f2f7ff;box-sizing:border-box}
.p51-shell .p58-person-info{display:grid;gap:5px;align-content:start;color:#667b9d;font-size:11px;overflow-wrap:anywhere;min-width:0}
.p51-shell .p58-person-info h3{font-size:16px;color:var(--p58-navy);font-weight:850;margin:0;line-height:1.3}
.p51-shell .p58-person-info .p58-position{font-size:12px;color:#0072f9;font-weight:700}
.p51-shell .p58-depth{color:#3b73bd;font-weight:650}
.p51-shell .p58-person-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:31px}
.p51-shell .p58-person-actions button{font-weight:700;background:transparent;border:0;color:#0574fa;font-size:12px;cursor:pointer;padding:8px}
.p51-shell .p58-service{border-top:1px solid #e8edf5;padding-top:12px;display:flex;justify-content:space-around;align-items:center;gap:8px;margin-top:auto}
.p51-shell .p58-service>div:first-child{display:grid;gap:2px;text-align:center}.p51-shell .p58-service>div:first-child>strong{font-size:21px;font-weight:750;color:#15295b}
.p51-shell .p58-service strong small{font-size:10px;color:#7484a4}
.p51-shell .p58-service>div:first-child>span,.p51-shell .p58-hipo small{font-size:10px;color:#657998}
.p51-shell .p58-hipo{display:grid;text-align:center;gap:4px;border-left:1px solid #e1eaf4;padding-left:20px}
.p51-shell .p58-hipo span{font-size:11px;line-height:1.5;color:#b7c6d9;letter-spacing:3px}
.p51-shell .p58-team-grid.list .p58-person-card{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
.p51-shell .p58-team-grid.list .p58-person-main{flex:2;min-width:300px}.p51-shell .p58-team-grid.list .p58-person-actions{order:3}
.p51-shell .p58-team-grid.list .p58-service{border:0;border-left:1px solid #e8edf5;padding:0 0 0 18px;margin:0}
.p51-shell .p58-perf-stats{display:flex;gap:9px;flex-wrap:wrap;font-size:12px;color:#375580}.p51-shell .p58-perf-stats>span{background:#fff;padding:14px;border:1px solid var(--p58-line);border-radius:11px}
.p51-shell .p58-review-card{padding:14px}
.p51-shell .p58-review-identity{display:flex;gap:13px;align-items:flex-start;min-height:125px}
.p51-shell .p58-review-identity .p57-mini-avatar{width:97px;height:103px;flex:0 0 97px;border-radius:10px;overflow:hidden;font-size:25px}
.p51-shell .p57-mini-avatar img{width:100%;height:100%;object-fit:cover}
.p51-shell .p58-review-identity>div:last-child{display:grid;gap:5px;min-width:0}
.p51-shell .p58-review-identity h3{font-size:14px;color:var(--p58-navy);margin:0;font-weight:850}
.p51-shell .p58-review-identity span{font-size:11px;color:#0879f2}.p51-shell .p58-review-identity small{color:#62789e;font-size:11px}
.p51-shell .p58-review-details{display:flex;gap:13px;min-width:0;border-top:1px solid #edf1f8;padding-top:12px}
.p51-shell .p58-rating{flex:0 0 95px;min-width:0;background:#f3f8ff;border-radius:10px;display:grid;gap:5px;text-align:center;align-content:center;color:#1477ff;padding:14px 4px;box-sizing:border-box}
.p51-shell .p58-rating strong{font-size:23px;line-height:1;font-weight:850}.p51-shell .p58-rating small{font-size:10px;color:#7187a5}
.p51-shell .p58-review-plan{min-width:0;flex:1;display:grid;gap:6px;align-content:start}
.p51-shell .p58-review-plan>strong{font-size:11px;color:var(--p58-navy);overflow-wrap:anywhere}.p51-shell .p58-review-plan>small{font-size:10px;color:#617ca4}
.p51-shell .p58-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:3px}
.p51-shell .p58-progress span{height:5px;background:#d6dce6;border-radius:3px}.p51-shell .p58-progress span.done{background:#25bc63}
.p51-shell .p58-progress-label{display:flex;justify-content:space-between;gap:4px;font-size:10px;color:#758bb3}
.p51-shell .p58-pending{font-size:11px;color:#506c9b}
.p51-shell .p58-review-buttons{margin-top:auto;display:flex;gap:8px}
.p51-shell .p58-review-buttons button{flex:1;min-height:38px;border-radius:8px;border:1px solid #d7e6fa;background:#edf5ff;color:#2563b7;font-size:11px;font-weight:750;cursor:pointer}
.p51-shell .p58-review-buttons button:first-child{background:var(--p58-blue);color:#fff;border-color:var(--p58-blue)}
.p51-shell .p58-review-buttons button:disabled{opacity:.5;cursor:not-allowed}
.p51-shell .p58-att-card{background:#fff;border-radius:14px;border:1px solid #e2eaf5;padding:18px;box-shadow:0 7px 22px #1c47800b;min-width:0}
.p51-shell .p58-att-card>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:11px;font-size:17px;font-weight:800;color:var(--p58-navy);margin:0 0 17px}
.p51-shell .p58-att-card>header small{color:#6782ad;font-size:11px;font-weight:600}.p51-shell .p58-att-card>header button{font-size:11px;font-weight:700;color:#0574ef;border:0;background:transparent;cursor:pointer;padding:7px}
.p51-shell .p58-att-overview{display:grid;grid-template-columns:1.35fr .92fr;gap:16px;margin-bottom:16px}
.p51-shell .p58-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.p51-shell .p58-stat-grid>div{border:1px solid #e7edf6;border-radius:12px;display:grid;gap:6px;padding:13px 10px;align-content:start;min-width:0}
.p51-shell .p58-stat-grid strong{font-size:22px;color:#142b59;line-height:1.3;overflow-wrap:anywhere}
.p51-shell .p58-stat-grid small{font-size:11px;color:#48658a}.p51-shell .p58-stat-grid em{font-size:10px;color:#7b90ab;font-style:normal}
.p51-shell .p58-round{border-radius:50%;display:grid;place-items:center;width:40px;height:40px;font-size:20px;color:#fff;margin-bottom:3px}
.p51-shell .p58-round.green{background:#2abe68}.p51-shell .p58-round.coral{background:#ff6a52}.p51-shell .p58-round.blue{background:#519aff}
.p51-shell .p58-duty{background:#f2f8ff;padding:12px;display:flex;justify-content:space-between;gap:12px;border-radius:10px;margin-bottom:14px;color:#1d3b6c}
.p51-shell .p58-duty strong{font-size:14px}.p51-shell .p58-duty span{font-size:10px;color:#5c7298}
.p51-shell .p58-duty-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.p51-shell .p58-duty-times>div{display:grid;gap:9px;border-right:1px solid #e3ebf5;text-align:center}
.p51-shell .p58-duty-times>div:last-child{border:0}.p51-shell .p58-duty-times small{font-size:10px;color:#6c82a3}.p51-shell .p58-duty-times strong{font-size:15px;color:#142d60}
.p51-shell .p58-att-card>p{font-size:11px;color:#667e9f;margin:12px 0 0}
.p51-shell .p58-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.p51-shell .p58-action-grid button{display:grid;place-items:center;align-content:center;gap:4px;min-height:135px;border:0;border-radius:12px;cursor:pointer;padding:12px;color:#155c39;background:#e8f8ef;font:inherit}
.p51-shell .p58-action-grid button>span{border-radius:50%;display:grid;place-items:center;color:#fff;background:#28b95b;width:44px;height:44px;font-size:24px;margin-bottom:4px}
.p51-shell .p58-action-grid button strong{font-size:14px}.p51-shell .p58-action-grid button small{font-size:11px}
.p51-shell .p58-action-grid button.sign-out{background:#ffedef;color:#bd344a}.p51-shell .p58-action-grid button.sign-out>span{background:#f34568}
.p51-shell .p58-action-grid button.break-in{background:#eaf5ff;color:#1356b2}.p51-shell .p58-action-grid button.break-in>span{background:#117bf5}
.p51-shell .p58-action-grid button.break-out{background:#fff3e8;color:#a55e09}.p51-shell .p58-action-grid button.break-out>span{background:#ff8a17}
.p51-shell button.p58-inline{display:block;margin:15px 0 0 auto;padding:8px 0;border:0;background:none;color:#0674ed;font-size:12px;font-weight:750;cursor:pointer}
.p51-shell .p58-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.p51-shell .p58-day{min-width:0;display:grid;gap:6px;align-content:start;border:1px solid #deebfa;border-radius:10px;padding:12px 8px;background:#f8fbff;min-height:89px;color:#385782}
.p51-shell .p58-day strong{font-size:12px;color:#1c3e6a}.p51-shell .p58-day small,.p51-shell .p58-day span{font-size:10px;overflow-wrap:anywhere}.p51-shell .p58-day.rest_day{background:#fff9ee}.p51-shell .p58-day.unassigned{background:#f4f5f8;color:#95a1b0}
.p51-shell .p58-period-controls{display:flex;gap:6px;align-items:center;font-size:12px;flex-wrap:wrap}.p51-shell .p58-period-controls b{color:#2a517a}
.p51-shell .p58-case{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #edf0f6}.p51-shell .p58-case>div{display:grid;gap:6px}
.p51-shell .p58-case strong{color:var(--p58-navy);font-size:13px}.p51-shell .p58-case small{color:#6e809c;font-size:11px}
.p51-shell .p58-case button{background:#126cec;border:0;color:#fff;padding:10px;border-radius:8px;font-weight:750;cursor:pointer;white-space:nowrap}
.p51-shell .p58-urgent{border-color:#f8cb91;background:#fffbf4}
@media(max-width:1280px){.p51-shell .p58-team-grid,.p51-shell .p58-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p51-shell .p58-att-overview{grid-template-columns:1fr}}
@media(max-width:800px){.p51-shell .p58-team-grid,.p51-shell .p58-review-grid{grid-template-columns:1fr}.p51-shell .p58-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.p51-shell .p58-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.p51-shell .p58-topline{justify-content:space-between}.p51-shell .p58-team-count{padding:10px}.p51-shell .p58-team-count>strong{font-size:24px}.p51-shell .p58-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p51-shell .p58-person-avatar{width:83px;height:83px;flex-basis:83px}.p51-shell .p58-person-main{gap:11px}.p51-shell .p58-att-card{padding:13px}.p51-shell .p58-day{padding:8px 5px}.p51-shell .p58-team-grid.list .p58-person-main{min-width:0}.p51-shell .p58-review-identity .p57-mini-avatar{width:78px;height:90px;flex-basis:78px}}

/* Team profile detail: use existing modal and the same secure employee photo. */
.p51-shell .p58-profile-title{display:flex;align-items:center;gap:17px;padding:10px 0 16px;border-bottom:1px solid #edf2fa}
.p51-shell .p58-profile-title h3{margin:0 0 7px;color:#0e2e69;font-size:20px}
.p51-shell .p58-profile-title strong{font-size:12px;color:#0766e3}
.p51-shell .p58-modal-avatar{width:100px;height:100px;flex:0 0 100px}
.p51-shell .p58-profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.p51-shell .p58-profile-actions button{border-radius:8px;background:#edf5ff;color:#1452a1;border:1px solid #d8e5fa;padding:10px 13px;font-weight:650;cursor:pointer}
.p51-shell .p58-profile-actions button:hover{background:#dceaff}
@media(max-width:540px){.p51-shell .p58-profile-title{align-items:flex-start}.p51-shell .p58-modal-avatar{width:76px;height:76px;flex-basis:76px}}

/* Modal is hosted outside the employee portal mount in this build. */
.p58-profile-title{display:flex;align-items:center;gap:17px;padding:10px 0 16px;border-bottom:1px solid #edf2fa}
.p58-profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.p58-profile-actions button{border-radius:8px;background:#edf5ff;color:#1452a1;border:1px solid #d8e5fa;padding:10px 13px;font-weight:650;cursor:pointer}
.p58-modal-avatar{display:grid;place-items:center;width:100px;height:100px;flex:0 0 100px;border-radius:50%;background:#e5f0ff;font-size:20px;font-weight:800;color:#1c55ae;overflow:hidden}
.p58-modal-avatar img{width:100%;height:100%;object-fit:cover}

/* ESS 21.59: approved photo plus pending HR change workflow. HR Admin CSS untouched. */
.p51-shell .p51-avatar img,.p59-photo-current img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;}
.p51-shell .p59-photo-section{display:flex;align-items:center;gap:23px;flex-wrap:wrap;padding:8px 0;}
.p51-shell .p59-photo-current .p51-avatar{width:112px;height:112px;border-radius:50%;font-size:34px;flex-shrink:0;}
.p51-shell .p59-photo-section>div:last-child{flex:1;min-width:200px;display:grid;justify-items:start;gap:10px;}
.p51-shell .p59-photo-section strong{font-size:16px;color:#122e63;}
.p51-shell .p59-photo-section p{font-size:12px;color:#657a9d;margin:0;max-width:520px;}
.p51-shell .p59-photo-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;}
.p59-photo-upload{background:#f3f7ff;border:1px dashed #b7c9ed;padding:17px;border-radius:14px;display:grid;gap:12px;}
.p59-photo-upload strong{color:#143d80;font-size:15px;}
.p59-photo-upload p,.p59-photo-upload small{color:#567099;font-size:12px;}
.p59-photo-upload label{display:grid;gap:7px;font-weight:700;}
.p59-photo-preview{min-height:128px;border:1px solid #dce8f9;border-radius:12px;background:white;display:flex;align-items:center;justify-content:center;padding:9px;}
.p59-photo-preview img{max-width:185px;max-height:185px;object-fit:contain;border-radius:12px;}
.p59-photo-preview span{font-size:12px;color:#758ba9;text-align:center;}
@media(max-width:650px){.p51-shell .p59-photo-section{gap:12px}.p51-shell .p59-photo-current .p51-avatar{width:82px;height:82px;font-size:24px}}
