/* VVC Building 19.0.2: approved identity layout for web and mobile. */
.vvc-header-refresh{--identity-green:#124f3c;--identity-ink:#183e31;--identity-line:#dfeae3}
.vvc-header-refresh .profile-avatar-image{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;object-fit:contain!important;object-position:50% 50%!important;border-radius:0!important;transform:none!important;margin:0!important}
body.vvc-header-refresh.vvc-compact .avatar.profile-photo{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;place-items:center;box-sizing:border-box!important;background-image:none!important;background-color:#fff!important;padding:6px!important;overflow:hidden!important;border-radius:20px!important}
/* Approved white brand bar and pale sage profile panel. */
body.vvc-header-refresh.vvc-compact #screenHome .home-hero{padding:0 0 20px!important;min-height:0!important;border-radius:0!important;background:#eaf4ee!important;color:#124f3c!important;box-shadow:none!important;border-bottom:1px solid #e3ece6!important}
body.vvc-header-refresh.vvc-compact #screenHome .home-toprow{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px;margin:0!important;min-height:82px!important;padding:calc(9px + env(safe-area-inset-top)) 20px 9px!important;border-bottom:1px solid #dfe9e2!important;background:#fff!important}
body.vvc-header-refresh.vvc-compact #screenHome .home-toprow .mobile-brand{position:relative!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;width:146px!important;height:62px!important;flex:0 0 146px;padding:0!important;margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:hidden!important;box-shadow:none!important}
body.vvc-header-refresh.vvc-compact #screenHome .home-toprow .mobile-brand:after{display:none!important}
body.vvc-header-refresh.vvc-compact #screenHome .home-toprow .design-lock-logo{display:block!important;flex:none!important;width:142px!important;height:80px!important;min-width:142px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
body.vvc-header-refresh.vvc-compact #screenHome .notification-btn{display:grid!important;place-items:center;width:44px!important;height:44px!important;min-height:44px!important;padding:8px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#124f3c!important}
body.vvc-header-refresh.vvc-compact #screenHome .notification-btn svg{width:25px;height:25px}
body.vvc-header-refresh.vvc-compact #screenHome .notification-btn b{background:#ffcd29!important;color:#124f3c!important;border-color:white!important}
body.vvc-header-refresh.vvc-compact #screenHome .profile-strip{display:flex!important;gap:16px!important;align-items:center!important;padding:22px 20px 18px!important;margin:0!important}
body.vvc-header-refresh.vvc-compact #screenHome #homeAvatar{display:grid!important;place-items:center;width:66px!important;height:66px!important;flex:0 0 66px!important;order:2;margin:0!important;padding:6px!important;border-radius:18px!important;border:1px solid #dae7de!important;background-color:#124f3c!important;color:#fff!important;font-size:23px!important;box-shadow:none!important}
body.vvc-header-refresh.vvc-compact #screenHome #homeAvatar.profile-photo{background-color:white!important}
body.vvc-header-refresh.vvc-compact #screenHome .profile-strip>div:last-child{order:1;min-width:0;flex:1}
body.vvc-header-refresh.vvc-compact #screenHome .hello{font-size:13px!important;line-height:1.4!important;letter-spacing:0;color:#5f7468!important;margin-bottom:4px}
body.vvc-header-refresh.vvc-compact #screenHome #homeName{font-family:Arial,Helvetica,sans-serif!important;font-size:23px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:-.35px!important;overflow-wrap:anywhere;text-shadow:none!important;color:#124f3c!important}
body.vvc-header-refresh.vvc-compact #screenHome #homeRole{font-size:12px!important;font-weight:400!important;line-height:1.45!important;margin-top:5px!important;color:#526b5e!important}
body.vvc-header-refresh.vvc-compact #screenHome #homeProject{display:flex;align-items:center;gap:9px;min-width:0;margin:0 20px;padding:12px 13px;border:1px solid #d4e1d8;border-radius:12px;background:white;color:#315640;font-size:12px;line-height:1.5}
body.vvc-header-refresh.vvc-compact #screenHome #homeProject svg{width:18px;height:18px;flex:0 0 18px;color:#32624b}
body.vvc-header-refresh.vvc-compact #screenHome .home-body{margin-top:0!important;padding-top:16px!important}
body.vvc-header-refresh.vvc-compact #profileAvatar.profile-photo{border-radius:22px!important;padding:8px!important}
/* Arrange existing attendance data; preserve both role-specific event handlers. */
body.vvc-header-refresh.vvc-compact:is([data-mobile-role="employee"],[data-mobile-role="project_director"]) #screenHome .shift-card:not(.hidden){display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:5px;padding:18px!important;border-radius:18px!important;box-shadow:0 5px 18px #183e3105!important}
body.vvc-header-refresh.vvc-compact #screenHome .home-body .shift-card .employee-attendance-status{display:contents!important}
body.vvc-header-refresh.vvc-compact #screenHome .shift-card .employee-attendance-status small{grid-row:1;grid-column:1;font-size:16px!important;line-height:1.4!important;font-weight:700;color:#194b36}
body.vvc-header-refresh.vvc-compact #screenHome .shift-card #employeeCurrentTime{grid-row:1/3;grid-column:2;align-self:start;margin:0!important;font-size:30px!important;line-height:1.2!important;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#124f3c}
body.vvc-header-refresh.vvc-compact #screenHome .shift-card .compact-shift-label{grid-row:2;grid-column:1;margin:0!important;font-size:12px!important;font-weight:400!important;line-height:1.5!important;color:#697a70!important}
body.vvc-header-refresh.vvc-compact #screenHome .shift-card #employeeGpsSummary{grid-row:3;grid-column:1/-1;margin:5px 0 0!important;font-size:12px!important;line-height:1.5!important;overflow-wrap:anywhere;color:#697a70!important}
body.vvc-header-refresh.vvc-compact #screenHome .shift-card #employeeGpsSummary.invalid{color:#ad3a34!important}
body.vvc-header-refresh.vvc-compact #screenHome .shift-card .employee-attendance-actions{grid-row:4;grid-column:1/-1;display:grid!important;gap:9px!important;margin-top:10px!important}
body.vvc-header-refresh.vvc-compact #screenHome .shift-card #homeCheckBtn{height:48px!important;min-height:48px!important;margin:0!important;border-radius:11px!important;background:#ffcd29!important;color:#124f3c!important;font-size:15px!important;font-weight:700!important;box-shadow:none!important}
body.vvc-header-refresh.vvc-compact #screenHome .shift-card #employeeGpsOpen{height:42px!important;min-height:42px!important;margin:0!important;padding:8px 12px!important;border:1px solid #b8cec0!important;border-radius:11px!important;background:#fff!important;color:#24593f!important;font-size:13px!important}
@media(max-width:350px){body.vvc-header-refresh.vvc-compact #screenHome .home-toprow{padding-inline:16px!important}body.vvc-header-refresh.vvc-compact #screenHome .profile-strip{padding-inline:16px!important;gap:12px!important}body.vvc-header-refresh.vvc-compact #screenHome #homeProject{margin-inline:16px}body.vvc-header-refresh.vvc-compact #screenHome #homeName{font-size:20px!important}body.vvc-header-refresh.vvc-compact #screenHome #homeAvatar{width:60px!important;height:60px!important;flex-basis:60px!important}}

/* Web shell keeps all existing project filters and navigation links. */
body.vvc-header-refresh:not(.vvc-compact){background:#f5f8f6;color:#203b2d;font-family:Arial,Helvetica,sans-serif}
.vvc-header-refresh .sidebar .brand{height:116px!important;min-height:116px!important;padding:14px 22px!important;flex-direction:column;justify-content:center;gap:0;background:#fff;border-bottom:1px solid #e8eee9}
.vvc-header-refresh .sidebar .vvc-logo-lock{display:flex!important;justify-content:center!important;align-items:center!important;width:184px!important;max-width:100%;height:76px!important;flex:0 0 76px;overflow:hidden}
.vvc-header-refresh .sidebar .vvc-approved-logo{width:180px!important;height:101px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;flex:none}
.vvc-header-refresh .identity-brand-caption{font-size:9px;line-height:1.5;letter-spacing:1.2px;text-transform:uppercase;color:#698373;white-space:nowrap}
body.vvc-header-refresh .topbar{background:#fff!important;color:#193d2f!important;min-height:88px!important;height:auto!important;gap:18px!important;padding:16px 28px!important;border-bottom:1px solid #e0e9e3!important;box-shadow:none!important;flex-wrap:nowrap!important}
body.vvc-header-refresh .top-page-title{display:flex!important;flex-direction:column;min-width:165px!important;max-width:240px!important;margin:0!important;font-size:19px!important;font-weight:700!important;line-height:1.35!important;letter-spacing:-.3px!important;flex:0 1 240px}
body.vvc-header-refresh .top-page-title strong{font-size:20px!important;line-height:1.3!important;color:#193d2f!important}
body.vvc-header-refresh .top-page-title small{color:#7b8c81;font-size:11px;line-height:1.5;font-weight:400;margin-top:4px}
body.vvc-header-refresh .topbar .global-search{display:flex!important;flex:1 1 240px!important;min-width:140px!important;max-width:360px!important;background:#f5f8f6!important;border:1px solid #e4ece6!important;border-radius:12px!important;height:44px!important;padding:0 13px!important;margin:0!important}
body.vvc-header-refresh .topbar .global-search input{font-size:12px!important;background:transparent!important}
body.vvc-header-refresh .topbar .global-search svg{color:#748b7c}
body.vvc-header-refresh .topbar .top-context{display:flex!important;flex:0 1 260px!important;min-width:180px!important;margin:0!important}
body.vvc-header-refresh .topbar .top-context form{width:100%;min-width:0}
body.vvc-header-refresh .topbar .top-context select{width:100%!important;min-width:0!important;height:44px!important;max-width:100%!important;border:1px solid #dce7df!important;border-radius:12px!important;background:#fff!important;font-family:inherit!important;font-size:12px!important;color:#315640!important;padding:0 12px!important}
body.vvc-header-refresh .topbar .top-date{display:none!important}
body.vvc-header-refresh .topbar-right{display:flex!important;align-items:center;gap:14px!important;flex-shrink:0}
body.vvc-header-refresh .topbar .bell{display:grid!important;place-items:center;width:38px!important;height:38px!important;border:1px solid #e5ede7!important;border-radius:12px!important;background:#fff!important;color:#507260!important}
body.vvc-header-refresh .topbar .bell svg{width:20px;height:20px}
body.vvc-header-refresh .topbar .user-menu{display:flex!important;align-items:center;gap:9px!important;margin:0!important;padding:0 0 0 14px!important;border-left:1px solid #e5ede7!important;color:#284c37!important}
body.vvc-header-refresh .topbar .user-avatar{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;width:40px!important;height:40px!important;padding:4px!important;border-radius:12px!important;background:#edf5ef!important;color:#2f6347!important;overflow:hidden;font-size:15px;box-sizing:border-box}
body.vvc-header-refresh .topbar .user-avatar.has-photo .identity-initial{display:none}
body.vvc-header-refresh .topbar .user-name{font-size:12px;font-weight:700;line-height:1.4}
body.vvc-header-refresh .topbar .user-role{font-size:10px;color:#789080;line-height:1.5}
body.vvc-header-refresh .topbar .chev{font-size:13px!important;color:#859689}
body.vvc-header-refresh .main{padding-top:24px!important}
body.vvc-header-refresh .ov-hero{position:relative;overflow:hidden;background:#eaf4ee!important;color:#124f3c!important;border:1px solid #d9e7dd!important;border-radius:20px!important;min-height:140px;padding:26px 30px!important;box-shadow:none}
body.vvc-header-refresh .ov-hero:after{display:none;content:"";position:absolute;right:280px;top:-80px;width:230px;height:230px;border:1px solid #ffffff0d;border-radius:50%;pointer-events:none}
body.vvc-header-refresh .ov-hero .ov-eyebrow{color:#60806b;font-size:10px;font-weight:700;letter-spacing:1.8px}
body.vvc-header-refresh .ov-hero h1{color:#124f3c!important;font-size:28px!important;letter-spacing:-.6px;line-height:1.3;margin:8px 0}
body.vvc-header-refresh .ov-hero p,body.vvc-header-refresh .ov-update span{color:#637c6d!important;font-size:12px}
body.vvc-header-refresh .ov-update a{color:#215d40!important;font-weight:500}
body.vvc-header-refresh .ov-update{position:relative;z-index:1}
@media(max-width:1200px){body.vvc-header-refresh .topbar{gap:12px!important;padding-inline:18px!important}body.vvc-header-refresh .top-page-title{min-width:145px!important;flex-basis:180px!important}body.vvc-header-refresh .top-page-title strong{font-size:18px!important}body.vvc-header-refresh .topbar .user-copy{display:none}body.vvc-header-refresh .topbar .user-menu{padding-left:10px!important}body.vvc-header-refresh .topbar .top-context{flex-basis:220px!important}}
@media(max-width:900px){body.vvc-header-refresh .topbar{flex-wrap:wrap!important;min-height:78px!important}body.vvc-header-refresh .top-page-title{flex:1!important;max-width:none!important}body.vvc-header-refresh .topbar .global-search{display:none!important}body.vvc-header-refresh .topbar .top-context{order:8;flex-basis:100%!important;width:100%!important}body.vvc-header-refresh .topbar-right{margin-left:auto!important}body.vvc-header-refresh .ov-hero{padding:22px!important}body.vvc-header-refresh .ov-hero h1{font-size:24px!important}}

/* Keep the existing footer inside the responsive page width. */
body.vvc-header-refresh .main::after{margin-inline:0;max-width:100%;box-sizing:border-box}
body.vvc-header-refresh #employeeGpsOpen{display:flex;align-items:center;justify-content:center;gap:7px}
body.vvc-header-refresh #employeeGpsOpen svg{width:18px;height:18px;flex:0 0 18px}

/* Building wordmark keeps its intrinsic ratio. */
.vvc-header-refresh .identity-brand-caption{font-size:10px;letter-spacing:.2px}.vvc-header-refresh .vvc-approved-logo{object-fit:contain;object-position:center;width:180px;max-width:100%;height:auto}.home-brand-lock img{object-fit:contain;object-position:left center}

/* Company logo in the web sidebar, 19.0.2 / 2026-09-14. */
.vvc-header-refresh .sidebar .brand{height:116px!important;min-height:116px!important;padding:12px 22px!important;gap:0!important}
.vvc-header-refresh .sidebar .vvc-logo-lock{width:100%!important;height:92px!important;flex:0 0 92px!important;overflow:visible!important}
.vvc-header-refresh .sidebar .vvc-logo-lock::before{content:"";display:block;width:86px;height:92px;background:url("vvc-company-logo.png?v=20260914") center/contain no-repeat;flex:0 0 86px}
.vvc-header-refresh .sidebar .vvc-approved-logo,.vvc-header-refresh .sidebar .identity-brand-caption{display:none!important}
