:root{--navigator-radius:14px;--navigator-tile-radius:10px;--navigator-control-radius:8px;--navigator-card-x:clamp(16px, 2vw, 24px);--navigator-card-y:18px;--navigator-status-neutral:var(--theme-border);--navigator-status-complete:#79bde8;--navigator-status-outstanding:#d9a441;--navigator-status-critical:#df6868}body :is(.portal-card,.dashboard-grid>section,.detail-overview,.detail-section,.phase-f-card,.pam-approval,.assurance-card,.handover,.contractor-completion-review,.rfq-section,.work-package-section,.risk-panel,.quick-actions,.closeout-exports,.monthly-report,.calendar-panel,.training-card,.contact-card,.admin-table){box-sizing:border-box;border:1px solid var(--theme-border);background:var(--theme-surface);min-width:0;padding:var(--navigator-card-y) var(--navigator-card-x);border-radius:var(--navigator-radius)!important}body :is(.delivery-status-grid>div,.close-out-status-grid>div,.archive-summary>div,.work-package-list article,.phase-f-summary>div){border:1px solid var(--theme-border);border-radius:var(--navigator-tile-radius);background:var(--theme-surface-soft)}body :is(details[data-navigator-card],.project-detail details.detail-section,.project-detail details.stage-disclosure){align-self:start;padding:0;display:block;overflow:visible}body :is(details[data-navigator-card],.project-detail details.detail-section,.project-detail details.stage-disclosure)>summary{padding:var(--navigator-card-y) var(--navigator-card-x);cursor:pointer;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin:0;list-style:none;display:flex}body .project-detail summary>*{min-width:0}body .project-detail summary h2{margin:0;font-size:1.05rem}body .project-detail summary p{margin:0}body .project-detail summary::-webkit-details-marker{display:none}body .project-detail summary:after{content:"›";flex:none;font-size:1.4rem}body .project-detail details[open]>summary:after{content:"⌄"}body .project-detail details>:not(summary){margin-inline:var(--navigator-card-x);margin-bottom:var(--navigator-card-y)}body .project-detail .navigator-card-body{min-width:0;padding:0}body .project-detail details:not([open]){min-height:0}body .project-detail :is(.locked,.detail-permission,[data-status=outstanding]){box-shadow:inset 4px 0 var(--navigator-status-outstanding)}body .project-detail :is(.ready,[data-status=complete]){box-shadow:inset 4px 0 var(--navigator-status-complete)}body .project-detail :is(.governance-hrb,.governance-listed,.statutory-building-alert,[data-status=critical]){box-shadow:inset 4px 0 var(--navigator-status-critical)}body .project-detail .detail-permission{border-left-width:1px}body :is(button,.portal-button,.project-export-button){border-radius:var(--navigator-control-radius);color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#172b45;border:1px solid #c8d5e6;padding:9px 14px;font-weight:650}body :is(button.primary,button.primary-action,button.consent-action){color:#fff!important;background:#145d74!important;border-color:#dceeff!important}body :is(button.danger,button.danger-action){color:#ffb3b3!important;background:#172b45!important;border-color:#ff9090!important}body button.backlink{color:var(--theme-text);background:0 0;border-color:#0000;padding-left:0}body :is(button,a,summary,input,select,textarea):focus-visible{outline-offset:3px;outline:3px solid #64b8ed}body button:hover:not(:disabled){filter:brightness(1.12)}body button:disabled{opacity:.55;cursor:not-allowed;border-style:solid}body :is(.portal-title,.campus-page-intro,.project-head){margin-block:0 16px;padding-block:16px}body .portal-title h1{margin:4px 0}body .project-impact-actions{grid-template-columns:minmax(0,1fr) minmax(0,340px);align-items:start}body .project-impact-column{align-content:start}body .project-impact-actions .risk-pills{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}body .project-impact-actions .risk-pills button{white-space:normal;overflow-wrap:anywhere;min-width:0}body .cdm-notification-card{height:auto;min-height:0}body .project-detail-row{align-items:start}.project-rag{border-radius:var(--navigator-control-radius);width:fit-content;padding:3px 9px}.project-rag.rag-red{color:#fff;background:#781f2b}.project-rag.rag-amber{color:#fff;background:#765017}.back-to-top{z-index:40;right:max(16px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));position:fixed;box-shadow:0 4px 18px #0004}@media (min-width:1400px){body .dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){body .project-impact-actions{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){body .project-detail summary{flex-wrap:wrap}.back-to-top{bottom:max(84px, calc(env(safe-area-inset-bottom) + 72px))}.back-to-top span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.programme-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;display:grid}.programme-filters label{gap:6px;min-width:0;display:grid}.programme-filters select{width:100%;min-width:0}.offline-banner{z-index:100;color:#14212f;text-align:center;background:#f6c763;padding:12px 20px;position:sticky;top:0}.project-photo-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;display:grid}.project-photo-grid figure{border:1px solid var(--navigator-border,#34475d);overflow-wrap:anywhere;border-radius:10px;min-width:0;margin:0;padding:12px}.project-photo-grid img{object-fit:cover;border-radius:8px;width:100%;height:200px}.progress-update{border:1px solid #34475d;border-radius:10px;margin-block:8px;padding:12px}.project-quick-add{bottom:86px;right:max(20px,env(safe-area-inset-right));z-index:45;position:fixed;box-shadow:0 4px 20px #0006}.capture-dialog{color:#eef4fa;background:#14212f;border:1px solid #718498;border-radius:14px;width:min(600px,100vw - 32px);max-height:calc(100dvh - 48px);padding:24px}.capture-dialog::backdrop{background:#0009}.capture-dialog header,.capture-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.capture-dialog form,.capture-menu{gap:16px;display:grid}.capture-dialog label{gap:6px;min-width:0;display:grid}.capture-dialog input,.capture-dialog select,.capture-dialog textarea{box-sizing:border-box;width:100%;min-width:0}.camera-capture{display:none!important}@media (pointer:coarse){.camera-capture{display:grid!important}}@media (max-width:600px){.project-quick-add{bottom:calc(84px + env(safe-area-inset-bottom));width:48px;height:48px;border-radius:50%!important}.project-quick-add span{display:none}.capture-dialog{padding:16px}}body .project-detail summary{flex-wrap:wrap}body .project-detail summary .detail-card-actions{flex-wrap:wrap;flex:0 auto;align-items:center;gap:8px;margin:0 0 0 auto;padding:0;display:flex}body .project-detail summary .detail-card-actions small{flex-basis:100%;max-width:32ch;font-weight:400}body details.project-photos{border:1px solid var(--theme-border);border-radius:var(--navigator-radius);background:var(--theme-surface)}
.imperium-brand{color:#f5f9ff;box-sizing:border-box;background:#061b2d;border-radius:9px;align-items:center;gap:10px;width:max-content;max-width:100%;padding:7px 11px;display:flex}.imperium-brand .imperium-mark{object-fit:contain;flex:none;width:56px;height:28px}.imperium-brand .imperium-wordmark{gap:4px;min-width:0;display:grid}.imperium-brand .imperium-wordmark b{letter-spacing:-.045em;color:#f5f9ff;white-space:nowrap;font:750 23px/1.05 Arial,sans-serif}.imperium-brand .imperium-wordmark b span{width:auto;font:inherit;letter-spacing:inherit;color:#28e0e1;display:inline}.imperium-brand .imperium-wordmark small{color:#b8d6e9;letter-spacing:.035em;white-space:nowrap;font:400 9px/1.2 Arial,sans-serif}.navigator-header .navigator-brand{gap:0}.mobile-nav-heading>.imperium-brand{display:flex}.imperium-brand.imperium-brand-hero{background:0 0;flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:22px;padding:0}.imperium-brand-hero .imperium-mark{width:176px;height:88px}.imperium-brand-hero .imperium-wordmark b{font-size:clamp(42px,5vw,68px)}@media (max-width:760px){.navigator-header .imperium-brand{gap:7px;padding:7px 9px}.navigator-header .imperium-mark{width:42px;height:21px}.navigator-header .imperium-wordmark b{font-size:21px}.navigator-header .imperium-wordmark small{display:none}}
:root{--control-height:44px;--control-radius:8px;--control-border:#737b86;--control-error:var(--theme-danger)}html[data-theme=dark]{--control-border:#70849b}@media (prefers-color-scheme:dark){html:not([data-theme]){--control-border:#70849b}}:where(.shared-controls,.navigator-drawer,.project-location-picker,.contractor-selector,.invite-card) :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.search-combobox>input{box-sizing:border-box;width:100%;min-width:0;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--theme-input);color:var(--theme-text);font:inherit;padding:10px 12px;line-height:1.4}:where(.shared-controls,.navigator-drawer,.project-location-picker,.contractor-selector,.invite-card) :is(input,select,textarea)::placeholder{color:var(--theme-muted);opacity:1}:where(.shared-controls,.navigator-drawer,.project-location-picker,.contractor-selector,.invite-card) :is(input,select,textarea,button):focus-visible,.search-combobox>input:focus-visible{outline:3px solid var(--theme-accent);outline-offset:3px}:where(.shared-controls,.navigator-drawer,.project-location-picker,.contractor-selector,.invite-card) :is(input,select,textarea)[aria-invalid=true]{border:2px solid var(--control-error)}:where(.shared-controls,.navigator-drawer,.project-location-picker,.contractor-selector,.invite-card) [role=alert],.field-error{color:var(--control-error);font-size:.875rem;line-height:1.5}:where(.shared-controls,.navigator-drawer,.project-location-picker,.contractor-selector,.invite-card) :disabled{opacity:.65;cursor:not-allowed}:where(.shared-controls,.navigator-drawer,.project-location-picker,.contractor-selector,.invite-card) button{border-radius:var(--control-radius);max-width:100%;min-height:44px;font:inherit;white-space:normal;padding:10px 14px;font-weight:700}:where(.shared-controls,.navigator-drawer,.project-location-picker,.contractor-selector) button.primary{background:var(--theme-accent)!important;color:var(--theme-accent-contrast)!important}.control-secondary{background:var(--theme-surface);color:var(--theme-text);border:1px solid var(--control-border)}.search-combobox{gap:6px;min-width:0;display:grid}.search-combobox>label{font-size:.875rem;font-weight:700}.search-combobox [role=listbox]{overscroll-behavior:contain;border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--theme-surface);max-height:240px;color:var(--theme-text);margin:0;padding:4px;list-style:none;overflow-y:auto}.search-combobox [role=listbox][hidden]{display:none}.search-combobox [role=option]{cursor:pointer;overflow-wrap:anywhere;gap:4px;min-height:44px;padding:10px;display:grid}.search-combobox [role=option].highlighted,.search-combobox [role=option]:hover{background:var(--theme-hover);outline:2px solid var(--theme-accent);outline-offset:-2px}.search-combobox [aria-disabled=true]{opacity:.65;cursor:not-allowed}.search-combobox small,.combobox-empty,.location-selection{color:var(--theme-muted);overflow-wrap:anywhere;font-size:.875rem;line-height:1.5}.combobox-empty{padding:10px}.project-location-picker{border:1px solid var(--control-border);border-radius:var(--control-radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;padding:16px;display:grid}.project-location-picker>label{align-content:start;gap:6px;display:grid}.project-location-picker .location-building-field,.project-location-picker>.wide{grid-column:1/-1;min-width:0}.project-location-picker>button{justify-self:start}.location-selection{margin:8px 0}.navigator-drawer>header{padding-top:max(22px, env(safe-area-inset-top))}.navigator-drawer>header>div{overflow-wrap:anywhere;min-width:0}.navigator-drawer-content{padding-bottom:max(24px, env(safe-area-inset-bottom));scroll-padding-block:20px 110px}.navigator-drawer-content :is(input,select,textarea){scroll-margin-block:24px 110px}.navigator-drawer .edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.navigator-drawer .edit-grid>label{min-width:0}.navigator-drawer .drawer-form-actions{bottom:calc(-1 * max(24px, env(safe-area-inset-bottom)));z-index:2;padding:16px 0 max(16px, env(safe-area-inset-bottom));background:var(--theme-surface);border-top:1px solid var(--theme-border);flex-wrap:wrap;gap:10px;display:flex;position:sticky}@media (max-width:600px){.navigator-drawer .edit-grid,.project-location-picker{grid-template-columns:minmax(0,1fr)}.navigator-drawer{width:100%}}.calendar-page,.master-programme,.contractor-layout.enhanced,.monthly-report-live{--panel:var(--theme-surface);--surface:var(--theme-surface-soft);--page:var(--theme-page);--input-bg:var(--theme-input);--text:var(--theme-text);--ink:var(--theme-text);--muted:var(--theme-muted);--line:var(--theme-border);--accent:var(--theme-accent)}.calendar-page .calendar-toolbar .active,.calendar-page .primary-action{background:var(--theme-accent)!important;color:var(--theme-accent-contrast)!important}.contractor-list>button{background:var(--theme-surface)}.monthly-report-live .monthly-sections h3{color:var(--theme-accent)}.monthly-report-live .monthly-sections p{color:var(--theme-muted)}.project-table .tr em{color:var(--status-info);background:var(--status-info-bg);font-size:12px}.project-table .tr small,.table-tools small{color:var(--theme-muted);font-size:12px}.building-results em{color:var(--status-warning);background:var(--status-warning-bg)}.calendar-page .calendar-event{background:var(--theme-surface-soft);color:var(--theme-text)}.navigator-drawer .edit-grid>label,.project-location-picker>label{font-size:.875rem;line-height:1.5}.navigator-drawer .edit-grid :is(input,select,textarea){font-size:1rem}.navigator-drawer button.primary,.shared-controls button.primary{background:var(--theme-accent)!important;color:var(--theme-accent-contrast)!important}.navigator-drawer .drawer-form-actions button:not(.primary),.navigator-drawer>header .drawer-close{background:var(--theme-surface);color:var(--theme-text);border:1px solid var(--control-border)}
