*{box-sizing:border-box}:root{--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-control:12px;--radius-card:18px;--radius-panel:22px;--radius-sheet:28px;--type-title-lg:clamp(28px, 6vw, 42px);--type-title:clamp(24px, 4.8vw, 34px);--type-section:19px;--type-card:17px;--type-body:16px;--type-secondary:14px;--type-caption:12px;--weight-title:760;--weight-medium:650;--weight-button:700;--sp-canvas:#101418;--sp-canvas-elevated:#171e25;--sp-material-thin:#ffffff0b;--sp-material-regular:#ffffff13;--sp-material-thick:#121c2ad1;--sp-material-opaque:#18212b;--sp-separator:#e8f1fa24;--sp-separator-strong:#f2f8ff3d;--sp-text:#f6f8fb;--sp-text-secondary:#eff5fab8;--sp-text-tertiary:#eff5fa85;--sp-accent:#e8ad3e;--sp-accent-hover:#f0bd58;--sp-accent-pressed:#cf8f21;--sp-accent-rgb:232, 173, 62;--sp-accent-contrast:#111;--sp-success:#38b66a;--sp-warning:#e8ad3e;--sp-danger:#e45858;--sp-info:#75aef5;--sp-focus:#75aef557;--sp-shadow-flat:none;--sp-shadow-raised:0 10px 28px #0000002e;--sp-shadow-floating:0 20px 58px #00000047;--sp-shadow-modal:0 32px 96px #0000006b;--sp-edge:inset 0 1px 0 #ffffff1a;--sp-blur-toolbar:18px;--sp-blur-floating:24px;--motion-instant:80ms;--motion-quick:.14s;--motion-standard:.2s;--motion-sheet:.24s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.16, 1, .3, 1);--ease-press:cubic-bezier(.2, 0, .38, .9);--press-scale:.985;--nav-depth:8px}body{font-family:var(--font-sans);color:#f5f5f5;background:#101418;margin:0}body[data-accent=blue]{--sp-accent:#4f9cf9;--sp-accent-hover:#6fb1ff;--sp-accent-pressed:#2f7fde;--sp-accent-rgb:79, 156, 249;--sp-accent-contrast:#07111f;--sp-info:#7fb7ff}body[data-accent=green]{--sp-accent:#38b66a;--sp-accent-hover:#4fd47f;--sp-accent-pressed:#249353;--sp-accent-rgb:56, 182, 106;--sp-accent-contrast:#04160c;--sp-info:#72d59c}body[data-accent=graphite]{--sp-accent:#a8b3bf;--sp-accent-hover:#c1ccd8;--sp-accent-pressed:#8794a2;--sp-accent-rgb:168, 179, 191;--sp-accent-contrast:#071016;--sp-info:#aeb9c6}body:has(.previewVisualApp){font-family:var(--font-sans);color:var(--sp-text);background:radial-gradient(circle at 18% -12%,#5e8cc42e,#0000 34rem),radial-gradient(circle at 86% 8%,#7966a01c,#0000 32rem),radial-gradient(circle at 50% 110%,#ffffff0e,#0000 38rem),linear-gradient(135deg,#070b12 0%,#101722 55%,#0b1119 100%)}body:has(.previewVisualApp):before{content:"";pointer-events:none;z-index:-1;opacity:.82;background:radial-gradient(#0000 0%,#00000047 72%,#00000075 100%),linear-gradient(#ffffff08,#0000 42%);position:fixed;inset:0}.app{width:100%;max-width:540px;min-height:100vh;margin:0 auto;padding:16px;position:relative}.dashboardApp{max-width:1120px}.hubApp{max-width:1440px}header{background:linear-gradient(135deg,#1c252d,#293744);border:1px solid #344756;border-radius:22px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;margin-bottom:18px;padding:20px;display:grid}.previewVisualApp header{border:1px solid var(--sp-separator);border-radius:var(--radius-panel);box-shadow:var(--sp-shadow-raised), var(--sp-edge);-webkit-backdrop-filter:blur(var(--sp-blur-toolbar)) saturate(142%);background:linear-gradient(#ffffff1b,#ffffff0a),#121c2ab3}h1{letter-spacing:-1px;margin:0;font-size:34px}.previewVisualApp h1,.previewVisualApp .brandBlock h1,.previewVisualApp .brandTitle h1{font-size:var(--type-title);letter-spacing:-.01em;font-weight:var(--weight-title)}header p,.hint{color:#b9c2ca;margin:6px 0 0}.previewVisualApp header p,.previewVisualApp .hint{color:var(--sp-text-secondary);font-size:var(--type-secondary)}.brandBlock{gap:4px;min-width:0;display:grid}.brandBlock h1{white-space:nowrap;font-size:clamp(24px,6vw,34px)}.brandTitle{align-items:center;gap:14px;min-width:0;display:flex}.brandTitle h1{white-space:nowrap;font-size:clamp(24px,6vw,34px)}.brandLogo{object-fit:contain;object-position:center;border-radius:8px;flex:none;width:min(190px,34vw);max-height:78px;display:block}.sitePilotHeaderWordmark{object-fit:contain;object-position:left center;filter:drop-shadow(0 10px 22px #00000038)drop-shadow(0 1px 5px #ffffff29);width:clamp(190px,22vw,315px);max-height:54px;display:block}.headerCenterLogo{justify-self:center}.headerActions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.headerJobSelect{border:1px solid var(--sp-separator);color:var(--sp-text);width:auto;min-width:132px;max-width:min(220px,24vw);height:42px;min-height:42px;box-shadow:var(--sp-edge);background:linear-gradient(#ffffff13,#ffffff09) calc(100% - 17px) 17px,#121c2a8a calc(100% - 11px) 17px;border-radius:999px;padding:8px 34px 8px 14px;font-size:13px;font-weight:800}.headerJobSelect:focus-visible{border-color:var(--sp-focus);box-shadow:0 0 0 3px var(--sp-focus), var(--sp-edge);outline:none}h2{margin-top:10px}h3{border-top:1px solid #334654;margin-top:24px;padding-top:18px}.iconButton{color:#fff;background:#26333f;border:1px solid #344756;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex;position:relative}.previewVisualApp .iconButton{border-color:var(--sp-separator);background:var(--sp-material-regular);box-shadow:var(--sp-edge)}.settingsScreen{max-width:1180px}.settingsHero{border:1px solid var(--sp-separator);border-radius:var(--radius-panel);box-shadow:var(--sp-shadow-raised), var(--sp-edge);background:linear-gradient(#ffffff16,#ffffff08),#121c2ac2;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:20px;display:flex}.settingsHero h2{font-size:var(--type-title);margin:4px 0 0;line-height:1.05}.settingsSearch{border:1px solid var(--sp-separator);color:var(--sp-text-secondary);background:#ffffff0e;border-radius:999px;flex:none;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;width:min(260px,38vw);min-width:min(240px,38vw);max-width:260px;height:40px;margin:0;padding:0 12px;display:grid}.settingsSearch svg{color:var(--sp-text-tertiary);width:18px;height:18px;display:block}.settingsSearch input{color:var(--sp-text);background:0 0;border:0;border-radius:0;outline:none;width:100%;height:38px;min-height:38px;padding:0}.settingsLayout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:16px;display:grid}.settingsSidebar,.settingsDetail,.settingsSection{border:1px solid var(--sp-separator);border-radius:var(--radius-panel);box-shadow:var(--sp-shadow-raised), var(--sp-edge);background:linear-gradient(#ffffff0f,#ffffff06),#131c27d1}.settingsSidebar{gap:5px;padding:8px;display:grid;position:sticky;top:14px}.settingsCategoryRow{color:var(--sp-text-secondary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:10px 12px;display:grid}.settingsCategoryRow:hover,.settingsCategoryRow:focus-visible{color:var(--sp-text);background:#ffffff0f;outline:none}.settingsCategoryRow.active{color:var(--sp-text);background:#e8ad3e29}.settingsDetail{gap:14px;padding:14px;display:grid}.settingsSection{box-shadow:none;overflow:hidden}.settingsSectionHeader{padding:18px 18px 10px}.settingsSectionHeader h3{border:0;margin:0;padding:0;font-size:18px}.settingsSectionHeader p{color:var(--sp-text-secondary);margin:6px 0 0;line-height:1.45}.settingsRows{display:grid}.settingsRow{border-top:1px solid #e8f1fa1a;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:62px;padding:13px 18px;display:grid}.settingsRowDisabled{opacity:.58}.settingsRowText{gap:3px;display:grid}.settingsRowText strong{color:var(--sp-text);font-size:15px}.settingsRowText span{color:var(--sp-text-secondary);font-size:13px;line-height:1.35}.settingsRowControl{justify-content:flex-end;align-items:center;gap:8px;display:flex}.settingsToggle{cursor:pointer;background:#94a3b847;border:1px solid #ffffff1f;border-radius:999px;width:52px;height:30px;padding:2px}.settingsToggle span{height:24px;transition:transform var(--motion-quick) var(--ease-standard);background:#fff;border-radius:50%;width:24px;display:block;transform:translate(0);box-shadow:0 2px 8px #00000040}.settingsToggle.active{background:var(--sp-accent)}.settingsToggle.active span{transform:translate(20px)}.settingsToggle:disabled{cursor:not-allowed;opacity:.55}.settingsSelect,.settingsInlineInput{border:1px solid var(--sp-separator);color:var(--sp-text);background:#ffffff12;border-radius:12px;min-width:170px;min-height:40px;padding:0 12px}.settingsInlineInput{max-width:220px}.settingsBadge{color:var(--sp-text-secondary);white-space:nowrap;background:#94a3b82e;border:1px solid #94a3b838;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.settingsBadge-success{color:#8ff0b2;background:#38b66a29;border-color:#38b66a4d}.settingsBadge-warning{color:#ffd98b;background:#e8ad3e29;border-color:#e8ad3e57}.settingsBadge-danger{color:#ffaaa7;background:#e4585829;border-color:#e4585857}.settingsBadge-info{color:#a8ccff;background:#75aef529;border-color:#75aef557}.settingsProfileCard,.settingsAboutCard{align-items:center;gap:14px;padding:18px;display:flex}.settingsAvatar{color:#111820;background:linear-gradient(135deg,#e8ad3ef2,#75aef5b8);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:900;display:flex}.settingsProfileCard h3,.settingsAboutCard h3{border:0;margin:0;padding:0}.settingsProfileCard p,.settingsAboutCard p{color:var(--sp-text-secondary);margin:4px 0 0}.settingsPasswordForm{border:1px solid var(--sp-separator);background:#ffffff0b;border-radius:18px;gap:14px;padding:18px;display:grid}.settingsPasswordForm h3{border:0;margin:0;padding:0}.settingsPasswordForm label{color:var(--sp-text-secondary);gap:7px;font-size:13px;font-weight:800;display:grid}.settingsPasswordForm input{border:1px solid var(--sp-separator);color:var(--sp-text);background:#ffffff12;border-radius:12px;min-height:42px;padding:0 12px}.settingsPasswordGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settingsAboutCard{text-align:center;flex-direction:column}.settingsAboutCard img{object-fit:contain;max-width:240px;max-height:82px}.settingsStorage{gap:8px;padding:18px;display:grid}.settingsStorageTrack{background:#ffffff14;border-radius:999px;height:12px;overflow:hidden}.settingsStorageTrack i{background:linear-gradient(90deg, var(--sp-accent), var(--sp-info));height:100%;display:block}.settingsStorage span{color:var(--sp-text-secondary);font-size:13px}.clientSettingsShell{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:16px;padding:0 18px 18px;display:grid}.clientSettingsList{gap:8px;display:grid}.clientProfileTile{color:var(--sp-text);cursor:pointer;text-align:left;background:#ffffff0b;border:1px solid #e8f1fa1a;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:12px;display:grid}.clientProfileTile:hover,.clientProfileTile:focus-visible{background:#ffffff13;border-color:#e8ad3e52;outline:none}.clientProfileTile.active{background:#e8ad3e29;border-color:#e8ad3e61}.clientProfileTile span{gap:3px;min-width:0;display:grid}.clientProfileTile strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clientProfileTile small{color:var(--sp-text-secondary);text-transform:capitalize;font-size:12px}.clientSettingsSummary{background:linear-gradient(135deg,#e8ad3e2e,#75aef514),#ffffff0b;border:1px solid #e8f1fa1f;border-radius:20px;gap:9px;min-height:100%;padding:18px;display:grid}.clientSettingsSummary h3{border:0;margin:0;padding:0;font-size:22px}.clientSettingsSummary p{color:var(--sp-text-secondary);margin:0;line-height:1.45}.clientSettingsStats{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.clientSettingsStats span{color:var(--sp-text-secondary);text-transform:capitalize;background:#ffffff12;border:1px solid #e8f1fa1a;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.clientSettingsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 18px 18px;display:grid}.clientLogoUploader{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:0 18px 18px;display:grid}.clientLogoPreview{aspect-ratio:1;color:var(--sp-text);background:linear-gradient(135deg,#e8ad3e29,#75aef51a),#ffffff0e;border:1px solid #e8f1fa1f;border-radius:18px;justify-content:center;align-items:center;width:82px;font-size:18px;font-weight:900;display:flex;overflow:hidden}.clientLogoPreview img{object-fit:contain;width:100%;height:100%;padding:8px}.clientLogoUploadText{gap:4px;min-width:0;display:grid}.clientLogoUploadText strong{color:var(--sp-text);font-size:15px}.clientLogoUploadText span{color:var(--sp-text-secondary);font-size:13px;line-height:1.35}.clientLogoUploadButton{cursor:pointer;white-space:nowrap;margin:0;position:relative}.clientLogoUploadButton input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.clientLogoUploadButton.disabled{cursor:not-allowed;opacity:.58}.clientSettingsGrid label,.settingsFullField{color:var(--sp-text-secondary);gap:7px;font-size:13px;font-weight:800;display:grid}.clientSettingsGrid .settingsInlineInput,.clientSettingsGrid .settingsSelect,.settingsFullField .settingsInlineInput{width:100%;max-width:none}.clientModuleGrid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.clientModuleGrid .settingsRow:nth-child(2){border-top:1px solid #e8f1fa1a}.clientTerminologyGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.settingsFullField{padding:0 18px 14px}.clientSettingsNotes{resize:vertical;min-height:116px;padding:12px}.clientSettingsActions{border-top:1px solid #e8f1fa1a;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px 18px;display:flex}body.settingsCompactMode .panel,body.settingsCompactMode .miniCard,body.settingsCompactMode .settingsRow{padding-top:10px;padding-bottom:10px}body.settingsLargeText{font-size:17px}body.settingsExtraLargeText{font-size:18px}body.settingsHighContrast{--sp-text-secondary:#f6f8fbd6;--sp-text-tertiary:#f6f8fbad;--sp-separator:#f2f8ff42}body.settingsReducedMotion *,body.settingsReducedMotion :before,body.settingsReducedMotion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}@media (width<=860px){.settingsHero{flex-direction:column;align-items:stretch;padding:16px}.settingsSearch{width:100%;min-width:0;max-width:none;height:40px}.settingsLayout{grid-template-columns:1fr}.settingsSidebar{scroll-snap-type:x proximity;gap:8px;padding:8px;display:flex;position:static;overflow-x:auto}.settingsCategoryRow{scroll-snap-align:start;flex:none;min-width:170px}.settingsDetail{padding:10px}.settingsRow{grid-template-columns:1fr;align-items:start;gap:10px}.settingsRowControl{justify-content:flex-start;width:100%}.settingsSelect,.settingsInlineInput{width:100%;min-width:0;max-width:none}.settingsPasswordGrid,.clientSettingsShell,.clientSettingsGrid,.clientModuleGrid,.clientTerminologyGrid{grid-template-columns:1fr}.clientLogoUploader{grid-template-columns:auto minmax(0,1fr);align-items:stretch}.clientLogoUploadButton{grid-column:1/-1;justify-content:center;width:100%}.clientModuleGrid .settingsRow:nth-child(2){border-top:1px solid #e8f1fa1a}.clientSettingsActions{flex-direction:column;align-items:stretch}.clientSettingsActions button{justify-content:center;width:100%}}.grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.card,.wideCard{color:#fff;background:#1b232b;border:1px solid #344756;border-radius:20px;justify-content:center;align-items:center;gap:14px;padding:22px 12px;font-size:16px;display:flex}.previewVisualApp .card,.previewVisualApp .wideCard{border-color:var(--sp-separator);border-radius:var(--radius-card);box-shadow:var(--sp-shadow-raised), var(--sp-edge);background:linear-gradient(#ffffff14,#ffffff08),#172230d1}.card{flex-direction:column;min-height:120px;position:relative}.wideCard{justify-content:flex-start;width:100%;margin-bottom:12px;padding:20px;font-weight:700}.card svg{width:34px;height:34px}.masterHubLanding{gap:18px;display:grid}.hubLandingHero{background:#171e25;border:1px solid #344756;border-radius:18px;padding:20px}.previewVisualApp .hubLandingHero{border-color:var(--sp-separator);border-radius:var(--radius-panel);box-shadow:var(--sp-shadow-raised), var(--sp-edge);-webkit-backdrop-filter:blur(var(--sp-blur-toolbar)) saturate(142%);background:linear-gradient(#ffffff1b,#ffffff0a),#121c2ab8}.hubLandingHero h2{margin:0}.visionGateway{padding-top:10px}.visionGatewayHero{justify-content:space-between;align-items:flex-start;gap:18px;min-height:170px;display:flex;position:relative;overflow:hidden}.visionGatewayHero:before{content:"";pointer-events:none;background:radial-gradient(circle at 25% 20%,#91c5ff38,#0000 60%);height:220px;position:absolute;inset:-40% -10% auto}.visionGatewayHero>*{z-index:1;position:relative}.gatewayEyebrow{color:#9ec9ff;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:900;display:inline-flex}.gatewayStatusCluster{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.gatewayStatusCluster span{color:var(--sp-text-secondary);background:#ffffff0f;border:1px solid #e8f1fa29;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-size:12px;font-weight:800;display:inline-flex}.hubChoiceGrid{grid-template-columns:1fr;gap:14px;display:grid}.previewVisualApp .hubChoiceGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hubChoiceTile{color:#fff;text-align:left;background:#1b232b;border:1px solid #344756;border-radius:20px;align-content:center;justify-items:start;gap:12px;width:100%;min-height:180px;padding:22px;display:grid}.previewVisualApp .hubChoiceTile{border-color:var(--sp-separator);border-radius:var(--radius-sheet);min-height:250px;box-shadow:var(--sp-shadow-floating), var(--sp-edge);-webkit-backdrop-filter:blur(var(--sp-blur-floating)) saturate(145%);background:radial-gradient(circle at 14% 10%,#ffffff1f,#0000 15rem),linear-gradient(#ffffff1b,#ffffff0a),#121c2ac7;align-content:space-between;gap:16px;padding:26px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;position:relative;overflow:hidden}.previewVisualApp .hubChoiceTile:after{content:"";pointer-events:none;opacity:.45;background:linear-gradient(#fff3,#0000 26%);position:absolute;inset:0}.previewVisualApp .hubChoiceTile:hover,.previewVisualApp .hubChoiceTile:focus-visible{border-color:var(--sp-separator-strong);box-shadow:var(--sp-shadow-floating), inset 0 1px 0 #ffffff26;transform:translateY(-2px)}.previewVisualApp .hubChoiceTile>*{z-index:1;position:relative}.hubChoiceIcon{display:inline-grid}.previewVisualApp .hubChoiceIcon{border:1px solid var(--sp-separator);width:64px;height:64px;box-shadow:var(--sp-edge);background:#ffffff14;border-radius:20px;place-items:center}.hubChoiceTile svg{width:42px;height:42px}.hubChoiceTile>span:not(.hubChoiceIcon){font-size:24px;font-weight:900}.hubChoiceTile small{color:#b9c2ca;font-size:14px;line-height:1.45}.previewVisualApp .hubChoiceTile small{color:var(--sp-text-secondary)}.hubChoiceTile em{display:none}.previewVisualApp .hubChoiceTile em{color:#eff7ff;background:#ffffff13;border:1px solid #e8f1fa2e;border-radius:999px;align-self:end;padding:9px 13px;font-size:12px;font-style:normal;font-weight:900;display:inline-flex}.siteHubTile{border-color:#3b82f6}.officeHubTile{border-color:#22c55e}.previewVisualApp .siteHubTile{border-color:#3b82f685}.previewVisualApp .officeHubTile{border-color:#22c55e6b}.previewVisualApp .siteHubTile .hubChoiceIcon{color:var(--sp-info)}.previewVisualApp .officeHubTile .hubChoiceIcon{color:#8ff0b4}.officeHubGrid .card{min-height:150px}.officeProjectsPage,.labourResourcePage{gap:16px;display:grid}.labourResourceControls{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:12px;display:grid}.labourResourceActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.labourAllocator,.labourAllocatorGrid{gap:14px;display:grid}.labourProjectPicker,.labourOperativePicker{min-width:0}.labourProjectPicker h4,.labourOperativePicker h4{color:var(--sp-text);margin:0 0 10px;font-size:15px}.labourAddProject{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px;display:grid}.labourProjectList,.labourOperativeList,.labourSelectedPeople{gap:8px;display:grid}.labourProjectList{max-height:430px;padding-right:2px;overflow:auto}.labourProjectList button,.labourOperativeList button{border:1px solid var(--sp-separator);color:var(--sp-text);cursor:pointer;text-align:left;background:#ffffff09;border-radius:14px;gap:4px;padding:12px;display:grid}.labourProjectList button:hover,.labourProjectList .activeLabourProject,.labourOperativeList button:hover:not(:disabled){background:rgba(var(--sp-accent-rgb), .12);border-color:rgba(var(--sp-accent-rgb), .34)}.labourProjectList span,.labourOperativeList span,.labourOperativeList em{color:var(--sp-text-secondary);font-size:12px;font-style:normal}.labourAllocatorTitle{justify-content:space-between;align-items:start;margin-bottom:10px;display:flex}.labourSelectedPeople{flex-wrap:wrap;margin-bottom:12px;display:flex}.labourPersonChip{background:rgba(var(--sp-accent-rgb), .14);border:1px solid rgba(var(--sp-accent-rgb), .24);color:var(--sp-text);border-radius:999px;align-items:center;gap:7px;padding:7px 9px 7px 12px;font-size:13px;font-weight:800;display:inline-flex}.labourPersonChip button{color:inherit;cursor:pointer;background:#ffffff29;border:0;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:16px;line-height:1;display:inline-flex}.labourProjectActions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.labourOperativeList{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:520px;padding-right:2px;overflow:auto}.labourOperativeList button{position:relative}.labourOperativeList button em{background:rgba(var(--sp-accent-rgb), .16);color:var(--sp-accent);border-radius:999px;justify-self:start;padding:3px 8px;font-weight:900}.labourOperativeList button:disabled{cursor:default;opacity:.72}.labourResourceGrid{gap:14px;display:grid}.labourResourceBoard{min-width:0}.labourTableWrap{margin-top:12px;padding-bottom:4px;overflow:auto}.labourResourceTable{border-collapse:separate;border-spacing:0;width:100%;min-width:980px}.labourResourceTable th,.labourResourceTable td{border-bottom:1px solid var(--sp-separator);text-align:left;vertical-align:top;padding:8px 6px}.labourResourceTable th{color:var(--sp-text-secondary);font-size:12px;font-weight:800}.labourResourceTable td:first-child{min-width:190px}.labourResourceTable input,.labourResourceTable select{width:100%;min-height:38px}.labourResourceTable td:first-child input{margin-top:6px}.labourResourceTable td:last-child,.labourResourceTable th:last-child{width:46px}.upcomingLabourTable{min-width:860px}.emptyTableCell{color:var(--sp-text-secondary);text-align:center!important}.labourResourceSummary{align-self:start}.labourSiteSummaryList{gap:9px;margin-top:12px;display:grid}.labourSiteSummary{border:1px solid var(--sp-separator);background:#ffffff09;border-radius:14px;gap:4px;padding:12px;display:grid}.labourSiteSummary strong{color:var(--sp-text)}.labourSiteSummary span,.labourSiteSummary small{color:var(--sp-text-secondary)}.modalBackdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;background:#040a12b8;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modalCard{background:var(--sp-material-regular);border:1px solid var(--sp-separator);box-shadow:var(--sp-shadow-floating);color:var(--sp-text);border-radius:24px;gap:16px;width:min(760px,100%);max-height:calc(100vh - 36px);padding:20px;display:grid;overflow:auto}.labourOperativeModal{align-self:flex-start;gap:12px;max-height:calc(100vh - 36px);margin-top:min(7vh,52px)}.labourOperativeModal .modalHeader{padding-bottom:4px}.labourOperativeModal .formGrid{margin-top:0}.modalHeader,.modalActions{justify-content:space-between;align-items:center;gap:12px;display:flex}.modalHeader h3{margin:0}.modalActions{justify-content:flex-end}.iconOnly{border:1px solid var(--sp-separator);color:var(--sp-text);cursor:pointer;background:#ffffff14;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:24px;line-height:1;display:inline-flex}.officeProjectsLayout,.projectOverviewPanel,.projectMetaGrid,.projectStatsGrid,.projectFolderGrid,.projectRecentList,.projectTeamList{gap:12px;display:grid}.projectPickerPanel{align-self:start}.projectPickerList{gap:8px;margin-top:12px;display:grid}.projectPickerList button{border:1px solid var(--sp-separator);color:var(--sp-text);cursor:pointer;text-align:left;background:#ffffff09;border-radius:14px;gap:4px;padding:13px 14px;display:grid}.projectPickerList button:hover,.projectPickerList .activeProjectPicker{background:rgba(var(--sp-accent-rgb), .13);border-color:rgba(var(--sp-accent-rgb), .42)}.projectHeroPanel{gap:16px;display:grid}.projectHeroHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.projectCommandOverview{gap:22px}.officeProjectOverviewGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:18px;display:grid}.officeProjectOverviewCard{border:1px solid var(--sp-separator);color:var(--sp-text);cursor:pointer;text-align:left;background:#ffffff09;border-radius:18px;gap:16px;min-height:154px;padding:18px;display:grid}.overviewProjectTitleBlock{gap:9px;min-width:0;display:grid}.officeProjectOverviewCard:hover,.officeProjectOverviewCard:focus-visible{background:rgba(var(--sp-accent-rgb), .12);border-color:rgba(var(--sp-accent-rgb), .32)}.officeProjectOverviewCard strong{color:var(--sp-text);overflow-wrap:anywhere;font-size:17px;line-height:1.22;display:block}.officeProjectOverviewCard span,.officeProjectOverviewCard small{color:var(--sp-text-secondary);overflow-wrap:anywhere;line-height:1.45;display:block}.projectOverviewMetrics{flex-wrap:wrap;gap:9px;margin-top:2px;display:flex}.projectOverviewMetrics span{border:1px solid var(--sp-separator);background:#ffffff12;border-radius:999px;padding:6px 10px;font-size:12px;line-height:1.2}.siteProjectHero{gap:20px;display:grid}.siteProjectHero h3,.previewVisualApp .siteProjectHero h3{border-top:0;margin:0;padding-top:0;font-size:clamp(24px,4vw,34px);line-height:1.12}.projectHeroPanel h3{color:var(--sp-text);border-top:0;margin:4px 0 0;padding-top:0;font-size:clamp(24px,4vw,34px)}.projectMetaGrid,.projectStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.projectMetaGrid div,.projectFolderCard,.projectTeamRow{border:1px solid var(--sp-separator);background:#ffffff09;border-radius:14px}.projectMetaGrid div{gap:8px;padding:14px;display:grid}.projectFolderGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.projectFolderCard{color:var(--sp-text);cursor:pointer;text-align:left;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;width:100%;padding:14px;display:grid}.projectFolderCard:hover{background:rgba(var(--sp-accent-rgb), .1);border-color:rgba(var(--sp-accent-rgb), .32)}.projectFolderCard svg{color:var(--sp-accent);margin-top:1px}.projectFolderCard div,.projectTeamRow div{gap:6px;min-width:0;display:grid}.projectFolderCard em{color:var(--sp-text-secondary);grid-column:2;font-size:12px;font-style:normal}.projectPickerList strong,.projectMetaGrid strong,.projectFolderCard strong,.projectTeamRow strong{color:var(--sp-text);overflow-wrap:anywhere;line-height:1.25}.projectPickerList span,.projectPickerList small,.projectMetaGrid span,.projectFolderCard span,.projectTeamRow small{color:var(--sp-text-secondary);overflow-wrap:anywhere;line-height:1.4}.projectTeamRow{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.projectTeamRow>span{background:rgba(var(--sp-accent-rgb), .16);border:1px solid rgba(var(--sp-accent-rgb), .24);color:var(--sp-accent);border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:900;display:inline-flex}.projectOverviewSplit{align-items:start}.projectFolderDetail{gap:14px;display:grid}.projectDocumentUpload{background:var(--sp-accent);color:#111827;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 14px;font-size:13px;font-weight:800;display:inline-flex}.projectDocumentUpload input{display:none}.projectDocumentList{gap:10px;display:grid}.projectSiteRecordsPanel{gap:14px;display:grid}.siteRecordCount{background:rgba(var(--sp-accent-rgb), .13);border:1px solid rgba(var(--sp-accent-rgb), .24);color:var(--sp-accent);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.siteRecordFilters{scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.siteRecordFilters button{border:1px solid var(--sp-separator);color:var(--sp-text);cursor:pointer;background:#ffffff09;border-radius:999px;flex:none;align-items:center;gap:8px;min-height:34px;padding:7px 11px;display:inline-flex}.siteRecordFilters button:hover,.siteRecordFilters .activeSiteRecordFilter{background:rgba(var(--sp-accent-rgb), .12);border-color:rgba(var(--sp-accent-rgb), .32)}.siteRecordFilters em{background:rgba(var(--sp-accent-rgb), .14);color:var(--sp-accent);border-radius:999px;justify-content:center;align-items:center;min-width:22px;padding:2px 6px;font-size:11px;font-style:normal;font-weight:800;display:inline-flex}.siteRecordList{gap:10px;display:grid}.siteRecordRow{border:1px solid var(--sp-separator);background:#ffffff09;border-radius:14px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.siteRecordRow>svg{color:var(--sp-accent)}.siteRecordRow div{gap:4px;min-width:0;display:grid}.siteRecordRow strong{color:var(--sp-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.siteRecordRow span{color:var(--sp-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.projectDocumentRow{border:1px solid var(--sp-separator);background:#ffffff09;border-radius:14px;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;display:grid}.projectDocumentRow>svg{color:var(--sp-accent)}.projectDocumentRow div{gap:4px;min-width:0;display:grid}.projectDocumentRow strong{color:var(--sp-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.projectDocumentRow span{color:var(--sp-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}@media (width>=760px){.labourAllocatorGrid{grid-template-columns:minmax(240px,320px) minmax(0,1fr)}.labourResourceGrid{grid-template-columns:minmax(0,1fr) minmax(260px,340px)}.officeProjectsLayout{grid-template-columns:minmax(260px,340px) minmax(0,1fr)}.projectHeroPanel{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)}.projectStatsGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){.projectDocumentRow{grid-template-columns:24px minmax(0,1fr)}.projectDocumentRow .secondary,.projectDocumentRow .deleteMini{justify-self:start}.siteRecordRow{grid-template-columns:24px minmax(0,1fr)}.siteRecordRow .secondary{justify-self:start}}.documentQuestionBox{gap:12px;display:grid}.documentQuestionBox textarea{min-height:120px}.aiReviewWorkspace{gap:16px;display:grid}.aiReviewHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.aiUsageGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.aiUsageGrid div{background:#0f151a;border:1px solid #334654;border-radius:12px;padding:12px}.aiUsageGrid span,.aiUsageGrid strong{display:block}.aiUsageGrid span{color:#b9c2ca;font-size:13px}.aiUsageGrid strong{overflow-wrap:anywhere;margin-top:5px;font-size:22px}.promptBuilderGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.promptTextarea{min-height:180px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.compactPrimary{width:auto;min-height:48px;margin-top:0}.aiHistoryList{gap:10px;display:grid}.aiHistoryItem{background:#0f151a;border:1px solid #334654;border-radius:12px;padding:12px}.aiHistoryItem summary{cursor:pointer;gap:4px;display:grid}.aiHistoryItem strong,.aiHistoryItem span{overflow-wrap:anywhere}.aiHistoryItem span{color:#b9c2ca;font-size:13px}.aiHistoryFailed{border-color:#ef4444}.aiLogDetails{gap:10px;margin-top:12px;display:grid}.aiLogDetails textarea{min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.aiReportSavePanel{background:#0f151a;border:1px solid #334654;border-radius:14px;gap:12px;padding:14px;display:grid}.aiReportSavePanel h4{margin:0}.aiReportSaveGrid{grid-template-columns:1fr;gap:12px;display:grid}.aiReportSavePanel textarea{min-height:90px}.aiReportsGroupedList,.aiReportJobGroup{gap:14px;display:grid}.aiReportJobGroup h4{margin:6px 0 0}.aiPreviewActionGrid,.commercialPreviewGrid{grid-template-columns:1fr;gap:10px;display:grid}.previewFeatureCard{background:#0f151a;border:1px solid #334654;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.previewFeatureCard span{color:#f2b84b;text-transform:uppercase;font-size:12px;font-weight:900}.panel,.miniCard{background:#171e25;border:1px solid #2b3a46;border-radius:18px;margin-top:18px;padding:18px}.editingPanel{border-color:#f2b84b;box-shadow:0 0 0 2px #f2b84b29}label{color:#dce3e8;flex-direction:column;gap:7px;margin-bottom:14px;font-weight:700;line-height:1.25;display:flex}.miniCard label:last-child,.panel label:last-child,.signatureBox label:last-child,.checkRow label:last-child{margin-bottom:0}input,textarea,select{color:#fff;width:100%;min-height:48px;font:inherit;background:#0f151a;border:1px solid #334654;border-radius:14px;padding:12px 13px;font-size:16px;line-height:1.35;display:block}input:not([type=file]):not([type=checkbox]),select{height:48px}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--sp-accent)}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#b9c2ca 50%),linear-gradient(135deg,#b9c2ca 50%,#0000 50%);background-position:calc(100% - 18px) 20px,calc(100% - 12px) 20px;background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:36px}textarea{resize:vertical;min-height:96px}.settingsSearch input:not([type=file]):not([type=checkbox]){box-shadow:none;background:0 0;border:0;height:38px;min-height:38px;padding:0}.jobSelector{background:#171e25;border:1px solid #2b3a46;border-radius:14px;margin:14px 0;padding:14px}.jobSelector label:last-child{margin-bottom:0}.jobSelectorHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.jobSelectorHeader>div{gap:3px;display:grid}.jobSelectorHeader span,.jobSelectorHeader small,.jobSelectorMeta{color:#b9c2ca;font-size:12px}.jobSelectorHeader span{letter-spacing:.08em;text-transform:uppercase;font-weight:800}.jobSelectorHeader strong{color:#eef5f8;font-size:17px;line-height:1.2}.jobSelectorHeader small{white-space:nowrap;background:#ffffff0d;border:1px solid #334654;border-radius:999px;padding:6px 9px}.jobSelectorMeta{margin:8px 0 0}.jobSelectorMeta strong{color:#eef5f8}.hubContextSelector{width:min(230px,100%);box-shadow:none;background:0 0;border:0;margin:4px 0 10px auto;padding:0;display:block}.hubContextSelector .jobSelectorHeader,.hubContextSelector>.hint,.hubContextSelector .jobSelectorMeta{display:none}.hubContextSelector label{color:var(--sp-text-secondary);letter-spacing:.04em;text-transform:uppercase;gap:3px;margin:0;font-size:10px;font-weight:800;line-height:1.1}.hubContextSelector select{background-position:calc(100% - 16px) 13px,calc(100% - 10px) 13px;border-radius:999px;height:34px;min-height:34px;padding:6px 30px 6px 11px;font-size:13px}.bigText{min-height:160px}.primary,.secondary,.back,.inputRow button,.signatureHeader button{border:0;border-radius:14px;padding:13px 16px;font-size:16px;font-weight:700}.primary{background:var(--sp-accent);width:100%;color:var(--sp-accent-contrast);justify-content:center;align-items:center;gap:9px;margin-top:18px;display:flex}.secondary{color:#fff;background:#26333f;width:100%;margin-top:10px}.buttonLink{min-height:48px;text-decoration:none}.compactButton{white-space:nowrap;width:auto;margin-top:0}.back{color:#fff;background:#26333f;margin-bottom:8px}.inputRow{gap:8px;margin-bottom:14px;display:flex}.inputRow input{min-width:0}.inputRow button{background:var(--sp-accent);color:var(--sp-accent-contrast);align-items:center;display:flex}.list{flex-direction:column;gap:10px;display:flex}.listItem,.snag{color:#fff;text-align:left;background:#1b232b;border:1px solid #344756;border-radius:15px;padding:14px;font-size:16px}.concreteCalculatorPage{gap:16px;display:grid}.pageIntro{gap:6px;display:grid}.pageIntro h2{margin:0}.concreteCalculatorShell{gap:16px;display:grid}.concreteCalculatorShell h3,.concreteShapePicker h3,.concreteResultPanel h3{border-top:0;margin:0;padding-top:0}.concreteShapePicker{align-self:start}.concreteShapeList{gap:8px;margin-top:12px;display:grid}.concreteShapeList button{border:1px solid var(--sp-separator);color:var(--sp-text);cursor:pointer;text-align:left;transition:background var(--motion-quick) var(--ease-standard), border-color var(--motion-quick) var(--ease-standard), transform var(--motion-instant) var(--ease-press);background:#ffffff09;border-radius:14px;gap:4px;padding:13px 14px;display:grid}.concreteShapeList button:hover,.concreteShapeList button.active{background:rgba(var(--sp-accent-rgb), .13);border-color:rgba(var(--sp-accent-rgb), .42)}.concreteShapeList button:active{transform:scale(var(--press-scale))}.concreteShapeList button span{font-weight:800}.concreteShapeList button small{color:var(--sp-text-secondary);line-height:1.3}.concreteCalculatorPanel{margin:0}.concreteCalculatorHeader{align-items:center;gap:18px;display:grid}.concreteCalculatorHeader h3{color:var(--sp-text)}.concreteDiagram{border:1px solid var(--sp-separator);background:linear-gradient(#fff1,#ffffff06),#ffffff09;border-radius:18px;justify-content:center;align-items:center;min-height:190px;padding:18px;display:flex}.concreteDiagram svg{fill:rgba(var(--sp-accent-rgb), .2);max-width:250px;stroke:var(--sp-text);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;width:100%;display:block}.concreteDiagram text{fill:var(--sp-info);paint-order:stroke;stroke:#121c2af2;stroke-width:5px;text-anchor:middle;font-size:18px;font-weight:900}.concreteDiagram .diagramLabel{dominant-baseline:middle}.concreteDiagram .diagramMeasure{stroke:var(--sp-info);stroke-width:2px}.concreteFieldGrid,.concreteOptionsGrid{gap:12px;margin-top:16px;display:grid}.concreteMeasureField,.concreteOptionsGrid label{gap:7px;margin:0;display:grid}.concreteMeasureField>span,.concreteOptionsGrid label>span{color:var(--sp-text-secondary);font-size:13px;font-weight:800}.concreteMeasureControl{grid-template-columns:minmax(0,1fr) 92px;gap:8px;display:grid}.concreteMeasureControl.countOnly{grid-template-columns:minmax(0,1fr)}.concreteOptionsGrid{align-items:end}.concreteResultPanel{align-self:start}.concreteResultMain{background:rgba(var(--sp-accent-rgb), .13);border:1px solid rgba(var(--sp-accent-rgb), .28);border-radius:18px;gap:5px;margin-top:14px;padding:18px;display:grid}.concreteResultMain span,.concreteResultBreakdown span{color:var(--sp-text-secondary);font-size:13px;font-weight:800}.concreteResultMain strong{color:var(--sp-text);letter-spacing:-.03em;font-size:clamp(34px,8vw,48px);line-height:1}.concreteResultMain small{color:var(--sp-text-secondary)}.concreteResultBreakdown{gap:10px;margin:14px 0;display:grid}.concreteResultBreakdown div{border:1px solid var(--sp-separator);background:#ffffff09;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.concreteResultBreakdown strong{color:var(--sp-text);font-size:18px}@media (width>=900px){.concreteCalculatorShell{grid-template-columns:minmax(230px,.74fr) minmax(420px,1.4fr) minmax(280px,.86fr)}.concreteCalculatorHeader{grid-template-columns:minmax(0,1fr) minmax(190px,260px)}.concreteFieldGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.concreteOptionsGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}}.previewVisualApp main{animation:.22s ease-out previewPageIn}.previewVisualApp h2{color:#f7fbff;letter-spacing:0}.previewVisualApp h3{border-top-color:#e8f1fa24}.surface-canvas{background:var(--sp-canvas)}.surface-card{background:var(--sp-material-opaque);border:1px solid var(--sp-separator);box-shadow:var(--sp-shadow-flat), var(--sp-edge)}.surface-elevated{border:1px solid var(--sp-separator);box-shadow:var(--sp-shadow-raised), var(--sp-edge);background:linear-gradient(#fff1,#ffffff06),#151f2cdb}.surface-floating{border:1px solid var(--sp-separator-strong);box-shadow:var(--sp-shadow-floating), var(--sp-edge);-webkit-backdrop-filter:blur(var(--sp-blur-floating)) saturate(145%);background:linear-gradient(#ffffff1f,#ffffff0b),#121c2ac2}.surface-modal{border:1px solid var(--sp-separator-strong);box-shadow:var(--sp-shadow-modal), var(--sp-edge);-webkit-backdrop-filter:blur(var(--sp-blur-floating)) saturate(145%);background:linear-gradient(#ffffff21,#ffffff0d),#0d1520e6}.surface-inset{background:#050a1294;border:1px solid #e8f1fa1c;box-shadow:inset 0 1px #ffffff0e}.previewVisualApp .panel,.previewVisualApp .miniCard,.previewVisualApp .jobSelector,.previewVisualApp .hubPanel,.previewVisualApp .aiReportSavePanel,.previewVisualApp .programmeCommandLanding,.previewVisualApp .programmeCommandHero{border-color:var(--sp-separator);border-radius:var(--radius-panel);box-shadow:var(--sp-shadow-raised), var(--sp-edge);-webkit-backdrop-filter:none;background:linear-gradient(#ffffff0f,#ffffff06),#151f2cdb}.previewVisualApp .hubItem,.previewVisualApp .listItem,.previewVisualApp .snag,.previewVisualApp .snagCard,.previewVisualApp .aiHistoryItem,.previewVisualApp .previewFeatureCard,.previewVisualApp .programmeTimelineItem,.previewVisualApp .programmeCompactList article{border-radius:var(--radius-card);box-shadow:var(--sp-edge);-webkit-backdrop-filter:none;background:#182230d1;border-color:#e8f1fa1f}.previewVisualApp .diaryChip,.previewVisualApp .photoButton,.previewVisualApp .checkRow,.previewVisualApp .signatureBox,.previewVisualApp .emptyState,.previewVisualApp .programmeModeInsight,.previewVisualApp .programmeOverviewGrid div,.previewVisualApp .programmeMissingInfo,.previewVisualApp .programmeGroupedBlock,.previewVisualApp .programmeMiniLists>div,.previewVisualApp .programmeLookaheadResult>div,.previewVisualApp .rebarScheduleHeader div,.previewVisualApp .rebarScheduleNotes{border-radius:var(--radius-control);box-shadow:var(--sp-edge);background:#0e16219e;border-color:#e8f1fa1c}.previewVisualApp .card,.previewVisualApp .wideCard,.previewVisualApp .hubChoiceTile,.previewVisualApp .hubItem,.previewVisualApp .listItem,.previewVisualApp .snagCard,.previewVisualApp .programmeTimelineItem,.previewVisualApp .programmeCompactList article{transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}.previewVisualApp .card:hover,.previewVisualApp .wideCard:hover,.previewVisualApp .hubChoiceTile:hover,.previewVisualApp .hubItem:hover,.previewVisualApp .listItem:hover,.previewVisualApp .snagCard:hover,.previewVisualApp .programmeTimelineItem:hover,.previewVisualApp .programmeCompactList article:hover{border-color:var(--sp-separator-strong);box-shadow:var(--sp-shadow-raised), inset 0 1px 0 #ffffff1f;transform:translateY(-1px)}.previewVisualApp input,.previewVisualApp textarea,.previewVisualApp select{border-radius:var(--radius-control);color:var(--sp-text);background:linear-gradient(#ffffff0f,#ffffff05),#080e17b8;border-color:#e8f1fa24;transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:inset 0 1px #ffffff12}.previewVisualApp input:focus,.previewVisualApp textarea:focus,.previewVisualApp select:focus{box-shadow:0 0 0 3px var(--sp-focus), inset 0 1px 0 #ffffff17;border-color:#75aef5ad;outline:none}.previewVisualApp .primary,.previewVisualApp .secondary,.previewVisualApp .back,.previewVisualApp .inputRow button,.previewVisualApp .signatureHeader button,.previewVisualApp .compactButton,.previewVisualApp .deleteMini,.previewVisualApp .managerTabs button,.previewVisualApp .dayTabs button,.previewVisualApp .aiTabs button,.previewVisualApp .aiPromptChips button,.previewVisualApp .programmeCommandButtons button,.previewVisualApp .programmeCommandTabs button,.previewVisualApp .programmeFilterBar button,.previewVisualApp .statusButtons button{border-radius:var(--radius-control);border:1px solid #e8f1fa24;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;box-shadow:0 8px 18px #0000001f,inset 0 1px #ffffff1a}.previewVisualApp .primary,.previewVisualApp .inputRow button{background:var(--sp-accent);color:#111;border-color:#ffdc8257}.previewVisualApp .secondary,.previewVisualApp .back,.previewVisualApp .signatureHeader button,.previewVisualApp .compactButton,.previewVisualApp .managerTabs button,.previewVisualApp .dayTabs button,.previewVisualApp .aiTabs button,.previewVisualApp .aiPromptChips button,.previewVisualApp .programmeCommandButtons button,.previewVisualApp .programmeCommandTabs button,.previewVisualApp .programmeFilterBar button,.previewVisualApp .statusButtons button{color:var(--sp-text);background:linear-gradient(#ffffff14,#ffffff06),#182230db}.previewVisualApp .primary:hover,.previewVisualApp .inputRow button:hover{background:var(--sp-accent-hover)}.previewVisualApp .primary:active,.previewVisualApp .inputRow button:active{background:var(--sp-accent-pressed)}.previewVisualApp .primary:hover,.previewVisualApp .secondary:hover,.previewVisualApp .back:hover,.previewVisualApp .inputRow button:hover,.previewVisualApp .signatureHeader button:hover,.previewVisualApp .compactButton:hover,.previewVisualApp .deleteMini:hover,.previewVisualApp .managerTabs button:hover,.previewVisualApp .dayTabs button:hover,.previewVisualApp .aiTabs button:hover,.previewVisualApp .aiPromptChips button:hover,.previewVisualApp .programmeCommandButtons button:hover,.previewVisualApp .programmeCommandTabs button:hover,.previewVisualApp .programmeFilterBar button:hover,.previewVisualApp .statusButtons button:hover{border-color:#75aef56b;transform:translateY(-1px);box-shadow:0 12px 26px #0000002e,inset 0 1px #ffffff21}.previewVisualApp .primary:focus-visible,.previewVisualApp .secondary:focus-visible,.previewVisualApp .back:focus-visible,.previewVisualApp .inputRow button:focus-visible,.previewVisualApp .signatureHeader button:focus-visible,.previewVisualApp .compactButton:focus-visible,.previewVisualApp .deleteMini:focus-visible,.previewVisualApp .managerTabs button:focus-visible,.previewVisualApp .dayTabs button:focus-visible,.previewVisualApp .aiTabs button:focus-visible,.previewVisualApp .aiPromptChips button:focus-visible,.previewVisualApp .programmeCommandButtons button:focus-visible,.previewVisualApp .programmeCommandTabs button:focus-visible,.previewVisualApp .programmeFilterBar button:focus-visible,.previewVisualApp .statusButtons button:focus-visible,.previewVisualApp .iconButton:focus-visible,.previewVisualApp .iconMini:focus-visible,.previewVisualApp .hubChoiceTile:focus-visible,.previewVisualApp .card:focus-visible,.previewVisualApp .wideCard:focus-visible{outline:3px solid var(--sp-focus);outline-offset:3px;border-color:#75aef5a3}.previewVisualApp .primary:active,.previewVisualApp .secondary:active,.previewVisualApp .back:active,.previewVisualApp .inputRow button:active,.previewVisualApp .signatureHeader button:active,.previewVisualApp .compactButton:active,.previewVisualApp .deleteMini:active,.previewVisualApp .managerTabs button:active,.previewVisualApp .dayTabs button:active,.previewVisualApp .aiTabs button:active,.previewVisualApp .aiPromptChips button:active,.previewVisualApp .programmeCommandButtons button:active,.previewVisualApp .programmeCommandTabs button:active,.previewVisualApp .programmeFilterBar button:active,.previewVisualApp .statusButtons button:active{transform:translateY(0)scale(.992)}.previewVisualApp .activeManagerTab,.previewVisualApp .activeDay,.previewVisualApp .activeAiTab,.previewVisualApp .selectedStatus{background:rgba(var(--sp-accent-rgb), .92)!important;color:var(--sp-accent-contrast)!important;border-color:rgba(var(--sp-accent-rgb), .42)!important}.previewVisualApp table{box-shadow:var(--sp-edge);background:#0f1722c2;border-color:#e8f1fa1c}.previewVisualApp th{color:var(--sp-text);background:#1f2a3ae0;border-color:#e8f1fa1c}.previewVisualApp td{border-color:#e8f1fa17}.previewVisualApp .output{background:radial-gradient(circle at 0 0,#75aef51a,#0000 18rem),#050a12b3;border-color:#75aef533;box-shadow:inset 0 1px #ffffff14}.previewVisualApp .errorText,.previewVisualApp .successText,.previewVisualApp .warningStatus{border-radius:var(--radius-control);box-shadow:var(--sp-edge)}.previewVisualApp .errorText{color:#ffd7d7;background:#681e236b;border-color:#e4585861}.previewVisualApp .successText{color:#d6ffe4;background:#20673d57;border-color:#38b66a5c}.previewVisualApp .warningStatus{color:#ffe7b1;background:#8b5d184d;border-color:#e8ad3e57}@keyframes previewPageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.done{opacity:.55;text-decoration:line-through}.diaryPersistentList h3{border-top:0;margin-top:0;padding-top:0}.diaryChipList{flex-wrap:wrap;gap:8px;display:flex}.diaryChip{color:#fff;background:#1b232b;border:1px solid #344756;border-radius:999px;align-items:center;gap:8px;padding:8px 9px 8px 12px;font-weight:700;display:inline-flex;position:relative}.diaryChip button{color:#fff;background:#ef4444;border:0;border-radius:999px;width:22px;height:22px;font-weight:700;line-height:1}.worksCompletedBox{min-height:190px}.snag{justify-content:space-between;gap:12px;display:flex}.snag span{color:#ffd4d4;background:#5b2b2b;border-radius:99px;padding:4px 9px;font-size:13px}.output{white-space:pre-wrap;background:#0f151a;border:1px solid #334654;border-radius:16px;margin-top:14px;padding:14px}.exportButtonRow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rebarSchedulePanel{gap:12px;margin-bottom:16px;display:grid}.rebarScheduleResult{gap:12px;display:grid}.rebarScheduleHeader{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.rebarScheduleHeader div{background:#0f151a;border:1px solid #2b3a46;border-radius:10px;padding:10px}.rebarScheduleHeader span,.rebarScheduleHeader strong{overflow-wrap:anywhere;display:block}.rebarScheduleHeader span{color:#b9c2ca;font-size:.82rem}.rebarScheduleTable{min-width:1120px;font-size:.86rem}.rebarScheduleTable th,.rebarScheduleTable td{vertical-align:top}.rebarScheduleNotes{background:#0f151a;border:1px solid #334654;border-radius:10px;gap:8px;padding:10px;display:grid}.rebarScheduleNotes p{margin:0}.aiTabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.aiTabs button,.aiPromptChips button{color:#fff;background:#171e25;border:1px solid #334654;border-radius:12px;padding:12px 10px;font-weight:800}.aiTabs .activeAiTab{color:#111;background:#f2b84b;border-color:#f2b84b}.aiDraftPanel{gap:14px;display:grid}.aiDraftPanel .bigText{min-height:220px}.aiPromptChips{flex-wrap:wrap;gap:8px;display:flex}.aiPromptChips button{border-radius:999px;padding:9px 11px;font-size:13px}.aiFormattedOutput{white-space:pre-wrap;border-radius:14px;padding:16px;line-height:1.5}.aiSafetyResult,.programmeAiWorkspace{gap:16px;display:grid}.programmeAiWorkspace .rebarScheduleHeader{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.programmeUploadRow{grid-template-columns:auto minmax(260px,420px) auto;align-items:end;gap:12px;display:grid}.programmeDeleteButton{align-self:end;min-height:42px}.programmeDashboardGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.programmeMiniLists,.programmeTwoColumn{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px;display:grid}.programmeMiniLists{grid-template-columns:repeat(3,minmax(0,1fr))}.programmeMiniLists>div,.programmeLookaheadResult>div{background:#0f151a;border:1px solid #334654;border-radius:14px;padding:12px}.programmeMiniLists h4,.programmeLookaheadResult h4{margin:0 0 8px}.programmeMiniLists ul,.programmeLookaheadResult ul,.programmeTwoColumn ul{margin:0;padding-left:18px}.programmeLookaheadResult{gap:10px;margin-top:14px;display:grid}.programmeTimeline{gap:10px;max-height:620px;padding-right:4px;display:grid;overflow:auto}.programmeTimelineItem{background:#0f151a;border:1px solid #334654;border-left-width:6px;border-radius:14px;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:12px;padding:12px;display:grid}.programmeTimelineItem strong,.programmeTimelineItem span{display:block}.programmeTimelineItem span{color:#b9c2ca;margin-top:4px;font-size:13px}.programmeTimelineItem.status-complete{border-left-color:#43c46b}.programmeTimelineItem.status-in-progress{border-left-color:#f2b84b}.programmeTimelineItem.status-delayed,.programmeTimelineItem.status-blocked{border-left-color:#ff6b6b}.programmeCardGrid{gap:10px;display:grid}.programmeAnalysisPanel{gap:16px;display:grid}.programmeCommandHero{z-index:5;background:linear-gradient(135deg,#171e25,#0f151a);border:1px solid #344756;border-radius:18px;grid-template-columns:230px minmax(0,1fr);gap:14px;padding:16px;display:grid;position:sticky;top:8px;box-shadow:0 18px 40px #00000038}.programmeCommandLanding{background:linear-gradient(135deg,#171e25,#101820);border:1px solid #344756;border-radius:18px;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;padding:22px;display:grid;box-shadow:0 18px 42px #00000038}.programmeCommandLanding h3{border:0;margin:4px 0 10px;padding:0;font-size:30px}.programmeCommandLanding span{color:#f2b84b;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:900}.programmeCommandLanding p{color:#dce3e8;max-width:760px;line-height:1.5}.programmeCommandUpload{align-content:start;gap:12px;display:grid}.programmeCommandHero>div:first-child{background:#0f151a;border:1px solid #334654;border-radius:14px;padding:18px}.programmeCommandHero span,.programmeCommandHero p{color:#b9c2ca;margin:0}.programmeCommandHero>div:first-child strong{margin:8px 0;font-size:46px;line-height:1;display:block}.programmeHealth-healthy>div:first-child{border-left:7px solid #43c46b}.programmeHealth-watch>div:first-child{border-left:7px solid #f2b84b}.programmeHealth-risk>div:first-child{border-left:7px solid #ff6b6b}.programmeCommandStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.programmeCommandStats div{background:#101820;border:1px solid #334654;border-radius:12px;padding:12px}.programmeCommandStats strong{font-size:24px;display:block}.programmeCommandStats span{margin-top:4px;font-size:12px;display:block}.programmeCommandCentre{margin-top:0}.programmeModeBar{grid-template-columns:280px minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.programmeModeInsight{background:#0f151a;border:1px solid #334654;border-radius:12px;padding:12px}.programmeModeInsight strong,.programmeModeInsight p{margin:0;display:block}.programmeModeInsight p{color:#dce3e8;margin-top:6px;line-height:1.45}.programmeCommandButtons,.programmeCommandTabs{flex-wrap:wrap;gap:8px;display:flex}.programmeCommandButtons button,.programmeCommandTabs button{color:#fff;background:#171e25;border:1px solid #334654;border-radius:12px;padding:10px 12px;font-weight:900}.programmeCommandButtons button{background:#26333f}.programmeCommandTabs .activeAiTab{color:#111;background:#f2b84b;border-color:#f2b84b}.programmeLookaheadCommand{gap:12px;display:grid}.embeddedAskPanel{margin-top:0}.programmeOverviewGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.programmeOverviewGrid div,.programmeMissingInfo,.programmeGroupedBlock,.programmeCompactList article{background:#0f151a;border:1px solid #334654;border-radius:12px;padding:12px}.programmeOverviewGrid span,.programmeOverviewGrid strong,.programmeCompactList span,.programmeCompactList small{overflow-wrap:anywhere;display:block}.programmeOverviewGrid span{color:#b9c2ca;font-size:13px}.programmeOverviewGrid strong{margin-top:5px}.programmeMissingInfo ul{margin-bottom:0}.programmeFilterBar{flex-wrap:wrap;gap:8px;display:flex}.programmeFilterBar button{color:#fff;background:#171e25;border:1px solid #334654;border-radius:999px;padding:9px 12px;font-weight:800}.programmeFilterBar .activeAiTab{color:#111;background:#f2b84b;border-color:#f2b84b}.programmeActivityTable{min-width:1040px;font-size:.86rem}.programmeActivityTable th,.programmeActivityTable td{vertical-align:top}.programmeCompactList{gap:10px;max-height:520px;padding-right:4px;display:grid;overflow:auto}.programmeCompactList span,.programmeCompactList small{color:#b9c2ca;margin-top:4px}.programmeGroupedBlock{margin-top:10px}.programmeGroupedBlock h4{margin:0 0 8px}.programmeGroupedBlock p{margin:6px 0}.programmeRiskCard{background:#0f151a;border:1px solid #334654;border-left:6px solid #f2b84b;border-radius:14px;padding:12px}.programmeRiskCard strong,.programmeRiskCard span{display:block}.programmeRiskCard span{color:#b9c2ca;text-transform:uppercase;margin:4px 0 8px;font-size:12px;font-weight:800}.programmeRiskCard p{margin:8px 0 0}.programmeRiskCard.severity-high,.programmeRiskCard.severity-critical{border-left-color:#ff6b6b}.programmeRiskCard.severity-low{border-left-color:#43c46b}.errorText{color:#ffd4d4;background:#3a1d1d;border:1px solid #713131;border-radius:12px;padding:10px 12px}.statusGood{color:#d7f8df;background:#15351f;border:1px solid #2f7a42;border-radius:12px;padding:10px 12px}.issueNotice{color:#ffe2a8;background:#3d3113;border:1px solid #8a5a16;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:12px;padding:12px 14px;font-weight:700;display:flex}.todoNotice{color:#dbeafe;background:#102542;border:1px solid #3b82f6;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin:-6px 0 14px;padding:12px 14px;font-weight:700;display:flex}.alertIconButton{color:#ffe2a8;border-color:#8a5a16}.alertIconButton span,.tileBadge{color:#fff;background:#ef4444;border:2px solid #101418;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;line-height:1;display:inline-flex;position:absolute;top:-7px;right:-7px}.formGrid{grid-template-columns:1fr;gap:12px;display:grid}.wideField{grid-column:1/-1}.checkTable{flex-direction:column;gap:14px;display:flex}.checkRow{background:#171e25;border:1px solid #334654;border-radius:16px;gap:10px;padding:14px;display:grid}.checkRow strong{line-height:1.35;display:block}.signatureBox{background:#171e25;border:1px solid #334654;border-radius:16px;margin:14px 0;padding:12px}.signatureHeader{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.signatureHeader span{align-items:center;gap:7px;font-weight:700;display:flex}.signatureHeader button{color:#fff;background:#26333f;align-items:center;gap:5px;padding:8px 10px;font-size:13px;display:flex}canvas{touch-action:none;background:#fff;border-radius:12px;width:100%;height:130px;display:block}.mediaTools{background:#171e25;border:1px solid #334654;border-radius:16px;margin-top:14px;padding:12px}.photoButton{color:#fff;text-align:center;background:#26333f;border-radius:14px;flex-direction:row;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-bottom:10px;padding:13px 16px;display:flex}.photoButton input{display:none}.smallButton{justify-content:center;align-items:center;gap:8px;display:flex}.secondary svg{vertical-align:middle;margin-right:6px}.dayTabs{grid-template-columns:repeat(7,1fr);gap:6px;margin:14px 0;display:grid}.dayTabs button{color:#fff;background:#171e25;border:1px solid #334654;border-radius:12px;padding:10px 4px;font-weight:700}.dayTabs button span,.dayTabs button small{display:block}.dayTabs button small{color:#b9c2ca;margin-top:3px;font-size:.74rem}.dayTabs .activeDay{background:var(--sp-accent);color:var(--sp-accent-contrast);border-color:var(--sp-accent)}.dayTabs .activeDay small{color:var(--sp-accent-contrast);opacity:.74}.bottomDayTabs{margin-top:6px;margin-bottom:16px}.quickList{flex-direction:column;gap:10px;display:flex}.quickRow{background:#171e25;border:1px solid #334654;border-radius:16px;padding:12px}.quickItem{margin-bottom:10px;font-weight:700;line-height:1.35}.quickItem span{background:#26333f;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;margin-right:8px;font-size:13px;display:inline-flex}.tickOptions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tickOptions button{color:#fff;background:#0f151a;border:1px solid #334654;border-radius:12px;min-height:44px;padding:10px 6px;font-size:18px;font-weight:700}.tickOptions .selectedTick{background:var(--sp-accent);color:var(--sp-accent-contrast);border-color:var(--sp-accent)}.tickOptions .tickOk.selectedTick{color:#fff;background:#1f8f4d;border-color:#43c46b;box-shadow:0 0 0 3px #43c46b38}.tickOptions .tickFault.selectedTick{color:#fff;background:#b92d2d;border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b38}.tickOptions .tickNa.selectedTick{background:var(--sp-accent);color:var(--sp-accent-contrast);border-color:var(--sp-accent)}.gpBlock{flex-direction:column;gap:7px;display:flex}.gpBlock small{color:#b9c2ca;font-weight:700}.harnessLanyardIntro{gap:14px;display:grid}.harnessDayTabs{grid-template-columns:repeat(7,minmax(58px,1fr))}.bottomHarnessDayTabs{margin-top:8px}.harnessLanyardGrid{gap:14px;display:grid}.harnessDailyCard{align-content:start;gap:12px;display:grid}.harnessDailyHeader{justify-content:space-between;align-items:start;gap:12px;display:flex}.harnessDailyHeader h3{margin:0}.harnessYnControl{gap:7px;display:grid}.harnessYnControl>span{color:var(--sp-text);font-weight:800;line-height:1.35}.harnessYnControl .tickOptions{grid-template-columns:repeat(2,minmax(0,1fr))}.harnessSignaturePreview{border:1px solid var(--sp-separator);background:#ffffff09;border-radius:14px;align-items:center;gap:8px;padding:10px;display:grid}.harnessSignaturePreview span{color:var(--sp-text-secondary);font-size:12px;font-weight:800}.harnessSignaturePreview img{object-fit:contain;background:#fff;border-radius:8px;width:100%;max-height:64px;padding:6px}@media (width>=980px){.harnessLanyardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.managerTabs{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:14px 0;display:grid}.managerTabs button{color:#fff;background:#171e25;border:1px solid #334654;border-radius:12px;padding:12px 8px;font-weight:700}.managerTabs .activeManagerTab{background:var(--sp-accent);color:var(--sp-accent-contrast);border-color:var(--sp-accent)}.allocationAddOperative{grid-template-columns:1fr;align-items:end;gap:10px;margin-bottom:18px;display:grid}.allocationAddOperative .compactButton{width:100%}.allocationAddOperative label{margin-bottom:0}.allocationPanelTitle,.allocationSubHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.allocationPanelTitle h3,.allocationSubHeader h3{margin:0}.allocationPanelTitle .hint,.allocationSubHeader .hint{margin:3px 0 0}.allocationControlStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.allocationControlStats div{background:#0f151a;border:1px solid #334654;border-radius:12px;min-width:0;padding:14px}.allocationControlStats span{color:#b9c2ca;font-size:.78rem;font-weight:800;display:block}.allocationControlStats strong{color:#fff;margin-top:3px;font-size:1.25rem;display:block}.allocationDayHeader{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:16px;margin:12px 0 18px;display:flex}.allocationDayHeader h3{border:0;margin:0;padding:0}.allocationDayTotals{text-align:left;background:#0f151a;border:1px solid #334654;border-radius:14px;width:100%;min-width:130px;padding:14px 16px}.allocationDayTotals span{color:#b9c2ca;font-size:13px;font-weight:700;display:block}.allocationDayTotals strong{font-size:24px;display:block}.allocationTaskGrid{grid-template-columns:1fr;gap:12px;margin-bottom:22px;display:grid}.allocationTask{background:#0f151a;border:1px solid #334654;border-radius:14px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:12px;display:grid}.allocationTask>span{background:#26333f;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:inline-flex}.allocationTask input{height:auto;min-height:46px;line-height:1.25}.tinyCheck{white-space:nowrap;flex-direction:row;grid-column:2;align-items:center;gap:6px;margin:0;font-size:13px}.allocationTableWrap{-webkit-overflow-scrolling:touch;width:100%;margin-top:8px;padding-bottom:6px;overflow-x:auto}.allocationTable{border-collapse:collapse;width:100%;min-width:900px}.allocationTable th,.allocationTable td{text-align:left;vertical-align:middle;border:1px solid #334654;padding:10px;line-height:1.35}.allocationTable th{background:#26333f}.allocationTable input{border-radius:10px;height:auto;min-height:46px;padding:10px;line-height:1.25}.allocationHoursTable th,.allocationHoursTable td{text-align:center}.allocationHoursTable th:first-child,.allocationHoursTable th:nth-child(2),.allocationHoursTable td:first-child,.allocationHoursTable td:nth-child(2){text-align:left}.allocationHoursTable input{text-align:center;min-width:82px}.allocationSummaryGrid{grid-template-columns:1fr;gap:18px;display:grid}.allocationSummaryGrid h4{margin:0 0 8px}.allocationMobileCards{gap:10px;display:grid}.allocationMobileCard{background:#0f151a;border:1px solid #334654;border-radius:14px;padding:12px}.allocationMobileCard label:last-child{margin-bottom:0}.allocationMobileCardHeader{gap:4px;margin-bottom:10px;display:grid}.allocationMobileCardHeader span,.allocationMobileTotal span,.allocationMobileDayTotals span{color:#b9c2ca;font-size:13px}.allocationMobileHourGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.allocationMobileHourGrid input{text-align:center}.allocationMobileTotal{background:#171e25;border:1px solid #334654;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin:10px 0;padding:10px;display:flex}.allocationMobileTotal strong{font-size:20px}.allocationMobileDayTotals{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.compactAllocationMobileCard{padding:10px}.allocationActionBar{gap:10px;display:block}.chatHeader{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.chatHeader h2{margin-bottom:0}.chatWorkspace{gap:14px;display:grid}.chatMessages{flex-direction:column;gap:10px;max-height:56vh;padding-right:4px;display:flex;overflow:auto}.chatBubble{background:#0f151a;border:1px solid #334654;border-radius:14px;max-width:min(720px,100%);padding:12px}.ownChatBubble{background:#26333f;align-self:flex-end}.chatBubble div{justify-content:space-between;gap:10px;margin-bottom:6px;display:flex}.chatBubble span{color:#b9c2ca;font-size:12px}.chatBubble p{white-space:pre-wrap;margin:0}.chatImageLink,.chatImagePreview{color:inherit;gap:7px;margin-top:10px;text-decoration:none;display:grid}.chatImageLink{text-align:left;cursor:pointer;background:0 0;border:0;width:min(100%,360px);padding:0}.chatImageLink img,.chatImagePreview img{object-fit:contain;background:#05080b;border:1px solid #334654;border-radius:12px;width:min(100%,360px);max-height:260px}.chatImageLink span,.chatImagePreview span{color:#b9c2ca;font-size:12px}.chatMessageFooter{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.chatMessageFooter span{font-size:12px;font-weight:700}.chatRead{color:#74d6ff}.chatSent{color:#b9c2ca}.chatComposer{margin-top:14px}.chatAttachRow{grid-template-columns:1fr 1fr;gap:8px;display:grid}.chatPhotoButton{margin-bottom:0}.chatImagePreview{background:#0f151a;border:1px solid #334654;border-radius:14px;margin:10px 0 0;padding:10px}.chatImageModal{z-index:100;background:#000000d1;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.chatImageModalInner{justify-items:end;gap:10px;width:min(100%,980px);max-height:92vh;display:grid}.chatImageModalInner img{object-fit:contain;background:#05080b;border-radius:12px;width:100%;max-height:82vh}.chatImageModalInner span{color:#fff;overflow-wrap:anywhere;justify-self:center;font-weight:700}.jobChoiceModal{z-index:120;background:radial-gradient(circle at 50% 15%,#5697e624,#0000 32rem),#000000ad}.jobChoiceModalInner{background:linear-gradient(#ffffff14,#ffffff08),#101820;border:1px solid #334654;border-radius:22px;gap:16px;width:min(100%,620px);max-height:min(86vh,720px);padding:22px;display:grid;overflow:auto;box-shadow:0 24px 70px #0000006b}.modalEyebrow{color:#9ec9ff;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:900;display:inline-flex}.jobChoiceModalInner h2{margin:0 0 6px}.jobChoiceList{gap:8px;display:grid}.jobChoiceList button{color:#eef5f8;text-align:left;background:#151f28;border:1px solid #334654;border-radius:14px;gap:4px;padding:12px;display:grid}.jobChoiceList button:hover,.jobChoiceList button:focus-visible,.jobChoiceList .selectedJobChoice{background:#f2b84b1f;border-color:#f2b84b}.jobChoiceList strong{font-size:16px}.jobChoiceList span,.jobChoiceList small{color:#b9c2ca;font-size:12px}.issueList{gap:10px;display:grid}.issuePanelHeader,.issueActions{justify-content:space-between;align-items:center;gap:10px;display:flex}.issuePanelHeader h3{margin-top:0}.issueActions{flex-wrap:wrap;justify-content:flex-start;margin-top:10px}.issueActions .secondary{margin-top:0}.issueCard{background:#0f151a;border:1px solid #713131;border-radius:14px;padding:12px}.issueClosed{opacity:.72;border-color:#334654}.issueCardHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.issueCardHeader span{color:#ffd4d4;background:#3a1d1d;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.issueClosed .issueCardHeader span{color:#d7f8df;background:#15351f}.issueCard p{margin:8px 0 0}.twoColumnForm,.timeGrid{grid-template-columns:1fr 1fr}.havsSummaryGrid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.havsStat,.havsToolInfo,.havsLiveCalc,.havsEntry{background:#171e25;border:1px solid #334654;border-radius:16px}.havsStat{padding:14px}.havsStat span,.havsToolInfo span,.havsEntryPoints span{color:#b9c2ca;font-size:13px;font-weight:700;display:block}.havsStat strong{margin:7px 0;font-size:28px;display:block}.havsStat small{border-radius:999px;padding:5px 8px;font-weight:700;display:inline-flex}.safeStatus{color:#d7f8df;background:#15351f}.warningStatus{color:#ffe2a8;background:#3d3113}.dangerStatus{color:#ffd4d4;background:#3a1d1d}.havsToolInfo{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;padding:12px;display:grid}.havsToolInfo div{background:#0f151a;border:1px solid #2b3a46;border-radius:12px;padding:10px}.havsToolInfo strong{margin-top:5px;display:block}.havsLiveCalc{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px;padding:10px;display:grid}.havsLiveCalc span{background:#0f151a;border:1px solid #2b3a46;border-radius:12px;padding:9px;font-size:14px}.operativeManager{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin:12px 0;display:grid}.operativeManager label{margin-bottom:0}.operativeList{flex-wrap:wrap;gap:8px;margin:4px 0 14px;display:flex}.operativePill{color:#f5f7f9;background:#0f151a;border:1px solid #334654;border-radius:999px;align-items:center;gap:8px;padding:7px 8px 7px 12px;font-weight:700;display:inline-flex}.activeOperativePill{border-color:#f2b84b;box-shadow:0 0 0 2px #f2b84b29}.operativePill button{color:#ffd4d4;background:#3a1d1d;border:0;border-radius:999px;width:24px;height:24px;font-size:18px;line-height:1}.havsEntryList{flex-direction:column;gap:10px;display:flex}.havsEntry{grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px;display:grid}.havsEntry p{margin:5px 0 0}.havsEntryPoints{text-align:center;min-width:72px}.havsEntryPoints strong{font-size:24px;display:block}.entryActions{gap:8px;display:grid}.havsDesktopWorkspace{gap:18px;display:grid}.havsMainColumn{min-width:0}.havsToolSidebar{flex-direction:column;gap:16px;display:flex}.havsToolForm,.havsToolLibraryList{flex-direction:column;gap:10px;display:flex}.havsToolForm label,.havsToolLibraryItem label{margin-bottom:0}.havsFilterBar,.havsToolEditGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.havsToolLibraryList{max-height:58vh;padding-right:4px;overflow:auto}.havsToolLibraryList h4{margin:0}.havsToolLibraryItem{background:#0f151a;border:1px solid #2b3a46;border-radius:14px;gap:8px;padding:10px;display:grid}.havsToolLibraryItem input,.havsToolLibraryItem select{min-height:38px;padding:8px 10px;font-size:13px}.havsToolItemActions{justify-content:flex-end;gap:8px;display:flex}.lolerKey{background:#0f151a;border:1px solid #334654;border-radius:12px;grid-template-columns:1fr 1fr;margin:0 0 14px;display:grid;overflow:hidden}.lolerKey div{border-bottom:1px solid #334654;border-right:1px solid #334654;min-height:38px;padding:9px 10px;font-size:14px}.lolerKey div:nth-child(2n){border-right:0}.lolerKey div:nth-last-child(-n+2){border-bottom:0}.lolerExamGrid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px;display:grid}.checkChoice{background:#0f151a;border:1px solid #334654;border-radius:12px;flex-direction:row;align-items:center;gap:10px;margin:0;padding:10px}.checkChoice input{flex:none}.checkChoice span{line-height:1.3}.lolerQuickList{gap:8px;margin:12px 0 14px;display:grid}.lolerQuickItem{background:#0f151a;border:1px solid #334654;border-radius:12px;flex-direction:row;align-items:center;gap:10px;margin:0;padding:10px}.lolerQuickItem input{flex:none}.lolerQuickItem span{gap:3px;display:grid}.lolerQuickItem small{color:#b9c2ca}.snagStats{background:#171e25;border:1px solid #334654;border-radius:16px;grid-template-columns:1fr;gap:8px;margin-bottom:12px;padding:12px;display:grid}.snagCard{color:#fff;background:#1b232b;border:1px solid #344756;border-radius:16px;padding:14px}.snagClosed{opacity:.6}.snagTop{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.statusButtons{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.statusButtons button,.deleteMini{color:#fff;background:#0f151a;border:1px solid #334654;border-radius:12px;padding:10px 6px;font-weight:700}.statusButtons .selectedStatus{background:var(--sp-accent);color:var(--sp-accent-contrast);border-color:var(--sp-accent)}.deleteMini{color:#ffd4d4;background:#3a1d1d;padding:7px 10px;font-size:12px}.editMini{color:#d8ecff;background:#1d2d3a}.swipeWrap{background:#5b1f1f;border-radius:15px;min-height:54px;position:relative;overflow:hidden}.swipeTask{z-index:2;color:#fff;text-align:left;background:#1b232b;border:1px solid #344756;border-radius:15px;width:100%;padding:16px 14px;font-size:16px;transition:transform .2s;position:relative}.swipeWrap:hover .swipeTask,.swipeWrap:focus-within .swipeTask,.swipeWrap:active .swipeTask{transform:translate(-86px)}.swipeDelete{color:#fff;z-index:1;background:#8b2525;border:0;width:86px;height:100%;font-weight:700;position:absolute;top:0;right:0}.done.swipeTask{opacity:.55}button:disabled{opacity:.65}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ticketPreview{object-fit:contain;background:#fff;border-radius:12px;width:100%;max-height:260px;margin:8px 0 14px}.scanResult{color:#e8eef5;background:#171e25;border:1px solid #334654;border-radius:14px;gap:6px;margin:10px 0 14px;padding:12px;line-height:1.35;display:grid}.scanResult strong{color:#f2b84b}.scanResult span{color:#b7c2cc}.scanResult ul{margin:4px 0 0;padding-left:18px}.scanEvidenceGrid{gap:8px;margin-top:4px;display:grid}.scanEvidenceItem{background:#ffffff08;border:1px solid #334654;border-radius:10px;padding:8px}.scanEvidenceItem span{color:#f2b84b;text-transform:capitalize;font-size:12px;font-weight:900;display:block}.scanEvidenceItem small{color:#b7c2cc;margin-top:3px;line-height:1.35;display:block}.scanEvidence-high{border-color:#2ecc7173}.scanEvidence-medium{border-color:#f2b84b80}.scanEvidence-low{border-color:#ff6b6b80}.scanResult-high{border-color:#2ecc7180}.scanResult-medium{border-color:#f2b84b8c}.scanResult-low{border-color:#ff6b6b8c}.photoGrid{grid-template-columns:1fr;gap:12px;margin-top:12px;display:grid}.photoThumb{background:#0f151a;border:1px solid #334654;border-radius:14px;padding:10px}.photoThumb img{object-fit:contain;background:#fff;border-radius:10px;width:100%;max-height:260px;margin-bottom:8px;display:block}.photoThumb button{color:#ffd4d4;background:#3a1d1d;border:0;border-radius:10px;width:100%;padding:10px;font-weight:700}.signatureSubmit{margin-top:12px}.signOffList{margin-top:16px}.signOffRow{background:#0f151a;border:1px solid #334654;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-bottom:10px;padding:12px;display:grid}.signOffRow img{object-fit:contain;background:#fff;border-radius:10px;grid-column:1/-1;width:100%;max-height:110px}.signOffRow .savedSignaturePreview{max-height:70px}.actionRow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.signOffRow .deleteMini{justify-self:end}.hubTop{justify-content:space-between;align-items:center;gap:14px;display:flex}.hubTop strong{font-size:30px}.hubDashboard{width:100%}.superWorkspaceApp{max-width:min(1920px,100vw - 24px)}.matrixWideApp{max-width:calc(100vw - 12px);padding-left:8px;padding-right:8px}.previewWorkspaceShell,.workspaceModuleApp>.previewWorkspaceNav{display:none}.embeddedWorkspaceOverview{min-width:0}.embeddedWorkspaceOverview .hubHeader{align-items:center}.embeddedWorkspaceOverview .hubDashboard{width:100%}.embeddedWorkspaceOverview .hubAreaNav{display:none}.embeddedWorkspaceOverview .hubWorkspace{grid-template-columns:minmax(0,1fr)}.hubWorkspace{grid-template-columns:236px minmax(0,1fr);align-items:start;gap:16px;margin-top:16px;display:grid}.hubHeader{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.hubHeaderActions{grid-template-columns:minmax(220px,320px) auto;align-items:end;gap:10px;display:grid}.hubHeaderActions label{margin-bottom:0}@media (width>=768px){.previewWorkspaceShell{grid-template-columns:240px minmax(0,1fr);align-items:stretch;gap:18px;min-height:calc(100vh - 160px);display:grid}.workspaceModuleApp{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:18px;display:grid}.workspaceModuleApp.workspaceRailCollapsed{grid-template-columns:76px minmax(0,1fr)}.workspaceModuleApp.matrixWideApp{grid-template-columns:212px minmax(0,1fr);gap:12px}.workspaceModuleApp.matrixWideApp.workspaceRailCollapsed{grid-template-columns:64px minmax(0,1fr)}.workspaceModuleApp>header{grid-column:1/-1}.workspaceModuleApp>.previewWorkspaceNav{grid-column:1;display:grid}.workspaceModuleApp>main:not(.previewWorkspaceShell){grid-column:2;width:100%;min-width:0;max-width:none}.superWorkspaceMobile{display:none}.previewWorkspaceNav{border:1px solid var(--sp-separator);border-radius:var(--radius-panel);box-shadow:var(--sp-shadow-raised), var(--sp-edge);background:linear-gradient(#ffffff13,#ffffff06),#0c131db8;align-self:start;gap:14px;padding:14px;display:grid;position:sticky;top:14px}.previewWorkspaceNavHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.previewWorkspaceBack{color:var(--sp-text-secondary);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:8px 0;font-weight:800;display:inline-flex}.previewWorkspaceCollapseButton{border:1px solid var(--sp-separator);color:var(--sp-text-secondary);cursor:pointer;background:#ffffff0e;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.previewWorkspaceCollapseButton:hover{color:var(--sp-text);background:#ffffff16}.previewWorkspaceNavCollapsed{justify-items:center;padding:10px}.previewWorkspaceNavCollapsed .previewWorkspaceBack{display:none}.previewWorkspaceNavCollapsed .previewWorkspaceNavHeader{justify-content:center}.previewWorkspaceNav h2{margin:4px 0 0;font-size:22px}.previewWorkspaceNav nav{gap:5px;display:grid}.previewWorkspaceNav nav button{color:var(--sp-text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:13px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;padding:9px 10px;font-weight:800;display:grid}.previewWorkspaceNavCollapsed nav button{justify-content:center;width:44px;padding:9px;display:flex}.previewWorkspaceNavCollapsed nav button span,.previewWorkspaceNavCollapsed nav button strong{display:none}.previewWorkspaceNav nav button:hover{color:var(--sp-text);background:#ffffff0e}.previewWorkspaceNav nav .activePreviewWorkspaceNav{color:var(--sp-text);background:#e8ad3e29;border-color:#e8ad3e57;box-shadow:inset 3px 0 #e8ad3ee6}.previewWorkspaceNav nav button strong{color:#ffd889;background:#e8ad3e33;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:22px;padding:0 7px;font-size:12px;display:inline-flex}.previewWorkspaceMain{min-width:0}.workspaceWeatherStrip{margin-bottom:14px}.workspaceWeatherStrip .weatherWidget{margin:0}.embeddedWorkspaceOverview .hubHeader,.embeddedWorkspaceOverview>.weatherWidget{display:none}}@media (width>=1100px){.previewWorkspaceShell,.workspaceModuleApp{grid-template-columns:248px minmax(0,1fr)}.workspaceModuleApp.matrixWideApp{grid-template-columns:220px minmax(0,1fr)}.workspaceModuleApp.workspaceRailCollapsed{grid-template-columns:76px minmax(0,1fr)}.workspaceModuleApp.matrixWideApp.workspaceRailCollapsed{grid-template-columns:64px minmax(0,1fr)}.embeddedWorkspaceOverview .hubWorkspace{grid-template-columns:minmax(0,1fr)}}@media (width>=1600px){.superWorkspaceApp{max-width:min(2160px,100vw - 28px)}.previewWorkspaceShell,.workspaceModuleApp{grid-template-columns:268px minmax(0,1fr)}.workspaceModuleApp.matrixWideApp{grid-template-columns:220px minmax(0,1fr)}.workspaceModuleApp.workspaceRailCollapsed{grid-template-columns:76px minmax(0,1fr)}.workspaceModuleApp.matrixWideApp.workspaceRailCollapsed{grid-template-columns:64px minmax(0,1fr)}.embeddedWorkspaceOverview .hubWorkspace{grid-template-columns:minmax(0,1fr)}}.trafficCounter,.trafficPanel{background:#101820;border:1px solid #334654;border-radius:10px}.trafficCounter{align-self:stretch;gap:2px;min-width:150px;padding:10px 12px;display:grid}.trafficCounter span,.trafficCounter small,.trafficPanel span,.trafficPanel small,.trafficPanel em,.trafficUser small{color:#b9c2ca;font-size:12px}.trafficCounter strong{color:#7ee0a3;font-size:28px;line-height:1}.trafficPanel{gap:5px;margin-top:8px;padding:12px;display:grid}.trafficPanel strong{color:#7ee0a3;font-size:26px;line-height:1}.trafficPanel em{overflow-wrap:anywhere;font-style:normal}.trafficUser{background:#15202a;border:1px solid #2f3f4c;border-radius:8px;gap:3px;padding:8px;display:grid}.trafficUser b{color:#eef5f8;overflow-wrap:anywhere;font-size:13px}.trafficUser small{line-height:1.35}.trafficHistoryView{gap:16px}.trafficSummaryGrid{align-items:start}.trafficTable,.trafficList,.trafficSessionList{gap:8px;display:grid}.trafficCompactList{gap:10px;display:grid}.trafficDaySelector{align-items:center;gap:5px;min-width:150px;margin:0;display:grid}.trafficDaySelector span{color:#93a4b1;text-transform:uppercase;font-size:11px;font-weight:850;line-height:1}.trafficDaySelector select{height:38px;min-height:38px;padding-top:7px;padding-bottom:7px}.trafficCompactCard{background:#15202a;border:1px solid #2f3f4c;border-radius:12px;gap:10px;padding:12px;display:grid}.trafficCompactHeader{justify-content:space-between;align-items:start;gap:10px;display:flex}.trafficCompactHeader strong{color:#eef5f8;font-size:15px}.trafficCompactHeader small,.trafficPeopleLine{color:#b9c2ca;font-size:12px}.trafficMetricPills{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.trafficMetricPills span{color:#b9c2ca;text-overflow:ellipsis;white-space:nowrap;background:#ffffff0b;border:1px solid #e8f1fa1a;border-radius:999px;min-width:0;padding:7px 9px;font-size:12px;overflow:hidden}.trafficMetricPills b{color:#eef5f8;font-weight:850}.trafficPeopleLine{overflow-wrap:anywhere;margin:0;line-height:1.35}.trafficTableHeader,.trafficTableRow{grid-template-columns:1.4fr repeat(4,minmax(70px,.7fr));align-items:center;gap:8px;display:grid}.trafficTableHeader{color:#93a4b1;text-transform:uppercase;font-size:12px;font-weight:700}.trafficTableRow,.trafficListItem,.trafficSessionCard{background:#15202a;border:1px solid #2f3f4c;border-radius:8px}.trafficTableRow{min-height:44px;padding:8px}.trafficTableRow strong,.trafficListItem strong,.trafficSessionCard strong{color:#eef5f8}.trafficTableRow span,.trafficPeriodCell small,.trafficListItem span,.trafficListItem small,.trafficSessionCard span,.trafficSessionCard small{color:#b9c2ca;font-size:12px}.trafficListItem{justify-content:space-between;gap:10px;padding:10px;display:flex}.trafficListItem>div{gap:3px;display:grid}.trafficPeriodCell{gap:3px;min-width:0;display:grid}.trafficPeriodCell small{overflow-wrap:anywhere}.trafficSessionCard{grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(90px,.7fr));align-items:center;gap:10px;padding:10px;display:grid}.trafficSessionCard>div{gap:3px;display:grid}.trafficSessionActive{border-color:#59c77a;box-shadow:inset 3px 0 #59c77a}.weatherWidget{cursor:pointer;transition:border-color var(--motion-quick) var(--ease-standard), background var(--motion-quick) var(--ease-standard), transform var(--motion-instant) var(--ease-press);background:linear-gradient(#ffffff13,#ffffff07),#101820e0;border:1px solid #334654;border-radius:16px;gap:8px;padding:10px 12px;display:grid;box-shadow:0 10px 28px #00000029,inset 0 1px #ffffff12}.weatherWidget:hover{border-color:#f2b84b52}.weatherWidget:active{transform:scale(.996)}.weatherWidget:focus-visible{outline:3px solid var(--sp-focus);outline-offset:2px}.weatherHeader,.weatherCurrent{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.weatherHeader>div,.weatherCurrent>div{gap:2px;display:grid}.weatherHeader span,.weatherHeader small,.weatherMeta span,.weatherForecast small,.weatherUpdated{color:#b9c2ca;font-size:12px}.weatherHeader strong{color:#eef5f8;font-size:14px}.weatherHeaderActions{flex:none;align-items:center;gap:6px;display:flex}.weatherSourceLink{color:#f7d58b;min-height:30px;transition:background var(--motion-quick) var(--ease-standard), border-color var(--motion-quick) var(--ease-standard), transform var(--motion-instant) var(--ease-press);white-space:nowrap;background:#f2b84b1f;border:1px solid #f2b84b3d;border-radius:999px;align-items:center;padding:0 9px;font-size:11px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.weatherSourceLink:hover{background:#f2b84b2e;border-color:#f2b84b61}.weatherSourceLink:active{transform:scale(.98)}.weatherSourceLink:focus-visible{outline:3px solid var(--sp-focus);outline-offset:2px}.weatherCurrent strong{color:#7ee0a3;font-size:26px;line-height:1}.weatherCurrent span,.weatherForecast span{color:#eef5f8}.weatherMeta{text-align:right}.weatherForecast{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.compactWeatherWidget .weatherForecast{grid-template-columns:repeat(5,minmax(0,1fr))}.compactWeatherWidget{border-radius:16px;gap:8px;margin:0 0 18px;padding:10px 12px}.compactWeatherWidget .weatherHeader{align-items:center}.compactWeatherWidget .weatherHeader span,.compactWeatherWidget .weatherHeader small,.compactWeatherWidget .weatherMeta span,.compactWeatherWidget .weatherForecast small,.compactWeatherWidget .weatherUpdated{font-size:11px}.compactWeatherWidget .weatherHeader strong{font-size:14px}.compactWeatherWidget .weatherCurrent{grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.compactWeatherWidget .weatherCurrent strong{font-size:34px}.compactWeatherWidget .weatherForecast{gap:6px}.compactWeatherWidget .weatherForecast>div{gap:2px;padding:6px 7px}.weatherForecast>div{background:#15202abd;border:1px solid #2f3f4c;border-radius:12px;justify-items:start;gap:3px;padding:7px;display:grid}.weatherForecast strong{color:#eef5f8}.weatherForecast .weatherIcon{transform-origin:0 0;width:28px;height:20px;margin-bottom:2px;transform:scale(.72)}.weatherIcon{flex:none;width:54px;height:42px;display:inline-block;position:relative}.weatherSun,.weatherCloud,.weatherRain,.weatherBolt,.weatherSnow{display:block;position:absolute}.weatherSun{background:radial-gradient(circle,#fff7b8 0 34%,#f5bd35 64%,#e48b22 100%);border-radius:999px;width:26px;height:26px;animation:3.8s ease-in-out infinite weatherSunPulse;top:2px;left:2px;box-shadow:0 0 18px #f5bd3573}.weatherCloud{background:linear-gradient(#f2f7fb,#a9bac8);border-radius:999px;height:15px;box-shadow:inset 0 1px #ffffffa6,0 4px 10px #0000001f}.weatherCloud:before,.weatherCloud:after{content:"";background:inherit;border-radius:999px;position:absolute}.weatherCloud:before{width:15px;height:15px;top:-7px;left:7px}.weatherCloud:after{width:18px;height:18px;top:-9px;right:7px}.weatherCloudOne{width:34px;animation:4.8s ease-in-out infinite weatherCloudDrift;top:13px;right:0}.weatherCloudTwo{opacity:.72;width:26px;animation:6.2s ease-in-out infinite reverse weatherCloudDrift;top:8px;right:7px;transform:scale(.78)}.weatherRain{opacity:0;background:#7ec8ff;border-radius:999px;width:2px;height:10px;animation:.95s linear infinite weatherRainFall;top:25px}.weatherRainOne{animation-delay:0s;left:20px}.weatherRainTwo{animation-delay:.16s;left:29px}.weatherRainThree{animation-delay:.32s;left:38px}.weatherBolt{clip-path:polygon(42% 0,100% 0,58% 43%,88% 43%,25% 100%,42% 55%,8% 55%);opacity:0;background:#ffd454;width:12px;height:16px;animation:2.4s ease-in-out infinite weatherBoltFlash;top:22px;left:25px}.weatherSnow{opacity:0;background:#e8f8ff;border-radius:999px;width:6px;height:6px;animation:1.8s ease-in-out infinite weatherSnowFall;top:26px}.weatherSnowOne{left:23px}.weatherSnowTwo{animation-delay:.45s;left:36px}.weatherIcon-sunny .weatherCloud,.weatherIcon-sunny .weatherRain,.weatherIcon-sunny .weatherBolt,.weatherIcon-sunny .weatherSnow{display:none}.weatherIcon-cloud .weatherSun{opacity:.45}.weatherIcon-cloud .weatherRain,.weatherIcon-cloud .weatherBolt,.weatherIcon-cloud .weatherSnow{display:none}.weatherIcon-rain .weatherSun,.weatherIcon-storm .weatherSun,.weatherIcon-snow .weatherSun,.weatherIcon-fog .weatherSun{opacity:.18}.weatherIcon-rain .weatherBolt,.weatherIcon-rain .weatherSnow{display:none}.weatherIcon-rain .weatherRain,.weatherIcon-storm .weatherRain{opacity:1;display:block}.weatherIcon-storm .weatherSnow{display:none}.weatherIcon-storm .weatherBolt{opacity:1;display:block}.weatherIcon-snow .weatherRain,.weatherIcon-snow .weatherBolt{display:none}.weatherIcon-snow .weatherSnow{opacity:1;display:block}.weatherIcon-fog .weatherRain,.weatherIcon-fog .weatherBolt,.weatherIcon-fog .weatherSnow{display:none}.weatherIcon-fog:after{content:"";border-top:2px solid #d2e2eec7;border-bottom:2px solid #d2e2ee8f;border-radius:999px;height:10px;animation:4s ease-in-out infinite weatherFogDrift;position:absolute;bottom:4px;left:8px;right:0}@keyframes weatherSunPulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.08);transform:scale(1.06)}}@keyframes weatherCloudDrift{0%,to{transform:translate(0)}50%{transform:translate(-2px)}}@keyframes weatherRainFall{0%{opacity:0;transform:translateY(-3px)}18%,74%{opacity:1}to{opacity:0;transform:translateY(7px)}}@keyframes weatherBoltFlash{0%,82%,to{opacity:0}86%,91%{opacity:1}}@keyframes weatherSnowFall{0%{opacity:0;transform:translateY(-3px)translate(0)}20%,78%{opacity:1}to{opacity:0;transform:translateY(8px)translate(3px)}}@keyframes weatherFogDrift{0%,to{opacity:.72;transform:translate(0)}50%{opacity:.95;transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.weatherSun,.weatherCloudOne,.weatherCloudTwo,.weatherRain,.weatherBolt,.weatherSnow,.weatherIcon-fog:after{animation:none!important}}@supports not ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.previewVisualApp header,.previewVisualApp .hubLandingHero,.previewVisualApp .hubChoiceTile,.previewVisualApp .surface-floating,.previewVisualApp .surface-modal{background:linear-gradient(180deg, #ffffff17, #ffffff07), var(--sp-material-opaque);border-color:var(--sp-separator-strong);box-shadow:var(--sp-shadow-raised), var(--sp-edge)}body.lightMode .previewVisualApp header,body.lightMode .previewVisualApp .hubLandingHero,body.lightMode .previewVisualApp .hubChoiceTile,body.lightMode .previewVisualApp .surface-floating,body.lightMode .previewVisualApp .surface-modal{background:linear-gradient(#fffffff0,#ffffffbd),#fff}}@media (prefers-reduced-motion:reduce){.spin{animation:none}.previewVisualApp main,.previewVisualApp .panel,.previewVisualApp .miniCard,.previewVisualApp .jobSelector,.previewVisualApp .hubPanel,.previewVisualApp .hubItem,.previewVisualApp .card,.previewVisualApp .wideCard,.previewVisualApp .listItem,.previewVisualApp .snagCard,.previewVisualApp .programmeTimelineItem,.previewVisualApp .programmeCompactList article,.previewVisualApp .primary,.previewVisualApp .secondary,.previewVisualApp .back,.previewVisualApp .inputRow button,.previewVisualApp .signatureHeader button,.previewVisualApp .compactButton,.previewVisualApp .deleteMini,.previewVisualApp .managerTabs button,.previewVisualApp .dayTabs button,.previewVisualApp .aiTabs button,.previewVisualApp .aiPromptChips button,.previewVisualApp .programmeCommandButtons button,.previewVisualApp .programmeCommandTabs button,.previewVisualApp .programmeFilterBar button,.previewVisualApp .statusButtons button{transition:none;animation:none}}.hubAreaNav{background:#171e25;border:1px solid #2b3a46;border-radius:12px;gap:6px;padding:8px;display:grid;position:sticky;top:12px}.hubAreaNav button{color:#fff;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:12px;font-weight:700;display:flex}.hubAreaNav button strong{color:#dce3e8;background:#26333f;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:13px;display:inline-flex}.hubAreaNav .activeHubArea{background:var(--sp-accent);border-color:var(--sp-accent);color:var(--sp-accent-contrast)}.hubAreaNav .activeHubArea strong{color:var(--sp-accent-contrast);background:#00000029}.hubContent{min-width:0}.hubJobGate{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:16px;margin-top:16px;display:grid}.hubJobPickerGrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:14px;display:grid}.hubJobPicker{color:#fff;text-align:left;background:#0f151a;border:1px solid #334654;border-radius:8px;gap:6px;padding:14px;display:grid}.jobTile{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:0;position:relative}.jobTileMain{color:inherit;text-align:left;background:0 0;border:0;gap:6px;min-width:0;padding:14px;display:grid}.jobTileMenuWrap{padding:10px 10px 0 0;position:relative}.jobTileMenu{z-index:20;background:#171e25;border:1px solid #334654;border-radius:8px;gap:4px;width:220px;padding:6px;display:grid;position:absolute;top:42px;right:8px;box-shadow:0 16px 36px #00000047}.jobTileMenu button,.jobTileMenu span{color:#fff;text-align:left;background:0 0;border:0;border-radius:6px;padding:9px;font-weight:700}.jobTileMenu button:hover{background:#26333f}.jobTileMenu span{color:#b9c2ca}.selectedJobTile{border-color:#f2b84b}.jobContactModal{color:#fff;background:#171e25;border:1px solid #334654;border-radius:12px;width:min(560px,100vw - 28px);max-height:calc(100vh - 40px);padding:18px;overflow:auto}.jobContactDetails{gap:10px;margin:14px 0;display:grid}.jobContactDetails div{border:1px solid #334654;border-radius:8px;gap:4px;padding:10px;display:grid}.jobContactDetails span{color:#b9c2ca;font-size:12px}.jobContactGrid,.accessRequestActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.hubStack{gap:16px;display:grid}.accessRequestItem{gap:10px;display:grid}.hubJobPicker strong,.hubJobPicker span,.hubJobPicker small{overflow-wrap:anywhere}.hubJobPicker span,.hubJobPicker small{color:#b9c2ca}.hubAreaNav .hubMileageNavButton{background:#f2b84b14;border-color:#f2b84b73}.hubStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.hubStat,.hubPanel{background:#171e25;border:1px solid #2b3a46;border-radius:12px;padding:16px}.hubStat{color:#fff;text-align:left}button.hubStat{cursor:pointer}.hubStat strong{font-size:30px;display:block}.hubStat span{color:#b9c2ca;font-weight:700}.hubStat label{margin-bottom:0}.mileageNotice{border-color:#f2b84b}.serviceNotice{justify-content:stretch;padding:0;overflow:hidden}.trainingNotice{justify-content:stretch;padding:0;position:relative}.serviceNoticeMain,.trainingNoticeMain{min-height:48px;color:inherit;font:inherit;background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 14px;display:flex}.serviceNoticeDismiss{color:inherit;background:#0000002e;border:0;border-left:1px solid #8a5a16;align-self:stretch;padding:0 12px;font-weight:700}.trainingNoticeClear{color:inherit;cursor:pointer;background:#0000002e;border:0;border-left:1px solid #8a5a16;align-self:stretch;padding:0 12px;font-weight:700}.trainingSnoozeMenu{z-index:30;background:#14191ff5;border:1px solid #f2b84b6b;border-radius:14px;min-width:220px;position:absolute;top:calc(100% + 6px);right:8px;overflow:hidden;box-shadow:0 18px 38px #00000052}.trainingSnoozeMenu button{color:#ffe2a8;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #ffffff14;width:100%;padding:12px 14px;font-weight:800;display:block}.trainingSnoozeMenu button:last-child{border-bottom:0}.trainingSnoozeMenu button:hover,.trainingSnoozeMenu button:focus-visible{background:#f2b84b24;outline:none}.serviceOverdueNotice{color:#ffd4d4;background:#3a1d1d;border-color:#ef4444}.vehicleMessageNotice{color:#dbeafe;background:#102542;border-color:#38bdf8}.chatMentionNotice{border-color:#38bdf8}.mentionPicker{gap:8px;display:grid}.mentionPicker>span{color:#b9c2ca;font-size:13px;font-weight:700}.mentionPicker>div,.nameSuggestionList{flex-wrap:wrap;gap:8px;display:flex}.mentionPicker button,.nameSuggestionList button{color:#fff;background:#0f151a;border:1px solid #334654;border-radius:999px;padding:7px 10px;font-weight:700}.mentionPicker .selectedMention{background:var(--sp-accent);border-color:var(--sp-accent);color:var(--sp-accent-contrast)}.nameSuggestionList{margin-top:6px}.mileageVehicleList{gap:12px;display:grid}.mileageVehicleCard{background:#0f151a;border:1px solid #334654;border-radius:10px;gap:12px;padding:14px;display:grid}.mileageVehicleHeader,.mileageReportRow,.mileageMeta{gap:12px;display:flex}.mileageVehicleHeader{justify-content:space-between;align-items:flex-start}.mileageVehicleHeader div{gap:3px;display:grid}.mileageVehicleHeader span,.mileageMeta{color:#b9c2ca}.mileageMeta{flex-wrap:wrap;font-size:13px}.mileageDueBadge{color:#fff;background:#ef4444;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.mileageVehicleActions,.mileageEmailActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mileageReportRow{grid-template-columns:minmax(260px,1fr) auto;align-items:end;display:grid}.mileageReportRow label{margin-bottom:0}.mileageReadingInput{font-variant-numeric:tabular-nums;letter-spacing:0;min-width:260px;font-size:18px}.mileageReportItem{justify-content:space-between;align-items:center;gap:12px;display:flex}.mileageReportItem div{gap:4px;min-width:0;display:grid}.hubTabs{gap:8px;padding:6px 0 14px;display:flex;overflow-x:auto}.hubTabs button{color:#fff;white-space:nowrap;background:#171e25;border:1px solid #334654;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:inline-flex}.hubTabs button span{background:#26333f;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 7px;display:inline-flex}.hubTabs .activeHubTab{background:var(--sp-accent);color:var(--sp-accent-contrast);border-color:var(--sp-accent)}.hubTabs .activeHubTab span{background:#00000026}.ramsFilterPanel{gap:12px;display:grid}.liveRamsPanel{gap:14px;display:grid}.liveRamsJobSelect{min-width:min(360px,100%);margin:0}.liveRamsGrid{gap:10px;display:grid}.liveRamsCard{background:#171e25;border:1px solid #334654;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.liveRamsMeta{gap:4px;min-width:0;display:grid}.liveRamsMeta strong,.liveRamsMeta span{overflow-wrap:anywhere}.liveRamsMeta strong{align-items:center;gap:8px;display:inline-flex}.liveRamsMeta span{color:#b9c2ca;font-size:13px}.ramsFilterGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ramsLibraryLayout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.ramsDocumentList{gap:10px;display:grid}.ramsDocumentCard{background:#171e25;border:1px solid #334654;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.ramsDocumentCard strong{align-items:center;gap:8px;display:inline-flex}.ramsDocumentActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ramsLiveControl{width:min(360px,100%);margin-top:10px}.ramsPreviewError{margin:6px 0 0;font-size:12px;display:block;color:#ffb8b8!important}.ramsUploadPanel form{gap:12px;display:grid}.ramsViewerInner{width:min(1600px,100%)}.competencyHero{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 16px;display:grid}.competencyHero>div{background:linear-gradient(145deg,#ffffff13,#ffffff06),#111922e6;border:1px solid #334654;border-radius:18px;padding:16px;box-shadow:0 12px 28px #0000002e,inset 0 1px #ffffff12}.competencyHero span{color:#95a8b8;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800;display:block}.competencyHero strong{margin:6px 0;font-size:34px;display:block}.competencyHero p{color:#b8c7d3;margin:0}.trainingMatrixTabs{background:#080e169e;border:1px solid #e8f1fa1a;border-radius:999px;align-items:center;gap:5px;margin:0 0 16px;padding:5px;display:inline-flex}.trainingMatrixTabs button{color:#aebfcb;cursor:pointer;min-height:34px;transition:background var(--motion-quick) var(--ease-standard), color var(--motion-quick) var(--ease-standard), transform var(--motion-instant) var(--ease-press);background:0 0;border:0;border-radius:999px;padding:0 16px;font-size:13px;font-weight:850}.trainingMatrixTabs button:hover{color:#f4f8fb;background:#ffffff0f}.trainingMatrixTabs button:active{transform:scale(.985)}.trainingMatrixTabs button.active{color:#fff;background:linear-gradient(#ffffff24,#ffffff0d);box-shadow:0 8px 18px #0000002e,inset 0 1px #ffffff1f}.trainingImportGrid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;display:grid}.settingsRows>.trainingImportGrid{border-top:1px solid #e8f1fa1a;padding:16px 18px 4px}.trainingImportDrop{min-height:138px}.trainingImportActions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.trainingImportResult{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.settingsRows>.trainingImportResult{padding:8px 18px 18px}.trainingImportResult>div{background:#080e1661;border:1px solid #e8f1fa1a;border-radius:14px;padding:12px}.trainingImportResult span{color:#9fb0be;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:800;display:block}.trainingImportResult strong{margin-top:4px;font-size:24px;display:block}.trainingImportReview{grid-column:1/-1;margin:0}.trainingOverview{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr) minmax(260px,.85fr);align-items:stretch;gap:16px;display:grid}.trainingOverviewWide{grid-column:1/-1}.trainingStatusPanel,.trainingChartPanel,.trainingMatrixPanel{min-width:0}.trainingStatusRows{gap:9px;display:grid}.trainingStatusRow{color:#f5f8fb;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:34px;padding:8px 10px;display:grid;position:relative;overflow:hidden}.trainingStatusRow>span,.trainingStatusRow>strong{z-index:1;position:relative}.trainingStatusRow strong{font-size:13px}.trainingStatusRow small{color:#ffffffc2}.trainingStatusRow i{opacity:.32;position:absolute;top:0;bottom:0;left:0}.trainingStatus-danger,.trainingStatus-critical{background:#991b1bb8}.trainingStatus-danger i,.trainingStatus-critical i{background:#ef4444}.trainingStatus-warning{background:#92400eb8}.trainingStatus-warning i{background:#f97316}.trainingStatus-amber{background:#856018c7}.trainingStatus-amber i{background:#facc15}.trainingStatus-success{background:#15803db8}.trainingStatus-success i{background:#22c55e}.trainingStatus-neutral{background:#5262709e}.trainingStatus-neutral i{background:#94a3b8}.trainingDonutWrap{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:center;gap:18px;display:grid}.trainingBreakdownPanel .trainingDonutWrap{grid-template-columns:1fr;justify-items:center;min-height:320px}.interactiveDonutWrap{aspect-ratio:1;width:100%;max-width:240px;margin:0 auto;position:relative}.trainingBreakdownPanel .interactiveDonutWrap{max-width:min(340px,100%)}.equipmentBreakdownPanel .interactiveDonutWrap{max-width:min(420px,100%)}.equipmentBreakdownPanel .trainingDonutWrap{min-height:380px}.interactiveDonutSvg{filter:drop-shadow(0 16px 26px #00000038);width:100%;height:auto;display:block;overflow:visible}.interactiveDonutTrack{fill:none;opacity:.5;stroke:#94a3b838;stroke-width:38px}.interactiveDonutSegment{cursor:pointer;transform-box:view-box;transform-origin:50%;outline:none;transition:transform .16s,filter .16s,opacity .16s}.interactiveDonutSegment:hover,.interactiveDonutSegment:focus-visible{filter:drop-shadow(0 10px 14px #0000003d);transform:scale(1.035)}.interactiveDonutSegment:focus-visible{stroke:#ffffffe6;stroke-width:2px}.interactiveDonutSegment.isDimmed{opacity:.46}.interactiveDonutTooltip{pointer-events:none;z-index:2;background:#0c131ae6;border:1px solid #e8f1fa24;border-radius:12px;flex-direction:column;align-items:center;gap:2px;min-width:150px;padding:8px 10px;display:flex;position:absolute;top:calc(100% - 22px);left:50%;transform:translate(-50%);box-shadow:0 16px 30px #0000003d}.interactiveDonutTooltip strong{color:#f5f9fc;text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:12px;line-height:1.2;overflow:hidden}.interactiveDonutTooltip span{color:#9fb0be;font-size:11px;font-weight:750}.interactiveDonutEmpty{color:#9fb0be;text-align:center;width:min(190px,90%);margin:0;font-size:12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.trainingDonutCenter{pointer-events:none;text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:116px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.trainingDonutCenter strong{font-size:34px;line-height:1}.trainingDonutCenter span{color:#9fb0be;text-transform:uppercase;font-size:12px;font-weight:800;line-height:1.15}.trainingLegend{gap:8px;display:grid}.trainingLegend div,.trainingLegend button,.trainingRoleList div{border:1px solid #e8f1fa1a;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;display:grid}.trainingLegend button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:#ffffff08;transition:background .16s,border-color .16s,transform .16s}.trainingLegend button:hover,.trainingLegend button:focus-visible{background:#ffffff12;border-color:#e8f1fa38;transform:translateY(-1px)}.trainingLegend button:focus-visible{outline-offset:2px;outline:2px solid #60a5fa8c}.trainingLegend i{border-radius:999px;width:10px;height:10px}.trainingLegend span,.trainingRoleList span{color:#dce7ef;font-weight:750}.trainingBarChart{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:8px;min-height:220px;padding-top:24px;display:grid}.trainingBarChart div{grid-template-rows:auto minmax(120px,1fr) auto;place-items:center;gap:7px;height:100%;display:grid}.trainingBarChart i{background:linear-gradient(#f2b84b,#22c55e);border-radius:999px 999px 6px 6px;align-self:end;width:26px;min-height:8px}.trainingBarChart span{color:#9fb0be;font-size:12px;font-weight:800}.trainingRoleList{gap:8px;display:grid}.trainingRoleList div{grid-template-columns:minmax(0,1fr) auto}.trainingMatrixPanel{gap:12px;display:grid}.trainingToolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.trainingMatrixControls{grid-template-columns:minmax(260px,1fr) 220px 220px;gap:10px;display:grid}.trainingMatrixLegend{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trainingMatrixLegend span{color:#07120d;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:850}.trainingMatrixLegend .legendInDate{background:#22c55e}.trainingMatrixLegend .legendDue{background:#fde047}.trainingMatrixLegend .legendOverdue{color:#fff1f2;background:#ef4444}.trainingMatrixLegend .legendNoExpiry{background:#94a3b8}.trainingMatrixLegend .legendMissing{color:#cbd5e1;background:#94a3b838}.trainingMatrixScroll{border:1px solid #334654;border-radius:16px;max-height:70vh;overflow:auto}.trainingMatrixTable{border-collapse:separate;border-spacing:0;width:100%;min-width:980px}.trainingMatrixTable th,.trainingMatrixTable td{text-align:left;vertical-align:middle;border-bottom:1px solid #e8f1fa1a;border-right:1px solid #e8f1fa14;min-width:112px;padding:8px;font-size:12px}.trainingMatrixTable th{color:#aebfcb;text-transform:uppercase;z-index:2;background:#0a1018f5;font-size:11px;font-weight:900;position:sticky;top:0}.trainingMatrixTable .stickyTrainingCol{z-index:3;min-width:180px;position:sticky;left:0}.trainingMatrixTable td.stickyTrainingCol{background:#0f1720fa}.trainingMatrixTable .stickyTrainingCol button{color:#f5f8fb;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:850}.matrixWideApp .trainingMatrixPanel,.matrixWideApp .equipmentMatrixPanelWide{border-radius:14px;padding:12px}.matrixWideApp .trainingMatrixScroll,.matrixWideApp .equipmentMatrixScroll{border-radius:12px;max-height:calc(100vh - 310px)}.matrixWideApp .trainingMatrixControls{grid-template-columns:minmax(220px,1fr) 180px 180px}.matrixWideApp .trainingMatrixLegend{gap:5px}.matrixWideApp .trainingMatrixLegend span{padding:5px 8px;font-size:11px}.matrixWideApp .trainingMatrixTable{min-width:max(100%,1040px)}.matrixWideApp .trainingMatrixTable th,.matrixWideApp .trainingMatrixTable td{min-width:66px;padding:6px 5px;font-size:11px}.matrixWideApp .trainingMatrixTable th:nth-child(2),.matrixWideApp .trainingMatrixTable td:nth-child(2){min-width:104px}.matrixWideApp .trainingMatrixTable .stickyTrainingCol{min-width:174px}.matrixWideApp .trainingMatrixRotatedHeader{text-align:center;vertical-align:bottom;min-width:58px;max-width:72px;height:152px;padding:6px 4px}.matrixWideApp .trainingMatrixRotatedHeader span{transform-origin:50%;white-space:normal;max-width:136px;line-height:1.08;display:inline-block;transform:rotate(-90deg)}.matrixWideApp .trainingMatrixCell button{gap:1px}.matrixWideApp .trainingMatrixCell strong{white-space:nowrap;font-size:11px}.matrixWideApp .trainingMatrixCell span{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;display:-webkit-box;overflow:hidden}.trainingMatrixCell{background:#101822d1}.trainingMatrixCell button{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:2px;width:100%;padding:0;display:grid}.trainingMatrixCell span{color:#ffffffb8;font-size:11px}.trainingMatrixCell-inDate{color:#052e16;background:#22c55ed1}.trainingMatrixCell-due90,.trainingMatrixCell-due60{color:#422006;background:#facc15d1}.trainingMatrixCell-due30{color:#431407;background:#f97316e0}.trainingMatrixCell-overdue{color:#fff1f2;background:#ef4444e6}.trainingMatrixCell-noExpiry{color:#eef5f8;background:#94a3b86b}.trainingMatrixCell-missing{color:#ffffff47;text-align:center}.trainingSpendPanel,.trainingReportsPanel{gap:14px;display:grid}.trainingSpendGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.trainingBudgetCard{background:linear-gradient(145deg,#ffffff13,#ffffff06),#111922db;border:1px solid #e8f1fa1c;border-radius:16px;padding:16px}.trainingBudgetCard span{color:#9fb0be;letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:850;display:block}.trainingBudgetCard strong{margin:8px 0;font-size:34px;line-height:1;display:block}.trainingBudgetTimeline,.trainingReportsList{gap:8px;display:grid}.trainingReportFilterBanner{background:rgba(var(--sp-accent-rgb), .12);border:1px solid rgba(var(--sp-accent-rgb), .24);color:var(--sp-text);border-radius:999px;align-items:center;gap:8px;width:fit-content;margin:0 0 12px;padding:8px 12px;display:inline-flex}.trainingReportFilterBanner span{color:var(--sp-text-secondary);font-size:12px;font-weight:800}.trainingReportFilterBanner strong{color:var(--sp-accent);font-size:13px}.trainingBudgetTimeline div{background:#0c121a8c;border:1px solid #e8f1fa1a;border-radius:12px;grid-template-columns:80px minmax(0,1fr) 110px;align-items:center;gap:10px;padding:10px;display:grid}.trainingBudgetTimeline i{background:linear-gradient(90deg,#f2b84b,#22c55e);border-radius:999px;height:12px;display:block}.trainingBudgetTimeline span,.trainingBudgetTimeline strong{color:#dbe7ef;font-size:13px}.trainingReportRow{color:inherit;cursor:pointer;text-align:left;background:#0c121a8c;border:1px solid #e8f1fa1a;border-left:5px solid #94a3b8;border-radius:12px;gap:4px;padding:12px;display:grid}.trainingReportRow:hover{background:#ffffff0f;border-color:#e8f1fa2e}.trainingReportRow span{color:#9fb0be;font-size:12px;font-weight:850}.trainingReportRow strong{color:#f4f8fb}.trainingReportRow small{color:#b9c8d3}.trainingReport-overdue{border-left-color:#ef4444}.trainingReport-due30{border-left-color:#f97316}.trainingReport-due60,.trainingReport-due90{border-left-color:#fde047}.trainingReport-inDate{border-left-color:#22c55e}.trainingMatrixCell-inDate span,.trainingMatrixCell-due90 span,.trainingMatrixCell-due60 span,.trainingMatrixCell-due30 span,.trainingMatrixCell-overdue span,.trainingMatrixCell-noExpiry span{color:currentColor;opacity:.72}.competencyLayout{grid-template-columns:minmax(300px,380px) minmax(680px,1fr);align-items:start;gap:16px;display:grid}.competencyReadOnlyLayout{grid-template-columns:minmax(300px,380px) minmax(680px,1fr)}.competencyDirectory,.competencyProfile,.competencyAdminPanel{min-width:0}.competencyList{gap:8px;max-height:720px;margin-top:12px;padding-right:4px;display:grid;overflow:auto}.competencyListItem{text-align:left;width:100%;color:inherit;cursor:pointer;background:#121920;border:1px solid #334654;border-radius:8px;gap:5px;padding:12px;display:grid}.competencyListItem:hover,.competencyListItem.active{background:#1c2730;border-color:#f2b84b}.competencyListItem span,.competencyListItem small{color:#9fb0be}.operativeToolbarActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-bottom:2px;display:flex}.operativeToolbarActions .compactButton{margin-top:0}.competencySearchInput{margin-top:16px}.competencyProfileHeader{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 14px;display:grid}.competencyProfileHeader>div:nth-child(2){min-width:0}.competencyProfileHeader>div:nth-child(2) h3,.competencyProfileHeader>div:nth-child(2) p{overflow-wrap:anywhere}.competencyAvatar{color:#111;background:#f2b84b;border-radius:8px;place-items:center;width:58px;height:58px;font-size:20px;font-weight:900;display:grid}.qualificationChips{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.qualificationChips span{color:#dbe7ef;background:#17212a;border:1px solid #405466;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:800}.competencyNotes{color:#dbe7ef;background:#141c23;border-left:3px solid #f2b84b;padding:10px 12px}.competencyDocuments{gap:10px;margin-top:14px;display:grid}.competencyDocumentCard{background:#171e25;border:1px solid #334654;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.competencyDocumentCard strong{align-items:center;gap:8px;display:inline-flex}.trainingFinanceLine{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.trainingFinanceLine span{color:#f6d58d;background:#f2b84b1f;border:1px solid #f2b84b38;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.competencyAdminPanel form{gap:12px;display:grid}.trainingDetailFinance{background:#080e167a;border:1px solid #e8f1fa1c;border-radius:14px;gap:12px;padding:12px;display:grid}.trainingDetailModal{z-index:120;background:radial-gradient(circle at 50% 10%,#1f6fd129,#0000 34rem),#04080db8;place-items:flex-start center;padding:5vh 16px;display:grid;position:fixed;inset:0;overflow:auto}.trainingDetailModalInner{background:linear-gradient(#ffffff1a,#ffffff09),#101822f5;border:1px solid #e8f1fa29;border-radius:18px;gap:14px;width:min(880px,100%);max-width:880px;padding:18px;display:grid;box-shadow:0 28px 90px #0000006b,inset 0 1px #ffffff1a}.trainingDetailModalInner form{gap:12px;display:grid}.operativeFormModalInner{width:min(1040px,100%);max-width:1040px;min-height:min(760px,90vh)}.operativeFormModalInner textarea{min-height:128px}.trainingDetailFinance h4{border-bottom:1px solid #e8f1fa1c;margin:0;padding-bottom:10px;font-size:14px}.trainingRenewGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.trainingToggle{align-items:center;gap:8px;margin:0;display:inline-flex}.trainingToggle input{width:auto;min-height:auto;margin:0}.competencyUploadActions{flex-wrap:wrap;gap:10px;display:flex}.competencyActionButton,.competencyUploadActions .photoButton{white-space:nowrap;flex:170px;justify-content:center;min-height:48px;margin:0}.competencyScanStatus{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.competencyScanStatus span{color:#9fb0be;overflow-wrap:anywhere;background:#111820;border:1px solid #334654;border-radius:8px;padding:8px 10px;font-size:12px}.competencyScanStatus .scanReady{color:#d8f9e1;background:#102117;border-color:#22c55e}.competencyAiResult{background:#101d2f;border:1px solid #3b82f6;border-radius:8px;gap:5px;padding:10px;display:grid}.competencyAiResult span,.competencyAiResult small{color:#b9d6ff}.competencyUploadPicker{background:#111820;border:1px solid #334654;border-radius:8px;gap:7px;max-height:230px;padding:4px;display:grid;overflow:auto}.competencyUploadPicker button{color:#f5f5f5;text-align:left;background:#171e25;border:1px solid #334654;border-radius:8px;gap:3px;width:100%;padding:9px 10px;display:grid}.competencyUploadPicker button.active{background:#2a2111;border-color:#f2b84b}.competencyUploadPicker span{color:#9fb0be;font-size:12px}.selectedUploadTarget{color:#d8f9e1;background:#102117;border-left:3px solid #22c55e;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:8px 10px;display:flex}.selectedUploadTarget button{color:#d8f9e1;background:#173522;border:1px solid #31543d;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:800}.competencyReminderPanel{margin-bottom:16px}.competencyReminderGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.competencyReminderCard{text-align:left;color:#f8e8c4;cursor:pointer;background:#2a2111;border:1px solid #7c5f1e;border-radius:8px;gap:6px;padding:12px;display:grid}.competencyReminderCard span{color:#f0c879}.competencyReminder-overdue{color:#ffe3e3;background:#331414;border-color:#9f1d1d}.competencyReminder-overdue span{color:#ffb4b4}.equipmentHero strong{letter-spacing:-.03em}.equipmentOverview .panel{min-height:360px}.equipmentServiceChart{gap:12px;margin-top:8px;display:grid}.equipmentServiceChart>div{grid-template-columns:minmax(132px,1fr) minmax(120px,2fr) 44px;align-items:center;gap:10px;display:grid}.equipmentServiceChart span,.equipmentServiceChart strong{color:#dce7ef;font-size:13px;font-weight:850}.equipmentServiceChart i{background:linear-gradient(90deg,#5aa7ff,#f2b84b);border-radius:999px;min-width:8px;height:14px;display:block}.equipmentRegisterLayout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:16px;display:grid}.equipmentRecordLayout{grid-template-columns:minmax(310px,380px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.equipmentRegisterList,.equipmentDetailPanel,.equipmentRecordDirectory,.equipmentRecordProfile{min-width:0}.equipmentPageActions{justify-content:flex-end;margin:-2px 0 12px;display:flex}.equipmentImportStack{gap:12px;margin-bottom:14px;display:grid}.equipmentImportPanel{background:linear-gradient(145deg,#ffffff12,#ffffff07),#101822b8;border:1px solid #e8f1fa1f;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:12px;display:grid}.equipmentHistoryImportPanel{border-color:#7db4d73d}.equipmentImportDrop{min-height:76px;margin:0}.equipmentImportActions{justify-content:flex-end;gap:8px;display:flex}.equipmentImportSummary{color:#9fb0be;flex-wrap:wrap;grid-column:1/-1;gap:8px;font-size:12px;font-weight:800;display:flex}.equipmentImportSummary span{background:#ffffff0f;border:1px solid #e8f1fa1a;border-radius:999px;padding:5px 9px}.equipmentRegisterList input{margin-top:4px}.equipmentSideNav{gap:8px;margin:12px 0 10px;display:grid}.equipmentSideNav button,.equipmentStatusSideList button{color:inherit;cursor:pointer;text-align:left;background:linear-gradient(145deg,#ffffff0d,#ffffff05),#0c121ab8;border:1px solid #e8f1fa1a;border-radius:12px;justify-content:flex-start;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}.equipmentSideNav button.active,.equipmentSideNav button:hover,.equipmentStatusSideList button:hover{background:linear-gradient(145deg,#f2b84b21,#ffffff09),#161f29f0;border-color:#f2b84b85}.equipmentStatusSideList{gap:8px;margin-top:12px;display:grid}.equipmentStatusSideList button{justify-content:space-between}.equipmentStatusSideList strong{color:#f2b84b}.equipmentRows{gap:8px;max-height:720px;margin-top:12px;padding-right:4px;display:grid;overflow:auto}.equipmentRow{color:inherit;cursor:pointer;text-align:left;transition:background var(--motion-quick) var(--ease-standard), border-color var(--motion-quick) var(--ease-standard), transform var(--motion-instant) var(--ease-press);background:linear-gradient(145deg,#ffffff0e,#ffffff04),#101822d1;border:1px solid #e8f1fa1c;border-radius:14px;gap:5px;width:100%;padding:12px;display:grid}.equipmentRow:hover,.equipmentRow.active{background:linear-gradient(145deg,#f2b84b1f,#ffffff09),#161f29f0;border-color:#f2b84b8a}.equipmentRow:active{transform:scale(.992)}.equipmentRow span,.equipmentRow small{color:#9fb0be;line-height:1.35}.equipmentMatrixPanel{min-width:0}.equipmentMatrixPanelWide{width:100%}.equipmentMatrixPanelWide .hubSectionHeader{align-items:flex-start}.equipmentMatrixPanelWide .trainingToolbar{align-items:center;gap:10px 18px}.equipmentRegisterToolbar{gap:16px;display:flex}.equipmentMatrixPanelWide .trainingToolbar input{min-width:260px}.equipmentRegisterToolbar .compactButton{margin-left:8px}.equipmentMatrixScroll{border:1px solid #e8f1fa1a;border-radius:16px;max-height:74vh;overflow:auto}.equipmentMatrixTable{border-collapse:separate;border-spacing:0;color:#dce7ef;width:100%;min-width:1500px;font-size:12px}.equipmentMatrixTable th,.equipmentMatrixTable td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e8f1fa1c;border-right:1px solid #e8f1fa17;height:34px;padding:6px 8px}.equipmentMatrixTable th{color:#9fb0be;z-index:3;background:#0a1016f5;font-size:11px;font-weight:850;position:sticky;top:0}.equipmentMatrixTable thead tr:nth-child(2) th{height:42px;top:45px}.equipmentMatrixGroupHeader th{text-align:center;height:45px}.equipmentMatrixRotate{text-align:center;vertical-align:bottom;width:56px;min-width:56px;height:108px;padding:0}.equipmentMatrixRotate>span{transform-origin:50%;white-space:normal;max-width:100px;line-height:1.1;display:inline-block;transform:rotate(-90deg)}.equipmentSortHeader{color:inherit;cursor:pointer;font:inherit;height:100%;letter-spacing:inherit;text-align:left;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:6px;width:100%;min-height:28px;padding:0;font-weight:850;display:inline-flex}.equipmentSortHeader small{color:#6f8290;font-size:10px;line-height:1}.equipmentSortHeader:hover,.equipmentSortHeader.active{color:#f5fbff}.equipmentSortHeader.active small{color:#7dd3fc}.equipmentMatrixRotate .equipmentSortHeader.vertical{transform-origin:50%;white-space:nowrap;justify-content:center;width:98px;max-width:98px;height:auto;min-height:0;display:inline-flex;transform:rotate(-90deg)}.equipmentMatrixCategoryRow th{color:#edf5f8;letter-spacing:.02em;text-align:left;z-index:2;background:#ffffff0e;font-size:12px;position:sticky;left:0}.equipmentMatrixName,.equipmentMatrixServiceCell,.equipmentMatrixStatusCell,.equipmentMatrixWarranty,.equipmentMatrixDot{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;width:100%;min-height:100%;padding:0}.equipmentMatrixName{color:#edf5f8;text-align:left;font-weight:800}.equipmentMatrixName:hover{color:#f2b84b}.equipmentMatrixDot{background:#1eb13a;place-items:center;min-width:42px;min-height:31px;display:grid}.equipmentMatrixDot span{background:#ffffffad;border-radius:999px;width:8px;height:8px;display:block}.equipmentMatrixDue-overdue,.equipmentMatrixDue-due30{background:#ef4444}.equipmentMatrixDue-due60,.equipmentMatrixDue-due90{background:#f59e0b}.equipmentMatrixDue-noDate{background:#cbd5e1}.equipmentMatrixServiceCell,.equipmentMatrixStatusCell,.equipmentMatrixWarranty{border-radius:0;justify-content:center;align-items:center;min-height:31px;padding:0 4px;display:flex}.equipmentMatrixServiceCell.active,.equipmentMatrixStatusCell.active{color:#fff;background:#1eb13a;font-size:11px;font-weight:900}.equipmentMatrixWarranty.active{color:#f2b84b;font-size:11px;font-weight:850}.matrixWideApp .equipmentMatrixPanelWide .hubSectionHeader{gap:10px}.matrixWideApp .equipmentMatrixPanelWide .hubSectionHeader h3{margin-bottom:2px}.matrixWideApp .equipmentMatrixPanelWide .trainingToolbar input{min-width:220px}.matrixWideApp .equipmentMatrixTable{min-width:max(100%,1320px);font-size:11px}.matrixWideApp .equipmentMatrixTable th,.matrixWideApp .equipmentMatrixTable td{height:30px;padding:5px 6px;font-size:11px}.matrixWideApp .equipmentMatrixTable th:first-child,.matrixWideApp .equipmentMatrixTable td:first-child{min-width:170px}.matrixWideApp .equipmentMatrixTable th:nth-child(2),.matrixWideApp .equipmentMatrixTable td:nth-child(2),.matrixWideApp .equipmentMatrixTable th:nth-child(3),.matrixWideApp .equipmentMatrixTable td:nth-child(3){min-width:118px}.matrixWideApp .equipmentMatrixTable th:nth-child(4),.matrixWideApp .equipmentMatrixTable td:nth-child(4),.matrixWideApp .equipmentMatrixTable th:nth-child(5),.matrixWideApp .equipmentMatrixTable td:nth-child(5),.matrixWideApp .equipmentMatrixTable th:nth-child(6),.matrixWideApp .equipmentMatrixTable td:nth-child(6){min-width:136px}.matrixWideApp .equipmentMatrixRotate{width:44px;min-width:44px;height:96px}.matrixWideApp .equipmentMatrixRotate>span{max-width:94px}.matrixWideApp .equipmentMatrixRotate .equipmentSortHeader.vertical{width:92px;max-width:92px}.matrixWideApp .equipmentMatrixServiceCell,.matrixWideApp .equipmentMatrixStatusCell,.matrixWideApp .equipmentMatrixWarranty,.matrixWideApp .equipmentMatrixDot{min-height:27px}.matrixWideApp .equipmentMatrixDot{min-width:34px}.equipmentRecordSummary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.equipmentRecordSummary>div{background:linear-gradient(145deg,#ffffff0e,#ffffff04),#080e166b;border:1px solid #e8f1fa1a;border-radius:14px;gap:5px;min-height:74px;padding:12px;display:grid}.equipmentRecordSummary span{color:#9fb0be;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:850}.equipmentRecordSummary strong{color:#f5f8fb;overflow-wrap:anywhere;line-height:1.25}.equipmentRecordActionGrid{margin:14px 0}.equipmentDetailGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.equipmentDetailGrid>div{background:#080e1675;border:1px solid #e8f1fa1a;border-radius:14px;gap:5px;min-height:74px;padding:12px;display:grid}.equipmentDetailGrid span{color:#9fb0be;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:850}.equipmentDetailGrid strong{color:#f5f8fb;overflow-wrap:anywhere;line-height:1.25}.equipmentServiceTimeline{background:#080e165c;border:1px solid #e8f1fa1a;border-radius:16px;gap:8px;margin-top:14px;padding:14px;display:grid}.equipmentServiceTimeline h4{color:#edf5f8;margin:0;font-size:14px}.equipmentServiceTimeline article{background:#ffffff0a;border-radius:12px;align-items:center;gap:3px;padding:10px 12px;display:grid}.equipmentServiceTimeline article strong{color:#f5f8fb}.equipmentServiceTimeline article span,.equipmentServiceTimeline article small{color:#9fb0be;line-height:1.35}.equipmentDetailModal{z-index:145;background:#04080dc7;place-items:flex-start center;padding:5vh 18px;display:grid;position:fixed;inset:0;overflow:auto}.equipmentDetailModalInner{color:#edf5f8;background:linear-gradient(#4e6b8057,#101822fa 80%),#101822fa;border:1px solid #7db4d76b;border-radius:10px;gap:14px;width:min(920px,100%);max-width:920px;padding:12px;display:grid;box-shadow:0 30px 95px #0000008a}.equipmentDetailModalHeader,.equipmentDetailSectionHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.equipmentDetailModalHeader span{color:#c7d8e6;margin-bottom:3px;font-size:12px;font-weight:850;display:block}.equipmentDetailModalHeader h3,.equipmentDetailSectionHeader h4{margin:0}.equipmentDetailModalHeaderActions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.equipmentDetailSummary{border:1px dotted #e8f1fa47;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.equipmentDetailSummary>div{border-right:1px dotted #e8f1fa33;gap:2px;padding:9px 10px;display:grid}.equipmentDetailSummary span{color:#9fb0be;font-size:11px;font-weight:850}.equipmentDetailSummary strong{color:#f5f8fb;overflow-wrap:anywhere}.equipmentQrPanel{background:linear-gradient(145deg,#ffffff0f,#ffffff06),#080e1694;border:1px solid #e8f1fa24;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.equipmentQrPanel span{color:#9fb0be;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:850;display:block}.equipmentQrPanel strong{color:#f5f8fb;margin-bottom:5px;display:block}.equipmentQrPanel code{color:#dce7ef;background:#00000038;border:1px solid #e8f1fa1f;border-radius:8px;max-width:100%;margin:10px 0;padding:8px;font-size:11px;display:block;overflow:auto}.equipmentQrPanel img{background:#fff;border-radius:12px;width:164px;height:164px;padding:10px;box-shadow:0 14px 36px #00000038}.equipmentDetailActionGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.equipmentDetailActionGrid button{color:#dce7ef;cursor:pointer;background:#ffffff09;border:1px solid #e8f1fa29;border-radius:8px;place-items:center;gap:7px;min-height:74px;padding:10px;display:grid}.equipmentDetailActionGrid button:hover{background:#f2b84b1c;border-color:#f2b84b75}.equipmentDetailTables{gap:14px;display:grid}.equipmentDetailTables section{gap:7px;display:grid}.equipmentDetailTables h4{color:#c7d8e6;margin:0}.equipmentMiniTable{border:1px solid #e8f1fa29;min-width:0;display:grid}.equipmentMiniTableHead,.equipmentMiniTableRow{grid-template-columns:1fr 1.45fr 1fr 1fr 1.2fr;gap:0;display:grid}.equipmentMiniTableRowThree{grid-template-columns:1fr 1.6fr 2fr}.equipmentMiniTableHead span,.equipmentMiniTableRow span,.equipmentMiniTableRow strong{color:#9fb0be;overflow-wrap:anywhere;border-right:1px solid #e8f1fa21;min-height:27px;padding:6px 7px;font-size:12px}.equipmentMiniTableHead span{color:#9fb0be;background:#ffffff0a;font-size:11px;font-weight:850}.equipmentMiniTableRow strong{color:#edf5f8}.equipmentAdminPanel form{gap:12px;display:grid}.equipmentModal{z-index:140;background:radial-gradient(circle at 50% 12%,#1f6fd129,#0000 34rem),#04080dbd;place-items:flex-start center;padding:5vh 18px;display:grid;position:fixed;inset:0;overflow:auto}.equipmentModalInner{color:#f5f8fb;background:linear-gradient(#ffffff1a,#ffffff09),#101822f7;border:1px solid #e8f1fa29;border-radius:22px;gap:16px;width:min(1120px,100%);max-width:1120px;padding:20px;display:grid;box-shadow:0 30px 95px #00000070,inset 0 1px #ffffff1c}.equipmentModalHeader{border-bottom:1px solid #e8f1fa1c;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.equipmentModalHeader span{color:#f2b84b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:850;display:block}.equipmentModalHeader h3{margin:0;padding:0}.equipmentModalHeader .hint{margin-bottom:0}.equipmentModalForm{gap:16px;display:grid}.equipmentModalForm section{background:#080e165c;border:1px solid #e8f1fa1a;border-radius:16px;gap:12px;padding:14px;display:grid}.equipmentModalForm h4{color:#edf5f8;margin:0;font-size:14px}.equipmentModalGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.equipmentModalGrid label{min-width:0}.equipmentModalForm textarea{min-height:110px}.equipmentModalSubhead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.equipmentModalSubhead h4{margin-right:auto}.equipmentEditableRows{gap:10px;display:grid}.equipmentEditableRow{background:#ffffff09;border:1px solid #e8f1fa17;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:10px;padding:10px;display:grid}.equipmentEditableRowWide{grid-template-columns:repeat(5,minmax(0,1fr)) auto}.equipmentEditableRow label{min-width:0}.equipmentModalActions{justify-content:flex-end;align-items:center;gap:10px;padding-top:2px;display:flex}.equipmentServicePanel,.equipmentMapPanel{gap:14px;display:grid}.equipmentPostcodeItems{gap:8px;display:grid}.equipmentPostcodeItems button{color:#edf5f8;cursor:pointer;text-align:left;background:#080e1680;border:1px solid #e8f1fa17;border-radius:12px;gap:4px;padding:10px 11px;display:grid}.equipmentPostcodeItems button:hover{background:#ffffff0f;border-color:#f2b84b5c}.equipmentPostcodeItems span{color:#9fb0be;font-size:12px}.equipmentServiceGroups{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.equipmentServiceGroups article,.equipmentLocationGrid article{background:linear-gradient(145deg,#ffffff0e,#ffffff04),#101822d1;border:1px solid #e8f1fa1c;border-radius:16px;gap:12px;padding:14px;display:grid}.equipmentServiceGroups article>div:first-child,.equipmentLocationGrid article>div:first-child{gap:3px;display:grid}.equipmentServiceGroups span,.equipmentLocationGrid span{color:#9fb0be;font-size:13px}.equipmentServiceGroups article>i{background:linear-gradient(90deg,#5aa7ff,#f2b84b);border-radius:999px;min-width:10px;height:10px;display:block}.equipmentServiceItems{gap:6px;display:grid}.equipmentServiceItems button{color:#edf5f8;cursor:pointer;text-align:left;background:#080e1680;border:1px solid #e8f1fa17;border-radius:11px;place-items:center start;gap:4px;padding:9px 10px;display:grid}.equipmentServiceItems button:hover{background:#ffffff0f;border-color:#f2b84b5c}.equipmentServiceItems button span{font-size:12px}.equipmentLocationGrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.equipmentLocationDots{flex-wrap:wrap;gap:7px;display:flex}.equipmentDot{color:#eef5f8;cursor:pointer;background:#94a3b838;border:1px solid #e8f1fa1f;border-radius:999px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:0 9px;font-size:11px;font-weight:900;display:inline-flex}.equipmentDot:hover{border-color:#f2b84b94}.equipmentDot-overdue,.equipmentDot-due30{color:#fff5f5;background:#ef4444e0}.equipmentDot-due60,.equipmentDot-due90{color:#3b2702;background:#facc15d6}.equipmentDot-inDate{color:#052e16;background:#22c55ed1}.hubGrid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:14px;margin-top:12px;display:grid}.hubRecords{min-height:520px}.hubOverview,.hubSide,.hubAdminGrid{gap:14px;display:grid}.hubSplit{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:start;gap:14px;display:grid}.mileageVehicleSection{order:1}.mileageAdminControls{order:2}.hubDrawingsArea{grid-template-columns:minmax(0,1fr) minmax(340px,420px)}.loginStack{gap:14px;display:grid}.loginApp{align-content:start;max-width:760px;display:grid}.loginApp:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 22% 12%,#75aef52e,#0000 28rem),radial-gradient(circle at 80% 18%,#e8ad3e1a,#0000 24rem),radial-gradient(circle at 50% 100%,#ffffff0e,#0000 34rem);position:fixed;inset:0}.loginApp header{margin-top:clamp(10px,4vh,34px)}.loginApp .brandBlock p{max-width:26rem}.loginApp .loginStack{justify-self:center;gap:12px;width:min(100%,460px);padding-top:4px}.loginPanel{padding:24px;position:relative;overflow:hidden}.loginPanel:before{content:"";pointer-events:none;opacity:.86;background:linear-gradient(#ffffff21,#0000 32%),radial-gradient(circle at 18% 0,#75aef51f,#0000 16rem);position:absolute;inset:0}.loginPanel>*{z-index:1;position:relative}.loginPanel h2{margin:0 0 4px;font-size:clamp(28px,7vw,38px)}.loginPanel .hint{margin-bottom:20px}.loginPanel label,.loginSupportPanel label{color:var(--sp-text-secondary);font-size:13px;font-weight:760}.loginPanel input,.loginSupportPanel input{background:linear-gradient(#ffffff0e,#ffffff06),#060c1494;border-color:#e8f1fa29;border-radius:15px;box-shadow:inset 0 1px #ffffff0f}.loginPanel input:focus,.loginSupportPanel input:focus{border-color:#75aef58a;box-shadow:0 0 0 4px #75aef524,inset 0 1px #ffffff14}.loginPanel .primary{border-radius:16px;min-height:50px;margin-top:20px;box-shadow:0 12px 24px #e8ad3e2e,inset 0 1px #ffffff47}.loginSupportPanel{padding:16px}.loginSupportPanel .secondary{margin-top:12px}.compactAuthPanel{max-width:520px;margin-inline:auto}.successText{color:#63d08a;font-weight:700}.textButton{color:#f2b84b;background:0 0;border:0;width:auto;margin:8px auto 0;padding:4px 8px;font-weight:700;text-decoration:underline}.hubSectionHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hubSectionHeader>div:first-child{min-width:min(100%,240px)}.hubSectionHeader h3{overflow-wrap:anywhere;margin-top:0}.hubAdminGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;margin-top:14px}.sectionCounts,.jobList,.jobChecks,.drawingList{gap:8px;display:grid}.sectionCounts button,.jobList button{color:#fff;text-align:left;background:#0f151a;border:1px solid #334654;border-radius:8px;padding:10px}.sectionCounts button{justify-content:space-between;align-items:center;display:flex}.jobList button{gap:4px;display:grid}.jobList button span{color:#b9c2ca}.jobList .selectedJob{border-color:#f2b84b}.drawingItem{background:#0f151a;border:1px solid #334654;border-radius:8px;gap:10px;padding:10px;display:grid}.drawingFolder{background:#111820;border:1px solid #334654;border-radius:8px;gap:8px;padding:10px;display:grid}.drawingFolder h4{color:#f2b84b;align-items:center;gap:7px;margin:0;display:flex}.folderHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.folderFileButton{color:#fff;cursor:pointer;white-space:nowrap;background:#26333f;border-radius:10px;flex-direction:row;align-items:center;gap:6px;width:auto;min-height:38px;margin:0;padding:8px 10px;font-size:13px;display:inline-flex}.folderFileButton input{display:none}.subFolderList{border-left:2px solid #334654;gap:8px;padding-left:12px;display:grid}.drawingItem strong{align-items:center;gap:7px;line-height:1.3;display:flex}.drawingActions{flex-wrap:wrap;gap:8px;display:flex}.drawingActions .compactButton,.drawingActions .deleteMini{width:auto;margin-top:0}.appDrawingList{margin-top:14px}.appDrawingItem{padding:14px}.appDrawingItem .primary{margin-top:0}.ordersWorkspace{gap:16px;display:grid}.orderItemsTableWrap{overflow-x:auto}.poTracker{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:12px;margin:12px 0;display:grid}.poTracker div{border:1px solid #334654;border-radius:10px;gap:4px;padding:10px;display:grid}.poTracker span{color:#b9c2ca;font-size:13px}.quoteDropZone{border-style:dashed;border-width:2px}.orderItemsTable{border-collapse:collapse;width:100%;min-width:840px}.orderItemsTable th,.orderItemsTable td{text-align:left;border:1px solid #334654;padding:8px}.orderItemsTable th{background:#0f151a}.orderItemsTable td:first-child,.orderItemsTable td:nth-child(4),.orderItemsTable td:nth-child(5),.orderItemsTable td:nth-child(6){width:120px}.orderItemsTable td:nth-child(3){width:100px}.orderItemsTable input{border-radius:10px;height:42px;min-height:42px}.orderTotalBar,.orderActionPanel{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.orderTotalBar{margin-top:12px}.orderTotalBar strong{font-size:20px}.orderTotalSummary{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.orderTotalSummary span{color:#b9c2ca;font-weight:700}.orderTotalSummary strong{color:#fff}.orderActionPanel .primary,.orderActionPanel .secondary{width:auto;margin-top:0}.orderActionPanel .orderClearButton{border-radius:14px;width:auto;min-height:48px;padding:13px 16px;font-size:16px}.orderPreviewFrame{background:#fff;border:0;width:100%;height:100%;min-height:80vh}.drawingViewerModal{z-index:100;background:#000000d1;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.drawingViewerInner{background:#101418;border:1px solid #334654;border-radius:14px;grid-template-rows:auto minmax(0,1fr);width:min(1500px,100%);height:min(920px,100%);display:grid;overflow:hidden}.drawingViewerToolbar{background:#171e25;border-bottom:1px solid #334654;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.drawingViewerToolbar>div:first-child{gap:3px;min-width:0;display:grid}.drawingViewerToolbar strong,.drawingViewerToolbar span{overflow-wrap:anywhere}.drawingViewerToolbar span,.drawingViewerActions span{color:#b9c2ca;font-size:13px}.drawingViewerActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.drawingViewerCanvas{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;background:#07090b;overflow:auto}.drawingViewerScale{min-width:100%;min-height:100%}.drawingViewerScale iframe,.drawingViewerScale img{background:#fff;border:0;width:100%;height:100%;min-height:78vh;display:block}.drawingViewerScale img{object-fit:contain}.dropZone{text-align:center;cursor:pointer;background:#0f151a;border:2px dashed #466171;border-radius:16px;justify-content:center;align-items:center;min-height:150px;padding:18px}.dropZone input{display:none}.dropZone span{color:#b9c2ca;font-weight:400}.previewVisualApp main{will-change:opacity, transform}.previewVisualApp[data-nav-direction=forward] main{animation:previewNavigateForward var(--motion-standard) var(--ease-emphasized)}.previewVisualApp[data-nav-direction=back] main{animation:previewNavigateBack var(--motion-standard) var(--ease-emphasized)}.previewVisualApp[data-nav-direction=none] main{animation:previewPageIn var(--motion-quick) var(--ease-standard)}.previewVisualApp button,.previewVisualApp a.buttonLink,.previewVisualApp .photoButton,.previewVisualApp .dropZone,.previewVisualApp .jobTileMain,.previewVisualApp .iconMini{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.previewVisualApp button:active,.previewVisualApp a.buttonLink:active,.previewVisualApp .photoButton:active,.previewVisualApp .dropZone:active,.previewVisualApp .jobTileMain:active,.previewVisualApp .iconMini:active{transform:scale(var(--press-scale));transition-duration:var(--motion-instant)}.previewVisualApp button:disabled,.previewVisualApp .primary:disabled,.previewVisualApp .secondary:disabled,.previewVisualApp .compactButton:disabled{opacity:.58;cursor:not-allowed;box-shadow:var(--sp-edge);transform:none}.previewVisualApp .card svg,.previewVisualApp .wideCard svg,.previewVisualApp .hubChoiceTile svg,.previewVisualApp .iconButton svg,.previewVisualApp .iconMini svg{transition:transform var(--motion-quick) var(--ease-standard), opacity var(--motion-quick) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.previewVisualApp .card:hover svg,.previewVisualApp .wideCard:hover svg,.previewVisualApp .hubChoiceTile:hover svg,.previewVisualApp .iconButton:hover svg,.previewVisualApp .iconMini:hover svg{transform:translateY(-1px)scale(1.025)}}.previewVisualApp .hubItem:hover,.previewVisualApp .listItem:hover,.previewVisualApp .snagCard:hover,.previewVisualApp .programmeTimelineItem:hover,.previewVisualApp .programmeCompactList article:hover{box-shadow:var(--sp-edge);transform:none}.previewVisualApp .managerTabs,.previewVisualApp .dayTabs,.previewVisualApp .aiTabs,.previewVisualApp .programmeCommandTabs,.previewVisualApp .hubTabs{scrollbar-width:none;background:#080e1757;border:1px solid #e8f1fa1a;border-radius:999px;gap:4px;padding:4px;overflow-x:auto;box-shadow:inset 0 1px #ffffff0e}.previewVisualApp .managerTabs::-webkit-scrollbar{display:none}.previewVisualApp .dayTabs::-webkit-scrollbar{display:none}.previewVisualApp .aiTabs::-webkit-scrollbar{display:none}.previewVisualApp .programmeCommandTabs::-webkit-scrollbar{display:none}.previewVisualApp .hubTabs::-webkit-scrollbar{display:none}.previewVisualApp .managerTabs button,.previewVisualApp .dayTabs button,.previewVisualApp .aiTabs button,.previewVisualApp .programmeCommandTabs button,.previewVisualApp .hubTabs button{min-height:38px;box-shadow:none;white-space:nowrap;transition:background var(--motion-quick) var(--ease-standard), color var(--motion-quick) var(--ease-standard), border-color var(--motion-quick) var(--ease-standard), transform var(--motion-instant) var(--ease-press), box-shadow var(--motion-quick) var(--ease-standard);background:0 0;border-color:#0000;border-radius:999px}.previewVisualApp .activeManagerTab,.previewVisualApp .activeDay,.previewVisualApp .activeAiTab,.previewVisualApp .selectedStatus,.previewVisualApp .hubTabs .activeHubTab{box-shadow:0 8px 18px #00000029,inset 0 1px #ffffff42;background:linear-gradient(180deg, #ffffff2e, #ffffff0f), rgba(var(--sp-accent-rgb), .92)!important}.previewVisualApp .hubAreaNav{border:1px solid var(--sp-separator);border-radius:var(--radius-card);padding:var(--space-2);gap:var(--space-1);box-shadow:var(--sp-shadow-raised), var(--sp-edge);background:linear-gradient(#ffffff13,#ffffff06),#0c131dc2;align-self:start;width:100%}.previewVisualApp .hubAreaNav button{width:100%;min-height:42px;color:var(--sp-text-secondary);box-shadow:none;text-align:left;font-weight:var(--weight-button);transition:background var(--motion-quick) var(--ease-standard), color var(--motion-quick) var(--ease-standard), border-color var(--motion-quick) var(--ease-standard), transform var(--motion-instant) var(--ease-press);background:0 0;border:1px solid #0000;border-radius:12px;padding:10px 10px 10px 12px}.previewVisualApp .hubAreaNav button:hover{color:var(--sp-text);background:#ffffff0e;transform:none}.previewVisualApp .hubAreaNav button:active{transform:scale(.992)}.previewVisualApp .hubAreaNav button span{text-overflow:ellipsis;min-width:0;overflow:hidden}.previewVisualApp .hubAreaNav button strong{min-width:28px;height:24px;color:var(--sp-text-secondary);background:#ffffff14;border-radius:999px;padding:0 8px;font-size:12px;line-height:1;box-shadow:inset 0 1px #ffffff0f}.previewVisualApp .hubAreaNav .activeHubArea{background:linear-gradient(180deg, #ffffff29, #ffffff0b), rgba(var(--sp-accent-rgb), .18);border-color:rgba(var(--sp-accent-rgb), .38);color:var(--sp-text);box-shadow:inset 3px 0 0 rgba(var(--sp-accent-rgb), .9)}.previewVisualApp .hubAreaNav .activeHubArea strong{background:rgba(var(--sp-accent-rgb), .22);color:var(--sp-accent)}.previewVisualApp .jobTileMenu{border-color:var(--sp-separator-strong);border-radius:var(--radius-card);box-shadow:var(--sp-shadow-floating), var(--sp-edge);-webkit-backdrop-filter:blur(var(--sp-blur-floating)) saturate(145%);transform-origin:100% 0;animation:popoverIn var(--motion-quick) var(--ease-emphasized);background:linear-gradient(#ffffff1f,#ffffff0a),#0f1722f0}.previewVisualApp .jobTileMenu button,.previewVisualApp .jobTileMenu span{border-radius:10px}.previewVisualApp .jobTileMenu button:focus-visible,.previewVisualApp .iconMini:focus-visible{outline:3px solid var(--sp-focus);outline-offset:2px}.previewVisualApp .chatImageModal,.previewVisualApp .drawingViewerModal{-webkit-backdrop-filter:blur(7px);animation:modalFadeIn var(--motion-sheet) var(--ease-standard);background:radial-gradient(circle at 50% 12%,#75aef51f,#0000 30rem),#000000ad}.previewVisualApp .chatImageModalInner,.previewVisualApp .drawingViewerInner{border-color:var(--sp-separator-strong);border-radius:var(--radius-sheet);box-shadow:var(--sp-shadow-modal), var(--sp-edge);animation:sheetIn var(--motion-sheet) var(--ease-emphasized)}.previewVisualApp .drawingViewerToolbar{-webkit-backdrop-filter:blur(var(--sp-blur-toolbar)) saturate(135%);background:linear-gradient(#ffffff1a,#ffffff09),#121c2ae0}.previewVisualApp .toastStack{z-index:130;top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));pointer-events:none;gap:10px;width:min(380px,100vw - 32px);display:grid;position:fixed}.previewVisualApp .toast{pointer-events:auto;border:1px solid var(--sp-separator-strong);border-radius:var(--radius-card);color:var(--sp-text);box-shadow:var(--sp-shadow-floating), var(--sp-edge);-webkit-backdrop-filter:blur(var(--sp-blur-floating)) saturate(145%);animation:toastIn var(--motion-standard) var(--ease-emphasized);background:linear-gradient(#ffffff24,#ffffff0d),#0f1722eb;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.previewVisualApp .toast svg{color:var(--sp-success)}.previewVisualApp .toast-info svg{color:var(--sp-info)}.previewVisualApp .toast-error svg{color:var(--sp-danger)}.previewVisualApp .toast span{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:700}.previewVisualApp .toast button{width:30px;height:30px;color:inherit;background:#ffffff12;border:0;border-radius:999px;place-items:center;display:grid}.previewVisualApp .dropZone{transition:border-color var(--motion-quick) var(--ease-standard), background var(--motion-quick) var(--ease-standard), transform var(--motion-instant) var(--ease-press), box-shadow var(--motion-quick) var(--ease-standard)}.previewVisualApp .dropZone:hover,.previewVisualApp .dropZone:focus-within{box-shadow:0 0 0 3px #75aef51a, var(--sp-edge);background:radial-gradient(circle at 50% 0,#75aef51f,#0000 16rem),#0e1621b8;border-color:#75aef58a}.previewVisualApp .spin{animation:.75s linear infinite spin}@keyframes previewNavigateForward{0%{opacity:0;transform:translateY(var(--nav-depth)) scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes previewNavigateBack{0%{opacity:0;transform:translateY(calc(var(--nav-depth) * -.75)) scale(.996)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes popoverIn{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetIn{0%{opacity:0;transform:translateY(6px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translateY(-6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.uploadQueue{gap:7px;margin:10px 0;display:grid}.uploadQueueItem{color:#dce3e8;background:#0f151a;border:1px solid #334654;border-radius:10px;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;padding:8px 10px;display:grid}.uploadQueueItem span{overflow-wrap:anywhere}.uploadQueueItem button{color:#ffd4d4;background:#3a1d1d;border:0;border-radius:10px;width:34px;height:34px;font-size:22px;font-weight:700;line-height:1}.uploadQueueError{background:#2b1515;border-color:#b63838}.allocationRow{background:#0f151a;border:1px solid #334654;border-radius:14px;margin-bottom:10px;padding:12px}.userHeaderActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.competencyProfileHeader .userHeaderActions{background:#ffffff09;border:1px solid #e8f1fa17;border-radius:12px;grid-column:1/-1;justify-content:flex-start;padding:10px}.iconMini{color:#fff;background:#17212a;border:1px solid #334654;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;display:grid}.accountControls{background:#111920;border:1px solid #263746;border-radius:12px;grid-template-columns:1fr;gap:10px;max-width:100%;margin:12px 0;padding:12px;display:grid}.accountControls label{margin:0}.accountControlSection{background:#ffffff0a;border:1px solid #e8f1fa1a;border-radius:12px;gap:10px;padding:12px;display:grid}.accountControlSection>div{gap:3px;display:grid}.accountControlSection strong{color:#f5f9fc;font-size:14px}.accountControlSection span{color:#9fb0be;font-size:12px;line-height:1.35}.passwordControlRow,.passwordControlGrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.accountControls .compactButton{width:auto;max-width:100%;height:auto;min-height:48px;margin:0}.compactJobAllocator{background:#ffffff09;border:1px solid #e8f1fa1a;border-radius:14px;gap:12px;margin-top:12px;padding:12px;display:grid}.compactAllocatorHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.compactAllocatorHeader>div{gap:2px;display:grid}.compactAllocatorHeader strong,.compactJobList button>span{color:var(--sp-text);font-weight:850}.compactAllocatorHeader span,.compactJobList small,.assignedJobChips small,.assignedJobChips em,.jobAllocationSearch span{color:var(--sp-text-secondary);font-size:12px}.assignedJobChips{flex-wrap:wrap;gap:7px;min-height:30px;display:flex}.assignedJobChips>span,.assignedJobChips em,.assignedJobChips small{background:rgba(var(--sp-accent-rgb), .13);border:1px solid rgba(var(--sp-accent-rgb), .24);border-radius:999px;align-items:center;gap:7px;padding:6px 9px;line-height:1.2;display:inline-flex}.assignedJobChips>span{color:var(--sp-text);font-size:12px;font-weight:800}.assignedJobChips button{color:inherit;cursor:pointer;background:#ffffff1a;border:0;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;min-height:18px;padding:0;font-size:16px;line-height:1;display:inline-flex}.jobAllocationSearch{gap:6px;margin:0;display:grid}.jobAllocationSearch input{min-height:42px}.compactJobList{gap:7px;max-height:250px;padding-right:3px;display:grid;overflow-y:auto}.compactJobList button{color:var(--sp-text);cursor:pointer;text-align:left;background:#ffffff09;border:1px solid #e8f1fa1a;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;min-height:52px;padding:9px 10px;display:grid}.compactJobList button:hover,.compactJobList button:focus-visible{background:rgba(var(--sp-accent-rgb), .1);border-color:rgba(var(--sp-accent-rgb), .28)}.compactJobList button>span,.compactJobList small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compactJobList button strong{color:var(--sp-text-secondary);background:#ffffff14;border:1px solid #e8f1fa1a;border-radius:999px;grid-row:1/span 2;padding:5px 8px;font-size:11px}.compactJobList .assignedCompactJob{background:rgba(var(--sp-accent-rgb), .14);border-color:rgba(var(--sp-accent-rgb), .34)}.compactJobList .assignedCompactJob strong{background:rgba(var(--sp-accent-rgb), .18);border-color:rgba(var(--sp-accent-rgb), .28);color:var(--sp-accent)}.vehicleDetailsPanel{border-top:1px solid #263746;margin-top:10px;padding-top:10px}.vehicleDetailsPanel summary{cursor:pointer;color:#f5f5f5;font-weight:800}.vehicleEditGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.vehicleMessageList{gap:8px;margin-top:12px;display:grid}.vehicleMessageItem{background:#111920;border:1px solid #263746;border-radius:10px;gap:10px;padding:12px;display:grid}.vehicleMessageHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.vehicleMessageItem p{overflow-wrap:anywhere;margin:0;line-height:1.45}.vehicleMessageItem span,.vehicleMessageItem strong{overflow-wrap:anywhere}.vehicleMessageItem small{color:#b9c2ca;line-height:1.45;display:block}.vehicleStatusBadge{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:800}.outstandingVehicleMessage{background:#7f1d1d38;border-color:#f87171bf}.outstandingVehicleMessage .vehicleStatusBadge{color:#fecaca;background:#f871712e}.actionedVehicleMessage{background:#14532d38;border-color:#4ade80b8}.actionedVehicleMessage .vehicleStatusBadge{color:#bbf7d0;background:#4ade802e}.vehicleActionBox{gap:8px;margin-top:8px;display:grid}.vehicleActionBox label{margin-bottom:0}.vehicleActionedFooter{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.vehicleActionedFooter .hint{margin:0}.fleetPanel{max-width:980px}.fleetVehicleList{gap:10px;display:grid}.fleetVehicleRow{background:#0f151a;border:1px solid #2b3a46;border-radius:10px;grid-template-columns:minmax(180px,.8fr) minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:14px;padding:12px;display:grid}.fleetVehicleRow strong,.fleetVehicleRow span{overflow-wrap:anywhere;display:block}.fleetVehicleRow>div:first-child span{color:#b9c2ca;margin-top:4px}.fleetVehicleMeta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fleetVehicleMeta span{color:#b9c2ca}.fleetVehicleMeta strong{color:#fff;margin-top:3px}.fleetNotificationBox{gap:8px;display:grid}.fleetNotificationBox label{margin-bottom:0}.fleetNotificationBox textarea{min-height:88px}.mileagePrompt{margin:10px 0 0}.vehicleNotificationPanel{max-width:980px}@media (width<=760px){.fleetVehicleRow,.fleetVehicleMeta{grid-template-columns:1fr}}.checkLabel{flex-direction:row;align-items:center;margin:0;font-weight:700}.hubList{gap:12px;display:grid}.compactHubList{gap:10px}.hubMiniItem{color:#fff;text-align:left;background:#0f151a;border:1px solid #334654;border-radius:12px;gap:7px;padding:13px;display:grid}.hubMiniItem strong{overflow-wrap:anywhere;line-height:1.25}.hubMiniItem span{color:#b9c2ca;overflow-wrap:anywhere;font-size:13px;line-height:1.4}.hubItem{background:#0f151a;border:1px solid #334654;border-radius:8px;padding:12px}.hubItemHeader{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.hubItemHeader .deleteMini{width:auto;margin-top:0}.recordActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.feedbackItem p{overflow-wrap:anywhere;line-height:1.45}.feedbackActioned{opacity:.72}.feedbackActioned>.hubItemHeader strong{text-decoration:line-through}.feedbackScreenshot{color:#f2b84b;gap:8px;margin-top:10px;font-weight:700;text-decoration:none;display:grid}.feedbackScreenshot img{object-fit:contain;background:#fff;border:1px solid #334654;border-radius:10px;width:min(100%,360px);max-height:220px}.hubItem summary{cursor:pointer;color:#f2b84b;margin-top:10px;font-weight:700}.hubItem pre{white-space:pre-wrap;background:#090d11;border:1px solid #26333f;border-radius:12px;max-height:260px;padding:12px;overflow:auto}.hubDataView{gap:14px;margin-top:12px;display:grid}.hubDataGrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.hubDataField,.hubDataSection,.hubSignature{background:#090d11;border:1px solid #26333f;border-radius:12px;min-width:0;padding:12px}.hubDataField span,.hubSignature span{color:#b9c2ca;margin-bottom:6px;font-size:12px;display:block}.hubDataField strong{overflow-wrap:anywhere;display:block}.hubDataSection h4{color:#f2b84b;margin:0 0 10px}.hubDataSection p{color:#dce3e8;white-space:pre-wrap;margin:0}.hubTableWrap{max-width:100%;overflow-x:auto}.hubDataTable{border-collapse:collapse;width:100%;min-width:760px}.hubDataTable th,.hubDataTable td{text-align:left;vertical-align:top;border:1px solid #334654;padding:8px}.hubDataTable th{color:#f5f5f5;background:#17202a}.hubSignatureGrid,.hubPhotoGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.hubSignature img{object-fit:contain;background:#fff;border-radius:8px;width:100%;max-height:90px;margin:6px 0}.hubSignature small{color:#b9c2ca}.hubPhotoGrid figure{background:#0f151a;border:1px solid #26333f;border-radius:12px;margin:0;padding:8px}.hubPhotoGrid img{object-fit:contain;background:#05080b;border-radius:8px;width:100%;height:180px}.hubPhotoGrid figcaption{color:#b9c2ca;overflow-wrap:anywhere;margin-top:6px;font-size:12px}body.lightMode{color:#16212a;background:#f4f7f9}body.lightMode:has(.previewVisualApp){--sp-canvas:#f4f7f9;--sp-canvas-elevated:#fff;--sp-material-thin:#ffffff8f;--sp-material-regular:#ffffffb8;--sp-material-thick:#ffffffdb;--sp-material-opaque:#fff;--sp-separator:#23374b1f;--sp-separator-strong:#23374b38;--sp-text:#16212a;--sp-text-secondary:#293948b3;--sp-text-tertiary:#29394885;--sp-accent:#d99a2f;--sp-accent-hover:#e4aa43;--sp-accent-pressed:#bf8223;--sp-focus:#1f6fd13d;--sp-shadow-raised:0 12px 32px #16212a17;--sp-shadow-floating:0 20px 54px #16212a24;--sp-shadow-modal:0 30px 88px #16212a2e;--sp-edge:inset 0 1px 0 #ffffffb8}body.lightMode[data-accent=site-pilot]{--sp-accent:#d99a2f;--sp-accent-hover:#e4aa43;--sp-accent-pressed:#bf8223;--sp-accent-rgb:217, 154, 47;--sp-accent-contrast:#111}body.lightMode[data-accent=blue]{--sp-accent:#1f6fd1;--sp-accent-hover:#2f82e8;--sp-accent-pressed:#1859ac;--sp-accent-rgb:31, 111, 209;--sp-accent-contrast:#fff;--sp-info:#1f6fd1}body.lightMode[data-accent=green]{--sp-accent:#18864a;--sp-accent-hover:#1fa35b;--sp-accent-pressed:#126c3a;--sp-accent-rgb:24, 134, 74;--sp-accent-contrast:#fff;--sp-info:#18864a}body.lightMode[data-accent=graphite]{--sp-accent:#475569;--sp-accent-hover:#5b6879;--sp-accent-pressed:#334155;--sp-accent-rgb:71, 85, 105;--sp-accent-contrast:#fff;--sp-info:#64748b}body.lightMode:has(.previewVisualApp):before{opacity:.78;background:radial-gradient(circle at 16% 0,#2b7dd41a,#0000 26rem),radial-gradient(circle at 90% 10%,#664aa012,#0000 24rem),linear-gradient(#ffffff9e,#f4f7f91a)}body.lightMode header{background:linear-gradient(135deg,#fff,#e8f3f8);border-color:#c8d7e1;box-shadow:0 10px 28px #16212a14}body.lightMode .headerJobSelect{color:#16212a;background:linear-gradient(#fffffff5,#f7fafcd6),#fff;border-color:#d5e0e8}body.lightMode .hubLandingHero,body.lightMode .hubChoiceTile{color:#16212a;background:#fff;border-color:#d5e0e8;box-shadow:0 10px 24px #16212a14}body.lightMode .previewVisualApp .hubLandingHero,body.lightMode .previewVisualApp .hubChoiceTile{background:linear-gradient(#ffffffd1,#ffffff94),#ffffffd1}body.lightMode .hubLandingHero p,body.lightMode .hubChoiceTile small{color:#526473}body.lightMode .previewVisualApp h2{color:var(--sp-text)}body.lightMode .previewVisualApp .gatewayEyebrow{color:#1f6fd1}body.lightMode .previewVisualApp .gatewayStatusCluster span,body.lightMode .previewVisualApp .hubChoiceIcon,body.lightMode .previewVisualApp .hubChoiceTile em{color:#263947;background:#ffffffa3;border-color:#1f557d21}body.lightMode .previewVisualApp .managerTabs,body.lightMode .previewVisualApp .dayTabs,body.lightMode .previewVisualApp .aiTabs,body.lightMode .previewVisualApp .programmeCommandTabs,body.lightMode .previewVisualApp .hubTabs{background:#ffffff8a;border-color:#23374b1a;box-shadow:inset 0 1px #ffffffdb}body.lightMode .previewVisualApp .hubAreaNav{background:linear-gradient(#ffffffe0,#ffffffad),#f4f8fbeb;border-color:#23374b1f;box-shadow:0 12px 30px #22304114,inset 0 1px #ffffffeb}body.lightMode .previewVisualApp .hubAreaNav button:hover{color:var(--sp-text);background:#1f557d0e}body.lightMode .previewVisualApp .jobTileMenu,body.lightMode .previewVisualApp .toast{color:var(--sp-text);border-color:var(--sp-separator-strong);background:linear-gradient(#fffffff0,#ffffffbd),#fffffff0}body.lightMode .previewVisualApp .chatImageModal,body.lightMode .previewVisualApp .drawingViewerModal{background:radial-gradient(circle at 50% 12%,#1f6fd11a,#0000 30rem),#0c141e66}body.lightMode .previewVisualApp .panel,body.lightMode .previewVisualApp .miniCard,body.lightMode .previewVisualApp .jobSelector,body.lightMode .previewVisualApp .hubPanel,body.lightMode .previewVisualApp .aiReportSavePanel,body.lightMode .previewVisualApp .programmeCommandLanding,body.lightMode .previewVisualApp .programmeCommandHero{border-color:var(--sp-separator);box-shadow:var(--sp-shadow-raised), var(--sp-edge);background:linear-gradient(#ffffffd1,#ffffff8f),#ffffffc7}body.lightMode .concreteShapeList button,body.lightMode .concreteResultBreakdown div,body.lightMode .concreteDiagram{background:#ffffff9e;border-color:#23374b1f}body.lightMode .concreteShapeList button:hover,body.lightMode .concreteShapeList button.active,body.lightMode .concreteResultMain{background:rgba(var(--sp-accent-rgb), .12);border-color:rgba(var(--sp-accent-rgb), .28)}body.lightMode .concreteDiagram svg{fill:rgba(var(--sp-accent-rgb), .16);stroke:var(--sp-text)}body.lightMode .concreteDiagram text{stroke:#ffffffeb}body.lightMode .loginApp:before{background:radial-gradient(circle at 22% 12%,#1f6fd121,#0000 28rem),radial-gradient(circle at 82% 16%,#e8ad3e29,#0000 24rem),radial-gradient(circle at 50% 100%,#fffc,#0000 34rem)}body.lightMode .loginPanel input,body.lightMode .loginSupportPanel input{color:#16212a;background:linear-gradient(#fffffff5,#ffffffc7),#ffffffe0;border-color:#23374b21}body.lightMode .loginPanel label,body.lightMode .loginSupportPanel label{color:#526473}body.lightMode .previewVisualApp .hubItem,body.lightMode .previewVisualApp .listItem,body.lightMode .previewVisualApp .snag,body.lightMode .previewVisualApp .snagCard,body.lightMode .previewVisualApp .aiHistoryItem,body.lightMode .previewVisualApp .previewFeatureCard,body.lightMode .previewVisualApp .programmeTimelineItem,body.lightMode .previewVisualApp .programmeCompactList article{background:#ffffffc2;border-color:#23374b1c}body.lightMode .previewVisualApp input,body.lightMode .previewVisualApp textarea,body.lightMode .previewVisualApp select{color:var(--sp-text);background:linear-gradient(#ffffffeb,#ffffffb3),#ffffffd6;border-color:#23374b24;box-shadow:inset 0 1px #ffffffdb}body.lightMode .previewVisualApp .secondary,body.lightMode .previewVisualApp .back,body.lightMode .previewVisualApp .signatureHeader button,body.lightMode .previewVisualApp .compactButton,body.lightMode .previewVisualApp .managerTabs button,body.lightMode .previewVisualApp .dayTabs button,body.lightMode .previewVisualApp .aiTabs button,body.lightMode .previewVisualApp .aiPromptChips button,body.lightMode .previewVisualApp .programmeCommandButtons button,body.lightMode .previewVisualApp .programmeCommandTabs button,body.lightMode .previewVisualApp .programmeFilterBar button,body.lightMode .previewVisualApp .statusButtons button{color:var(--sp-text);background:linear-gradient(#ffffffe0,#ffffff8f),#ffffffc2;border-color:#23374b21}body.lightMode .previewVisualApp .output{color:#16212a;background:radial-gradient(circle at 0 0,#2b7dd41a,#0000 18rem),#ffffffbd;border-color:#1f6fd12e}body.lightMode .siteHubTile{border-color:#9cc6f4}body.lightMode .siteHubTile svg{color:#1f6fd1}body.lightMode .officeHubTile{border-color:#8ed8aa}body.lightMode .officeHubTile svg{color:#18864a}body.lightMode .officeHubGrid .card,body.lightMode .grid .card{color:#16212a;background:#fff}body.lightMode .officeHubGrid .card svg,body.lightMode .grid .card svg{color:#214354}body.lightMode .issueNotice{color:#7a4d00;background:#fff8e1;border-color:#f4c768}body.lightMode .trainingNoticeClear{background:#7a4d0014;border-left-color:#f4c768}body.lightMode .trainingSnoozeMenu{background:#fffdf7;border-color:#f4c768;box-shadow:0 18px 38px #7450122e}body.lightMode .trainingSnoozeMenu button{color:#6a4300;border-bottom-color:#f1dfb6}body.lightMode .trainingSnoozeMenu button:hover,body.lightMode .trainingSnoozeMenu button:focus-visible{background:#fff3cf}body.lightMode .todoNotice{color:#17406f;background:#e8f2ff;border-color:#9cc6f4}body.lightMode header p,body.lightMode .hint,body.lightMode .gpBlock small,body.lightMode .havsStat span,body.lightMode .havsToolInfo span,body.lightMode .havsEntryPoints span,body.lightMode .lolerQuickItem small,body.lightMode .hubStat span,body.lightMode .hubMiniItem span,body.lightMode .jobList button span,body.lightMode .projectPickerList span,body.lightMode .projectPickerList small,body.lightMode .officeProjectOverviewCard span,body.lightMode .officeProjectOverviewCard small,body.lightMode .projectMetaGrid span,body.lightMode .projectFolderCard span,body.lightMode .projectFolderCard em,body.lightMode .projectDocumentRow span,body.lightMode .siteRecordRow span,body.lightMode .projectTeamRow small,body.lightMode .labourResourceTable th,body.lightMode .labourSiteSummary span,body.lightMode .labourSiteSummary small,body.lightMode .labourProjectList span,body.lightMode .labourOperativeList span,body.lightMode .labourOperativeList em,body.lightMode .hubDataField span,body.lightMode .hubSignature span,body.lightMode .hubSignature small,body.lightMode .hubPhotoGrid figcaption,body.lightMode .allocationDayTotals span,body.lightMode .chatBubble span,body.lightMode .chatImageLink span,body.lightMode .chatImagePreview span,body.lightMode .allocationMobileCardHeader span,body.lightMode .allocationMobileTotal span,body.lightMode .allocationMobileDayTotals span{color:#526473}body.lightMode .harnessYnControl>span{color:#253442}body.lightMode h3{border-top-color:#d5e0e8}body.lightMode .iconButton,body.lightMode .secondary,body.lightMode .back,body.lightMode .signatureHeader button,body.lightMode .photoButton,body.lightMode .folderFileButton,body.lightMode .quickItem span,body.lightMode .hubTabs button span,body.lightMode .managerTabs button,body.lightMode .aiTabs button,body.lightMode .aiPromptChips button,body.lightMode .mentionPicker button,body.lightMode .nameSuggestionList button{color:#16212a;background:#e8eef3;border-color:#c8d7e1}body.lightMode .panel,body.lightMode .miniCard,body.lightMode .jobSelector,body.lightMode .checkRow,body.lightMode .signatureBox,body.lightMode .mediaTools,body.lightMode .quickRow,body.lightMode .snagStats,body.lightMode .havsStat,body.lightMode .havsToolInfo,body.lightMode .havsLiveCalc,body.lightMode .allocationDayTotals,body.lightMode .hubStat,body.lightMode .hubAreaNav,body.lightMode .trafficCounter,body.lightMode .trafficPanel,body.lightMode .hubPanel{background:#fff;border-color:#d5e0e8}body.lightMode .harnessSignaturePreview{background:#f7fafc;border-color:#d5e0e8}body.lightMode .card,body.lightMode .wideCard,body.lightMode .listItem,body.lightMode .diaryChip,body.lightMode .snag,body.lightMode .snagCard,body.lightMode .swipeTask,body.lightMode .hubTabs button,body.lightMode .hubAreaNav button,body.lightMode .sectionCounts button,body.lightMode .hubJobPicker,body.lightMode .jobList button,body.lightMode .hubMiniItem,body.lightMode .projectPickerList button,body.lightMode .officeProjectOverviewCard,body.lightMode .projectOverviewMetrics span,body.lightMode .projectMetaGrid div,body.lightMode .projectFolderCard,body.lightMode .projectDocumentRow,body.lightMode .siteRecordRow,body.lightMode .siteRecordFilters button,body.lightMode .projectTeamRow,body.lightMode .labourSiteSummary,body.lightMode .labourProjectList button,body.lightMode .labourOperativeList button,body.lightMode .labourPersonChip,body.lightMode .trafficUser,body.lightMode .trafficTableRow,body.lightMode .trafficListItem,body.lightMode .trafficSessionCard,body.lightMode .trafficCompactCard,body.lightMode .weatherWidget,body.lightMode .weatherForecast>div,body.lightMode .allocationRow,body.lightMode .iconMini,body.lightMode .hubItem,body.lightMode .drawingItem,body.lightMode .drawingFolder,body.lightMode .photoThumb,body.lightMode .signOffRow,body.lightMode .havsEntry,body.lightMode .havsToolLibraryItem,body.lightMode .programmeTimelineItem,body.lightMode .programmeRiskCard,body.lightMode .programmeMiniLists>div,body.lightMode .programmeLookaheadResult>div,body.lightMode .operativePill,body.lightMode .checkChoice,body.lightMode .liveRamsCard,body.lightMode .ramsDocumentCard,body.lightMode .competencyHero>div,body.lightMode .equipmentRow,body.lightMode .equipmentImportPanel,body.lightMode .equipmentImportSummary span,body.lightMode .equipmentSideNav button,body.lightMode .equipmentStatusSideList button,body.lightMode .equipmentDetailGrid>div,body.lightMode .equipmentServiceTimeline,body.lightMode .equipmentServiceTimeline article,body.lightMode .equipmentServiceGroups article,body.lightMode .equipmentLocationGrid article,body.lightMode .equipmentServiceItems button,body.lightMode .equipmentModalInner,body.lightMode .equipmentModalForm section,body.lightMode .equipmentEditableRow,body.lightMode .equipmentPostcodeItems button,body.lightMode .competencyListItem,body.lightMode .qualificationChips span,body.lightMode .competencyNotes,body.lightMode .competencyDocumentCard,body.lightMode .competencyReminderCard,body.lightMode .competencyUploadPicker,body.lightMode .competencyUploadPicker button,body.lightMode .selectedUploadTarget,body.lightMode .competencyScanStatus span,body.lightMode .competencyAiResult,body.lightMode .lolerQuickItem,body.lightMode .lolerKey,body.lightMode .allocationTask,body.lightMode .allocationTask>span,body.lightMode .allocationMobileCard,body.lightMode .chatBubble,body.lightMode .chatImagePreview,body.lightMode .issueCard,body.lightMode .mileageVehicleCard,body.lightMode .jobTileMenu,body.lightMode .jobContactModal,body.lightMode .jobContactDetails div,body.lightMode .drawingViewerInner,body.lightMode .drawingViewerToolbar,body.lightMode .compactJobAllocator,body.lightMode .compactJobList button{color:#16212a;background:#fff;border-color:#d5e0e8}body.lightMode .compactJobList button:hover,body.lightMode .compactJobList button:focus-visible,body.lightMode .compactJobList .assignedCompactJob{background:#eef6ff;border-color:#9fc8f6}body.lightMode .assignedJobChips>span,body.lightMode .assignedJobChips em,body.lightMode .assignedJobChips small,body.lightMode .compactJobList button strong{background:#f5f8fb;border-color:#d5e0e8}body.lightMode .compactJobList .assignedCompactJob strong{background:#e8f3ff;border-color:#9fc8f6}body.lightMode .lolerKey div{border-color:#d5e0e8}body.lightMode .jobChoiceModal{background:radial-gradient(circle at 50% 15%,#1f6fd11a,#0000 32rem),#0c141e61}body.lightMode .jobChoiceModalInner,body.lightMode .jobChoiceList button{color:#16212a;background:#fff;border-color:#d5e0e8}body.lightMode .modalEyebrow{color:#1f6fd1}body.lightMode .jobChoiceList span,body.lightMode .jobChoiceList small{color:#526473}body.lightMode .jobChoiceList button:hover,body.lightMode .jobChoiceList button:focus-visible,body.lightMode .jobChoiceList .selectedJobChoice{background:#fff8e1;border-color:#f2b84b}body.lightMode .hubStat,body.lightMode .hubAreaNav button,body.lightMode .hubJobPicker,body.lightMode .hubMiniItem,body.lightMode .projectPickerList strong,body.lightMode .projectHeroPanel h3,body.lightMode .officeProjectOverviewCard strong,body.lightMode .projectMetaGrid strong,body.lightMode .projectFolderCard strong,body.lightMode .projectDocumentRow strong,body.lightMode .siteRecordRow strong,body.lightMode .projectTeamRow strong,body.lightMode .labourSiteSummary strong,body.lightMode .labourProjectPicker h4,body.lightMode .labourOperativePicker h4,body.lightMode .labourProjectList strong,body.lightMode .labourOperativeList strong,body.lightMode .labourPersonChip{color:#16212a}body.lightMode .labourResourceTable th,body.lightMode .labourResourceTable td{border-bottom-color:#d5e0e8}body.lightMode .projectPickerList button:hover,body.lightMode .projectPickerList .activeProjectPicker,body.lightMode .officeProjectOverviewCard:hover,body.lightMode .officeProjectOverviewCard:focus-visible,body.lightMode .projectFolderCard:hover,body.lightMode .siteRecordFilters button:hover,body.lightMode .siteRecordFilters .activeSiteRecordFilter,body.lightMode .labourProjectList button:hover,body.lightMode .labourProjectList .activeLabourProject,body.lightMode .labourOperativeList button:hover:not(:disabled){background:rgba(var(--sp-accent-rgb), .12);border-color:rgba(var(--sp-accent-rgb), .28)}body.lightMode .vehicleDetailsPanel{border-top-color:#d5e0e8}body.lightMode .vehicleDetailsPanel summary,body.lightMode .fleetVehicleMeta strong,body.lightMode .fleetVehicleRow strong,body.lightMode .vehicleMessageItem strong{color:#16212a}body.lightMode .fleetVehicleRow,body.lightMode .vehicleMessageItem,body.lightMode .vehicleActionBox,body.lightMode .fleetNotificationBox,body.lightMode .mileageAdminControls .hubPanel,body.lightMode .mileageVehicleSection .hubPanel,body.lightMode .vehicleNotificationPanel,body.lightMode .fleetPanel{color:#16212a;background:#fff;border-color:#d5e0e8}body.lightMode .fleetVehicleRow>div:first-child span,body.lightMode .fleetVehicleMeta span,body.lightMode .vehicleMessageItem small,body.lightMode .vehicleActionedFooter .hint,body.lightMode .vehicleActionBox .hint{color:#526473}body.lightMode .vehicleMessageNotice{color:#17406f;background:#e8f7ff;border-color:#8ccff4}body.lightMode .serviceOverdueNotice{color:#7f1d1d;background:#fff1f1;border-color:#fca5a5}body.lightMode .outstandingVehicleMessage{background:#fff1f1;border-color:#fca5a5}body.lightMode .outstandingVehicleMessage .vehicleStatusBadge{color:#7f1d1d;background:#fee2e2}body.lightMode .actionedVehicleMessage{background:#ecfdf3;border-color:#bbf7d0}body.lightMode .actionedVehicleMessage .vehicleStatusBadge{color:#14532d;background:#dcfce7}body.lightMode .accountControls,body.lightMode .accountControlSection,body.lightMode .uploadQueueItem,body.lightMode .hubDataField,body.lightMode .hubDataSection,body.lightMode .hubSignature,body.lightMode .hubPhotoGrid figure,body.lightMode .hubItem pre{color:#16212a;background:#f7fafc;border-color:#c8d7e1}body.lightMode .accountControlSection span,body.lightMode .hubDataField span,body.lightMode .hubSignature span,body.lightMode .hubSignature small,body.lightMode .hubPhotoGrid figcaption{color:#526473}body.lightMode .accountControlSection strong,body.lightMode .hubDataField strong,body.lightMode .hubDataSection p{color:#16212a}body.lightMode .uploadQueueItem button{color:#7f1d1d;background:#fee2e2}body.lightMode .hubJobPicker span,body.lightMode .hubJobPicker small,body.lightMode .jobSelectorHeader span,body.lightMode .jobSelectorHeader small,body.lightMode .jobSelectorMeta,body.lightMode .mileageVehicleHeader span,body.lightMode .mileageMeta,body.lightMode .jobTileMenu span,body.lightMode .jobContactDetails span,body.lightMode .drawingViewerToolbar span,body.lightMode .drawingViewerActions span{color:#526473}body.lightMode .jobSelectorHeader strong,body.lightMode .jobSelectorMeta strong{color:#16212a}body.lightMode .jobSelectorHeader small{background:#23374b0e;border-color:#d5e0e8}body.lightMode .previewWorkspaceNav{background:linear-gradient(#ffffffeb,#ffffffb8),#f7fafc;border-color:#d5e0e8;box-shadow:0 14px 34px #23374b14,inset 0 1px #fffffff2}body.lightMode .previewWorkspaceBack,body.lightMode .previewWorkspaceNav nav button,body.lightMode .previewWorkspaceCollapseButton{color:#526473}body.lightMode .previewWorkspaceNav h2,body.lightMode .previewWorkspaceNav nav .activePreviewWorkspaceNav{color:#16212a}body.lightMode .previewWorkspaceNav nav button:hover{color:#16212a;background:#eef4f8}body.lightMode .previewWorkspaceCollapseButton{background:#fff;border-color:#d5e0e8}body.lightMode .previewWorkspaceCollapseButton:hover{color:#16212a;background:#eef4f8}body.lightMode .previewWorkspaceNav nav .activePreviewWorkspaceNav{background:#fff3cf;border-color:#f0d278}body.lightMode .ramsDocumentCard .hint,body.lightMode .liveRamsMeta span,body.lightMode .competencyHero p,body.lightMode .competencyHero span,body.lightMode .equipmentRow span,body.lightMode .equipmentRow small,body.lightMode .equipmentDetailGrid span,body.lightMode .equipmentServiceGroups span,body.lightMode .equipmentLocationGrid span,body.lightMode .equipmentServiceChart span,body.lightMode .equipmentPostcodeItems span,body.lightMode .competencyListItem span,body.lightMode .competencyListItem small,body.lightMode .competencyDocumentCard .hint{color:#526473}body.lightMode .equipmentRow:hover,body.lightMode .equipmentRow.active{background:#fff8e1;border-color:#f2b84b}body.lightMode .settingsHero,body.lightMode .settingsSidebar,body.lightMode .settingsDetail,body.lightMode .settingsSection{background:linear-gradient(#ffffffe6,#ffffffb3),#f7fafc;border-color:#d5e0e8;box-shadow:0 14px 34px #23374b14,inset 0 1px #fffffff2}body.lightMode .settingsSearch,body.lightMode .settingsSelect,body.lightMode .settingsInlineInput,body.lightMode .settingsPasswordForm input{color:#16212a;background:#fff;border-color:#d5e0e8}body.lightMode .settingsSearch input{color:#16212a}body.lightMode .settingsCategoryRow{color:#526473}body.lightMode .settingsCategoryRow:hover,body.lightMode .settingsCategoryRow:focus-visible{color:#16212a;background:#eef4f8}body.lightMode .settingsCategoryRow.active{color:#16212a;background:#fff3cf}body.lightMode .settingsRow{border-color:#e2ebf1}body.lightMode .settingsRowText strong,body.lightMode .settingsProfileCard h3,body.lightMode .settingsAboutCard h3,body.lightMode .settingsSectionHeader h3,body.lightMode .settingsPasswordForm h3{color:#16212a}body.lightMode .settingsRowText span,body.lightMode .settingsProfileCard p,body.lightMode .settingsAboutCard p,body.lightMode .settingsSectionHeader p,body.lightMode .settingsStorage span,body.lightMode .settingsPasswordForm label{color:#526473}body.lightMode .settingsPasswordForm{background:#fff;border-color:#d5e0e8}body.lightMode .settingsToggle{background:#d9e3ea;border-color:#c5d3dd}body.lightMode .settingsToggle.active{background:#e8ad3e}body.lightMode .settingsStorageTrack{background:#e5edf3}body.lightMode .clientProfileTile,body.lightMode .clientSettingsSummary,body.lightMode .clientSettingsStats span{color:#16212a;background:linear-gradient(#fffffff2,#f7fafcc7),#fff;border-color:#dce6ee}body.lightMode .clientProfileTile:hover,body.lightMode .clientProfileTile:focus-visible{background:#f2f7fb;border-color:#efc05f}body.lightMode .clientProfileTile.active{background:#fff3cf;border-color:#efc05f}body.lightMode .clientProfileTile small,body.lightMode .clientSettingsSummary p,body.lightMode .clientSettingsStats span,body.lightMode .clientSettingsGrid label,body.lightMode .settingsFullField{color:#526473}body.lightMode .clientSettingsSummary h3,body.lightMode .clientProfileTile strong{color:#16212a}body.lightMode .clientLogoPreview{color:#16212a;background:linear-gradient(135deg,#e8ad3e24,#75aef514),#fff;border-color:#dce6ee}body.lightMode .clientLogoUploadText strong{color:#16212a}body.lightMode .clientLogoUploadText span{color:#526473}body.lightMode .clientSettingsActions{border-color:#e2ebf1}body.lightMode .accountControls{color:#16212a;background:#fff;border-color:#d5e0e8;box-shadow:0 10px 22px #23374b14,inset 0 1px #fffffff0}body.lightMode .accountControls label,body.lightMode .accountControlSection strong{color:#16212a}body.lightMode .accountControls .hint,body.lightMode .accountControlSection span{color:#526473}body.lightMode .accountControlSection{background:#f7fafc;border-color:#d5e0e8}body.lightMode .accountControls input,body.lightMode .accountControls select{color:#16212a;background:#fff;border-color:#c8d6e0}body.lightMode .accountControls input::placeholder{color:#7b8c99}body.lightMode .equipmentDetailGrid strong,body.lightMode .equipmentRecordSummary strong,body.lightMode .equipmentQrPanel strong,body.lightMode .equipmentServiceTimeline article strong,body.lightMode .equipmentServiceChart strong,body.lightMode .equipmentServiceItems button,body.lightMode .equipmentModalForm h4{color:#16212a}body.lightMode .equipmentImportSummary,body.lightMode .equipmentRecordSummary span,body.lightMode .equipmentQrPanel span,body.lightMode .equipmentServiceTimeline article span,body.lightMode .equipmentServiceTimeline article small{color:#526473}body.lightMode .equipmentSideNav button.active,body.lightMode .equipmentSideNav button:hover,body.lightMode .equipmentStatusSideList button:hover{background:#fff7e5;border-color:#d9a63f}body.lightMode .equipmentModal{background:radial-gradient(circle at 50% 12%,#1f6fd11a,#0000 34rem),#0c141e57}body.lightMode .equipmentMatrixScroll,body.lightMode .equipmentMiniTable{border-color:#c8d6e0}body.lightMode .equipmentMatrixTable{color:#16212a}body.lightMode .equipmentMatrixTable th{color:#526473;background:#f2f6f9}body.lightMode .equipmentSortHeader small{color:#8090a0}body.lightMode .equipmentSortHeader:hover,body.lightMode .equipmentSortHeader.active{color:#132231}body.lightMode .equipmentSortHeader.active small{color:#0f7ca8}body.lightMode .equipmentMatrixCategoryRow th{color:#16212a;background:#e9f0f5}body.lightMode .equipmentMatrixName{color:#16212a}body.lightMode .equipmentMatrixTable th,body.lightMode .equipmentMatrixTable td,body.lightMode .equipmentMiniTableHead span,body.lightMode .equipmentMiniTableRow span,body.lightMode .equipmentMiniTableRow strong{border-color:#d7e1e8}body.lightMode .equipmentDetailModal{background:#14202c52}body.lightMode .equipmentDetailModalInner{color:#16212a;background:linear-gradient(#ecf5fafa,#fffffffc 80%),#fff;border-color:#9bb7ca}body.lightMode .equipmentDetailSummary,body.lightMode .equipmentDetailSummary>div,body.lightMode .equipmentMiniTable{border-color:#c8d6e0}body.lightMode .equipmentDetailSummary strong,body.lightMode .equipmentMiniTableRow strong{color:#16212a}body.lightMode .equipmentDetailSummary span,body.lightMode .equipmentMiniTableHead span,body.lightMode .equipmentMiniTableRow span,body.lightMode .equipmentDetailTables h4,body.lightMode .equipmentDetailModalHeader span{color:#526473}body.lightMode .equipmentDetailActionGrid button{color:#16212a;background:#f7fafc;border-color:#c8d6e0}body.lightMode .equipmentDetailActionGrid button:hover{background:#fff7e5;border-color:#d9a63f}body.lightMode .equipmentRecordSummary>div,body.lightMode .equipmentQrPanel{background:#f7fafc;border-color:#c8d6e0}body.lightMode .equipmentQrPanel code{color:#526473;background:#fff;border-color:#d5e0e8}body.lightMode .equipmentModalInner{box-shadow:0 26px 78px #16212a38,inset 0 1px #fffffff2}body.lightMode .equipmentModalHeader{border-color:#d5e0e8}body.lightMode .competencyUploadPicker span,body.lightMode .competencyScanStatus span,body.lightMode .competencyAiResult span,body.lightMode .competencyAiResult small{color:#526473}body.lightMode .competencyScanStatus .scanReady{color:#17632c;background:#e7f8ec;border-color:#7fd798}body.lightMode .scanResult,body.lightMode .scanEvidenceItem{color:#16212a;background:#fff;border-color:#d5e0e8}body.lightMode .scanResult span,body.lightMode .scanEvidenceItem small{color:#526473}body.lightMode .competencyUploadPicker button.active{background:#fff8e1;border-color:#f2b84b}body.lightMode .trainingDetailFinance,body.lightMode .trainingImportResult>div{background:#f8fbfd;border-color:#d5e0e8}body.lightMode .trainingImportResult span{color:#526473}body.lightMode .trainingDetailModal{background:radial-gradient(circle at 50% 10%,#1f6fd11a,#0000 34rem),#0c141e57}body.lightMode .trainingDetailModalInner{color:#16212a;background:#fff;border-color:#d5e0e8;box-shadow:0 26px 78px #16212a38,inset 0 1px #fffffff2}body.lightMode .trainingDetailFinance h4{border-color:#d5e0e8}body.lightMode .trainingFinanceLine span{color:#8a5a00;background:#b47c141c;border-color:#b47c1438}body.lightMode .competencyReminderCard span{color:#7a4d00}body.lightMode .competencyReminder-overdue span{color:#8f1717}body.lightMode .trainingMatrixTabs{background:#ffffffc7;border-color:#d5e0e8}body.lightMode .trainingMatrixTabs button{color:#526473}body.lightMode .trainingMatrixTabs button:hover{color:#16212a;background:#eef4f8}body.lightMode .trainingMatrixTabs button.active{color:#16212a;background:#fff;box-shadow:0 8px 18px #23374b1a,inset 0 1px #ffffffeb}body.lightMode .trainingLegend div,body.lightMode .trainingLegend button,body.lightMode .trainingRoleList div,body.lightMode .trainingMatrixScroll{background:#fff;border-color:#d5e0e8}body.lightMode .trainingLegend button:hover,body.lightMode .trainingLegend button:focus-visible{background:#f3f7fa;border-color:#b9c9d5}body.lightMode .trainingLegend span,body.lightMode .trainingRoleList span,body.lightMode .trainingBarChart span{color:#526473}body.lightMode .interactiveDonutTrack{stroke:#5264732e}body.lightMode .interactiveDonutSvg{filter:drop-shadow(0 14px 24px #23374b1f)}body.lightMode .interactiveDonutTooltip{background:#fffffff0;border-color:#d5e0e8;box-shadow:0 16px 30px #23374b24}body.lightMode .interactiveDonutTooltip strong{color:#16212a}body.lightMode .interactiveDonutTooltip span,body.lightMode .interactiveDonutEmpty,body.lightMode .trainingDonutCenter span{color:#526473}body.lightMode .trainingMatrixTable th{color:#526473;background:#eef4f8}body.lightMode .trainingMatrixTable td{border-color:#d5e0e8}body.lightMode .trainingMatrixTable td.stickyTrainingCol{background:#fff}body.lightMode .trainingMatrixTable .stickyTrainingCol button{color:#16212a}body.lightMode .trainingMatrixCell{background:#f8fbfd}body.lightMode .trainingMatrixCell span{color:#16212ab3}body.lightMode .trainingMatrixCell-inDate{color:#052e16;background:#22c55e}body.lightMode .trainingMatrixCell-due90,body.lightMode .trainingMatrixCell-due60{color:#422006;background:#fde047}body.lightMode .trainingMatrixCell-due30{color:#431407;background:#fb923c}body.lightMode .trainingMatrixCell-overdue{color:#fff1f2;background:#ef4444}body.lightMode .trainingMatrixCell-noExpiry{color:#16212a;background:#cbd5e1}body.lightMode .trainingMatrixLegend .legendMissing{color:#526473;background:#eef4f8}body.lightMode .trainingBudgetCard,body.lightMode .trainingBudgetTimeline div,body.lightMode .trainingReportRow{color:#16212a;background:#fff;border-color:#d5e0e8}body.lightMode .trainingBudgetCard span,body.lightMode .trainingBudgetTimeline span,body.lightMode .trainingBudgetTimeline strong,body.lightMode .trainingReportRow span,body.lightMode .trainingReportRow small{color:#526473}body.lightMode .trainingReportRow strong{color:#16212a}body.lightMode .trainingReportRow:hover{background:#f8fbfd;border-color:#c4d3de}body.lightMode .jobTileMenu button,body.lightMode .jobTileMenu span{color:#16212a}body.lightMode .jobTileMenu button:hover{background:#e8eef3}body.lightMode .mentionPicker .selectedMention{background:var(--sp-accent);border-color:var(--sp-accent);color:var(--sp-accent-contrast)}body.lightMode .orderItemsTable th,body.lightMode .orderItemsTable td,body.lightMode .poTracker div{border-color:#d5e0e8}body.lightMode .poTracker span,body.lightMode .orderTotalSummary span{color:#526473}body.lightMode .orderTotalSummary strong{color:#16212a}body.lightMode .hubAreaNav button strong{color:#16212a;background:#e8eef3}body.lightMode .hubAreaNav .activeHubArea{background:var(--sp-accent);color:var(--sp-accent-contrast);border-color:var(--sp-accent)}body.lightMode .hubAreaNav .activeHubArea strong{color:var(--sp-accent-contrast);background:#00000029}body.lightMode .previewVisualApp .hubAreaNav button{color:#526473}body.lightMode .previewVisualApp .hubAreaNav button strong{color:#526473;background:#23374b13}body.lightMode .previewVisualApp .hubAreaNav .activeHubArea{background:linear-gradient(180deg, #ffffffdb, #ffffff8a), rgba(var(--sp-accent-rgb), .2);border-color:rgba(var(--sp-accent-rgb), .24);color:var(--sp-text);box-shadow:inset 3px 0 0 rgba(var(--sp-accent-rgb), .86)}body.lightMode .previewVisualApp .hubAreaNav .activeHubArea strong{background:rgba(var(--sp-accent-rgb), .16);color:var(--sp-accent)}body.lightMode .trafficCounter span,body.lightMode .trafficCounter small,body.lightMode .trafficPanel span,body.lightMode .trafficPanel small,body.lightMode .trafficPanel em,body.lightMode .trafficUser small{color:#526473}body.lightMode .trafficCounter strong,body.lightMode .trafficPanel strong{color:#147d48}body.lightMode .trafficUser b{color:#16212a}body.lightMode .trafficTableHeader,body.lightMode .trafficTableRow span,body.lightMode .trafficPeriodCell small,body.lightMode .trafficListItem span,body.lightMode .trafficListItem small,body.lightMode .trafficSessionCard span,body.lightMode .trafficSessionCard small,body.lightMode .trafficCompactHeader small,body.lightMode .trafficPeopleLine,body.lightMode .trafficMetricPills span,body.lightMode .trafficDaySelector span{color:#526473}body.lightMode .trafficTableRow strong,body.lightMode .trafficListItem strong,body.lightMode .trafficSessionCard strong,body.lightMode .trafficCompactHeader strong,body.lightMode .trafficMetricPills b{color:#16212a}body.lightMode .trafficMetricPills span{background:#1f557d0b;border-color:#23374b1a}body.lightMode .trafficSessionActive{border-color:#2fa95a;box-shadow:inset 3px 0 #2fa95a}body.lightMode .weatherHeader span,body.lightMode .weatherHeader small,body.lightMode .weatherMeta span,body.lightMode .weatherForecast small,body.lightMode .weatherUpdated{color:#526473}body.lightMode .weatherHeader strong,body.lightMode .weatherCurrent span,body.lightMode .weatherForecast strong,body.lightMode .weatherForecast span{color:#16212a}body.lightMode .weatherCurrent strong{color:#147d48}body.lightMode .weatherSourceLink{color:#8a5a00;background:#b47c141c;border-color:#b47c1438}body.lightMode .weatherSourceLink:hover{background:#b47c142b;border-color:#b47c1457}body.lightMode label{color:#253442}body.lightMode input,body.lightMode textarea,body.lightMode select,body.lightMode .dropZone,body.lightMode .uploadQueueItem,body.lightMode .tickOptions button,body.lightMode .statusButtons button,body.lightMode .deleteMini,body.lightMode .hubItem pre,body.lightMode .hubDataField,body.lightMode .hubDataSection,body.lightMode .hubSignature,body.lightMode .hubPhotoGrid figure,body.lightMode .havsToolInfo div,body.lightMode .havsLiveCalc span,body.lightMode .allocationTable th,body.lightMode .allocationTable td,body.lightMode .allocationMobileTotal{color:#16212a;background-color:#f7fafc;border-color:#c8d7e1}body.lightMode .allocationTable th,body.lightMode .ownChatBubble{background:#e8eef3}body.lightMode .chatImageLink img,body.lightMode .chatImagePreview img{background:#edf3f7;border-color:#c8d7e1}body.lightMode .tileBadge,body.lightMode .alertIconButton span{border-color:#f4f7f9}body.lightMode .operativePill button{color:#7f1d1d;background:#fee2e2}body.lightMode select{background-image:linear-gradient(45deg,#0000 50%,#526473 50%),linear-gradient(135deg,#526473 50%,#0000 50%)}body.lightMode .output{color:#16212a;background:#f7fafc;border-color:#c8d7e1}body.lightMode .hubDataTable th{color:#16212a;background:#e8eef3}body.lightMode .hubDataTable th,body.lightMode .hubDataTable td{border-color:#c8d7e1}body.lightMode .hubDataSection h4,body.lightMode .drawingFolder h4,body.lightMode .hubItem summary{color:#0a7ca5}body.lightMode .hubPhotoGrid img{background:#edf3f7}body.lightMode .errorText{color:#7f1d1d;background:#fff1f1;border-color:#fecaca}body.lightMode .uploadQueueError{background:#fff1f1;border-color:#fca5a5}body.lightMode .statusGood{color:#14532d;background:#ecfdf3;border-color:#bbf7d0}body.lightMode .safeStatus{color:#14532d;background:#ecfdf3}body.lightMode .warningStatus{color:#7a4d00;background:#fff8e1}body.lightMode .dangerStatus{color:#7f1d1d;background:#fff1f1}body.lightMode .managerTabs .activeManagerTab{background:var(--sp-accent);color:var(--sp-accent-contrast);border-color:var(--sp-accent)}body.lightMode .siteManagerAllocationApp .allocationDayHeader,body.lightMode .allocationControlStats div,body.lightMode .poTracker div,body.lightMode .orderItemsTable th,body.lightMode .orderItemsTable td,body.lightMode .checkChoice,body.lightMode .tickOptions button,body.lightMode .quickItem span,body.lightMode .operativePill,body.lightMode .dropZone{color:#16212a;background:#f7fafc;border-color:#c8d7e1}body.lightMode .allocationControlStats strong,body.lightMode .allocationDayTotals strong,body.lightMode .orderTotalSummary strong,body.lightMode .havsToolInfo strong,body.lightMode .havsEntryPoints strong,body.lightMode .quickItem{color:#16212a}body.lightMode .allocationControlStats span,body.lightMode .poTracker span,body.lightMode .orderTotalSummary span,body.lightMode .dropZone span,body.lightMode .checkChoice span{color:#526473}body.lightMode .orderItemsTable th{background:#e8eef3}body.lightMode .siteManagerAllocationApp .allocationControlPanel .jobSelector{box-shadow:none;background:0 0;border-color:#0000}@media (width>=1080px) and (hover:hover) and (pointer:fine){.app{max-width:1440px;padding:20px 28px 34px}.app.matrixWideApp{max-width:calc(100vw - 12px);padding-left:8px;padding-right:8px}.dashboardApp{max-width:1120px}header{border-radius:14px}.grid{grid-template-columns:repeat(5,minmax(0,1fr))}.hubChoiceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.hubChoiceTile{border-radius:14px;min-height:260px}.dashboardApp .hubChoiceTile{border-radius:28px}.officeHubGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.app:has(.trainingMatrixPanel){max-width:1720px}.aiUsageGrid{grid-template-columns:repeat(7,minmax(0,1fr))}.aiReportSaveGrid{grid-template-columns:300px minmax(0,1fr)}.promptBuilderGrid{grid-template-columns:1.4fr 1fr 1fr .7fr .8fr}.aiPreviewActionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.commercialPreviewGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border-radius:14px;min-height:132px}main>.panel,main>.miniCard{border-radius:14px}.checkTable,.quickList{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.photoGrid,.signOffList{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.chatMain{max-width:1680px;margin:0 auto}.chatWorkspace{grid-template-columns:minmax(0,1fr) 420px;align-items:start}.chatMessages{min-height:420px}}@media (width>=1200px) and (hover:hover) and (pointer:fine){.havsDesktopWorkspace{grid-template-columns:360px minmax(0,1fr);align-items:start}.havsToolSidebar{max-height:calc(100vh - 28px);position:sticky;top:14px;overflow:hidden}.havsToolLibraryList{min-height:0;max-height:44vh}.havsMainColumn>.panel:first-child{margin-top:18px}.siteManagerAllocationApp{width:100%;max-width:none;padding:18px 24px 28px}.siteManagerAllocationApp header{max-width:1680px;margin-left:auto;margin-right:auto}.siteManagerAllocationApp .allocationMain{max-width:1840px;margin:0 auto}.siteManagerAllocationApp .allocationMain>h2{margin-bottom:8px}.siteManagerAllocationApp .allocationMain .managerTabs{grid-template-columns:repeat(7,minmax(105px,1fr));margin-bottom:12px}.siteManagerAllocationApp .allocationDesktopWorkspace{grid-template-columns:minmax(340px,430px) minmax(880px,1fr);grid-template-areas:"control control""operatives day""summary summary""actions actions";align-items:start;gap:18px;display:grid}.siteManagerAllocationApp .allocationControlPanel{grid-area:control;grid-template-columns:minmax(300px,380px) minmax(480px,1fr) minmax(320px,420px);align-items:start;gap:18px;padding:18px;display:grid}.siteManagerAllocationApp .allocationControlPanel .allocationPanelTitle{grid-area:1/1;margin-bottom:0}.siteManagerAllocationApp .allocationControlPanel .jobSelector{background:0 0;border:0;grid-area:2/1;margin:0;padding:0}.siteManagerAllocationApp .allocationControlPanel .twoColumnForm{grid-area:1/2/span 2;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.siteManagerAllocationApp .allocationControlStats{grid-area:1/3/span 2;grid-template-columns:1fr;margin-top:0}.siteManagerAllocationApp .allocationOperativesPanel{grid-area:operatives;max-height:calc(100vh - 36px);padding:20px;position:sticky;top:18px;overflow:auto}.siteManagerAllocationApp .allocationDayPanel{grid-area:day;margin-top:0}.siteManagerAllocationApp .allocationSummaryPanel{grid-area:summary;position:static}.siteManagerAllocationApp .allocationActionBar{grid-area:actions;grid-template-columns:repeat(2,minmax(260px,1fr));max-width:900px;margin-left:auto;margin-right:auto}.siteManagerAllocationApp .allocationActionBar .primary,.siteManagerAllocationApp .allocationActionBar .secondary{margin-top:0}.siteManagerAllocationApp .allocationAddOperative{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.siteManagerAllocationApp .allocationAddOperative .compactButton{width:100%}.siteManagerAllocationApp .allocationOperativesPanel .allocationTable{table-layout:auto;min-width:720px}.siteManagerAllocationApp .allocationOperativesPanel .allocationTableWrap{margin-top:14px}.siteManagerAllocationApp .allocationOperativesPanel .allocationTable th,.siteManagerAllocationApp .allocationOperativesPanel .allocationTable td{padding:10px}.siteManagerAllocationApp .allocationOperativesPanel .allocationTable th:nth-child(3),.siteManagerAllocationApp .allocationOperativesPanel .allocationTable td:nth-child(3),.siteManagerAllocationApp .allocationOperativesPanel .allocationTable th:nth-child(4),.siteManagerAllocationApp .allocationOperativesPanel .allocationTable td:nth-child(4){min-width:96px}.siteManagerAllocationApp .allocationOperativesPanel .allocationTable th:last-child,.siteManagerAllocationApp .allocationOperativesPanel .allocationTable td:last-child{min-width:86px}.siteManagerAllocationApp .allocationDayPanel .dayTabs{margin-top:0;margin-bottom:12px}.siteManagerAllocationApp .allocationDayPanel .dayTabs button{min-height:64px;padding:10px 8px}.siteManagerAllocationApp .allocationDayHeader{background:#0f151a;border:1px solid #334654;border-radius:14px;flex-direction:row;align-items:center;padding:14px 16px}.siteManagerAllocationApp .allocationDayTotals{text-align:right;width:auto}.siteManagerAllocationApp .allocationTaskGrid{grid-template-columns:repeat(2,minmax(320px,1fr));gap:12px}.siteManagerAllocationApp .allocationTask{grid-template-columns:34px minmax(0,1fr) auto;gap:12px;padding:12px}.siteManagerAllocationApp .allocationTask .tinyCheck{grid-column:3;justify-content:flex-start;font-size:13px}.siteManagerAllocationApp .allocationTask>span{width:34px;height:34px;margin:0;font-size:14px}.siteManagerAllocationApp .allocationTask input{height:auto;min-height:48px;font-size:14px}.siteManagerAllocationApp .allocationDayPanel .twoColumnForm{grid-template-columns:minmax(220px,280px) minmax(260px,1fr) minmax(360px,1.4fr);align-items:start;gap:14px}.siteManagerAllocationApp .allocationDayPanel .wideField{grid-column:auto}.siteManagerAllocationApp .allocationDayPanel textarea{min-height:82px}.siteManagerAllocationApp .allocationHoursTable{table-layout:auto;min-width:1180px;font-size:14px}.siteManagerAllocationApp .allocationHoursTable th,.siteManagerAllocationApp .allocationHoursTable td{padding:9px}.siteManagerAllocationApp .allocationHoursTable th:first-child,.siteManagerAllocationApp .allocationHoursTable td:first-child{min-width:180px}.siteManagerAllocationApp .allocationHoursTable th:nth-child(2),.siteManagerAllocationApp .allocationHoursTable td:nth-child(2){min-width:140px}.siteManagerAllocationApp .allocationHoursTable th:last-child,.siteManagerAllocationApp .allocationHoursTable td:last-child{min-width:92px}.siteManagerAllocationApp .allocationHoursTable input{width:86px;min-width:0;height:auto;min-height:46px;padding:9px}.siteManagerAllocationApp .allocationSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.siteManagerAllocationApp .allocationSummaryPanel .allocationTable{table-layout:auto;min-width:760px}.siteManagerAllocationApp .allocationSummaryPanel .allocationTable th,.siteManagerAllocationApp .allocationSummaryPanel .allocationTable td{text-align:center;padding:9px}.siteManagerAllocationApp .allocationSummaryPanel .allocationTable th:first-child,.siteManagerAllocationApp .allocationSummaryPanel .allocationTable td:first-child{text-align:left;min-width:160px}}@media (width<=1199px){.siteManagerAllocationApp{max-width:540px;padding:16px}.allocationMain{max-width:none;margin:0}.allocationDesktopWorkspace{display:block}.allocationControlPanel,.allocationOperativesPanel,.allocationDayPanel,.allocationSummaryPanel{margin-top:18px}.allocationActionBar{display:block}.allocationActionBar .primary{margin-top:18px}.allocationActionBar .secondary{margin-top:10px}}@media (hover:none),(pointer:coarse){.siteManagerAllocationApp{max-width:540px;padding:16px}.allocationMain{max-width:none;margin:0}.allocationDesktopWorkspace{display:block}.allocationControlPanel,.allocationOperativesPanel,.allocationDayPanel,.allocationSummaryPanel{margin-top:18px}.allocationActionBar{display:block}.allocationActionBar .primary{margin-top:18px}.allocationActionBar .secondary{margin-top:10px}}@media (width<=980px){.programmeCommandHero,.programmeCommandLanding,.programmeModeBar{grid-template-columns:1fr}.programmeCommandHero{position:static}.programmeCommandStats,.programmeOverviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.aiTabs,.programmeUploadRow,.programmeDashboardGrid,.programmeOverviewGrid,.programmeMiniLists,.programmeTwoColumn,.programmeTimelineItem,.hubStats,.hubGrid,.hubAdminGrid,.hubJobGate,.hubSplit,.hubDrawingsArea,.ramsFilterGrid,.ramsLibraryLayout,.competencyHero,.trainingOverview,.trainingDonutWrap,.trainingMatrixControls,.trainingSpendGrid,.trainingRenewGrid,.competencyLayout,.competencyReadOnlyLayout,.equipmentRegisterLayout,.equipmentRecordLayout,.equipmentRecordSummary,.equipmentDetailGrid{grid-template-columns:1fr}.trainingOverviewWide{grid-column:auto}.equipmentModalGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.equipmentImportPanel,.equipmentEditableRow,.equipmentEditableRowWide,.equipmentDetailSummary,.equipmentQrPanel,.equipmentDetailActionGrid,.equipmentMiniTableHead,.equipmentMiniTableRow,.equipmentMiniTableRowThree{grid-template-columns:1fr}.equipmentMatrixPanelWide .trainingToolbar,.equipmentMatrixPanelWide .trainingToolbar input,.equipmentQrPanel img{width:100%}.equipmentQrPanel img{justify-self:center;max-width:220px;height:auto}.equipmentDetailModal{padding:12px}.equipmentDetailModalHeader,.equipmentDetailSectionHeader{align-items:stretch;display:grid}.equipmentDetailModalHeaderActions{justify-content:stretch}.equipmentDetailModalHeaderActions button,.equipmentDetailActionGrid button{width:100%}.equipmentImportActions,.equipmentModalSubhead{justify-content:stretch}.trainingMatrixTabs{max-width:100%;overflow-x:auto}.trainingMatrixScroll{max-height:68vh}.trainingToolbar{justify-content:flex-start}.hubHeader{display:block}.hubHeaderActions{grid-template-columns:1fr;margin-top:12px}.weatherCurrent{display:grid}.weatherMeta{text-align:left}.weatherForecast,.compactWeatherWidget .weatherForecast,.accountControls,.operativeManager{grid-template-columns:1fr}.ramsDocumentCard,.liveRamsCard{flex-direction:column;align-items:flex-start}.liveRamsPanel .hubSectionHeader{align-items:stretch;display:grid}.competencyProfileHeader,.competencyDocumentCard{grid-template-columns:1fr;align-items:flex-start}.competencyDocumentCard{flex-direction:column}.ramsDocumentActions{justify-content:flex-start}}@media (width<=760px){.modalBackdrop{padding:max(10px, env(safe-area-inset-top)) 10px 10px;align-items:flex-start}.labourOperativeModal{width:100%;margin-top:0}.officeProjectOverviewGrid{grid-template-columns:1fr;gap:12px;margin-top:14px}.officeProjectOverviewCard{min-height:0;padding:15px}.projectCommandOverview{gap:16px}.hubWorkspace{grid-template-columns:1fr}.hubAreaNav{overscroll-behavior-x:contain;scrollbar-width:thin;display:flex;position:static;overflow-x:auto}.hubAreaNav button{white-space:nowrap;flex:0 0 132px;grid-template-columns:minmax(0,1fr) auto;min-width:132px;display:grid}.previewVisualApp .hubAreaNav{overscroll-behavior-x:contain;scrollbar-width:none;border-radius:var(--radius-card);gap:6px;padding:6px;display:flex;position:static;overflow-x:auto}.previewVisualApp .hubAreaNav::-webkit-scrollbar{display:none}.previewVisualApp .hubAreaNav button{white-space:nowrap;border-radius:12px;flex:0 0 142px;grid-template-columns:minmax(0,1fr) auto;width:auto;min-width:142px;min-height:42px;padding:9px 10px;display:grid}.previewVisualApp .hubAreaNav .activeHubArea{box-shadow:inset 0 -3px 0 rgba(var(--sp-accent-rgb), .95)}.trafficPanel{flex:0 0 170px;min-width:170px;margin-top:0}.trainingImportGrid{grid-template-columns:1fr}.trainingNotice{align-items:stretch}.trainingNoticeMain{text-align:left;justify-content:flex-start}.trainingSnoozeMenu{min-width:0;left:8px;right:8px}}@media (width<=560px){.app{width:100%;padding:10px}.siteManagerAllocationApp{padding:10px}header{border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 10px;margin-bottom:12px;padding:12px}.brandBlock{align-self:center;gap:3px;min-width:0}.headerCenterLogo{grid-area:2/1/auto/-1;justify-self:center;margin-top:0}.headerActions,header>.iconButton{justify-self:end}.headerActions{flex-wrap:nowrap;grid-area:3/1/auto/-1;justify-content:flex-end;align-items:center;gap:6px;width:100%;display:flex}.headerActions .iconButton{width:40px;height:40px;min-height:40px}.headerJobSelect{background-position:calc(100% - 16px) 16px,calc(100% - 10px) 16px;flex:170px;min-width:0;max-width:none;height:40px;min-height:40px;padding-left:12px;font-size:13px}.brandTitle{gap:8px}.brandLogo{width:min(152px,46vw);max-height:52px}.sitePilotHeaderWordmark,.previewVisualApp .sitePilotHeaderWordmark{width:min(176px,48vw);max-height:40px}header p,.hint{font-size:13px;line-height:1.35}h2{margin:8px 0 10px;font-size:22px}h3{margin-top:16px;padding-top:14px;font-size:17px}.competencyHero{gap:8px}.competencyHero>div{border-radius:14px;padding:13px}.competencyHero strong{font-size:28px}.trainingMatrixTabs{width:100%;display:flex}.trainingMatrixTabs button{flex:1 0 auto;padding:0 12px}.equipmentPageActions,.equipmentModalActions{justify-content:stretch}.equipmentPageActions .primary,.equipmentModalActions button{width:100%}.equipmentModal{padding:12px}.equipmentModalInner{border-radius:18px;padding:14px}.equipmentModalHeader{align-items:flex-start}.equipmentModalGrid{grid-template-columns:1fr}.equipmentModalActions{grid-template-columns:1fr;display:grid}.equipmentServiceChart>div{grid-template-columns:minmax(0,1fr) 76px 34px}.equipmentLocationGrid{grid-template-columns:1fr}.trainingBarChart{min-height:180px}.trainingMatrixTable{min-width:860px}.trainingMatrixTable th,.trainingMatrixTable td{min-width:96px;padding:7px}.trainingMatrixTable .stickyTrainingCol{min-width:150px}.trainingBudgetTimeline div{grid-template-columns:1fr}.trainingToolbar .compactButton{width:100%}.trainingDetailModal{padding:10px}.trainingDetailModalInner{border-radius:16px;padding:14px}.grid{gap:8px}.card{border-radius:14px;gap:8px;min-height:92px;padding:14px 8px;font-size:14px}.card svg{width:26px;height:26px}.previewVisualApp .visionGatewayHero{min-height:auto;padding:18px;display:grid}.previewVisualApp .gatewayStatusCluster{justify-content:flex-start}.hubChoiceGrid{grid-template-columns:1fr;gap:12px}.previewVisualApp .hubChoiceTile{border-radius:22px;min-height:210px;padding:20px}.jobChoiceModal{padding:12px}.jobChoiceModalInner{border-radius:18px;gap:12px;padding:16px}.jobChoiceList button{padding:11px}.compactWeatherWidget .weatherCurrent,.compactWeatherWidget .weatherHeader{text-align:left;display:grid}.compactWeatherWidget .weatherMeta{text-align:left}.panel,.miniCard,.jobSelector,.hubPanel{border-radius:14px;margin-top:12px;padding:12px}.loginApp{padding:12px}.loginApp header{margin-top:0}.loginPanel{border-radius:20px;padding:18px}.loginPanel h2{font-size:28px}.hubContextSelector{grid-template-columns:1fr;gap:6px;margin:6px 0 10px;padding:8px}.mileageReportRow,.mileageVehicleHeader,.jobContactGrid,.accessRequestActions{grid-template-columns:1fr;display:grid}.drawingViewerModal{padding:0}.drawingViewerInner{border-radius:0;height:100%}.drawingViewerToolbar{align-items:stretch;display:grid}.drawingViewerActions{justify-content:flex-start}.poTracker{grid-template-columns:1fr}label{gap:5px;margin-bottom:10px}input,textarea,select{border-radius:11px;min-height:44px;padding:10px 11px}input:not([type=file]):not([type=checkbox]),select{height:44px}.primary,.secondary,.back,.inputRow button,.signatureHeader button{border-radius:12px;min-height:44px;padding:11px 12px}.hubStats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hubStat{padding:12px 8px}.hubStat strong{font-size:24px}.hubAreaNav{gap:6px;padding:6px}.hubAreaNav button{flex-basis:118px;gap:6px;min-width:118px;padding:8px;font-size:13px}.hubAreaNav button span{text-overflow:ellipsis;overflow:hidden}.hubAreaNav button strong{min-width:24px;height:24px;font-size:12px}.brandTitle h1{font-size:24px}.headerActions{gap:6px}.iconButton{border-radius:12px;width:38px;height:38px}.managerTabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.managerTabs button,.dayTabs button,.hubTabs button{border-radius:10px;padding:9px 6px;font-size:13px}.dayTabs{gap:4px}.hubTabs{gap:6px}.twoColumnForm,.timeGrid,.havsSummaryGrid,.havsToolInfo,.havsLiveCalc,.havsEntry,.havsFilterBar,.havsToolEditGrid,.lolerExamGrid,.lolerKey,.allocationAddOperative,.allocationTaskGrid{grid-template-columns:1fr}.allocationDayHeader{flex-direction:column;align-items:flex-start}.allocationDayTotals{text-align:left;width:100%}.allocationTable{min-width:720px}.allocationTask{grid-template-columns:32px minmax(0,1fr)}.allocationTask .tinyCheck{grid-column:2}.lolerKey div,.lolerKey div:nth-child(2n),.lolerKey div:nth-last-child(-n+2){border-bottom:1px solid #334654;border-right:0}.lolerKey div:last-child{border-bottom:0}.havsEntryPoints{text-align:left}.entryActions{grid-template-columns:1fr 1fr}.hubItemHeader{grid-template-columns:1fr}.recordActions,.userHeaderActions{justify-content:flex-start}.competencyProfileHeader .userHeaderActions{grid-column:auto}.passwordControlRow,.passwordControlGrid,.vehicleEditGrid{grid-template-columns:1fr}.accountControls .compactButton{width:100%}}@media (width<=720px){.previewVisualApp{--nav-depth:5px;--sp-blur-floating:14px}.previewVisualApp .toastStack{top:auto;right:max(12px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));width:auto}.previewVisualApp .drawingViewerModal,.previewVisualApp .chatImageModal{-webkit-backdrop-filter:none;align-items:flex-end;padding:0}.previewVisualApp .drawingViewerInner,.previewVisualApp .chatImageModalInner{border-radius:22px 22px 0 0;width:100%;height:min(96vh,100%);max-height:none;animation-name:mobileSheetIn}.previewVisualApp .jobChoiceModal{padding:max(12px, env(safe-area-inset-top)) 12px 12px;align-items:flex-start;overflow-y:auto}.previewVisualApp .jobChoiceModalInner{height:auto;max-height:calc(100vh - max(24px, env(safe-area-inset-top)) - 24px);border-radius:22px;animation-name:none}.previewVisualApp .drawingViewerToolbar{flex-direction:column;align-items:flex-start}.previewVisualApp .drawingViewerActions{justify-content:flex-start;width:100%}.previewVisualApp .managerTabs,.previewVisualApp .dayTabs,.previewVisualApp .aiTabs,.previewVisualApp .programmeCommandTabs{border-radius:var(--radius-control)}}@media (hover:none),(pointer:coarse){.previewVisualApp .card:hover,.previewVisualApp .wideCard:hover,.previewVisualApp .hubChoiceTile:hover,.previewVisualApp .previewFeatureCard:hover{transform:none}}body{font-family:var(--font-sans)}.previewVisualApp{font-size:var(--type-body);padding-bottom:max(var(--space-8), env(safe-area-inset-bottom));line-height:1.45}.previewVisualApp header{min-height:86px;padding:var(--space-5);gap:var(--space-5)}.previewVisualApp .brandLogo{width:clamp(128px,18vw,176px);max-height:64px}.previewVisualApp .sitePilotHeaderWordmark{width:clamp(190px,22vw,315px);max-height:54px}.previewVisualApp .headerActions{gap:var(--space-2)}@media (width<=560px){.previewVisualApp .sitePilotHeaderWordmark{width:min(210px,48vw);max-height:46px}}.previewVisualApp h2{margin:var(--space-3) 0 var(--space-2);font-size:var(--type-title);line-height:1.08;font-weight:var(--weight-title)}.previewVisualApp h3{margin:var(--space-6) 0 var(--space-3);padding-top:var(--space-4);font-size:var(--type-section);line-height:1.18;font-weight:var(--weight-medium)}.previewVisualApp h4{margin:0 0 var(--space-2);font-size:var(--type-card);line-height:1.22}.previewVisualApp p,.previewVisualApp li{line-height:1.48}.previewVisualApp label{gap:var(--space-2);margin-bottom:var(--space-4);color:var(--sp-text-secondary);font-size:var(--type-secondary);font-weight:var(--weight-medium)}.previewVisualApp input,.previewVisualApp textarea,.previewVisualApp select{min-height:46px;font-size:16px}.previewVisualApp textarea{min-height:116px}.previewVisualApp .bigText,.previewVisualApp .worksCompletedBox{min-height:180px}.previewVisualApp .panel,.previewVisualApp .miniCard,.previewVisualApp .jobSelector,.previewVisualApp .hubPanel{padding:clamp(var(--space-4), 2vw, var(--space-5))}.previewVisualApp .panel>h2:first-child,.previewVisualApp .panel>h3:first-child,.previewVisualApp .miniCard>h2:first-child,.previewVisualApp .miniCard>h3:first-child{border-top:0;margin-top:0;padding-top:0}.previewVisualApp .grid{gap:var(--space-4)}.previewVisualApp .card,.previewVisualApp .wideCard,.previewVisualApp .hubChoiceTile{font-weight:var(--weight-button);text-align:center}.previewVisualApp .card{min-height:118px;padding:var(--space-5) var(--space-4)}.previewVisualApp .wideCard{min-height:74px;padding:var(--space-4) var(--space-5);text-align:left}.previewVisualApp .card svg,.previewVisualApp .wideCard svg{stroke-width:1.9px;width:28px;height:28px}.previewVisualApp .hubChoiceIcon svg{stroke-width:1.85px;width:34px;height:34px}.previewVisualApp .iconButton,.previewVisualApp .iconMini{flex:none;place-items:center;display:inline-grid}.previewVisualApp .iconButton{border-radius:14px;width:44px;height:44px}.previewVisualApp .iconMini{border-radius:11px;min-width:34px;min-height:34px}.previewVisualApp .primary,.previewVisualApp .secondary,.previewVisualApp .back,.previewVisualApp .compactButton,.previewVisualApp .deleteMini,.previewVisualApp .buttonLink,.previewVisualApp .inputRow button,.previewVisualApp .signatureHeader button{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;line-height:1.15;font-weight:var(--weight-button);display:inline-flex}.previewVisualApp .primary svg,.previewVisualApp .secondary svg,.previewVisualApp .back svg,.previewVisualApp .compactButton svg,.previewVisualApp .deleteMini svg,.previewVisualApp .buttonLink svg{flex:none;margin:0}.previewVisualApp .deleteMini{color:#ffe4e4;background:linear-gradient(#ffffff12,#ffffff05),#702026b8;border-color:#e4585857}.previewVisualApp .deleteMini:hover{background:linear-gradient(#ffffff17,#ffffff06),#88272ed1;border-color:#ff91917a}.previewVisualApp .emptyState{text-align:center;min-height:120px;color:var(--sp-text-secondary);place-items:center;display:grid}.previewVisualApp .issueNotice,.previewVisualApp .todoNotice{text-align:left;border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);justify-content:flex-start}.previewVisualApp .issueNotice svg,.previewVisualApp .todoNotice svg{flex:none}.previewVisualApp table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-control);overflow:hidden}.previewVisualApp th,.previewVisualApp td{padding:10px 11px;line-height:1.35}.previewVisualApp th{letter-spacing:.02em;text-transform:none;font-size:12px}.previewVisualApp .hubChoiceTile small{max-width:34rem}.previewVisualApp .visionGatewayHero{min-height:150px}.previewVisualApp .gatewayStatusCluster span{min-height:34px}.previewVisualApp .chatImageModalInner span{color:var(--sp-text)}body.lightMode .previewVisualApp .deleteMini{color:#9b2530;background:linear-gradient(#ffffffe0,#ffffff94),#ffe8e8e0;border-color:#b436403d}body.lightMode .previewVisualApp .emptyState,body.lightMode .previewVisualApp .diaryChip,body.lightMode .previewVisualApp .photoButton,body.lightMode .previewVisualApp .checkRow,body.lightMode .previewVisualApp .signatureBox{background:#ffffffb8;border-color:#23374b1c}body.lightMode .previewVisualApp table{background:#ffffffc7}body.lightMode .previewVisualApp th{color:#263947;background:#ebf1f7eb}@media (prefers-reduced-motion:reduce){.previewVisualApp,.previewVisualApp *{scroll-behavior:auto!important}.previewVisualApp main,.previewVisualApp .toast,.previewVisualApp .jobTileMenu,.previewVisualApp .chatImageModal,.previewVisualApp .drawingViewerModal,.previewVisualApp .chatImageModalInner,.previewVisualApp .drawingViewerInner{transition:opacity var(--motion-instant) linear!important;animation:none!important;transform:none!important}}@keyframes mobileSheetIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
