/* Project open refinement final overrides */
.project-hero .project-title-row-open h1 {
    margin: 0;
}

.project-hero .project-title-row-open {
    margin-bottom: var(--space-3);
}

.project-insight-row .startup-action-copy span {
    padding-right: var(--space-2);
}

/* People columns and preview refinements */

.people-columns-button {
    min-width: 110px;
    justify-content: center;
    white-space: nowrap;
}

.people-columns-button.active {
    border-color: rgba(98, 217, 154, .32);
    background: var(--surface-selected);
    color: var(--brand-green-300);
}

.people-columns-popover {
    position: fixed;
    z-index: 90;
    width: 304px;
    border: 1px solid var(--border-strong);
    background: rgba(26, 32, 31, .98);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.people-columns-list {
    display: grid;
    gap: 4px;
    padding: 8px;
}

.people-columns-option {
    min-height: 42px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    padding: 0 10px;
    color: var(--text-secondary);
    cursor: pointer;
}

.people-columns-option:hover {
    background: rgba(255, 255, 255, .035);
    border-color: var(--border-default);
    color: var(--text-primary);
}

.people-columns-option.locked {
    cursor: default;
    color: var(--text-tertiary);
}

.people-columns-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}


/* People tab refinement overrides */
.people-columns-option input {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    accent-color: var(--brand-green-500);
    width: 18px;
    height: 18px;
}

.tree-person-hero .tree-person-hero-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.tree-person-hero .tree-person-hero-top #collapseInspector {
    order: 0;
    margin-left: 0;
    margin-right: auto;
    margin-top: 0;
}

.tree-person-hero .tree-person-hero-top .tree-person-hero-profile {
    order: 1;
    margin-left: auto;
    margin-right: 0;
}

.people-full-profile-cta {
    grid-column: 1 / -1;
    justify-content: flex-start !important;
    text-align: left !important;
    padding-left: 16px !important;
    min-height: 44px;
}

.people-sidebar-toggle-icon svg {
    width: 18px;
    height: 18px;
    display: block;
}

.people-sidebar-toggle-restore svg {
    transform: rotate(180deg);
}

/* People full-profile edit form: canonical Main info control system. */
.person-profile .profile-main-edit-grid {
    --profile-main-control-height: var(--control-height);
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(170px, .72fr);
    gap: 20px 24px;
    align-items: start;
    width: 100%;
    min-width: 0;
}

.person-profile .profile-main-edit-grid .field,
.person-profile .profile-main-edit-grid .genealogy-date-field {
    min-width: 0;
}

.person-profile .profile-main-edit-grid .field label,
.person-profile .profile-main-edit-grid .genealogy-date-field>label {
    display: block;
    min-height: 18px;
    margin-bottom: 8px;
    color: var(--text-secondary);
    font-weight: 800;
    line-height: 1.2;
}

.person-profile .profile-main-edit-grid .genealogy-date-field>label {
    margin-bottom: 0;
}

.person-profile .profile-main-edit-grid input,
.person-profile .profile-main-edit-grid select,
.person-profile .profile-main-edit-grid .add-person-status-button,
.person-profile .profile-main-edit-grid .genealogy-date-type,
.person-profile .profile-main-edit-grid .genealogy-date-input,
.person-profile .profile-main-edit-grid .genealogy-date-details-button {
    box-sizing: border-box;
    width: 100%;
    min-height: var(--profile-main-control-height);
    height: var(--profile-main-control-height);
    max-height: var(--profile-main-control-height);
}

.person-profile .profile-main-edit-grid .add-person-select-field,
.person-profile .profile-main-edit-grid .profile-status-field {
    position: relative;
    z-index: 6;
}

.person-profile .profile-main-edit-grid .add-person-select,
.person-profile .profile-main-edit-grid .add-person-status-button {
    padding-right: 44px;
}

.person-profile .profile-main-edit-grid .add-person-select {
    appearance: none;
    -webkit-appearance: none;
}

