/* Mobile 19.0.2 — shared green/gold visual language. */
body.vvc-compact{background:#f5f8f6;color:#192c25;font-family:Arial,Helvetica,sans-serif}
body.vvc-compact .home-hero{display:block!important;min-height:212px!important;padding:calc(18px + env(safe-area-inset-top)) 22px 44px!important;background:radial-gradient(ellipse at top right,#267f61,transparent 65%),#104a36!important;color:white!important;border-radius:0 0 30px 30px!important}
.vvc-compact .home-toprow{margin-bottom:18px!important}.vvc-compact .home-toprow .mobile-brand{width:112px!important;height:42px!important;background:white;border-radius:10px;padding:5px!important}.vvc-compact .home-toprow .design-lock-logo{width:100%!important;height:100%!important;object-fit:contain!important}.vvc-compact #directorHeaderAvatar{display:none!important}
.vvc-compact .profile-strip{display:flex!important;gap:14px!important;margin:0!important;align-items:center!important}.vvc-compact #homeAvatar{display:grid!important;width:54px!important;height:54px!important;flex-shrink:0;border:2px solid #ffffff80;background-color:#ffffff25;color:white}.vvc-compact .hello{font-size:14px!important;color:#d1e8dd!important}.vvc-compact #homeName{font-size:24px!important;line-height:1.3!important;color:white!important}.vvc-compact #homeRole{display:block!important;color:#d1e8dd!important;font-size:12px!important;line-height:1.5!important}.vvc-compact .employee-hero-shift{display:none!important}
.vvc-compact .notification-btn{width:44px!important;height:44px!important;background:#ffffff1a!important;color:white!important;border:1px solid #ffffff33!important;border-radius:50%!important}.vvc-compact svg{width:25px;height:25px;flex-shrink:0}
body.vvc-compact #screenHome .home-body{display:block!important;position:relative;padding:0 18px 110px!important;margin-top:-26px!important;overflow:visible!important}
body.vvc-compact #screenHome .shift-card{display:block!important;padding:20px!important;margin:0 0 20px!important;border:1px solid #e1eae5!important;border-radius:22px!important;background:white!important;box-shadow:0 10px 28px #103e3510!important}
body.vvc-compact #screenHome .shift-card.hidden{display:none!important}.vvc-compact .compact-shift-label{font-size:14px;font-weight:700;color:#18583f;margin-bottom:12px}.vvc-compact .employee-attendance-status{text-align:left!important;display:flex!important;flex-wrap:wrap;align-items:center;gap:8px!important}.vvc-compact #employeeCurrentTime{font-size:28px!important;margin-left:auto}.vvc-compact #employeeGpsSummary{width:100%;font-size:12px!important;color:#6c7c74!important}.vvc-compact .employee-attendance-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:14px!important}.vvc-compact #homeCheckBtn{height:50px!important;background:#ffc928!important;color:#23342b!important;border-radius:13px!important;font-size:14px!important;box-shadow:none!important}.vvc-compact #employeeGpsOpen{height:36px!important;min-height:36px!important;border:0!important;background:transparent!important;color:#38634e!important;font-size:12px!important}
.vvc-compact .mobile-quick-grid,.vvc-compact #mobileChecklist{display:none!important}.vvc-compact .compact-utilities h2{font-size:19px;margin:24px 0 18px;font-weight:700}.vvc-compact #compactUtilities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 6px}.vvc-compact #compactUtilities button{display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:0;padding:0;color:#243a2f;min-width:0;min-height:86px;font-size:12px;line-height:1.4;font-weight:600}.vvc-compact #compactUtilities button[hidden]{display:none}.vvc-compact #compactUtilities svg{box-sizing:content-box;padding:14px;width:26px;height:26px;border-radius:19px;background:#e3f1e9;color:#21634b}.vvc-compact #compactUtilities button:nth-child(3n) svg{background:#fff0c7;color:#956a04}.vvc-compact #compactUtilities button:nth-child(4n) svg{background:#e5ecfa;color:#476295}.vvc-compact #compactUtilities span{overflow-wrap:anywhere}
.vvc-compact .compact-notice{display:flex;align-items:center;gap:12px;width:100%;padding:17px;border:0;border-radius:15px;background:#e8f3ed;color:#20553e;text-align:left;font-size:14px;font-weight:600}.vvc-compact .compact-notice b{margin-left:auto;font-size:24px}.vvc-compact .compact-details{margin-top:26px;border-top:1px solid #dce7df;padding-top:6px}.vvc-compact .compact-details>summary{padding:18px 0;font-size:15px;font-weight:700;cursor:pointer}.vvc-compact .compact-details .director-dashboard{margin-top:12px!important}.vvc-compact .compact-details .director-situation-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vvc-compact .compact-details .director-title-row{flex-wrap:wrap!important}.vvc-compact .compact-details .director-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.vvc-compact .bottom-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;background:#fff!important;border-top:1px solid #e2e9e4!important;padding:8px 6px calc(8px + env(safe-area-inset-bottom))!important;min-height:76px!important;box-shadow:0 -4px 22px #173f3408!important}.vvc-compact .bottom-nav button{background:none!important;color:#87958d!important;min-height:56px!important;border:0!important;display:flex!important;flex-direction:column!important;justify-content:center;align-items:center;gap:6px!important}.vvc-compact .bottom-nav button.active{color:#155a3f!important}.vvc-compact .bottom-nav button>span{background:none!important;height:26px!important;width:26px!important;padding:0!important;display:grid!important;place-items:center}.vvc-compact .bottom-nav small{font-size:10px!important;white-space:nowrap!important}.vvc-compact .bottom-nav .compact-qr>span{height:52px!important;width:52px!important;margin-top:-24px;background:#155a3f!important;border:5px solid #f5f8f6;border-radius:19px!important;color:white!important;box-sizing:content-box}.vvc-compact .bottom-nav .compact-qr svg{width:28px;height:28px}.vvc-compact button:focus-visible,.vvc-compact summary:focus-visible{outline:3px solid #c89008;outline-offset:3px}.vvc-compact .simple-header{background:#104a36!important;color:white!important}.vvc-compact .simple-header h1,.vvc-compact .simple-header button{color:white!important}
@media(min-width:600px){.vvc-compact #screenHome{max-width:600px;margin:auto}.vvc-compact .bottom-nav{max-width:600px;left:50%!important;transform:translateX(-50%)!important}}
body.vvc-compact #screenHome .home-hero .profile-strip{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;min-height:0!important;border-radius:0!important}body.vvc-compact #screenHome .profile-strip:before,body.vvc-compact #screenHome .profile-strip:after{display:none!important}body.vvc-compact #screenHome .home-toprow{display:flex!important;justify-content:space-between!important}body.vvc-compact #screenHome .hello{display:block!important}body.vvc-compact #screenHome .home-body .employee-attendance-status{display:grid!important;grid-template-columns:1fr auto!important;text-align:left!important;border:0!important;padding:0!important}body.vvc-compact #screenHome .employee-attendance-status small{font-size:13px!important;text-align:left!important}body.vvc-compact #screenHome .employee-attendance-status strong{font-size:24px!important;border:0!important;padding:0!important}body.vvc-compact #screenHome .employee-attendance-status #employeeGpsSummary{grid-column:1/-1;font-weight:400!important}body.vvc-compact .bottom-nav button.active>span{color:#155a3f!important}body.vvc-compact .bottom-nav button.compact-qr>span{color:white!important}
body.vvc-compact #screenHome .home-hero{min-height:184px!important;padding-top:14px!important;padding-bottom:34px!important}body.vvc-compact #screenHome .home-toprow{margin-bottom:12px!important}body.vvc-compact #screenHome .shift-card{padding:16px!important;margin-bottom:16px!important}body.vvc-compact #screenHome .employee-attendance-actions{margin-top:10px!important;gap:4px!important}.vvc-compact .compact-utilities h2{margin:20px 0 14px}.vvc-compact #compactUtilities{gap:12px 6px}.vvc-compact #compactUtilities button{font-size:11px}.vvc-compact .compact-notice{padding:14px}
body.vvc-compact.compact-management #screenHome .home-body{margin-top:0!important;padding-top:18px!important}body.vvc-compact.compact-management #screenHome .shift-card{display:none!important}body.vvc-compact.compact-management #directorDashboard{display:grid!important;gap:14px;margin-bottom:24px}body.vvc-compact.compact-management .director-title-row{display:flex;flex-wrap:wrap;gap:12px}body.vvc-compact.compact-management .director-title-row h1{font-size:21px}body.vvc-compact.compact-management .director-situation-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important}body.vvc-compact.compact-management .director-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important}body.vvc-compact.compact-management .director-panel{min-width:0}body.vvc-compact.compact-management .director-action-list button{max-width:100%;white-space:normal}body.vvc-compact.compact-management .director-department-progress{overflow-wrap:anywhere}
.cq-report-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.cq-report-filters label{font-size:13px;color:#476350;min-width:0}.cq-report-filters input,.cq-report-filters select{width:100%;min-width:0;margin-top:6px;padding:10px;border:1px solid #d5e3d8;border-radius:10px;background:white;font-size:14px}.cq-report-filters .wide{grid-column:1/-1}.cq-report-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cq-report-stats div{padding:15px;background:white;border:1px solid #deeadf;border-radius:14px;font-size:13px}.cq-report-stats b{display:block;font-size:25px;color:#175a3e;margin-bottom:5px}
body.vvc-compact.compact-management .bottom-nav button>span{background:transparent!important;color:#608070!important;box-shadow:none!important;border:0!important;transform:none!important}body.vvc-compact.compact-management .bottom-nav button.active>span{color:#155a3f!important}body.vvc-compact.compact-management .bottom-nav button>span svg{display:block!important;color:inherit!important}body.vvc-compact.compact-management .director-situation{background:#e8f3ec!important;border:1px solid #d7e7dc!important;box-shadow:none!important}body.vvc-compact.compact-management .director-situation-stat{background:white!important}body.vvc-compact.compact-management .director-situation-stat small{font-size:12px!important}body.vvc-compact.compact-management .director-action-copy{font-size:13px!important;line-height:1.5!important}body.vvc-compact.compact-management .director-action-source{font-size:10px!important}
/* 19.0.2: management home has a single destination for each shortcut. */
body.vvc-compact.compact-management #screenHome .compact-notice,
body.vvc-compact.compact-management #screenHome .director-quick-actions,
body.vvc-compact.compact-management #screenHome .director-activity-panel,
body.vvc-compact.compact-management #screenHome .compact-details,
body.vvc-compact.compact-management #screenHome .enterprise-tools,
body.vvc-compact #screenHome .compact-utilities.compact-no-tools{display:none!important}
body.vvc-compact.compact-management #screenHome .home-body{padding-bottom:28px!important;min-height:0!important}
body.vvc-compact.compact-management #directorDashboard{margin-bottom:12px!important}
body.vvc-compact.compact-management #compactDepartmentProgress{margin:0;border:1px solid #e0e9e2;border-radius:16px;background:#fff;box-shadow:none}
body.vvc-compact.compact-management #compactDepartmentProgress>summary{cursor:pointer;padding:16px 18px;font-size:15px;font-weight:700;color:#31563f}
body.vvc-compact.compact-management #compactDepartmentProgress .director-panel{padding:0 16px 12px;border:0;box-shadow:none;border-radius:0}
body.vvc-compact.compact-management #compactDepartmentProgress .director-panel>h2{display:none}
body.vvc-compact.compact-management #screenHome #compactUtilities{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.vvc-compact.compact-management #screenHome .compact-utilities h2{font-size:16px;margin:18px 0 14px}
body.vvc-compact #screenMenu [data-compact-menu-tab][hidden]{display:none!important}
body.vvc-compact #screenMenu [data-compact-menu-tab] svg{width:19px;height:19px;display:block}
body.vvc-compact #compactMoreFunctions{margin:14px 0;background:#e8f3ec;color:#23593d;border:1px solid #d7e7db;min-height:48px;border-radius:13px}
/* Restore the department panel on employee mode without adding an empty accordion. */
body.vvc-compact:not(.compact-management) #compactDepartmentProgress>summary{display:none}
body.vvc-compact.compact-management #screenHome{padding-bottom:0!important;min-height:calc(100dvh - 76px)}
body.vvc-compact #screenHome .compact-nav-duplicate{display:none!important}
body.vvc-compact.compact-management #directorActionList [hidden]{display:none!important}
body.vvc-compact.compact-management .compact-action-empty{margin:0;padding:16px 4px;color:#728378;font-size:14px;line-height:1.6;font-weight:400}
/* Keep personal attendance one tap away on the management home screen. */
.vvc-compact .compact-attendance{display:flex;align-items:center;gap:14px;width:100%;margin:0 0 18px;padding:16px;border:1px solid #dce8df;border-radius:16px;background:#fff;color:#194b36;text-align:left;box-shadow:0 4px 16px #173f3408;cursor:pointer}
.vvc-compact .compact-attendance[hidden]{display:none!important}
.vvc-compact .compact-attendance>svg{box-sizing:content-box;width:24px;height:24px;padding:12px;border-radius:14px;background:#fff0c7;color:#956a04}
.vvc-compact .compact-attendance>span{min-width:0;flex:1}
.vvc-compact .compact-attendance strong{display:block;font-size:16px;font-weight:700;line-height:1.4}
.vvc-compact .compact-attendance small{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:#728378}
.vvc-compact .compact-attendance>b{font-size:24px;font-weight:400}
/* BQL personal clock matches the reference card; other role layouts stay intact. */
body.vvc-compact.compact-management[data-mobile-role="project_director"] #screenHome .shift-card:not(.hidden){display:block!important;border-radius:26px!important;padding:22px 20px 18px!important;margin-bottom:22px!important}
body.vvc-compact[data-mobile-role="project_director"] #screenHome .compact-shift-label{font-size:17px;font-weight:700;line-height:1.5;margin-bottom:18px;color:#194b36}
body.vvc-compact[data-mobile-role="project_director"] #screenHome .home-body .employee-attendance-status{row-gap:14px!important;column-gap:12px!important;align-items:center!important}
body.vvc-compact[data-mobile-role="project_director"] #screenHome .home-body .employee-attendance-status small{font-size:16px!important;line-height:1.5!important;color:#193c31}
body.vvc-compact[data-mobile-role="project_director"] #screenHome .home-body .employee-attendance-status strong{font-size:34px!important;line-height:1.1!important;letter-spacing:-1px;color:#153c2c;font-variant-numeric:tabular-nums}
body.vvc-compact[data-mobile-role="project_director"] #screenHome #employeeGpsSummary{font-size:14px!important;line-height:1.5!important;overflow-wrap:anywhere;color:#74847c!important}
body.vvc-compact[data-mobile-role="project_director"] #screenHome #employeeGpsSummary.invalid{color:#b44432!important}
body.vvc-compact[data-mobile-role="project_director"] #screenHome .employee-attendance-actions{margin-top:12px!important;gap:8px!important}
body.vvc-compact[data-mobile-role="project_director"] #screenHome #homeCheckBtn{height:62px!important;margin:0!important;border-radius:17px!important;font-size:18px!important;font-weight:800!important;background:#ffcc25!important;color:#173c2b!important;border:1px solid #ffc315!important}
body.vvc-compact[data-mobile-role="project_director"] #screenHome #homeCheckBtn:disabled{opacity:.6;cursor:wait}
body.vvc-compact[data-mobile-role="project_director"] #screenHome #employeeGpsOpen{display:flex!important;align-items:center;justify-content:center;gap:6px;margin:0!important;min-height:44px!important;font-size:14px!important;font-weight:700!important;color:#38604a!important}
body.vvc-compact[data-mobile-role="project_director"] #screenHome #employeeGpsOpen svg{width:16px;height:16px}
@media(max-width:350px){body.vvc-compact.compact-management[data-mobile-role="project_director"] #screenHome .shift-card:not(.hidden){padding:18px 16px 14px!important}body.vvc-compact[data-mobile-role="project_director"] #screenHome .home-body .employee-attendance-status small{font-size:14px!important}}

/* BQL: one shell width and one icon baseline. Employee/QR navigation stays intact. */
body.vvc-compact[data-mobile-role="project_director"]{--bql-shell-width:430px;--bql-nav-height:calc(76px + env(safe-area-inset-bottom))}
body.vvc-compact[data-mobile-role="project_director"] #appView{width:min(100%,var(--bql-shell-width));max-width:var(--bql-shell-width);margin-inline:auto;padding-bottom:var(--bql-nav-height);box-sizing:border-box}
body.vvc-compact[data-mobile-role="project_director"] .bottom-nav{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(100%,var(--bql-shell-width))!important;max-width:var(--bql-shell-width)!important;height:var(--bql-nav-height)!important;min-height:var(--bql-nav-height)!important;box-sizing:border-box;align-items:center}
body.vvc-compact[data-mobile-role="project_director"] .bottom-nav button{position:static!important;transform:none!important;margin:0!important;padding:0 2px!important;height:56px!important;min-height:56px!important;justify-content:center!important;align-items:center!important;gap:6px!important}
body.vvc-compact[data-mobile-role="project_director"] .bottom-nav button>span{width:26px!important;height:26px!important;min-height:26px!important;margin:0!important;border:0!important;box-sizing:border-box!important;line-height:1!important}
body.vvc-compact[data-mobile-role="project_director"] .bottom-nav button>span svg{width:25px!important;height:25px!important}
body.vvc-compact[data-mobile-role="project_director"] .bottom-nav button>small{display:block;height:14px;line-height:14px!important;margin:0!important}
body.vvc-compact[data-mobile-role="project_director"] .director-title-row>div{flex:1;min-width:0}
body.vvc-compact[data-mobile-role="project_director"] .director-title-row h1{font-size:20px;line-height:1.35}
body.vvc-compact[data-mobile-role="project_director"] .director-title-row select{flex:0 0 100px;width:100px;max-width:100%}
body.vvc-compact[data-mobile-role="project_director"] .director-section-head{gap:10px;flex-wrap:wrap}
body.vvc-compact[data-mobile-role="project_director"] #directorTodayDate{display:flex;align-items:center;gap:5px;white-space:nowrap}
body.vvc-compact[data-mobile-role="project_director"] #directorTodayDate svg{width:14px;height:14px}
body.vvc-compact[data-mobile-role="project_director"] .director-situation-stat{padding:12px 10px}
body.vvc-compact[data-mobile-role="project_director"] .director-situation-stat small{display:flex;align-items:center;gap:6px;line-height:1.4;white-space:normal}
body.vvc-compact[data-mobile-role="project_director"] .director-situation-stat small svg{width:16px;height:16px;color:#517464}
body.vvc-compact[data-mobile-role="project_director"] .director-situation-stat b{line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
body.vvc-compact[data-mobile-role="project_director"] .director-action-row{grid-template-columns:38px minmax(0,1fr) auto 12px;gap:9px;padding:12px 10px;min-height:62px}
body.vvc-compact[data-mobile-role="project_director"] .director-action-source{min-height:38px;height:38px;padding:0;background:#fff0ef;color:#c93532;border-radius:11px}
body.vvc-compact[data-mobile-role="project_director"] .director-action-source svg{width:21px;height:21px}
body.vvc-compact[data-mobile-role="project_director"] .director-action-row[data-director-open="assigned"] .director-action-source{background:#fff4db;color:#996d09}
body.vvc-compact[data-mobile-role="project_director"] .director-action-row[data-director-open="approval"] .director-action-source{background:#eaf1fd;color:#3269b9}
body.vvc-compact[data-mobile-role="project_director"] .director-action-copy{min-width:0;overflow-wrap:anywhere}
body.vvc-compact[data-mobile-role="project_director"] .director-action-state{font-size:9px;padding:5px 7px}
@media(max-width:350px){body.vvc-compact[data-mobile-role="project_director"] .director-title-row>div{flex-basis:100%}body.vvc-compact[data-mobile-role="project_director"] .director-title-row select{flex-basis:100%;width:100%}body.vvc-compact[data-mobile-role="project_director"] .director-action-row{grid-template-columns:34px minmax(0,1fr) 12px;gap:8px}body.vvc-compact[data-mobile-role="project_director"] .director-action-state{grid-column:2;grid-row:2;justify-self:start}body.vvc-compact[data-mobile-role="project_director"] .director-action-row>i{grid-column:3;grid-row:1/3}body.vvc-compact[data-mobile-role="project_director"] .director-action-source{grid-row:1/3}}
