/* Uses the same flat gk-service language as the valuation and object services. */
.gk-service--engineers .gk-engineers__fields {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px; row-gap: 2px;
}
.gk-service--engineers .gk-engineers__fields .form-group { min-width: 0; margin: 0 0 15px; }
.gk-service--engineers .gk-engineers__fields label {
    display: block; margin-bottom: 7px; color: #3c4150; font-size: 14px; font-weight: 700;
}
.gk-service--engineers .gk-engineers__form-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.gk-service--engineers .gk-engineers__form-actions .btn { min-height: 43px; padding: 9px 19px; }
.gk-engineers__feedback {
    display: flex; gap: 13px; align-items: center; margin: 0 0 20px;
    border: 1px solid #ced6e8; border-left: 4px solid #303f9f;
    padding: 16px; background: #eef2fa;
}
.gk-engineers__feedback.is-error { background: #fff1ef; border-color: #eed2ce; border-left-color: #ff5252; }
.gk-engineers__feedback-copy { flex: 1 1 auto; min-width: 0; }
.gk-engineers__feedback-copy strong { display: block; font-size: 15px; color: #303f9f; }
.gk-engineers__feedback.is-error strong { color: #a23c3c; }
.gk-engineers__feedback-copy p { margin: 3px 0 0; font-size: 14px; color: #575e6b; }
.gk-engineers__spinner {
    width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%;
    border: 3px solid #c6d3ea; border-top-color: #303f9f;
    animation: eng-spin 0.8s linear infinite;
}
@keyframes eng-spin { to { transform: rotate(360deg); } }
.gk-engineers__results { margin: 0 0 22px; scroll-margin-top: 24px; }
.gk-engineers__results-header {
    display: flex; justify-content: space-between; gap: 12px; align-items: baseline;
    background: #303f9f; color: #fff; padding: 15px 18px;
}
.gk-engineers__results-header h3 { font: 700 21px/1.25 Scada, "Open Sans", sans-serif; color: #fff; margin: 0 0 4px; }
.gk-engineers__results-header p { margin: 0; color: #f0f2ff; font-size: 13px; }
.gk-engineers__results-header time { font-size: 12px; color: #e3e7fb; white-space: nowrap; }
.gk-engineers__list { border: 1px solid #d8dce5; border-top: 0; background: #fff; }
.gk-engineers__entry { padding: 16px 18px; border-bottom: 1px solid #e3e4e9; }
.gk-engineers__entry:last-child { border-bottom: 0; }
.gk-engineers__entry-head { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.gk-engineers__entry h4 { margin: 0; color: #303f9f; font: 700 19px/1.3 Scada, "Open Sans", sans-serif; overflow-wrap: anywhere; }
.gk-engineers__status { display: inline-block; padding: 4px 8px; background: #ebeff8; color: #364a84; font-size: 12px; font-weight: 600; }
.gk-engineers__status.is-inactive { background: #f8eeee; color: #ae3e3e; }
.gk-engineers__meta { display: flex; flex-wrap: wrap; gap: 4px 24px; color: #525963; font-size: 13px; margin: 11px 0; }
.gk-engineers__entry .btn { min-height: 39px; padding: 8px 14px; }
.gk-engineers__pages { display: flex; gap: 15px; justify-content: center; align-items: center; margin-top: 16px; }
.gk-engineers__pages span { color: #303f9f; font-weight: 700; text-align: center; }
.gk-engineers__pages button { min-height: 40px; }
.gk-engineers__profile {
    background: #fff; border: 1px solid #d6dae3; border-top: 4px solid #303f9f;
    padding: 18px; margin: 0 0 22px; scroll-margin-top: 24px;
}
.gk-engineers__profile-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.gk-engineers__profile h3 { margin: 0; color: #303f9f; font: 700 20px/1.3 Scada, "Open Sans", sans-serif; }
.gk-engineers__profile h4 { margin: 20px 0 10px; color: #303f9f; font: 700 18px/1.3 Scada, "Open Sans", sans-serif; }
.gk-engineers__profile dl { display: grid; grid-template-columns: minmax(125px, 1fr) 2fr; gap: 8px 14px; margin: 12px 0; }
.gk-engineers__profile dt { font-size: 13px; color: #687181; font-weight: 600; }
.gk-engineers__profile dd { font-size: 14px; margin: 0; overflow-wrap: anywhere; }
.gk-engineers__profile details { padding: 12px; border: 1px solid #dce0e9; margin-bottom: 8px; background: #f6f7fa; }
.gk-engineers__profile summary { color: #303f9f; font-weight: 700; cursor: pointer; }
.gk-engineers__disclaimer { font-size: 12px; line-height: 1.6; color: #69717c; margin: 15px 0; }
.gk-service--engineers [hidden] { display: none !important; }
@media (max-width: 767px) {
    .gk-service--engineers .gk-engineers__fields { grid-template-columns: minmax(0, 1fr); }
    .gk-service--engineers .gk-engineers__form-actions { flex-direction: column; }
    .gk-service--engineers .gk-engineers__form-actions .btn { width: 100%; }
    .gk-engineers__feedback { flex-wrap: wrap; padding: 13px; }
    .gk-engineers__feedback #eng-cancel { width: 100%; }
    .gk-engineers__results-header { flex-direction: column; gap: 7px; }
    .gk-engineers__entry { padding: 14px; }
    .gk-engineers__entry-head { align-items: flex-start; flex-direction: column; gap: 9px; }
    .gk-engineers__entry .btn { width: 100%; }
    .gk-engineers__pages { gap: 8px; }
    .gk-engineers__pages button { padding: 8px; }
    .gk-engineers__profile { padding: 13px; }
    .gk-engineers__profile dl { grid-template-columns: minmax(0, 1fr); gap: 3px; }
}
@media (prefers-reduced-motion: reduce) {
    .gk-engineers__spinner { animation-duration: 2s; }
}

/* Readable annual metrics: independent series, never misleading stacked totals. */
.gk-engineers__activity {
    margin-top: 20px;
    min-width: 0;
}
.gk-engineers__activity-intro,
.gk-engineers__activity-descriptor,
.gk-engineers__activity-note {
    font-size: 13px;
    line-height: 1.55;
    color: #596373;
}
.gk-engineers__activity-intro { margin: 0 0 12px; }
.gk-engineers__activity-descriptor { margin: 10px 0 11px; }
.gk-engineers__activity-controls {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
}
.gk-engineers__activity-metric {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: 0;
    min-height: 43px;
    background: #f0f2f7;
    border: 1px solid #ccd2dd;
    border-radius: 0;
    color: #303f9f;
    font: 600 13px/1.3 Scada, "Open Sans", sans-serif;
    padding: 9px 7px;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
}
.gk-engineers__activity-metric:hover { background: #e4e9f5; }
.gk-engineers__activity-metric[aria-pressed="true"] {
    background: #303f9f;
    border-color: #303f9f;
    color: #fff;
}
.gk-engineers__activity-metric:focus-visible,
.gk-engineers__activity-chart-button:focus-visible {
    outline: 3px solid #1976d2;
    outline-offset: 2px;
}
.gk-engineers__activity-plot {
    border: 1px solid #dce0e9;
    background: #fff;
    padding: 9px 12px;
}
.gk-engineers__activity-chart-row {
    display: grid;
    grid-template-columns: minmax(74px, 98px) minmax(0, 1fr) minmax(56px, 66px);
    align-items: center;
    gap: 11px;
    padding: 6px 0;
    border-bottom: 1px solid #f0f1f4;
    min-width: 0;
}
.gk-engineers__activity-chart-row:last-child { border-bottom: 0; }
.gk-engineers__activity-year {
    font: 600 13px/1.3 Scada, "Open Sans", sans-serif;
    color: #41495a;
}
.gk-engineers__activity-chart-button {
    position: relative;
    display: block;
    width: 100%;
    height: 28px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    cursor: pointer;
    background: #edf0f5;
    border: 1px solid #d9dee9;
    border-radius: 0;
}
.gk-engineers__activity-chart-button:hover,
.gk-engineers__activity-chart-button[aria-pressed="true"] {
    border-color: #303f9f;
    background: #dce5f6;
}
.gk-engineers__activity-bar {
    display: block;
    height: 100%;
    background: #1976d2;
    pointer-events: none;
    transition: width 190ms ease-out;
}
.gk-engineers__activity-chart-button[aria-pressed="true"] .gk-engineers__activity-bar {
    background: #303f9f;
}
.gk-engineers__activity-number {
    font-size: 13px;
    font-weight: 700;
    color: #303f9f;
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.gk-engineers__activity-selected {
    padding: 13px 15px;
    background: #edf2fa;
    border: 1px solid #d4dbea;
    border-left: 4px solid #303f9f;
    margin: 13px 0 10px;
}
.gk-engineers__activity-selected-title {
    display: block;
    margin-bottom: 8px;
    color: #303f9f;
    font: 700 15px/1.3 Scada, "Open Sans", sans-serif;
}
.gk-engineers__profile .gk-engineers__activity-selected dl {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(72px, 1fr);
    gap: 7px 12px;
    margin: 0;
}
.gk-engineers__activity-selected dl dt { font-size: 13px; color: #50586b; }
.gk-engineers__activity-selected dl dd {
    text-align: right;
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #303f9f;
    overflow-wrap: normal;
}
.gk-engineers__activity-note { margin: 12px 0; }
.gk-engineers__profile .gk-engineers__activity-table-wrap {
    margin: 10px 0 0;
    background: #f5f6fa;
    border: 1px solid #d8dce6;
    padding: 0;
}
.gk-engineers__activity-table-wrap > summary {
    padding: 12px 14px;
    font-size: 14px;
    cursor: pointer;
}
.gk-engineers__activity-table-scroll { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.gk-engineers__activity-table {
    width: 100%;
    min-width: 690px;
    border-collapse: collapse;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}
.gk-engineers__activity-table caption {
    padding: 8px 12px;
    text-align: left;
    color: #596373;
    font-size: 12px;
}
.gk-engineers__activity-table th,
.gk-engineers__activity-table td {
    padding: 10px 11px;
    border: 1px solid #d8dce6;
    text-align: right;
}
.gk-engineers__activity-table th {
    white-space: normal;
    background: #e8ebf3;
    color: #303f9f;
    font-weight: 700;
}
.gk-engineers__activity-table th:first-child,
.gk-engineers__activity-table td:first-child { text-align: left; }
.gk-engineers__activity-table tr:nth-child(even) { background: #f3f5fa; }
@media (max-width: 900px) {
    .gk-engineers__activity-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
    .gk-engineers__activity-plot { padding: 8px; }
    .gk-engineers__activity-chart-row {
        grid-template-columns: 68px minmax(0, 1fr) 56px;
        gap: 5px;
    }
    .gk-engineers__activity-year,
    .gk-engineers__activity-number { font-size: 12px; }
    .gk-engineers__activity-metric { font-size: 12px; min-height: 46px; }
    .gk-engineers__profile .gk-engineers__activity-selected dl {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}
@media (prefers-reduced-motion: reduce) {
    .gk-engineers__activity-bar { transition: none; }
}

/* Expand one selected engineer within its list entry, never after pagination. */
.gk-engineers__entry > .gk-engineers__profile {
    margin: 16px 0 0;
    padding: 17px;
    background: #f8f9fc;
    border: 1px solid #d4d9e5;
    border-left: 4px solid #303f9f;
}
.gk-engineers__detail-button:disabled {
    cursor: wait;
    opacity: .7;
}
.gk-engineers__detail-loading {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 74px;
    margin: 13px 0 0;
    padding: 14px 16px;
    background: #edf2fa;
    border: 1px solid #cfd8e9;
    border-left: 4px solid #303f9f;
}
.gk-engineers__detail-loading.is-error {
    background: #fff2f0;
    border-color: #edd4d0;
    border-left-color: #ff5252;
}
.gk-engineers__detail-spinner {
    flex: 0 0 31px;
    width: 31px;
    height: 31px;
    border: 3px solid #cad5eb;
    border-top-color: #303f9f;
    border-radius: 50%;
    animation: eng-spin .75s linear infinite;
}
.gk-engineers__detail-loading-copy {
    min-width: 0;
    flex: 1 1 auto;
}
.gk-engineers__detail-loading-copy strong {
    display: block;
    margin-bottom: 4px;
    font: 700 15px/1.3 Scada, "Open Sans", sans-serif;
    color: #303f9f;
}
.gk-engineers__detail-loading.is-error strong { color: #aa4040; }
.gk-engineers__detail-loading-copy p {
    margin: 0;
    color: #536077;
    line-height: 1.5;
    font-size: 13px;
}
.gk-engineers__detail-cancel {
    flex: 0 0 auto;
    min-height: 38px;
}
@media (max-width: 767px) {
    .gk-engineers__entry > .gk-engineers__profile { margin-top: 12px; padding: 12px; }
    .gk-engineers__detail-loading { padding: 12px; flex-wrap: wrap; }
    .gk-engineers__detail-loading-copy { flex: 1 1 calc(100% - 50px); }
    .gk-engineers__entry .gk-engineers__detail-cancel { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .gk-engineers__detail-spinner { animation-duration: 2s; }
}

/* Annual totals and quarter selection: 3/6/9/12 months are cumulative,
 * so the metric total tab sums only each year's last known observation. */
.gk-engineers__activity-controls {
    gap: 9px;
    margin: 14px 0 12px;
}
.gk-engineers__activity-metric {
    flex-direction: column;
    gap: 5px;
    justify-content: center;
    min-height: 82px;
    background: #eff2f8;
    border: 1px solid #cfd5e2;
    border-top: 3px solid #303f9f;
}
.gk-engineers__activity-metric[aria-selected="true"] {
    color: #fff;
    background: #303f9f;
    border-color: #303f9f;
}
.gk-engineers__activity-metric[aria-selected="true"] .gk-engineers__activity-tab-value,
.gk-engineers__activity-metric[aria-selected="true"] .gk-engineers__activity-tab-label {
    color: #fff;
}
.gk-engineers__activity-tab-value {
    color: #303f9f;
    font: 700 26px/1.05 Scada, "Open Sans", sans-serif;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}
.gk-engineers__activity-tab-label {
    color: #505a72;
    font: 600 12px/1.35 Scada, "Open Sans", sans-serif;
}
.gk-engineers__activity-quarterly {
    margin: 14px 0;
    padding: 14px;
    border: 1px solid #d7dce7;
    border-left: 4px solid #303f9f;
    background: #f7f8fb;
}
.gk-engineers__activity-quarterly-heading {
    color: #303f9f;
    font: 700 15px/1.3 Scada, "Open Sans", sans-serif;
    margin: 0 0 12px;
}
.gk-engineers__activity-quarters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}
.gk-engineers__activity-quarter {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: left;
    gap: 7px;
    padding: 10px;
    min-height: 78px;
    min-width: 0;
    border: 1px solid #cdd5e4;
    border-radius: 0;
    background: #fff;
    color: #303f9f;
    cursor: pointer;
}
.gk-engineers__activity-quarter:hover { background: #eaf0fa; }
.gk-engineers__activity-quarter[aria-pressed="true"] {
    border-color: #303f9f;
    box-shadow: inset 0 0 0 1px #303f9f;
    background: #e8edf9;
}
.gk-engineers__activity-quarter:disabled {
    opacity: .55;
    cursor: default;
}
.gk-engineers__activity-quarter-label {
    font: 600 12px/1.3 Scada, "Open Sans", sans-serif;
}
.gk-engineers__activity-quarter-track {
    height: 7px;
    background: #e0e6f2;
    width: 100%;
}
.gk-engineers__activity-quarter-bar {
    display: block;
    height: 100%;
    background: #1976d2;
    transition: width 160ms ease-out;
}
.gk-engineers__activity-quarter[aria-pressed="true"] .gk-engineers__activity-quarter-bar {
    background: #303f9f;
}
.gk-engineers__activity-quarter-value {
    font: 700 19px/1.15 Scada, "Open Sans", sans-serif;
    font-variant-numeric: tabular-nums;
}
.gk-engineers__activity-note {
    padding: 11px 13px;
    border: 1px solid #dbe0eb;
    background: #f6f7fa;
}
.gk-engineers__activity-chart-row[hidden] { display: none; }
.gk-engineers__activity-chart-button:disabled { cursor: default; opacity: .45; }
@media (max-width: 900px) {
    .gk-engineers__activity-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .gk-engineers__activity-tab-value { font-size: 23px; }
    .gk-engineers__activity-metric { padding: 8px 7px; min-height: 75px; }
    .gk-engineers__activity-quarters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gk-engineers__activity-quarterly { padding: 10px; }
    .gk-engineers__activity-year { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
    .gk-engineers__activity-quarter-bar { transition: none; }
}