.person-profile .profile-main-edit-grid .add-person-select-chevron,
.person-profile .profile-main-edit-grid .add-person-status-chevron {
    position: absolute;
    right: 14px;
    bottom: 0;
    width: 20px;
    height: var(--profile-main-control-height);
    display: inline-grid;
    place-items: center;
    color: var(--text-secondary);
    pointer-events: none;
}

.person-profile .profile-main-edit-grid .add-person-select-chevron svg,
.person-profile .profile-main-edit-grid .add-person-status-chevron svg {
    width: 16px;
    height: 16px;
    display: block;
}

.person-profile .profile-main-edit-grid .add-person-status-menu {
    z-index: 180;
}

.person-profile .profile-main-edit-grid .genealogy-date-controls {
    align-items: start;
    min-width: 0;
}

.person-profile .profile-main-edit-grid .genealogy-date-inline-range {
    --genealogy-date-type-column:
        minmax(160px, 188px);

    --genealogy-date-input-column:
        minmax(0, 1fr);

    --genealogy-date-column-gap:
        var(--space-2);
}

/* Profile Other: Baptism uses the shared layout. */
.person-profile .profile-other-baptism-date {
    --genealogy-date-type-column:
        minmax(104px, .8fr);

    --genealogy-date-input-column:
        minmax(220px, 1fr);

    --genealogy-date-column-gap:
        var(--space-2);
}

.person-profile .profile-main-edit-grid .genealogy-date-details-button {
    width: var(--control-icon-button-size);
    min-width: var(--control-icon-button-size);
    padding: 0;
    place-self: start;
}

.person-profile .profile-main-edit-grid .genealogy-date-details-button svg {
    width: 18px;
    height: 18px;
    display: block;
}

.person-profile .profile-field-gender {
    grid-column: 1;
    grid-row: 1;
}

.person-profile .profile-field-living {
    grid-column: 2;
    grid-row: 1;
}

.person-profile .profile-field-first {
    grid-column: 1;
    grid-row: 2;
}

.person-profile .profile-field-last {
    grid-column: 2;
    grid-row: 2;
}

.person-profile .profile-field-prefix {
    grid-column: 3;
    grid-row: 2;
}

.person-profile .profile-field-patronym {
    grid-column: 1;
    grid-row: 3;
}

.person-profile .profile-field-maiden {
    grid-column: 2;
    grid-row: 3;
}

.person-profile .profile-field-suffix {
    grid-column: 3;
    grid-row: 3;
}

.person-profile .profile-field-birth-date {
    grid-column: 1;
    grid-row: 4;
}

.person-profile .profile-field-birth-place {
    grid-column: 2 / 4;
    grid-row: 4;
}

.person-profile .profile-field-death-date {
    grid-column: 1;
    grid-row: 5;
}

.person-profile .profile-field-death-place {
    grid-column: 2 / 4;
    grid-row: 5;
}

.person-profile .profile-field-death-reason {
    grid-column: 1;
    grid-row: 6;
}

.person-profile .profile-field-burial-place {
    grid-column: 2 / 4;
    grid-row: 6;
}

.person-profile .profile-main-edit-grid.no-maiden .profile-field-maiden,
.person-profile .profile-main-edit-grid:not(.has-maiden) .profile-field-maiden,
.person-profile #profileInlineMaiden[hidden] {
    display: none !important;
}

.person-profile .profile-death-fields-group {
    display: contents;
}

.person-profile .profile-death-fields-group[hidden],
.person-profile .profile-main-edit-grid:not(.is-deceased) .profile-field-death-date,
.person-profile .profile-main-edit-grid:not(.is-deceased) .profile-field-death-place,
.person-profile .profile-main-edit-grid:not(.is-deceased) .profile-field-death-reason,
.person-profile .profile-main-edit-grid:not(.is-deceased) .profile-field-burial-place,
.person-profile .profile-field-death-date[hidden],
.person-profile .profile-field-death-place[hidden],
.person-profile .profile-field-death-reason[hidden],
.person-profile .profile-field-burial-place[hidden] {
    display: none !important;
}

