:root {
    --site-header-height: 72px;
    --site-header-bg: #dce9e7;
    --site-header-ink: #17383d;
    --site-header-muted: #456267;
    --site-header-accent: #176f70;
    --site-header-line: rgba(23, 56, 61, 0.2);
}

.site-header {
    position: relative;
    z-index: 30;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    width: 100%;
    height: var(--site-header-height);
    min-height: var(--site-header-height);
    flex: 0 0 var(--site-header-height);
    align-items: center;
    gap: 20px;
    padding: 0 24px;
    border-bottom: 1px solid var(--site-header-line);
    background: var(--site-header-bg);
    color: var(--site-header-ink);
    font-family: "Barlow Semi Condensed", sans-serif;
}

.site-partner-logos {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 22px;
}

.site-header > .site-partner-logos {
    grid-column: 1;
    justify-self: start;
}

.site-partner-link {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.site-partner-logo {
    display: block;
    width: auto;
    height: 30px;
    object-fit: contain;
}

.site-partner-logo--cedd { width: 120px; }
.site-partner-logo--binnies { width: 128px; height: 36px; }
.site-partner-logo--arup { width: 60px; }

.site-brand-copy {
    display: grid;
    min-width: 0;
    justify-items: center;
    gap: 2px;
    color: var(--site-header-accent);
    font: 500 10px/1.1 "IBM Plex Mono", monospace;
    text-align: center;
    text-transform: uppercase;
}

.site-header > .site-brand-copy {
    grid-column: 2;
    justify-self: center;
}

.site-page-title {
    overflow: hidden;
    color: var(--site-header-ink);
    font: 600 16px/1.1 "Barlow Semi Condensed", sans-serif;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-header-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.site-header > .site-header-actions {
    grid-column: 3;
    justify-self: end;
}

.site-header > .overview-mode-switch {
    position: static;
    left: auto;
    grid-column: 3;
    justify-self: end;
    margin: 0;
    border-color: var(--site-header-line);
    background: rgba(255, 255, 255, 0.36);
    transform: none;
}

.site-header > .overview-mode-switch button { color: var(--site-header-muted); }
.site-header > .overview-mode-switch button:hover { color: var(--site-header-ink); }
.site-header > .overview-mode-switch button[aria-pressed="true"] {
    border-color: rgba(23, 111, 112, 0.36);
    color: var(--site-header-accent);
    background: rgba(23, 111, 112, 0.12);
}
.site-header > .overview-mode-switch button:focus-visible {
    outline-color: var(--site-header-accent);
}
.overview-mode-label-compact { display: none; }

.site-header-link {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border: 1px solid var(--site-header-line);
    color: var(--site-header-muted);
    font: 600 13px/1.1 "Barlow Semi Condensed", sans-serif;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color 140ms ease, color 140ms ease, background-color 140ms ease;
}

.site-header-link:hover {
    border-color: var(--site-header-accent);
    background: rgba(23, 111, 112, 0.08);
    color: var(--site-header-accent);
}

.site-header-link:focus-visible {
    outline: 2px solid var(--site-header-accent);
    outline-offset: 3px;
}

@media (max-width: 900px) {
    :root { --site-header-height: 72px; }
    .site-header {
        grid-template-columns: minmax(0, 1fr) minmax(0, 160px) minmax(0, 1fr);
        grid-template-rows: 1fr;
        gap: 8px;
        padding: 0 16px;
    }
    #dashboard-header.site-header { padding: 0 16px; }
    .site-partner-logos { min-width: 0; gap: 10px; }
    .site-partner-logo { height: 24px; }
    .site-partner-logo--cedd { width: 68px; }
    .site-partner-logo--binnies { width: 84px; height: 26px; }
    .site-partner-logo--arup { width: 34px; }
    .site-brand-copy { font-size: 8px; }
    .site-header > .site-brand-copy { width: 160px; max-width: 100%; }
    .site-page-title { font-size: 13px; }
    .site-header-link { min-height: 32px; padding: 6px 9px; font-size: 12px; }
}

@media (max-width: 600px) {
    .site-header {
        grid-template-columns: minmax(0, 1fr) 110px minmax(0, 1fr);
        gap: 6px;
        padding: 0 10px;
    }
    #dashboard-header.site-header { padding: 0 10px; }
    .site-partner-logos { gap: 4px; }
    .site-partner-logo--cedd { width: 48px; }
    .site-partner-logo--binnies { width: 64px; height: 24px; }
    .site-partner-logo--arup { width: 28px; }
    .site-header > .site-brand-copy { width: 110px; }
    .site-header > .overview-mode-switch { gap: 1px; padding: 2px; }
    .site-header > .overview-mode-switch button { min-height: 28px; padding: 4px 6px; font-size: 9px; }
    .overview-mode-label-full { display: none; }
    .overview-mode-label-compact { display: inline; }
}

@media (max-width: 400px) {
    .site-header {
        grid-template-columns: minmax(0, 1fr) 74px minmax(0, 1fr);
        gap: 4px;
        padding: 0 8px;
    }
    #dashboard-header.site-header { padding: 0 8px; }
    .site-partner-logos { gap: 3px; }
    .site-partner-logo { height: 18px; }
    .site-partner-logo--cedd { width: 32px; }
    .site-partner-logo--binnies { width: 44px; height: 20px; }
    .site-partner-logo--arup { width: 22px; }
    .site-header > .site-brand-copy { width: 74px; }
    .site-page-title { font-size: 10px; }
    .site-header-link { min-height: 28px; padding: 4px 6px; font-size: 9px; }
}

#dashboard-header.site-header {
    display: grid;
    height: var(--site-header-height);
    min-height: var(--site-header-height);
    flex: 0 0 var(--site-header-height);
    border-bottom: 1px solid var(--site-header-line);
    background: var(--site-header-bg);
}

.tank-workspace { inset: var(--site-header-height) 0 0; }

#dashboard-header #overview-view-link.site-header-link {
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid var(--site-header-line);
    color: var(--site-header-muted);
    font: 600 13px/1.1 "Barlow Semi Condensed", sans-serif;
    letter-spacing: 0;
    text-transform: none;
}

#dashboard-header #overview-view-link.site-header-link:hover {
    border-color: var(--site-header-accent);
    background: rgba(23, 111, 112, 0.08);
    color: var(--site-header-accent);
}

@media (max-width: 760px) {
    #dashboard-header #overview-view-link.site-header-link {
        min-height: 32px;
        padding: 6px 9px;
        font-size: 12px;
    }
}

@media (max-width: 400px) {
    #dashboard-header #overview-view-link.site-header-link {
        padding-right: 7px;
        padding-left: 7px;
        font-size: 11px;
    }
}