.person-profile .profile-card-edit-grid>.genealogy-date-field {
    --genealogy-date-input-column:
        minmax(220px, 1fr);
}

@media (max-width: 1180px) {
    .person-profile .profile-main-edit-grid {
        grid-template-columns: 1fr;
    }

    .person-profile .profile-field-gender,
    .person-profile .profile-field-living,
    .person-profile .profile-field-first,
    .person-profile .profile-field-last,
    .person-profile .profile-field-prefix,
    .person-profile .profile-field-patronym,
    .person-profile .profile-field-maiden,
    .person-profile .profile-field-suffix,
    .person-profile .profile-field-birth-date,
    .person-profile .profile-field-birth-place,
    .person-profile .profile-field-death-date,
    .person-profile .profile-field-death-place,
    .person-profile .profile-field-death-reason,
    .person-profile .profile-field-burial-place {
        grid-column: 1;
        grid-row: auto;
    }
}

/* Project-wide standard form-control height system. Keep standard single-line controls aligned across modules. */
.field input,
.field select,
.compact-select,
.common-select-shell,
.common-select,
.add-person-select,
.add-person-status-button,
.genealogy-date-type,
.genealogy-date-input,
.genealogy-date-details-button {
    box-sizing: border-box;
    height: var(--control-height);
    min-height: var(--control-height);
    max-height: var(--control-height);
}

.common-select-shell {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    height: var(--control-height);
    min-height: var(--control-height);
    max-height: var(--control-height);
}

.common-select {
    display: block;
    width: 100%;
    height: var(--control-height);
    min-height: var(--control-height);
    max-height: var(--control-height);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    background: var(--surface-input);
    color: var(--text-secondary);
    padding: 0 42px 0 var(--space-3);
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    background-image: none;
    cursor: pointer;
}

.common-select:hover {
    background: var(--surface-card-hover);
    border-color: var(--border-strong);
    color: var(--text-primary);
}

.common-select:focus {
    outline: 0;
    border-color: var(--brand-green-500);
    color: var(--text-primary);
}

.common-select-chevron {
    position: absolute;
    top: 0;
    right: 14px;
    bottom: 0;
    z-index: 2;
    width: 18px;
    height: auto;
    display: grid;
    place-items: center;
    color: var(--text-tertiary);
    pointer-events: none;
}

.common-select-chevron svg {
    width: 16px;
    height: 16px;
    display: block;
    transform: rotate(90deg);
}

.common-select-shell:hover .common-select-chevron,
.common-select-shell:focus-within .common-select-chevron {
    color: var(--text-primary);
}

.genealogy-date-field.has-error .common-select {
    border-color: rgba(255, 111, 111, .65);
}

@media (max-width: 720px) {
    .genealogy-date-inline-range.is-between {
        grid-template-columns:
            minmax(0, 1fr) var(--control-icon-button-size);
        grid-template-rows:
            auto var(--control-height) auto var(--control-height) auto var(--control-height);
    }

    .genealogy-date-inline-range.is-between>label {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .genealogy-date-inline-range.is-between .genealogy-date-type-shell {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .genealogy-date-inline-range.is-between .genealogy-date-range-cell:first-child>span {
        grid-column: 1 / -1;
        grid-row: 3;
        margin-top: var(--space-2);
    }

    .genealogy-date-inline-range.is-between [data-genealogy-date-input] {
        grid-column: 1;
        grid-row: 4;
    }

    .genealogy-date-inline-range.is-between .genealogy-date-details-button {
        grid-column: 2;
        grid-row: 4;
    }

    .genealogy-date-inline-range.is-between [data-genealogy-date-to-cell]>span {
        grid-column: 1 / -1;
        grid-row: 5;
        margin-top: var(--space-2);
    }

    .genealogy-date-inline-range.is-between [data-genealogy-date-input-to] {
        grid-column: 1 / -1;
        grid-row: 6;
    }
}
