/* /Components/AccountMenu.razor.rz.scp.css */
.account-menu[b-1od4sj73h0] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 4px;
    padding-left: 10px;
    border-left: 1px solid rgba(0, 0, 0, 0.1);
}

.account-identity[b-1od4sj73h0] {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    color: #2d2d2d;
    text-decoration: none;
}

.account-identity:hover .account-copy strong[b-1od4sj73h0] {
    text-decoration: underline;
}

.account-avatar[b-1od4sj73h0] {
    display: grid;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: #252525;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.account-copy[b-1od4sj73h0] {
    display: flex;
    min-width: 0;
    max-width: 150px;
    flex-direction: column;
    line-height: 1.1;
}

.account-copy strong[b-1od4sj73h0],
.account-copy small[b-1od4sj73h0] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-copy strong[b-1od4sj73h0] {
    font-size: 12px;
}

.account-copy small[b-1od4sj73h0] {
    margin-top: 2px;
    color: #777;
    font-size: 10px;
}

.account-action-link[b-1od4sj73h0],
.account-logout-button[b-1od4sj73h0] {
    padding: 7px 10px;
    border: 1px solid #d8d8d8;
    border-radius: 999px;
    background: #fff;
    color: #3b3b3b;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.account-action-link[b-1od4sj73h0] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.account-action-badge[b-1od4sj73h0] {
    display: grid;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    place-items: center;
    border-radius: 999px;
    background: #b84839;
    color: #fff;
    font-size: 9px;
    line-height: 1;
}

.account-action-link:hover[b-1od4sj73h0],
.account-logout-button:hover[b-1od4sj73h0] {
    background: #f1f1f1;
}

.account-logout-form[b-1od4sj73h0] {
    margin: 0;
}

.mobile-account-menu-trigger[b-1od4sj73h0],
.mobile-account-menu-backdrop[b-1od4sj73h0],
.mobile-account-menu-panel[b-1od4sj73h0] {
    display: none;
}

@media (max-width: 1250px) {
    .account-copy[b-1od4sj73h0],
    .account-action-link[b-1od4sj73h0] {
        display: none;
    }

    .account-menu[b-1od4sj73h0] {
        padding-left: 6px;
    }

    .account-logout-desktop[b-1od4sj73h0] {
        display: none;
    }

    .mobile-account-menu-trigger[b-1od4sj73h0] {
        position: relative;
        display: grid;
        width: 38px;
        height: 34px;
        place-items: center;
        padding: 0;
        border: 1px solid #d8d8d8;
        border-radius: 11px;
        background: #fff;
        color: #333;
        font-size: 18px;
        cursor: pointer;
    }

    .mobile-account-menu-badge[b-1od4sj73h0] {
        position: absolute;
        top: -6px;
        right: -6px;
        display: grid;
        min-width: 18px;
        height: 18px;
        padding: 0 4px;
        place-items: center;
        border: 2px solid #fff;
        border-radius: 999px;
        background: #b84839;
        color: #fff;
        font-size: 8px;
        font-weight: 850;
    }

    .mobile-account-menu-backdrop[b-1od4sj73h0] {
        position: fixed;
        z-index: 88;
        inset: 0;
        display: block;
        padding: 0;
        border: 0;
        background: rgba(0, 0, 0, .28);
    }

    .mobile-account-menu-panel[b-1od4sj73h0] {
        position: fixed;
        z-index: 90;
        top: max(62px, calc(env(safe-area-inset-top) + 8px));
        right: max(8px, env(safe-area-inset-right));
        display: flex;
        width: min(330px, calc(100vw - 16px));
        max-height: calc(100dvh - 70px - env(safe-area-inset-bottom));
        flex-direction: column;
        gap: 10px;
        padding: 13px;
        overflow-y: auto;
        border: 1px solid #d7d3cc;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 22px 62px rgba(0, 0, 0, .28);
        overscroll-behavior: contain;
    }

    .mobile-account-menu-panel header[b-1od4sj73h0] {
        display: flex;
        min-width: 0;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .mobile-account-menu-panel header > div[b-1od4sj73h0] {
        display: flex;
        min-width: 0;
        flex-direction: column;
        gap: 2px;
    }

    .mobile-account-menu-panel header strong[b-1od4sj73h0] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-account-menu-panel header span[b-1od4sj73h0] {
        color: #777;
        font-size: 11px;
    }

    .mobile-account-menu-panel header > button[b-1od4sj73h0] {
        width: 40px;
        height: 40px;
        flex: 0 0 auto;
        border: 1px solid #ddd;
        border-radius: 50%;
        background: #fff;
        color: #444;
        font-size: 23px;
    }

    .mobile-account-menu-panel nav[b-1od4sj73h0] {
        display: grid;
        gap: 6px;
    }

    .mobile-account-menu-panel nav a[b-1od4sj73h0],
    .mobile-account-logout-form button[b-1od4sj73h0] {
        display: flex;
        min-height: 44px;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 9px 12px;
        border: 1px solid #dedad3;
        border-radius: 11px;
        background: #f8f7f4;
        color: #34312e;
        font: inherit;
        font-size: 13px;
        font-weight: 750;
        text-decoration: none;
    }

    .mobile-account-menu-panel nav a strong[b-1od4sj73h0] {
        display: grid;
        min-width: 24px;
        height: 24px;
        padding: 0 6px;
        place-items: center;
        border-radius: 999px;
        background: #b84839;
        color: #fff;
        font-size: 9px;
    }

    .mobile-account-logout-form[b-1od4sj73h0] {
        margin: 0;
    }

    .mobile-account-logout-form button[b-1od4sj73h0] {
        width: 100%;
        justify-content: center;
        border-color: #e0b9b2;
        background: #fff5f3;
        color: #873e34;
    }
}

@media (max-width: 900px) {
    .account-menu[b-1od4sj73h0] {
        gap: 5px;
        margin-left: 0;
    }

    .account-avatar[b-1od4sj73h0],
    .mobile-account-menu-trigger[b-1od4sj73h0] {
        min-width: 40px;
        height: 40px;
    }
}

@media (orientation: landscape) and (max-height: 520px) {
    .mobile-account-menu-panel[b-1od4sj73h0] {
        top: 6px;
        right: max(6px, env(safe-area-inset-right));
        bottom: 6px;
        width: min(360px, calc(100vw - 12px));
        max-height: none;
    }
}
/* /Components/AncestorTreeCanvas.razor.rz.scp.css */
.ancestor-tree-card[b-pnj8okd24z] {
    display: flex;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.ancestor-tree-header[b-pnj8okd24z] {
    display: none;
}

.ancestor-tree-empty[b-pnj8okd24z] {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 0;
    place-items: center;
    padding: 30px;
    border-radius: 20px;
    background: white;
    color: #777;
    text-align: center;
}

.ancestor-canvas-scroll[b-pnj8okd24z] {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
    border: 1px solid #dfdfdf;
    border-radius: 20px;
    background: linear-gradient(#f4f4f4 1px, transparent 1px), linear-gradient(90deg, #f4f4f4 1px, transparent 1px), white;
    background-size: 24px 24px;
}

.ancestor-canvas[b-pnj8okd24z] {
    display: block;
    min-width: 100%;
}

.tree-connection[b-pnj8okd24z] {
    fill: none;
    stroke: #c5c5c5;
    stroke-width: 2;
}

.ancestor-node[b-pnj8okd24z] {
    cursor: pointer;
    outline: none;
}

    .ancestor-node .node-background[b-pnj8okd24z] {
        fill: white;
        stroke: #d7d7d7;
        stroke-width: 1.5;
        transition: fill 120ms ease, stroke 120ms ease;
    }

    .ancestor-node:hover .node-background[b-pnj8okd24z] {
        fill: #f4f4f4;
        stroke: #999;
    }

    .ancestor-node .node-accent[b-pnj8okd24z] {
        fill: #aaa;
    }

    .ancestor-node.male .node-accent[b-pnj8okd24z] {
        fill: #7187b0;
    }

    .ancestor-node.female .node-accent[b-pnj8okd24z] {
        fill: #b17693;
    }

    .ancestor-node.root-node .node-background[b-pnj8okd24z] {
        fill: #f1f1f1;
        stroke: #222;
        stroke-width: 2;
    }

.node-role[b-pnj8okd24z] {
    fill: #777;
    font-size: 11px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.node-name[b-pnj8okd24z] {
    fill: #222;
    font-size: 14px;
    font-weight: 700;
}

.node-life[b-pnj8okd24z] {
    fill: #666;
    font-size: 12px;
}
/* /Components/DocumentSuggestionVisual.razor.rz.scp.css */
.document-suggestion-visual[b-hbx3207qmc] {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #ddd8d0;
    border-radius: 16px;
    background: #f7f5f1;
}

.document-suggestion-visual > header[b-hbx3207qmc] {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 13px;
    border-bottom: 1px solid #e0dcd5;
    background: #fff;
}

.document-suggestion-visual > header span[b-hbx3207qmc] {
    color: #7a6858;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.document-suggestion-visual > header strong[b-hbx3207qmc] {
    min-width: 0;
    overflow: hidden;
    font-size: 11px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.document-suggestion-stage[b-hbx3207qmc] {
    display: grid;
    height: 340px;
    padding: 12px;
    place-items: center;
    overflow: auto;
    background: #292826;
}

.document-suggestion-figure[b-hbx3207qmc] {
    position: relative;
    display: inline-block;
    max-width: 100%;
    line-height: 0;
}

.document-suggestion-figure img[b-hbx3207qmc] {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 310px;
}

.document-suggestion-marker[b-hbx3207qmc] {
    position: absolute;
    box-sizing: border-box;
    border: 3px solid #ffd34f;
    background: rgba(255, 211, 79, .16);
    box-shadow: 0 0 0 2px rgba(20, 20, 20, .7);
}

.document-suggestion-marker span[b-hbx3207qmc] {
    position: absolute;
    left: -2px;
    bottom: calc(100% + 5px);
    max-width: 190px;
    padding: 4px 6px;
    overflow: hidden;
    border-radius: 6px;
    background: rgba(20, 20, 20, .9);
    color: #fff;
    font-size: 9px;
    line-height: 1.2;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.document-suggestion-people[b-hbx3207qmc] {
    display: flex;
    max-height: 120px;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px;
    overflow-y: auto;
}

.document-suggestion-people > span[b-hbx3207qmc] {
    display: flex;
    flex-direction: column;
    padding: 5px 7px;
    border-radius: 8px;
    background: #fff;
    font-size: 10px;
}

.document-suggestion-people small[b-hbx3207qmc] {
    color: #77716a;
}

.document-suggestion-pdf[b-hbx3207qmc] {
    display: block;
    width: 100%;
    height: 340px;
    border: 0;
    background: #fff;
}

.document-suggestion-open[b-hbx3207qmc] {
    display: block;
    padding: 9px 12px;
    color: #3e5e73;
    font-size: 11px;
    font-weight: 750;
    text-align: center;
}

.document-suggestion-empty[b-hbx3207qmc] {
    display: grid;
    min-height: 150px;
    padding: 20px;
    place-items: center;
    color: #77716a;
    font-size: 11px;
    text-align: center;
}
/* /Components/FamilyDocumentUploadModal.razor.rz.scp.css */
.document-upload-backdrop[b-vffofw4phz] {
    position: fixed;
    z-index: 1950;
    inset: 0;
    display: grid;
    box-sizing: border-box;
    padding: 18px;
    place-items: center;
    background: rgba(20, 20, 20, 0.72);
    backdrop-filter: blur(7px);
}

.document-upload-modal[b-vffofw4phz] {
    display: flex;
    width: min(650px, calc(100vw - 36px));
    max-height: calc(100dvh - 36px);
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    color: #2c2a27;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.4);
}

.document-upload-header[b-vffofw4phz] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 18px 16px 22px;
    border-bottom: 1px solid #dfddd8;
}

.document-upload-header > div[b-vffofw4phz] {
    min-width: 0;
}

.document-upload-header span[b-vffofw4phz] {
    color: #876b57;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.document-upload-header h2[b-vffofw4phz] {
    margin: 3px 0 2px;
    font-size: 22px;
}

.document-upload-header p[b-vffofw4phz] {
    margin: 0;
    overflow: hidden;
    color: #706c66;
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.document-upload-header > button[b-vffofw4phz] {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    padding: 0;
    place-items: center;
    border: 1px solid #d6d3ce;
    border-radius: 50%;
    background: #fff;
    font-size: 23px;
    cursor: pointer;
}

.document-upload-message[b-vffofw4phz] {
    margin: auto;
    padding: 30px;
    color: #666;
}

.document-upload-message.error[b-vffofw4phz],
.document-upload-alert[b-vffofw4phz] {
    color: #842f2b;
}

.document-upload-body[b-vffofw4phz] {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 16px;
    padding: 18px 22px;
    overflow-y: auto;
}

.document-upload-form[b-vffofw4phz] {
    display: contents;
}

.document-upload-alert[b-vffofw4phz] {
    padding: 10px 12px;
    border: 1px solid #efcbc7;
    border-radius: 10px;
    background: #fff0ee;
    font-size: 12px;
}

.document-upload-kind[b-vffofw4phz],
.document-upload-picker[b-vffofw4phz] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.document-upload-kind label[b-vffofw4phz],
.document-upload-picker > label[b-vffofw4phz],
.document-upload-fields label > span[b-vffofw4phz] {
    font-size: 11px;
    font-weight: 800;
}

.document-upload-kind-value[b-vffofw4phz],
.document-upload-fields input[b-vffofw4phz] {
    box-sizing: border-box;
    width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid #d1cdc6;
    border-radius: 10px;
    background: #fff;
    color: #302e2b;
    font: inherit;
    font-size: 12px;
}

.document-upload-kind-value[b-vffofw4phz] {
    display: flex;
    align-items: center;
    font-weight: 750;
}

.document-upload-kind small[b-vffofw4phz] {
    color: #77716a;
    font-size: 10px;
}

.document-upload-dropzone[b-vffofw4phz] {
    position: relative;
    display: flex;
    min-height: 112px;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 18px;
    overflow: hidden;
    border: 1px dashed #b7afa4;
    border-radius: 14px;
    background: #f8f6f2;
    text-align: center;
}

.document-upload-empty[b-vffofw4phz] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.document-upload-dropzone input[type="file"][b-vffofw4phz] {
    position: static;
    width: 100%;
    min-height: 38px;
    padding: 7px;
    border: 1px solid #d1cdc6;
    border-radius: 9px;
    background: #fff;
    color: #302e2b;
    font: inherit;
    font-size: 11px;
    cursor: pointer;
}

.document-upload-dropzone input[type="file"][b-vffofw4phz]::file-selector-button {
    min-height: 28px;
    margin-right: 9px;
    padding: 5px 9px;
    border: 1px solid #c9c4bc;
    border-radius: 7px;
    background: #f3f0eb;
    color: #3b3834;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

.document-upload-preview[b-vffofw4phz] {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    text-align: left;
}

.document-upload-preview[hidden][b-vffofw4phz],
.document-upload-preview-media > [hidden][b-vffofw4phz],
.document-upload-empty[hidden][b-vffofw4phz] {
    display: none;
}

.document-upload-preview-media[b-vffofw4phz] {
    display: grid;
    width: 112px;
    height: 82px;
    overflow: hidden;
    place-items: center;
    border: 1px solid #d8d3cc;
    border-radius: 10px;
    background: #ece8e2;
}

.document-upload-preview-media img[b-vffofw4phz] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.document-upload-preview-document[b-vffofw4phz] {
    display: grid;
    width: 52px;
    height: 62px;
    place-items: center;
    border-radius: 6px;
    background: #fff;
    color: #a73a33;
    font-size: 13px;
    font-weight: 850;
    box-shadow: 0 3px 12px rgba(40, 35, 30, 0.12);
}

.document-upload-preview-info[b-vffofw4phz] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.document-upload-preview-info strong[b-vffofw4phz] {
    max-width: 100%;
    overflow: hidden;
    font-size: 13px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.document-upload-empty > span[b-vffofw4phz] {
    font-size: 13px;
    font-weight: 750;
}

.document-upload-dropzone small[b-vffofw4phz] {
    color: #77716a;
    font-size: 10px;
}

.document-upload-fields[b-vffofw4phz] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
}

.document-upload-fields label[b-vffofw4phz] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
}

.document-upload-primary[b-vffofw4phz] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border: 1px solid #dfdbd4;
    border-radius: 12px;
    background: #faf9f7;
    cursor: pointer;
}

.document-upload-primary input[b-vffofw4phz] {
    margin-top: 2px;
}

.document-upload-primary span[b-vffofw4phz] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.document-upload-primary strong[b-vffofw4phz] {
    font-size: 12px;
}

.document-upload-primary small[b-vffofw4phz] {
    color: #77716a;
    font-size: 10px;
}

.document-upload-scope-note[b-vffofw4phz] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 11px 12px;
    border-radius: 12px;
    background: #eef4f8;
    color: #3f5360;
}

.document-upload-scope-note strong[b-vffofw4phz] {
    font-size: 11px;
}

.document-upload-scope-note span[b-vffofw4phz] {
    font-size: 10px;
    line-height: 1.4;
}

.document-upload-footer[b-vffofw4phz] {
    display: flex;
    min-height: 62px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 18px;
    border-top: 1px solid #dfddd8;
    background: #fff;
}

.document-upload-footer button[b-vffofw4phz] {
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid #d2cec8;
    border-radius: 10px;
    background: #fff;
    color: #33302c;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
}

.document-upload-footer button.primary[b-vffofw4phz] {
    border-color: #292723;
    background: #292723;
    color: #fff;
}

.document-upload-footer button:disabled[b-vffofw4phz],
.document-upload-header button:disabled[b-vffofw4phz] {
    cursor: default;
    opacity: 0.5;
}

@media (max-width: 560px) {
    .document-upload-backdrop[b-vffofw4phz] {
        padding: 0;
    }

    .document-upload-modal[b-vffofw4phz] {
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
    }

    .document-upload-header[b-vffofw4phz],
    .document-upload-body[b-vffofw4phz] {
        padding-inline: 14px;
    }

    .document-upload-header[b-vffofw4phz] {
        padding-top: max(14px, env(safe-area-inset-top));
    }

    .document-upload-header > button[b-vffofw4phz] {
        width: 42px;
        height: 42px;
    }

    .document-upload-body[b-vffofw4phz] {
        overscroll-behavior: contain;
    }

    .document-upload-footer[b-vffofw4phz] {
        padding-bottom: max(10px, env(safe-area-inset-bottom));
    }

    .document-upload-footer button[b-vffofw4phz] {
        min-height: 44px;
    }

    .document-upload-fields[b-vffofw4phz] {
        grid-template-columns: minmax(0, 1fr);
    }

    .document-upload-preview[b-vffofw4phz] {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .document-upload-preview-media[b-vffofw4phz] {
        width: 88px;
        height: 68px;
    }
}
/* /Components/FamilyGraphCanvas.razor.rz.scp.css */
.family-canvas-root[b-9sq1mm14ph] {
    display: flex;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.family-canvas-scroll[b-9sq1mm14ph] {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    border: 1px solid #dfdfdf;
    border-radius: 20px;
    background: linear-gradient(#f4f4f4 1px, transparent 1px), linear-gradient(90deg, #f4f4f4 1px, transparent 1px), white;
    background-size: 24px 24px;
}

.family-canvas[b-9sq1mm14ph] {
    display: block;
    min-width: 100%;
    min-height: 100%;
}

.family-canvas-empty[b-9sq1mm14ph] {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: #777;
    background: white;
}

.family-connection[b-9sq1mm14ph] {
    fill: none;
    stroke-width: 2;
}

.parent-connection[b-9sq1mm14ph] {
    stroke: #bebebe;
}

.spouse-connection[b-9sq1mm14ph] {
    stroke: #777;
    stroke-width: 3;
}

.family-node[b-9sq1mm14ph] {
    cursor: pointer;
    outline: none;
}

    .family-node .node-background[b-9sq1mm14ph] {
        fill: white;
        stroke: #d5d5d5;
        stroke-width: 1.25;
        transition: fill 120ms ease, stroke 120ms ease;
    }

    .family-node:hover .node-background[b-9sq1mm14ph] {
        fill: #f3f3f3;
        stroke: #888;
    }

    .family-node .node-accent[b-9sq1mm14ph] {
        fill: #aaa;
    }

    .family-node.male .node-accent[b-9sq1mm14ph] {
        fill: #7187b0;
    }

    .family-node.female .node-accent[b-9sq1mm14ph] {
        fill: #b17693;
    }

    .family-node.root-node .node-background[b-9sq1mm14ph] {
        fill: #f0f0f0;
        stroke: #222;
        stroke-width: 2;
    }

.node-kind[b-9sq1mm14ph] {
    fill: #777;
    font-size: 9px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.node-name[b-9sq1mm14ph] {
    fill: #222;
    font-size: 12px;
    font-weight: 700;
}

.node-life[b-9sq1mm14ph] {
    fill: #666;
    font-size: 10px;
}
/* /Components/FamilyMiniTree.razor.rz.scp.css */
.mini-tree-card[b-5m9joh02n8] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 18px;
    border: 1px solid #e0e0e0;
    border-radius: 22px;
    background: #fbfbfb;
}

.mini-tree-header[b-5m9joh02n8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.eyebrow[b-5m9joh02n8] {
    margin: 0 0 6px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #777;
}

h3[b-5m9joh02n8] {
    margin: 0;
}

.mini-tree-count[b-5m9joh02n8] {
    padding: 6px 10px;
    border-radius: 999px;
    background: white;
    color: #666;
    font-size: 13px;
}

.mini-tree-empty[b-5m9joh02n8] {
    padding: 18px;
    border-radius: 16px;
    background: white;
    color: #777;
}

.mini-tree[b-5m9joh02n8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.tree-generation[b-5m9joh02n8] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    width: 100%;
}

.tree-stem[b-5m9joh02n8] {
    width: 2px;
    height: 18px;
    background: #d8d8d8;
}

.tree-branch-label[b-5m9joh02n8] {
    margin-top: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: white;
    color: #777;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.tree-node[b-5m9joh02n8] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 180px;
    max-width: 260px;
    padding: 13px 14px;
    border: 1px solid #dddddd;
    border-radius: 18px;
    background: white;
    text-align: left;
    cursor: pointer;
}

    .tree-node:hover[b-5m9joh02n8] {
        background: #f4f4f4;
    }

    .tree-node strong[b-5m9joh02n8] {
        line-height: 1.2;
    }

    .tree-node span[b-5m9joh02n8] {
        color: #666;
        font-size: 13px;
    }

    .tree-node .node-role[b-5m9joh02n8] {
        color: #777;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
    }

.selected-node[b-5m9joh02n8] {
    min-width: 260px;
    border-color: #222;
    background: #f1f1f1;
    cursor: default;
}

.tree-node.male[b-5m9joh02n8] {
    box-shadow: inset 4px 0 0 #7b8fb8;
}

.tree-node.female[b-5m9joh02n8] {
    box-shadow: inset 4px 0 0 #b87b98;
}

.tree-node.unknown[b-5m9joh02n8] {
    box-shadow: inset 4px 0 0 #aaaaaa;
}

.tree-node.unloaded[b-5m9joh02n8] {
    opacity: 0.55;
    cursor: not-allowed;
}

.ghost-node[b-5m9joh02n8] {
    min-width: 220px;
    padding: 14px;
    border: 1px dashed #d0d0d0;
    border-radius: 18px;
    color: #777;
    text-align: center;
    background: white;
}

.mini-tree-route-guide[b-5m9joh02n8] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #d7ad55;
    border-radius: 16px;
    background: #fff7dc;
    color: #4f3a12;
}

.mini-tree-route-guide.arrived[b-5m9joh02n8] {
    border-color: #78a68a;
    background: #edf8f0;
    color: #244f32;
}

.route-guide-symbol[b-5m9joh02n8] {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    font-size: 18px;
    font-weight: 800;
}

.mini-tree-route-guide div[b-5m9joh02n8] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.mini-tree-route-guide strong[b-5m9joh02n8] {
    font-size: 14px;
}

.mini-tree-route-guide span:not(.route-guide-symbol)[b-5m9joh02n8] {
    color: inherit;
    font-size: 12px;
    line-height: 1.35;
}

.tree-node.route-step[b-5m9joh02n8] {
    position: relative;
    border-color: #bd7815;
    background: #fff4c9;
    box-shadow:
        inset 4px 0 0 #bd7815,
        0 0 0 3px rgba(189, 120, 21, 0.18),
        0 8px 18px rgba(92, 60, 12, 0.12);
}

.tree-node.route-step:hover[b-5m9joh02n8] {
    border-color: #8f5500;
    background: #ffedaf;
}

.route-step-marker[b-5m9joh02n8] {
    position: absolute;
    top: 9px;
    right: 9px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid rgba(123, 75, 0, 0.22);
    border-radius: 999px;
    background: #7b4b00;
    box-shadow: 0 3px 8px rgba(92, 60, 12, 0.18);
    pointer-events: none;
}

.route-step-marker svg[b-5m9joh02n8] {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: #ffffff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.selected-node.viewer-node[b-5m9joh02n8] {
    border-color: #386c49;
    background: #edf8f0;
    box-shadow: inset 4px 0 0 #4e8a61;
}

.tree-node.route-step[b-5m9joh02n8] {
    padding-right: 48px;
}
/* /Components/FamilyNetworkCanvas.razor.rz.scp.css */
.family-network-root[b-ev1jzr9pld] {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.family-network-scroll[b-ev1jzr9pld] {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    touch-action: none;
    border: 1px solid #dfdfdf;
    border-radius: 20px;
    background:
        linear-gradient(#f2f2f2 1px, transparent 1px),
        linear-gradient(90deg, #f2f2f2 1px, transparent 1px),
        white;
    background-size: 24px 24px;
}

.family-network-canvas[b-ev1jzr9pld] {
    display: block;
}

.family-network-empty[b-ev1jzr9pld] {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: #777;
    background: white;
}

.parent-child-connection[b-ev1jzr9pld],
.union-connection[b-ev1jzr9pld] {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.parent-child-connection[b-ev1jzr9pld] {
    stroke: var(--family-route-color, #696969);
    stroke-width: 2;
}

.direct-parent-connection[b-ev1jzr9pld],
.union-child-connection[b-ev1jzr9pld] {
    stroke: var(--family-route-color, #696969);
}

.union-connection[b-ev1jzr9pld] {
    stroke: var(--family-route-color, #696969);
    stroke-width: 2.5;
}

.former-union[b-ev1jzr9pld] {
    stroke-dasharray: 8 7;
}

.current-union[b-ev1jzr9pld] {
    stroke: var(--family-route-color, #696969);
}

/* Палитра исходного HTML Agelong Tree.
   Серый используется по умолчанию. Зелёный, коралловый и синий
   появляются только у маршрутов, которые пришлось минимально сдвинуть,
   чтобы совпадающие горизонтальные линии не лежали друг на друге. */
.family-route-color-0[b-ev1jzr9pld] {
    --family-route-color: #696969;
}

.family-route-color-1[b-ev1jzr9pld] {
    --family-route-color: #006400;
}

.family-route-color-2[b-ev1jzr9pld] {
    --family-route-color: #ff6347;
}

.family-route-color-3[b-ev1jzr9pld] {
    --family-route-color: #000080;
}

/* Карточки людей имеют один размер. Разница между мужчиной, женщиной,
   ребёнком и взрослым выражается фоном карточки и заглушкой фотографии,
   но не геометрией дерева. */
.family-network-node[b-ev1jzr9pld] {
    cursor: pointer;
    outline: none;
}

.person-card-host[b-ev1jzr9pld] {
    overflow: visible;
}

.person-card[b-ev1jzr9pld] {
    position: relative;
    box-sizing: border-box;
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1.5px solid #a8a8a8;
    border-radius: 7px;
    background: #eeeeeb;
    color: #202020;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
    transition:
        transform 120ms ease,
        border-color 120ms ease,
        box-shadow 120ms ease,
        filter 120ms ease;
}

.family-network-node.male .person-card[b-ev1jzr9pld] {
    border-color: #8199ad;
    border-radius: 5px;
    background: #dcebf6;
}

.family-network-node.female .person-card[b-ev1jzr9pld] {
    border-color: #b89a62;
    border-radius: 18px;
    background: #f4e5bd;
}

.family-network-node.unknown .person-card[b-ev1jzr9pld] {
    border-color: #a6a29a;
    border-radius: 10px;
    background: #ece9e2;
}

.family-network-node.root-node .person-card[b-ev1jzr9pld] {
    border-color: #9e4939;
    background: #ef8c74;
    box-shadow:
        0 0 0 2px rgba(158, 73, 57, 0.16),
        0 5px 12px rgba(95, 44, 34, 0.18);
}

.family-network-node.selected-node .person-card[b-ev1jzr9pld] {
    border-color: #222222;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.92),
        0 0 0 4px rgba(34, 34, 34, 0.7),
        0 6px 14px rgba(0, 0, 0, 0.18);
}

.family-network-node:hover .person-card[b-ev1jzr9pld],
.family-network-node:focus-visible .person-card[b-ev1jzr9pld] {
    transform: translateY(-2px);
    border-color: #3f3f3f;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
    filter: brightness(1.025);
}

/* В исходном HTML Agelong портрет в карточке имел вертикальный
   формат примерно 75 × 100 px. Не растягиваем его на всю ширину
   карточки, иначе размеченная область групповой фотографии смещается. */
.person-card-media[b-ev1jzr9pld] {
    position: relative;
    box-sizing: border-box;
    width: 75px;
    height: 100px;
    margin: 7px auto 0;
    flex: 0 0 100px;
    overflow: hidden;
    border: 1px solid rgba(58, 58, 58, 0.18);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.62);
}

.family-network-node.female .person-card-media[b-ev1jzr9pld] {
    border-radius: 12px;
}

.person-card-photo[b-ev1jzr9pld] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    user-select: none;
}

.person-card-copy[b-ev1jzr9pld] {
    box-sizing: border-box;
    display: grid;
    min-height: 0;
    flex: 1 1 auto;
    grid-template-rows: minmax(0, 1fr) 14px 15px;
    row-gap: 1px;
    padding: 5px 8px 6px;
    text-align: center;
}

.person-card-name[b-ev1jzr9pld] {
    display: flex;
    min-height: 0;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    line-height: 1.04;
}

.person-card-given[b-ev1jzr9pld],
.person-card-surname[b-ev1jzr9pld],
.person-card-maiden[b-ev1jzr9pld],
.person-card-life[b-ev1jzr9pld],
.person-card-relationship[b-ev1jzr9pld] {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.person-card-given[b-ev1jzr9pld] {
    font-size: 11.5px;
    font-weight: 650;
}

.person-card-surname[b-ev1jzr9pld] {
    margin-top: 1px;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.person-card-maiden[b-ev1jzr9pld] {
    min-height: 10px;
    margin-top: 1px;
    color: rgba(35, 35, 35, 0.7);
    font-size: 9px;
    font-style: italic;
}

.person-card-life[b-ev1jzr9pld] {
    color: rgba(35, 35, 35, 0.76);
    font-size: 9.5px;
    line-height: 14px;
}

.person-card-relationship[b-ev1jzr9pld] {
    color: rgba(35, 35, 35, 0.82);
    font-size: 9.5px;
    font-style: italic;
    font-weight: 650;
    line-height: 15px;
}

.family-network-node.root-node .person-card-maiden[b-ev1jzr9pld],
.family-network-node.root-node .person-card-life[b-ev1jzr9pld],
.family-network-node.root-node .person-card-relationship[b-ev1jzr9pld] {
    color: rgba(42, 23, 19, 0.82);
}

.deceased-corner[b-ev1jzr9pld] {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 22px solid #262626;
    border-right: 22px solid transparent;
    pointer-events: none;
}

.family-network-lines[b-ev1jzr9pld] {
    pointer-events: none;
}

.family-network-lines path[b-ev1jzr9pld] {
    vector-effect: non-scaling-stroke;
}

.family-network-controls[b-ev1jzr9pld] {
    position: absolute;
    z-index: 10;
    top: 14px;
    right: 18px;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(8px);
}

.family-network-control-button[b-ev1jzr9pld] {
    height: 32px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #313131;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

.family-network-control-button:hover[b-ev1jzr9pld],
.family-network-control-button:focus-visible[b-ev1jzr9pld] {
    background: #ededed;
    outline: none;
}

.family-network-control-button.square[b-ev1jzr9pld] {
    width: 32px;
    padding: 0;
    font-size: 19px;
    line-height: 1;
}

.family-network-control-button.zoom-value[b-ev1jzr9pld] {
    min-width: 58px;
    font-variant-numeric: tabular-nums;
}

.family-network-control-divider[b-ev1jzr9pld] {
    width: 1px;
    height: 20px;
    margin: 0 3px;
    background: #dddddd;
}

.family-network-surface[b-ev1jzr9pld] {
    position: relative;
    min-width: 100%;
    min-height: 100%;
}

.family-network-canvas[b-ev1jzr9pld] {
    position: absolute;
    transform-origin: 0 0;
    user-select: none;
}

.family-network-scroll[b-ev1jzr9pld] {
    cursor: grab;
    overscroll-behavior: contain;
    touch-action: none;
}

.family-network-scroll.is-panning[b-ev1jzr9pld] {
    cursor: grabbing;
    user-select: none;
}

.family-network-node[b-ev1jzr9pld] {
    cursor: pointer;
}

@media (max-width: 760px) {
    .family-network-controls[b-ev1jzr9pld] {
        top: 8px;
        right: 8px;
    }

    .family-network-control-button[b-ev1jzr9pld] {
        height: 40px;
        min-width: 40px;
        padding: 0 10px;
    }

    .family-network-control-button.square[b-ev1jzr9pld] {
        width: 40px;
    }

    .family-network-control-button.zoom-value[b-ev1jzr9pld] {
        min-width: 54px;
    }

    .family-network-control-button:not(.square):not(.zoom-value)[b-ev1jzr9pld] {
        padding: 0 8px;
        font-size: 0;
    }

    .family-network-control-button[data-family-action="fit"][b-ev1jzr9pld]::after {
        content: "Всё";
        font-size: 11px;
    }

    .family-network-control-button[data-family-action="center-root"][b-ev1jzr9pld]::after {
        content: "Центр";
        font-size: 11px;
    }
}

/* Короткая подсветка после перехода к человеку из списка или панели.
   Она не меняет постоянное состояние выбранной карточки и исчезает сама. */
.family-network-node.located-node .person-card[b-ev1jzr9pld] {
    animation: family-person-located-b-ev1jzr9pld 1.45s ease-out;
}

@keyframes family-person-located-b-ev1jzr9pld {
    0% {
        filter: brightness(1.18);
        box-shadow:
            0 0 0 3px rgba(255, 255, 255, 0.96),
            0 0 0 8px rgba(34, 34, 34, 0.78),
            0 8px 20px rgba(0, 0, 0, 0.22);
    }

    45% {
        filter: brightness(1.07);
        box-shadow:
            0 0 0 3px rgba(255, 255, 255, 0.88),
            0 0 0 6px rgba(34, 34, 34, 0.42),
            0 6px 16px rgba(0, 0, 0, 0.18);
    }

    100% {
        filter: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .family-network-node.located-node .person-card[b-ev1jzr9pld] {
        animation-duration: 1ms;
    }
}
/* /Components/FamilyNetworkElkCanvas.razor.rz.scp.css */
.elk-family-canvas[b-zd4j8skbm7] {
    position: relative;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.elk-family-message[b-zd4j8skbm7] {
    position: absolute;
    z-index: 5;
    top: 20px;
    left: 50%;
    padding: 10px 16px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: white;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

    .elk-family-message.error[b-zd4j8skbm7] {
        color: #8b1d1d;
    }
/* /Components/FlexibleDateInput.razor.rz.scp.css */
.flexible-date-input[b-ze4j3oigiq] {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 7px;
}

.flexible-date-input > input[b-ze4j3oigiq] {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cec7bd;
    border-radius: 10px;
    background: #fff;
    color: #25211d;
    font: inherit;
}

.flexible-date-input > input:focus[b-ze4j3oigiq] {
    border-color: #8c8176;
    outline: 3px solid rgba(92, 83, 74, 0.12);
}

.flexible-date-picker[b-ze4j3oigiq] {
    position: relative;
    display: grid;
    width: 42px;
    min-height: 42px;
    place-items: center;
    overflow: hidden;
    border: 1px solid #cec7bd;
    border-radius: 10px;
    background: #fff;
    color: #514a43;
    cursor: pointer;
}

.flexible-date-picker:hover[b-ze4j3oigiq],
.flexible-date-picker:focus-within[b-ze4j3oigiq] {
    border-color: #8c8176;
    background: #f4f1ec;
    outline: 3px solid rgba(92, 83, 74, 0.12);
}

.flexible-date-picker svg[b-ze4j3oigiq] {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.flexible-date-picker input[type="date"][b-ze4j3oigiq] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-b1tfiyz4ij],
.components-reconnect-repeated-attempt-visible[b-b1tfiyz4ij],
.components-reconnect-failed-visible[b-b1tfiyz4ij],
.components-pause-visible[b-b1tfiyz4ij],
.components-resume-failed-visible[b-b1tfiyz4ij],
.components-rejoining-animation[b-b1tfiyz4ij] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-b1tfiyz4ij],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-b1tfiyz4ij],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-b1tfiyz4ij],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-b1tfiyz4ij],
#components-reconnect-modal.components-reconnect-retrying[b-b1tfiyz4ij],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-b1tfiyz4ij],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-b1tfiyz4ij],
#components-reconnect-modal.components-reconnect-failed[b-b1tfiyz4ij],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-b1tfiyz4ij] {
    display: block;
}


#components-reconnect-modal[b-b1tfiyz4ij] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-b1tfiyz4ij 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-b1tfiyz4ij 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-b1tfiyz4ij 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-b1tfiyz4ij]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-b1tfiyz4ij 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-b1tfiyz4ij {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-b1tfiyz4ij {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-b1tfiyz4ij {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-b1tfiyz4ij] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-b1tfiyz4ij] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-b1tfiyz4ij] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-b1tfiyz4ij] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-b1tfiyz4ij] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-b1tfiyz4ij] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-b1tfiyz4ij] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-b1tfiyz4ij 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-b1tfiyz4ij] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-b1tfiyz4ij {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Admin/DocumentStorage.razor.rz.scp.css */
.document-storage-page[b-p4m2djogv7] {
    width: 100%;
    height: 100dvh;
    padding: 32px 16px 56px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    background: #f3f1ec;
    color: #242321;
}

.document-storage-content[b-p4m2djogv7] {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.document-storage-page-header[b-p4m2djogv7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 22px;
    padding: 24px;
    border: 1px solid #dedbd5;
    border-radius: 22px;
    background: #fff;
}

.document-storage-page-header span[b-p4m2djogv7],
.document-unlinked-section > header span[b-p4m2djogv7] {
    color: #8a7962;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.document-storage-page-header h1[b-p4m2djogv7] {
    margin: 5px 0 8px;
    font-size: clamp(25px, 3vw, 38px);
}

.document-storage-page-header p[b-p4m2djogv7] {
    max-width: 760px;
    margin: 0;
    color: #6e6a64;
    line-height: 1.5;
}

.document-storage-page-header nav[b-p4m2djogv7] {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.document-storage-page-header a[b-p4m2djogv7] {
    padding: 10px 13px;
    border: 1px solid #d4d0ca;
    border-radius: 10px;
    color: #302e2b;
    font-weight: 700;
    text-decoration: none;
}

.document-storage-message[b-p4m2djogv7] {
    margin-bottom: 18px;
    padding: 14px 17px;
    border: 1px solid #c9ddc8;
    border-radius: 14px;
    background: #f1faf0;
    color: #31633a;
}

.document-storage-message.error[b-p4m2djogv7] {
    border-color: #e6bbb6;
    background: #fff3f1;
    color: #852d25;
}

.document-unlinked-section[b-p4m2djogv7] {
    overflow: hidden;
    border: 1px solid #dfd5bd;
    border-radius: 18px;
    background: #fffdf7;
}

.document-unlinked-section > header[b-p4m2djogv7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 20px;
    border-bottom: 1px solid #eee4cf;
}

.document-unlinked-section h2[b-p4m2djogv7] {
    margin: 4px 0 5px;
    font-size: 21px;
}

.document-unlinked-section p[b-p4m2djogv7] {
    margin: 0;
    color: #756f64;
    font-size: 12px;
}

.document-unlinked-section > header > strong[b-p4m2djogv7] {
    display: grid;
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    place-items: center;
    border-radius: 999px;
    background: #eee4ce;
}

.document-storage-empty[b-p4m2djogv7] {
    display: flex;
    min-height: 210px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    color: #706b65;
}

.document-unlinked-list[b-p4m2djogv7] {
    display: grid;
    gap: 8px;
    padding: 12px;
}

.document-unlinked-list article[b-p4m2djogv7] {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) minmax(280px, auto);
    align-items: center;
    gap: 16px;
    padding: 11px 12px;
    border: 1px solid #ebe3d4;
    border-radius: 12px;
    background: #fff;
}

.document-unlinked-preview[b-p4m2djogv7] {
    display: grid;
    width: 112px;
    height: 78px;
    padding: 0;
    overflow: hidden;
    place-items: center;
    border: 1px solid #ded6c7;
    border-radius: 9px;
    background: #ede9e1;
    color: #71695e;
    cursor: pointer;
}

.document-unlinked-preview img[b-p4m2djogv7] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.document-unlinked-preview span[b-p4m2djogv7] {
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.06em;
}

.document-unlinked-preview:disabled[b-p4m2djogv7] {
    opacity: 0.55;
    cursor: default;
}

.document-unlinked-copy[b-p4m2djogv7] {
    min-width: 0;
}

.document-unlinked-copy > span[b-p4m2djogv7],
.document-unlinked-copy small[b-p4m2djogv7] {
    color: #80786d;
    font-size: 10px;
}

.document-unlinked-copy h3[b-p4m2djogv7] {
    margin: 3px 0;
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.document-unlinked-actions[b-p4m2djogv7] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px;
}

.document-unlinked-actions button[b-p4m2djogv7],
.document-unlinked-actions a[b-p4m2djogv7] {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 0 11px;
    border: 1px solid #d1cbc0;
    border-radius: 9px;
    background: #fff;
    color: #3b3834;
    font: inherit;
    font-size: 11px;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.document-unlinked-actions button.assign[b-p4m2djogv7],
.document-preview-dialog button.assign[b-p4m2djogv7] {
    border-color: #91b497;
    background: #eff8f0;
    color: #2c6637;
}

.document-unlinked-actions button.danger[b-p4m2djogv7] {
    border-color: #d5aaa4;
    background: #fff7f5;
    color: #84271f;
}

.document-unlinked-actions button:disabled[b-p4m2djogv7],
.document-preview-dialog button:disabled[b-p4m2djogv7] {
    opacity: 0.5;
    cursor: default;
}

.document-preview-backdrop[b-p4m2djogv7] {
    position: fixed;
    z-index: 1600;
    inset: 0;
    display: grid;
    padding: 24px;
    place-items: center;
    background: rgba(31, 28, 24, 0.72);
    backdrop-filter: blur(5px);
}

.document-preview-dialog[b-p4m2djogv7] {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(1040px, 100%);
    height: min(820px, calc(100dvh - 48px));
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.32);
}

.document-preview-dialog > header[b-p4m2djogv7],
.document-preview-dialog > footer[b-p4m2djogv7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 18px;
    border-bottom: 1px solid #e7e2da;
}

.document-preview-dialog > header span[b-p4m2djogv7] {
    color: #8a7962;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.document-preview-dialog > header h2[b-p4m2djogv7] {
    margin: 3px 0 0;
    font-size: 18px;
}

.document-preview-dialog > header button[b-p4m2djogv7] {
    width: 38px;
    height: 38px;
    border: 1px solid #d6d1c9;
    border-radius: 999px;
    background: #fff;
    font-size: 24px;
    cursor: pointer;
}

.document-preview-body[b-p4m2djogv7] {
    display: grid;
    min-height: 0;
    overflow: auto;
    place-items: center;
    background: #262421;
}

.document-preview-body img[b-p4m2djogv7] {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.document-preview-body iframe[b-p4m2djogv7] {
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}

.document-preview-unavailable[b-p4m2djogv7] {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 12px;
    color: #eee;
}

.document-preview-unavailable strong[b-p4m2djogv7] {
    font-size: 42px;
}

.document-preview-dialog > footer[b-p4m2djogv7] {
    justify-content: flex-end;
    border-top: 1px solid #e7e2da;
    border-bottom: 0;
}

.document-preview-dialog > footer a[b-p4m2djogv7],
.document-preview-dialog > footer button[b-p4m2djogv7] {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 0 14px;
    border: 1px solid #d1cbc3;
    border-radius: 10px;
    background: #fff;
    color: #302d29;
    font: inherit;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

@media (max-width: 820px) {
    .document-storage-page[b-p4m2djogv7] {
        padding: 14px 10px 32px;
    }

    .document-storage-page-header[b-p4m2djogv7] {
        padding: 17px 14px;
        flex-direction: column;
        gap: 14px;
    }

    .document-storage-page-header nav[b-p4m2djogv7],
    .document-storage-page-header a[b-p4m2djogv7] {
        width: 100%;
    }

    .document-storage-page-header nav[b-p4m2djogv7] {
        justify-content: flex-start;
    }

    .document-storage-page-header a[b-p4m2djogv7] {
        text-align: center;
    }

    .document-unlinked-list article[b-p4m2djogv7] {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .document-unlinked-preview[b-p4m2djogv7] {
        width: 92px;
        height: 68px;
    }

    .document-unlinked-actions[b-p4m2djogv7] {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .document-unlinked-actions button[b-p4m2djogv7],
    .document-unlinked-actions a[b-p4m2djogv7] {
        min-height: 40px;
        flex: 1 1 140px;
        justify-content: center;
    }

    .document-preview-backdrop[b-p4m2djogv7] {
        padding: 8px;
    }

    .document-preview-dialog[b-p4m2djogv7] {
        height: calc(100dvh - 16px);
        border-radius: 14px;
    }

    .document-preview-dialog > footer[b-p4m2djogv7] {
        overflow-x: auto;
    }
}
/* /Components/Pages/Admin/DocumentTrash.razor.rz.scp.css */
.document-trash-page[b-l89podf7uc] {
    box-sizing: border-box;
    width: 100%;
    height: 100dvh;
    padding: 32px 16px 56px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    background: #f3f1ec;
    color: #242321;
}

.document-trash-content[b-l89podf7uc] {
    width: min(1080px, 100%);
    margin: 0 auto;
}

.document-trash-page-header[b-l89podf7uc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 22px;
    padding: 24px;
    border: 1px solid #dedbd5;
    border-radius: 22px;
    background: #fff;
}

.document-trash-page-header span[b-l89podf7uc],
.document-trash-kind[b-l89podf7uc],
.document-trash-details > div > span[b-l89podf7uc] {
    color: #8a7962;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.document-trash-page-header h1[b-l89podf7uc] {
    margin: 5px 0 8px;
    font-size: clamp(25px, 3vw, 38px);
}

.document-trash-page-header p[b-l89podf7uc] {
    max-width: 720px;
    margin: 0;
    color: #6e6a64;
    line-height: 1.5;
}

.document-trash-page-header nav[b-l89podf7uc] {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.document-trash-page-header a[b-l89podf7uc] {
    padding: 10px 13px;
    border: 1px solid #d4d0ca;
    border-radius: 10px;
    color: #302e2b;
    font-weight: 700;
    text-decoration: none;
}

.document-trash-message[b-l89podf7uc],
.document-trash-empty[b-l89podf7uc] {
    margin-bottom: 18px;
    padding: 16px 18px;
    border: 1px solid #c9ddc8;
    border-radius: 14px;
    background: #f1faf0;
}

.document-trash-message.error[b-l89podf7uc] {
    border-color: #e6bbb6;
    background: #fff3f1;
    color: #852d25;
}

.document-trash-empty[b-l89podf7uc] {
    display: flex;
    min-height: 180px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    border-color: #dedbd5;
    background: #fff;
    color: #706b65;
}

.document-trash-list[b-l89podf7uc] {
    display: grid;
    gap: 14px;
}

.document-trash-section[b-l89podf7uc] {
    margin-bottom: 22px;
}

.document-trash-section-header[b-l89podf7uc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
    padding: 0 4px;
}

.document-trash-section-header span[b-l89podf7uc],
.document-unlinked-section > header span[b-l89podf7uc] {
    color: #8a7962;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.document-trash-section-header h2[b-l89podf7uc] {
    margin: 4px 0 5px;
    font-size: 21px;
}

.document-trash-section-header p[b-l89podf7uc] {
    margin: 0;
    color: #756f64;
    font-size: 12px;
}

.document-trash-section-header > strong[b-l89podf7uc] {
    display: grid;
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    place-items: center;
    border-radius: 999px;
    background: #e5e1da;
}

.document-unlinked-section[b-l89podf7uc] {
    margin-bottom: 22px;
    overflow: hidden;
    border: 1px solid #dfd5bd;
    border-radius: 18px;
    background: #fffdf7;
}

.document-unlinked-section > header[b-l89podf7uc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 20px;
    border-bottom: 1px solid #eee4cf;
}

.document-unlinked-section h2[b-l89podf7uc] {
    margin: 4px 0 5px;
    font-size: 19px;
}

.document-unlinked-section p[b-l89podf7uc] {
    margin: 0;
    color: #756f64;
    font-size: 12px;
}

.document-unlinked-section > header > strong[b-l89podf7uc] {
    display: grid;
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    place-items: center;
    border-radius: 999px;
    background: #eee4ce;
}

.document-unlinked-list[b-l89podf7uc] {
    display: grid;
    gap: 8px;
    padding: 12px;
}

.document-unlinked-list article[b-l89podf7uc] {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 11px 12px;
    border: 1px solid #ebe3d4;
    border-radius: 12px;
    background: #fff;
}

.document-unlinked-copy > span[b-l89podf7uc],
.document-unlinked-list article small[b-l89podf7uc] {
    color: #80786d;
    font-size: 10px;
}

.document-unlinked-list article h3[b-l89podf7uc] {
    margin: 2px 0;
    font-size: 14px;
}

.document-unlinked-preview[b-l89podf7uc] {
    display: grid;
    width: 92px;
    height: 68px;
    padding: 0;
    overflow: hidden;
    place-items: center;
    border: 1px solid #ded6c7;
    border-radius: 9px;
    background: #ede9e1;
    color: #71695e;
    cursor: pointer;
}

.document-unlinked-preview img[b-l89podf7uc] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.document-unlinked-preview span[b-l89podf7uc] {
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.06em;
}

.document-unlinked-preview:disabled[b-l89podf7uc] {
    opacity: 0.55;
    cursor: default;
}

.document-unlinked-copy[b-l89podf7uc] {
    min-width: 0;
}

.document-unlinked-copy h3[b-l89podf7uc] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.document-unlinked-actions[b-l89podf7uc] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px;
}

.document-unlinked-actions button[b-l89podf7uc],
.document-unlinked-actions a[b-l89podf7uc] {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid #d1cbc0;
    border-radius: 9px;
    background: #fff;
    color: #3b3834;
    font: inherit;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
    text-decoration: none;
}

.document-unlinked-actions a[b-l89podf7uc] {
    display: inline-flex;
    align-items: center;
}

.document-unlinked-actions button.danger[b-l89podf7uc] {
    border-color: #d5aaa4;
    background: #fff7f5;
    color: #84271f;
}

.document-unlinked-actions button:disabled[b-l89podf7uc] {
    opacity: 0.5;
    cursor: default;
}

.document-trash-item[b-l89podf7uc] {
    overflow: hidden;
    border: 1px solid #dedbd5;
    border-radius: 18px;
    background: #fff;
}

.document-trash-item > header[b-l89podf7uc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px 14px;
    border-bottom: 1px solid #eeeae4;
}

.document-trash-item h2[b-l89podf7uc] {
    margin: 4px 0 5px;
    font-size: 19px;
}

.document-trash-item header p[b-l89podf7uc] {
    margin: 0;
    color: #77716a;
    font-size: 12px;
}

.document-trash-id[b-l89podf7uc] {
    color: #8b857d;
    font-size: 12px;
    font-weight: 800;
}

.document-trash-header-actions[b-l89podf7uc] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.document-trash-header-actions button[b-l89podf7uc] {
    min-height: 36px;
    padding: 0 13px;
    border: 1px solid #8fb596;
    border-radius: 10px;
    background: #eef8f0;
    color: #285f34;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.document-trash-header-actions button.danger[b-l89podf7uc] {
    border-color: #d9aaa5;
    background: #fff;
    color: #8a2921;
}

.document-trash-header-actions button:disabled[b-l89podf7uc] {
    opacity: 0.55;
    cursor: default;
}

.document-trash-details[b-l89podf7uc] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.36fr);
    gap: 22px;
    padding: 16px 20px;
}

.document-trash-details p[b-l89podf7uc],
.document-trash-details ul[b-l89podf7uc] {
    margin: 8px 0 0;
}

.document-trash-details ul[b-l89podf7uc] {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 0;
    list-style: none;
}

.document-trash-details li[b-l89podf7uc] {
    padding: 6px 8px;
    border-radius: 9px;
    background: #f3f1ed;
    font-size: 12px;
}

.document-trash-details li small[b-l89podf7uc] {
    display: block;
    margin-top: 2px;
    color: #906b24;
    font-size: 9px;
}

.document-trash-storage[b-l89podf7uc] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.document-trash-storage strong[b-l89podf7uc] {
    color: #376c3c;
    font-size: 12px;
}

.document-trash-storage strong.missing[b-l89podf7uc] {
    color: #9c3027;
}

.document-preview-backdrop[b-l89podf7uc] {
    position: fixed;
    z-index: 1600;
    inset: 0;
    display: grid;
    padding: 24px;
    place-items: center;
    background: rgba(31, 28, 24, 0.72);
    backdrop-filter: blur(5px);
}

.document-preview-dialog[b-l89podf7uc] {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(1040px, 100%);
    height: min(820px, calc(100dvh - 48px));
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.32);
}

.document-preview-dialog > header[b-l89podf7uc],
.document-preview-dialog > footer[b-l89podf7uc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 18px;
    border-bottom: 1px solid #e7e2da;
}

.document-preview-dialog > header span[b-l89podf7uc] {
    color: #8a7962;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.document-preview-dialog > header h2[b-l89podf7uc] {
    margin: 3px 0 0;
    font-size: 18px;
}

.document-preview-dialog > header button[b-l89podf7uc] {
    width: 38px;
    height: 38px;
    border: 1px solid #d6d1c9;
    border-radius: 999px;
    background: #fff;
    font-size: 24px;
    cursor: pointer;
}

.document-preview-body[b-l89podf7uc] {
    display: grid;
    min-height: 0;
    overflow: auto;
    place-items: center;
    background: #262421;
}

.document-preview-body img[b-l89podf7uc] {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.document-preview-body iframe[b-l89podf7uc] {
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}

.document-preview-unavailable[b-l89podf7uc] {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 12px;
    color: #eee;
}

.document-preview-unavailable strong[b-l89podf7uc] {
    font-size: 42px;
}

.document-preview-dialog > footer[b-l89podf7uc] {
    justify-content: flex-end;
    border-top: 1px solid #e7e2da;
    border-bottom: 0;
}

.document-preview-dialog > footer a[b-l89podf7uc],
.document-preview-dialog > footer button[b-l89podf7uc] {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 0 14px;
    border: 1px solid #d1cbc3;
    border-radius: 10px;
    background: #fff;
    color: #302d29;
    font: inherit;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

@media (max-width: 700px) {
    .document-trash-page[b-l89podf7uc] {
        padding: 14px 10px 32px;
    }

    .document-trash-page-header[b-l89podf7uc] {
        padding: 17px 14px;
        flex-direction: column;
        gap: 14px;
    }

    .document-trash-page-header nav[b-l89podf7uc],
    .document-trash-page-header a[b-l89podf7uc] {
        width: 100%;
    }

    .document-trash-page-header nav[b-l89podf7uc] {
        justify-content: flex-start;
    }

    .document-trash-page-header a[b-l89podf7uc] {
        text-align: center;
    }

    .document-trash-details[b-l89podf7uc] {
        grid-template-columns: 1fr;
    }

    .document-trash-item > header[b-l89podf7uc],
    .document-unlinked-list article[b-l89podf7uc] {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .document-trash-item > header[b-l89podf7uc] {
        flex-direction: column;
    }

    .document-trash-header-actions[b-l89podf7uc] {
        justify-content: flex-start;
    }

    .document-unlinked-preview[b-l89podf7uc] {
        width: 76px;
        height: 62px;
    }

    .document-unlinked-actions[b-l89podf7uc] {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .document-unlinked-actions button[b-l89podf7uc],
    .document-unlinked-actions a[b-l89podf7uc],
    .document-trash-header-actions button[b-l89podf7uc] {
        min-height: 40px;
        flex: 1 1 140px;
        justify-content: center;
    }

    .document-preview-backdrop[b-l89podf7uc] {
        padding: 8px;
    }

    .document-preview-dialog[b-l89podf7uc] {
        height: calc(100dvh - 16px);
        border-radius: 14px;
    }

    .document-preview-dialog > footer[b-l89podf7uc] {
        overflow-x: auto;
    }
}
/* /Components/Pages/Admin/Suggestions.razor.rz.scp.css */
.suggestions-page[b-lhqisqcz2a] {
    width: 100%;
    height: 100dvh;
    padding: 34px;
    overflow-y: auto;
    background: #f2f1ed;
    color: #2b2b2b;
}

.suggestions-header[b-lhqisqcz2a] {
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
}

.suggestions-workspace[b-lhqisqcz2a] {
    display: grid;
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
    grid-template-columns: 210px minmax(0, 1fr);
    align-items: start;
    gap: 18px;
}

.suggestions-content[b-lhqisqcz2a] {
    min-width: 0;
}

.suggestions-section-nav[b-lhqisqcz2a] {
    position: sticky;
    top: 0;
    display: flex;
    padding: 10px;
    border: 1px solid #ddd8d0;
    border-radius: 17px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 34px rgba(53, 45, 35, .06);
    flex-direction: column;
    gap: 5px;
}

.suggestions-section-nav button[b-lhqisqcz2a] {
    display: grid;
    min-height: 40px;
    padding: 8px 9px;
    border-radius: 11px;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border: 0;
    background: transparent;
    color: #49443e;
    font-size: 11px;
    font-weight: 750;
    text-decoration: none;
    text-align: left;
    cursor: pointer;
}

.suggestions-section-nav button:hover[b-lhqisqcz2a] {
    background: #f1eee8;
}

.suggestions-section-nav strong[b-lhqisqcz2a] {
    display: grid;
    min-width: 25px;
    height: 25px;
    padding: 0 6px;
    place-items: center;
    border-radius: 999px;
    background: #eeeae3;
    color: #685e54;
    font-size: 10px;
}

.suggestions-section-nav small[b-lhqisqcz2a] {
    padding: 7px 9px 3px;
    color: #888078;
    font-size: 9px;
    line-height: 1.35;
}

.suggestions-card[b-lhqisqcz2a] {
    scroll-margin-top: 16px;
}

.suggestions-header[b-lhqisqcz2a] {
    display: flex;
    margin-bottom: 22px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
}

.suggestions-eyebrow[b-lhqisqcz2a] {
    color: #8b6b55;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.suggestions-header h1[b-lhqisqcz2a] {
    margin: 5px 0 7px;
    font-size: 34px;
}

.suggestions-header p[b-lhqisqcz2a] {
    max-width: 720px;
    margin: 0;
    color: #6d6963;
    line-height: 1.5;
}

.suggestions-header-actions[b-lhqisqcz2a] {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px;
}

.suggestions-header-actions a[b-lhqisqcz2a],
.suggestions-header-actions button[b-lhqisqcz2a],
.suggestion-button[b-lhqisqcz2a] {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border: 1px solid #d4d0c9;
    border-radius: 999px;
    background: #fff;
    color: #3a3835;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.suggestions-header-actions button.active[b-lhqisqcz2a] {
    border-color: #3c3935;
    background: #3c3935;
    color: #fff;
}

.suggestion-archive-button[b-lhqisqcz2a] {
    min-height: 31px;
    margin-top: 6px;
    padding: 6px 11px;
    border: 1px solid #cbc5bd;
    border-radius: 999px;
    background: #fff;
    color: #5d554c;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.suggestion-archive-button.delete[b-lhqisqcz2a] {
    border-color: #dfb6af;
    color: #8b4036;
}

.suggestion-archive-button:disabled[b-lhqisqcz2a] {
    opacity: .55;
    cursor: wait;
}

.suggestions-summary[b-lhqisqcz2a] {
    display: grid;
    margin-bottom: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.suggestions-summary > div[b-lhqisqcz2a] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 16px 18px;
    border: 1px solid #dfdbd4;
    border-radius: 18px;
    background: #fff;
}

.suggestions-summary span[b-lhqisqcz2a] {
    color: #77716a;
    font-size: 12px;
}

.suggestions-summary strong[b-lhqisqcz2a] {
    font-size: 26px;
}

.suggestions-card[b-lhqisqcz2a] {
    padding: 24px;
    border: 1px solid rgba(0, 0, 0, 0.09);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(53, 45, 35, 0.07);
}

.suggestions-list-heading[b-lhqisqcz2a] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.suggestions-list-heading h2[b-lhqisqcz2a] {
    margin: 3px 0 18px;
    font-size: 22px;
}

.suggestions-counter[b-lhqisqcz2a],
.suggestion-id[b-lhqisqcz2a] {
    display: grid;
    min-width: 34px;
    height: 34px;
    padding: 0 9px;
    place-items: center;
    border-radius: 999px;
    background: #f0eee9;
    color: #6a645b;
    font-size: 11px;
    font-weight: 800;
}

.suggestions-list[b-lhqisqcz2a] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.suggestion-item[b-lhqisqcz2a] {
    overflow: hidden;
    border: 1px solid #e0dcd5;
    border-radius: 19px;
    background: #fbfaf8;
}

.suggestion-item.pending[b-lhqisqcz2a] {
    border-color: #d8cba8;
}

.suggestion-item.accepted[b-lhqisqcz2a] {
    border-color: #bed5c4;
}

.suggestion-item.rejected[b-lhqisqcz2a] {
    border-color: #dfc2bc;
}

.suggestion-item-header[b-lhqisqcz2a] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 18px 14px;
}

.suggestion-item-header h3[b-lhqisqcz2a] {
    margin: 7px 0 3px;
    font-size: 19px;
}

.suggestion-item-header p[b-lhqisqcz2a] {
    margin: 0;
    color: #746f68;
    font-size: 12px;
}

.suggestion-status[b-lhqisqcz2a] {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.suggestion-status.pending[b-lhqisqcz2a] {
    background: #fff5d9;
    color: #735d20;
}

.suggestion-status.accepted[b-lhqisqcz2a] {
    background: #e8f5eb;
    color: #2e6740;
}

.suggestion-status.rejected[b-lhqisqcz2a] {
    background: #fbecea;
    color: #873d35;
}

.suggestion-comment[b-lhqisqcz2a] {
    margin: 0 18px 14px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #f2efe9;
}

.suggestion-comment span[b-lhqisqcz2a],
.difference-value span[b-lhqisqcz2a] {
    color: #817a71;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.suggestion-comment p[b-lhqisqcz2a],
.difference-value p[b-lhqisqcz2a],
.suggestion-review-result p[b-lhqisqcz2a] {
    margin: 5px 0 0;
    white-space: pre-wrap;
}

.suggestion-differences[b-lhqisqcz2a] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 18px 18px;
}

.suggestion-difference[b-lhqisqcz2a] {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
}

.suggestion-difference > strong[b-lhqisqcz2a] {
    display: flex;
    align-items: center;
    color: #4c4741;
    font-size: 12px;
}

.difference-value[b-lhqisqcz2a] {
    min-width: 0;
    padding: 10px 12px;
    border-radius: 12px;
}

.difference-value.old[b-lhqisqcz2a] {
    background: #f0eeea;
}

.difference-value.new[b-lhqisqcz2a] {
    background: #edf7ef;
}

.difference-value p[b-lhqisqcz2a] {
    overflow-wrap: anywhere;
    color: #34312e;
    font-size: 12px;
    line-height: 1.45;
}

.difference-arrow[b-lhqisqcz2a] {
    display: grid;
    place-items: center;
    color: #8b847b;
}

.suggestion-actions[b-lhqisqcz2a],
.suggestion-review-result[b-lhqisqcz2a] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    padding: 13px 18px 16px;
    border-top: 1px solid #e3dfd8;
    background: #fff;
}

.suggestion-button.accept[b-lhqisqcz2a] {
    border-color: #2f7546;
    background: #397f50;
    color: #fff;
}

.suggestion-button.reject[b-lhqisqcz2a] {
    border-color: #d5aaa3;
    background: #fff3f1;
    color: #8d3d33;
}

.suggestion-button.secondary[b-lhqisqcz2a] {
    background: #fff;
}

.suggestion-button:disabled[b-lhqisqcz2a] {
    cursor: wait;
    opacity: 0.58;
}

.suggestion-review-result[b-lhqisqcz2a] {
    align-items: flex-start;
    flex-direction: column;
    color: #68625b;
    font-size: 12px;
}

.suggestions-muted[b-lhqisqcz2a] {
    color: #77736d;
}

.suggestions-empty[b-lhqisqcz2a] {
    display: flex;
    padding: 34px;
    align-items: center;
    flex-direction: column;
    gap: 5px;
    border: 1px dashed #d6d1ca;
    border-radius: 16px;
    color: #77716a;
    text-align: center;
}

.suggestions-toast[b-lhqisqcz2a] {
    position: fixed;
    z-index: 420;
    top: 22px;
    right: 22px;
    max-width: min(440px, calc(100vw - 44px));
    padding: 13px 16px;
    border: 1px solid #bcd7c3;
    border-radius: 14px;
    background: #eff9f1;
    color: #2d6540;
    box-shadow: 0 14px 38px rgba(30, 70, 42, 0.18);
    font-size: 13px;
    font-weight: 750;
}

.suggestions-toast.error[b-lhqisqcz2a] {
    border-color: #e5b8af;
    background: #fff0ed;
    color: #893e31;
}

.review-backdrop[b-lhqisqcz2a] {
    position: fixed;
    z-index: 500;
    inset: 0;
    display: grid;
    padding: 24px;
    place-items: center;
    background: rgba(30, 27, 24, 0.58);
    backdrop-filter: blur(7px);
}

.review-modal[b-lhqisqcz2a] {
    width: min(540px, 100%);
    padding: 22px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.28);
}

.review-modal header[b-lhqisqcz2a] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.review-modal h2[b-lhqisqcz2a] {
    margin: 4px 0 0;
}

.review-modal header button[b-lhqisqcz2a] {
    display: grid;
    width: 36px;
    height: 36px;
    padding: 0;
    place-items: center;
    border: 1px solid #d8d2ca;
    border-radius: 50%;
    background: #fff;
    font-size: 22px;
    cursor: pointer;
}

.review-copy[b-lhqisqcz2a] {
    color: #716b64;
    line-height: 1.5;
}

.review-modal label[b-lhqisqcz2a] {
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: #4e4944;
    font-size: 12px;
    font-weight: 750;
}

.review-modal textarea[b-lhqisqcz2a] {
    width: 100%;
    padding: 11px 12px;
    resize: vertical;
    border: 1px solid #d8d2ca;
    border-radius: 12px;
    background: #fbfaf8;
    font: inherit;
}

.review-modal footer[b-lhqisqcz2a] {
    display: flex;
    margin-top: 18px;
    justify-content: flex-end;
    gap: 9px;
}

@media (max-width: 760px) {
    .suggestions-page[b-lhqisqcz2a] {
        padding: 20px 14px;
    }

    .suggestions-header[b-lhqisqcz2a] {
        flex-direction: column;
    }

    .suggestions-summary[b-lhqisqcz2a] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
    }

    .suggestions-summary > div[b-lhqisqcz2a] {
        min-width: 0;
        padding: 11px 9px;
        border-radius: 14px;
    }

    .suggestions-summary span[b-lhqisqcz2a] {
        font-size: 10px;
    }

    .suggestions-summary strong[b-lhqisqcz2a] {
        font-size: 21px;
    }

    .suggestions-card[b-lhqisqcz2a] {
        padding: 16px;
    }

    .suggestion-difference[b-lhqisqcz2a] {
        grid-template-columns: 1fr;
    }

    .difference-arrow[b-lhqisqcz2a] {
        transform: rotate(90deg);
    }

    .suggestion-item-header[b-lhqisqcz2a] {
        flex-direction: column;
        gap: 9px;
        padding: 14px 13px 11px;
    }

    .suggestion-comment[b-lhqisqcz2a] {
        margin-right: 13px;
        margin-left: 13px;
    }

    .suggestion-differences[b-lhqisqcz2a] {
        padding-right: 13px;
        padding-left: 13px;
    }

    .suggestion-actions[b-lhqisqcz2a] {
        align-items: stretch;
        flex-direction: column;
        padding: 12px 13px 14px;
    }

    .suggestion-actions .suggestion-button[b-lhqisqcz2a] {
        width: 100%;
        min-height: 42px;
    }

    .review-backdrop[b-lhqisqcz2a] {
        padding: 8px;
        align-items: end;
    }

    .review-modal[b-lhqisqcz2a] {
        max-height: calc(100dvh - 16px);
        padding: 18px 15px;
        overflow-y: auto;
        border-radius: 20px 20px 12px 12px;
    }

    .review-modal footer[b-lhqisqcz2a] {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .review-modal footer .suggestion-button[b-lhqisqcz2a] {
        width: 100%;
        min-height: 42px;
    }
}

@media (max-width: 1050px) {
    .suggestions-workspace[b-lhqisqcz2a] {
        grid-template-columns: minmax(0, 1fr);
    }

    .suggestions-section-nav[b-lhqisqcz2a] {
        z-index: 8;
        top: -1px;
        flex-direction: row;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .suggestions-section-nav button[b-lhqisqcz2a] {
        min-width: max-content;
    }

    .suggestions-section-nav small[b-lhqisqcz2a] {
        display: none;
    }

    .suggestions-card[b-lhqisqcz2a] {
        scroll-margin-top: 76px;
    }
}

.suggestions-empty.error[b-lhqisqcz2a] {
    border-color: rgba(151, 54, 54, 0.22);
    background: rgba(255, 238, 238, 0.74);
    color: #7c2f2f;
}

.relationship-suggestions-card[b-lhqisqcz2a] {
    margin-top: 18px;
}

.document-suggestion-comparison[b-lhqisqcz2a] {
    display: grid;
    margin: 0 17px 17px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.document-suggestion-comparison.single[b-lhqisqcz2a] {
    grid-template-columns: minmax(0, 720px);
}

.relationship-request-summary[b-lhqisqcz2a] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    margin: 0 17px 15px;
    padding: 13px 14px;
    border-radius: 14px;
    background: #f2f0ec;
}

.relationship-request-summary > div[b-lhqisqcz2a] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.relationship-request-summary span:not(.relationship-request-arrow)[b-lhqisqcz2a] {
    color: #817a71;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.relationship-request-summary strong[b-lhqisqcz2a] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.creation-request-grid[b-lhqisqcz2a] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 13px;
}

.creation-request-grid > div[b-lhqisqcz2a] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
    padding: 11px 12px;
    border: 1px solid #e1ddd7;
    border-radius: 12px;
    background: #f7f5f1;
}

.creation-request-grid span[b-lhqisqcz2a] {
    color: #817970;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.creation-request-grid strong[b-lhqisqcz2a] {
    overflow: hidden;
    color: #3f3a35;
    font-size: 12px;
    text-overflow: ellipsis;
}

.relationship-request-arrow[b-lhqisqcz2a] {
    color: #9a9187;
    font-size: 20px;
}

@media (max-width: 680px) {
    .relationship-request-summary[b-lhqisqcz2a] {
        grid-template-columns: 1fr;
    }

    .relationship-request-arrow[b-lhqisqcz2a] {
        transform: rotate(90deg);
        text-align: center;
    }

    .creation-request-grid[b-lhqisqcz2a] {
        grid-template-columns: 1fr;
    }
}

.deletion-suggestions-card[b-lhqisqcz2a] {
    border-color: #dfc1bc;
}

.suggestion-item.deletion-request.pending[b-lhqisqcz2a] {
    border-color: #dfb5ae;
    background: #fff9f8;
}

.deletion-review-modal[b-lhqisqcz2a] {
    border-color: #d2a29a;
}

@media (max-width: 760px) {
    .document-suggestion-comparison[b-lhqisqcz2a],
    .document-suggestion-comparison.single[b-lhqisqcz2a] {
        margin-right: 10px;
        margin-left: 10px;
        grid-template-columns: minmax(0, 1fr);
    }
}


.document-metadata-comparison[b-lhqisqcz2a] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.document-metadata-comparison section[b-lhqisqcz2a] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
    padding: 13px 14px;
    border: 1px solid #dedede;
    border-radius: 12px;
    background: #f8f8f8;
}

.document-metadata-comparison section.proposed[b-lhqisqcz2a] {
    border-color: #b9d4bd;
    background: #f3faf4;
}

.document-metadata-comparison span[b-lhqisqcz2a] {
    color: #777;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.document-metadata-comparison strong[b-lhqisqcz2a] {
    overflow-wrap: anywhere;
    font-size: 14px;
}

.document-metadata-comparison p[b-lhqisqcz2a] {
    margin: 0;
    color: #666;
    font-size: 12px;
}

@media (max-width: 680px) {
    .document-metadata-comparison[b-lhqisqcz2a] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
:global(html)[b-zz2xr65fsc],
:global(body)[b-zz2xr65fsc] {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
}

:global(#app)[b-zz2xr65fsc] {
    width: 100%;
    height: 100%;
}

.tree-workspace[b-zz2xr65fsc] {
    position: fixed;
    z-index: 1;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    overflow: hidden;
    background: #f4f4f4;
}

.tree-toolbar[b-zz2xr65fsc] {
    position: absolute;
    z-index: 30;
    top: 16px;
    left: 16px;
    right: 16px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px;
    min-height: 58px;
    padding: 10px 14px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(14px);
}

.toolbar-group[b-zz2xr65fsc] {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .toolbar-group:last-child[b-zz2xr65fsc] {
        justify-content: flex-end;
    }

.toolbar-title[b-zz2xr65fsc] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
}

.layout-engine-switch[b-zz2xr65fsc] {
    display: inline-flex;
    gap: 2px;
    margin-top: 6px;
    padding: 3px;
    border: 1px solid #dedede;
    border-radius: 999px;
    background: #f2f2f2;
}

.layout-engine-button[b-zz2xr65fsc] {
    min-height: 25px;
    padding: 4px 9px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #696969;
    font: inherit;
    font-size: 10px;
    font-weight: 750;
    cursor: pointer;
}

.layout-engine-button:hover[b-zz2xr65fsc],
.layout-engine-button:focus-visible[b-zz2xr65fsc] {
    background: #e6e6e6;
    color: #303030;
    outline: none;
}

.layout-engine-button.active[b-zz2xr65fsc] {
    background: #303030;
    color: #fff;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.16);
}

.layout-engine-label-compact[b-zz2xr65fsc] {
    display: none;
}

    .toolbar-title span[b-zz2xr65fsc] {
        color: #777;
        font-size: 11px;
        letter-spacing: 0.09em;
        text-transform: uppercase;
    }

    .toolbar-title strong[b-zz2xr65fsc] {
        max-width: 420px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.toolbar-stats[b-zz2xr65fsc] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.toolbar-stats span[b-zz2xr65fsc] {
    padding: 6px 9px;
    border-radius: 999px;
    background: #f2f2f2;
    color: #666;
    font-size: 12px;
}

.toolbar-button[b-zz2xr65fsc] {
    padding: 9px 13px;
    border: 1px solid #d4d4d4;
    border-radius: 999px;
    background: white;
    color: #333;
    font-weight: 600;
    cursor: pointer;
}

    .toolbar-button:hover[b-zz2xr65fsc] {
        background: #f2f2f2;
    }

    .toolbar-button.primary[b-zz2xr65fsc] {
        border-color: #222;
        background: #222;
        color: white;
    }

.tree-stage[b-zz2xr65fsc] {
    position: absolute;
    top: 112px;
    right: 16px;
    bottom: 16px;
    left: 16px;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.people-drawer[b-zz2xr65fsc],
.person-drawer[b-zz2xr65fsc] {
    position: absolute;
    z-index: 50;
    top: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    background: white;
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.18);
    transition: transform 180ms ease;
}

.people-drawer[b-zz2xr65fsc] {
    left: 0;
    width: min(360px, calc(100vw - 32px));
    padding: 20px;
    transform: translateX(-105%);
}

    .people-drawer.open[b-zz2xr65fsc] {
        transform: translateX(0);
    }

.person-drawer[b-zz2xr65fsc] {
    right: 0;
    width: min(520px, calc(100vw - 32px));
    transform: translateX(105%);
}

    .person-drawer.open[b-zz2xr65fsc] {
        transform: translateX(0);
    }

.drawer-header[b-zz2xr65fsc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 16px;
}

.person-drawer-header[b-zz2xr65fsc] {
    padding: 20px;
    border-bottom: 1px solid #e5e5e5;
}

.drawer-person-heading[b-zz2xr65fsc] {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 14px;
}

    .drawer-person-heading h2[b-zz2xr65fsc] {
        margin: 2px 0 3px;
    }

    .drawer-person-heading p[b-zz2xr65fsc] {
        margin: 0;
        color: #666;
    }

.drawer-eyebrow[b-zz2xr65fsc] {
    color: #777;
    font-size: 11px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}
.person-drawer-actions[b-zz2xr65fsc] {
    flex: 0 0 auto;
    padding: 12px 20px;
    border-bottom: 1px solid #e5e5e5;
    background: white;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
}

.person-drawer-content[b-zz2xr65fsc] {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
}
.icon-button[b-zz2xr65fsc] {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid #ddd;
    border-radius: 50%;
    background: white;
    font-size: 23px;
    line-height: 1;
    cursor: pointer;
}

.people-search[b-zz2xr65fsc] {
    position: relative;
}

.search-input[b-zz2xr65fsc] {
    width: 100%;
    padding: 12px 42px 12px 14px;
    border: 1px solid #ddd;
    border-radius: 14px;
    background: #fafafa;
}

.search-clear-button[b-zz2xr65fsc] {
    position: absolute;
    top: 50%;
    right: 8px;
    display: grid;
    width: 28px;
    height: 28px;
    padding: 0;
    transform: translateY(-50%);
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #777;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.search-clear-button:hover[b-zz2xr65fsc] {
    background: #ececec;
    color: #222;
}

.people-count[b-zz2xr65fsc] {
    padding: 10px 2px;
    color: #777;
    font-size: 13px;
}

.people-scroll[b-zz2xr65fsc] {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    gap: 8px;
    overflow-y: auto;
}

.person-button[b-zz2xr65fsc] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    padding: 12px;
    border: 1px solid #e2e2e2;
    border-radius: 14px;
    background: #fafafa;
    text-align: left;
    cursor: pointer;
}

    .person-button:hover[b-zz2xr65fsc],
    .person-button.selected[b-zz2xr65fsc] {
        border-color: #888;
        background: #f0f0f0;
    }

.person-name[b-zz2xr65fsc] {
    font-weight: 700;
}

.person-meta[b-zz2xr65fsc] {
    color: #666;
    font-size: 12px;
}

.person-drawer-content[b-zz2xr65fsc] {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    gap: 18px;
    padding: 20px;
    overflow-y: auto;
}

.drawer-actions[b-zz2xr65fsc] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.person-action-toolbar[b-zz2xr65fsc] {
    position: relative;
    z-index: 4;
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    border-bottom: 1px solid #e5e5e5;
    background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.035);
}

.mobile-person-actions[b-zz2xr65fsc] {
    display: none;
}

.person-action-group[b-zz2xr65fsc] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px;
    border: 1px solid #e4e4e4;
    border-radius: 14px;
    background: #f4f4f4;
}

.person-action-group:empty[b-zz2xr65fsc] {
    display: none;
}

.person-action-group.edit-actions[b-zz2xr65fsc] {
    margin-left: auto;
}

.person-action-button[b-zz2xr65fsc] {
    position: relative;
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    padding: 0;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 11px;
    background: transparent;
    color: #555;
    cursor: pointer;
    transition: transform 130ms ease,
                border-color 130ms ease,
                background 130ms ease,
                color 130ms ease,
                box-shadow 130ms ease;
}

.person-action-button:hover[b-zz2xr65fsc] {
    transform: translateY(-1px);
    border-color: #d3d3d3;
    background: #fff;
    color: #222;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.08);
}

.person-action-button:active[b-zz2xr65fsc] {
    transform: translateY(0);
    box-shadow: none;
}

.person-action-button:focus-visible[b-zz2xr65fsc] {
    outline: 3px solid rgba(67, 105, 146, 0.24);
    outline-offset: 2px;
}

.person-action-button.primary[b-zz2xr65fsc] {
    border-color: #343434;
    background: #343434;
    color: #fff;
}

.person-action-button.primary:hover[b-zz2xr65fsc] {
    border-color: #151515;
    background: #151515;
    color: #fff;
}

.person-action-button.kinship[b-zz2xr65fsc] {
    background: #fff5e5;
    color: #72501c;
}

.person-action-button.kinship:hover[b-zz2xr65fsc] {
    border-color: #dfbd81;
    background: #ffedcf;
    color: #56390e;
}

.person-action-button.compare[b-zz2xr65fsc] {
    background: #eef5ec;
    color: #45613f;
}

.person-action-button.compare:hover[b-zz2xr65fsc] {
    border-color: #aec4a8;
    background: #e1edde;
    color: #314b2c;
}

.person-action-button.edit[b-zz2xr65fsc] {
    background: #fff3d9;
    color: #81591a;
}

.person-action-button.edit:hover[b-zz2xr65fsc] {
    border-color: #d9b46e;
    background: #ffe8b8;
    color: #63410e;
}

.person-action-button[b-zz2xr65fsc]::after {
    position: absolute;
    z-index: 20;
    top: calc(100% + 9px);
    left: 50%;
    width: max-content;
    max-width: 230px;
    padding: 7px 9px;
    transform: translate(-50%, -4px);
    border-radius: 8px;
    background: rgba(31, 31, 31, 0.96);
    color: #fff;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2);
    content: attr(data-tooltip);
    font-size: 11px;
    font-weight: 650;
    line-height: 1.25;
    opacity: 0;
    pointer-events: none;
    text-align: center;
    transition: opacity 120ms ease, transform 120ms ease;
}

.person-action-button:hover[b-zz2xr65fsc]::after,
.person-action-button:focus-visible[b-zz2xr65fsc]::after {
    transform: translate(-50%, 0);
    opacity: 1;
}

.navigation-actions .person-action-button:first-child[b-zz2xr65fsc]::after {
    left: 0;
    transform: translate(0, -4px);
}

.navigation-actions .person-action-button:first-child:hover[b-zz2xr65fsc]::after,
.navigation-actions .person-action-button:first-child:focus-visible[b-zz2xr65fsc]::after {
    transform: translate(0, 0);
}

.edit-actions .person-action-button[b-zz2xr65fsc]::after {
    right: 0;
    left: auto;
    transform: translate(0, -4px);
}

.edit-actions .person-action-button:hover[b-zz2xr65fsc]::after,
.edit-actions .person-action-button:focus-visible[b-zz2xr65fsc]::after {
    transform: translate(0, 0);
}

.person-action-note[b-zz2xr65fsc] {
    flex: 0 0 auto;
    align-self: flex-start;
    margin: 10px 20px 0;
}

@media (max-width: 460px) {
    .person-action-toolbar[b-zz2xr65fsc] {
        gap: 7px;
        padding-inline: 14px;
    }

    .person-action-group.edit-actions[b-zz2xr65fsc] {
        margin-left: 0;
    }
}

.drawer-section[b-zz2xr65fsc] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.drawer-section h3[b-zz2xr65fsc] {
    margin: 0;
}

.drawer-section-heading[b-zz2xr65fsc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.drawer-section-add-button[b-zz2xr65fsc] {
    min-height: 30px;
    flex: 0 0 auto;
    padding: 6px 9px;
    border: 1px solid #d4d1cb;
    border-radius: 9px;
    background: #fff;
    color: #45413c;
    font: inherit;
    font-size: 10px;
    font-weight: 750;
    cursor: pointer;
}

.drawer-section-add-button:hover[b-zz2xr65fsc],
.drawer-section-add-button:focus-visible[b-zz2xr65fsc] {
    border-color: #9b8d7b;
    background: #f7f4ef;
    outline: none;
}

.avatar[b-zz2xr65fsc] {
    display: block;
    width: 64px;
    height: 64px;
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid #d9d9d9;
    border-radius: 16px;
    background: #f3f3f3;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.info-grid[b-zz2xr65fsc] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

    .info-grid > div[b-zz2xr65fsc],
    .mini-stats > div[b-zz2xr65fsc] {
        display: flex;
        flex-direction: column;
        gap: 3px;
        padding: 12px;
        border-radius: 14px;
        background: #f6f6f6;
    }

    .info-grid span[b-zz2xr65fsc],
    .mini-stats span[b-zz2xr65fsc] {
        color: #777;
        font-size: 12px;
    }

.event-list[b-zz2xr65fsc] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.event-row[b-zz2xr65fsc] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(120px, 0.8fr);
    gap: 12px;
    padding: 12px;
    border-radius: 14px;
    background: #f6f6f6;
}

    .event-row > div[b-zz2xr65fsc] {
        display: flex;
        flex-direction: column;
        gap: 3px;
    }

    .event-row span[b-zz2xr65fsc] {
        color: #666;
        font-size: 12px;
    }

.mini-stats[b-zz2xr65fsc] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.drawer-backdrop[b-zz2xr65fsc] {
    position: absolute;
    z-index: 40;
    inset: 0;
    border: 0;
    background: rgba(0, 0, 0, 0.18);
    cursor: default;
}

.workspace-message[b-zz2xr65fsc] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    text-align: center;
}

.loading-spinner[b-zz2xr65fsc] {
    width: 38px;
    height: 38px;
    border: 4px solid #ddd;
    border-top-color: #333;
    border-radius: 50%;
    animation: tree-spin-b-zz2xr65fsc 0.8s linear infinite;
}

.muted[b-zz2xr65fsc] {
    color: #777;
}

@keyframes tree-spin-b-zz2xr65fsc {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 900px) {
    .tree-toolbar[b-zz2xr65fsc] {
        top: max(8px, env(safe-area-inset-top));
        right: 8px;
        left: 8px;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "actions account"
            "title title";
        gap: 8px 10px;
        padding: 8px 10px 9px;
        border-radius: 15px;
    }

    .toolbar-main-actions[b-zz2xr65fsc] {
        grid-area: actions;
        min-width: 0;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .toolbar-main-actions[b-zz2xr65fsc]::-webkit-scrollbar {
        display: none;
    }

    .toolbar-main-actions .toolbar-button[b-zz2xr65fsc] {
        min-height: 40px;
        flex: 0 0 auto;
        padding: 8px 11px;
        font-size: 12px;
    }

    .toolbar-title[b-zz2xr65fsc] {
        grid-area: title;
        align-items: center;
        overflow: hidden;
    }

    .toolbar-title strong[b-zz2xr65fsc] {
        max-width: 100%;
        font-size: 13px;
    }

    .toolbar-right[b-zz2xr65fsc] {
        grid-area: account;
        justify-self: end;
    }

    .toolbar-stats[b-zz2xr65fsc] {
        display: none;
    }

    .tree-stage[b-zz2xr65fsc] {
        top: calc(116px + env(safe-area-inset-top));
        right: 8px;
        bottom: max(8px, env(safe-area-inset-bottom));
        left: 8px;
    }

    .event-row[b-zz2xr65fsc] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .people-drawer[b-zz2xr65fsc],
    .person-drawer[b-zz2xr65fsc] {
        width: 100vw;
        max-width: none;
    }

    .people-drawer[b-zz2xr65fsc] {
        padding: max(14px, env(safe-area-inset-top)) 14px
                 max(14px, env(safe-area-inset-bottom));
    }

    .search-input[b-zz2xr65fsc] {
        min-height: 46px;
        font-size: 16px;
    }

    .person-drawer-header[b-zz2xr65fsc] {
        gap: 10px;
        padding: max(14px, env(safe-area-inset-top)) 14px 12px;
    }

    .drawer-person-heading[b-zz2xr65fsc] {
        gap: 10px;
    }

    .drawer-person-heading h2[b-zz2xr65fsc] {
        overflow: hidden;
        font-size: 18px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .drawer-person-heading p[b-zz2xr65fsc] {
        overflow: hidden;
        font-size: 12px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .avatar[b-zz2xr65fsc] {
        width: 52px;
        height: 52px;
        border-radius: 13px;
    }

    .icon-button[b-zz2xr65fsc] {
        width: 42px;
        height: 42px;
    }

    .person-action-toolbar[b-zz2xr65fsc] {
        justify-content: flex-end;
        padding: 8px 12px;
        overflow: visible;
    }

    .person-action-toolbar > .person-action-group[b-zz2xr65fsc] {
        display: none;
    }

    .mobile-person-actions[b-zz2xr65fsc] {
        display: flex;
        justify-content: flex-end;
    }

    .mobile-person-actions-trigger[b-zz2xr65fsc] {
        display: grid;
        width: 46px;
        height: 42px;
        place-items: center;
        border: 1px solid #d8d8d8;
        border-radius: 13px;
        background: #f4f4f4;
        color: #333;
        font: inherit;
        font-size: 18px;
        font-weight: 850;
        letter-spacing: 2px;
        cursor: pointer;
    }

    .mobile-person-actions-backdrop[b-zz2xr65fsc] {
        position: fixed;
        z-index: 70;
        inset: 0;
        padding: 0;
        border: 0;
        background: rgba(0, 0, 0, 0.28);
    }

    .mobile-person-actions-menu[b-zz2xr65fsc] {
        position: fixed;
        z-index: 72;
        right: 8px;
        bottom: max(8px, env(safe-area-inset-bottom));
        left: 8px;
        display: flex;
        max-height: calc(100dvh - 16px - env(safe-area-inset-top));
        flex-direction: column;
        gap: 10px;
        padding: 14px;
        overflow-y: auto;
        border: 1px solid #d9d9d9;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
        overscroll-behavior: contain;
    }

    .mobile-person-actions-menu header[b-zz2xr65fsc] {
        display: flex;
        min-width: 0;
        align-items: center;
        justify-content: space-between;
        gap: 3px;
        padding: 2px 3px 5px;
    }

    .mobile-person-actions-menu header > div[b-zz2xr65fsc] {
        display: flex;
        min-width: 0;
        flex-direction: column;
        gap: 3px;
    }

    .mobile-person-actions-menu header > button[b-zz2xr65fsc] {
        display: grid;
        width: 42px;
        height: 42px;
        flex: 0 0 auto;
        place-items: center;
        padding: 0;
        border: 1px solid #ddd;
        border-radius: 50%;
        background: #fff;
        color: #444;
        font: inherit;
        font-size: 23px;
        line-height: 1;
    }

    .mobile-person-actions-menu header span[b-zz2xr65fsc],
    .mobile-person-actions-menu section > span[b-zz2xr65fsc] {
        color: #777;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.09em;
        text-transform: uppercase;
    }

    .mobile-person-actions-menu header strong[b-zz2xr65fsc] {
        display: block;
        overflow: hidden;
        font-size: 16px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-person-actions-menu section[b-zz2xr65fsc] {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 10px;
        border-radius: 14px;
        background: #f4f4f4;
    }

    .mobile-person-actions-menu section > span[b-zz2xr65fsc] {
        padding: 0 2px 2px;
    }

    .mobile-person-actions-menu section button[b-zz2xr65fsc] {
        display: grid;
        grid-template-columns: 24px minmax(0, 1fr);
        min-height: 44px;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        border: 1px solid #d8d8d8;
        border-radius: 11px;
        background: #fff;
        color: #333;
        font: inherit;
        font-size: 13px;
        font-weight: 700;
        text-align: left;
    }

    .mobile-person-actions-menu section button[b-zz2xr65fsc] (.person-action-icon) {
        width: 20px;
        height: 20px;
    }

    .mobile-person-actions-menu section button:disabled[b-zz2xr65fsc] {
        opacity: 0.45;
    }

    .person-drawer-content[b-zz2xr65fsc] {
        gap: 16px;
        padding: 14px 14px max(18px, env(safe-area-inset-bottom));
        overscroll-behavior: contain;
    }

    .person-relation-menu[b-zz2xr65fsc] {
        position: fixed;
        top: 132px;
        right: 12px;
        left: 12px;
        width: auto;
        max-height: calc(100dvh - 150px);
    }
}

@media (max-width: 520px) {
    .layout-engine-label-wide[b-zz2xr65fsc] {
        display: none;
    }

    .layout-engine-label-compact[b-zz2xr65fsc] {
        display: inline;
    }

    .layout-engine-button[b-zz2xr65fsc] {
        min-height: 30px;
    }

    .tree-toast[b-zz2xr65fsc] {
        top: 10px;
        max-width: calc(100vw - 20px);
        border-radius: 14px;
    }
}

@media (max-width: 420px) {
    .info-grid[b-zz2xr65fsc],
    .mini-stats[b-zz2xr65fsc] {
        grid-template-columns: 1fr;
    }
}

@media (orientation: landscape) and (max-height: 520px) {
    .tree-toolbar[b-zz2xr65fsc] {
        top: 4px;
        right: max(4px, env(safe-area-inset-right));
        left: max(4px, env(safe-area-inset-left));
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "actions account";
        min-height: 50px;
        gap: 6px;
        padding: 5px 8px;
        border-radius: 13px;
    }

    .toolbar-title[b-zz2xr65fsc] {
        display: none;
    }

    .toolbar-main-actions .toolbar-button[b-zz2xr65fsc] {
        min-height: 36px;
        padding: 6px 10px;
        font-size: 11px;
    }

    .tree-stage[b-zz2xr65fsc] {
        top: 64px;
        right: max(4px, env(safe-area-inset-right));
        bottom: 4px;
        left: max(4px, env(safe-area-inset-left));
    }

    .relationship-compare-banner[b-zz2xr65fsc] {
        top: 62px;
        max-height: calc(100dvh - 70px);
        overflow-y: auto;
    }

    .people-drawer[b-zz2xr65fsc],
    .person-drawer[b-zz2xr65fsc] {
        width: min(460px, 100vw);
        max-width: none;
    }

    .people-drawer[b-zz2xr65fsc] {
        padding: 10px 12px max(10px, env(safe-area-inset-bottom));
    }

    .person-drawer-header[b-zz2xr65fsc] {
        padding: 9px 12px 8px;
    }

    .drawer-person-heading h2[b-zz2xr65fsc] {
        margin-top: 0;
        font-size: 16px;
    }

    .avatar[b-zz2xr65fsc] {
        width: 44px;
        height: 44px;
        border-radius: 11px;
    }

    .person-action-toolbar[b-zz2xr65fsc] {
        justify-content: flex-end;
        padding: 6px 10px;
        overflow: visible;
    }

    .person-action-toolbar > .person-action-group[b-zz2xr65fsc] {
        display: none;
    }

    .mobile-person-actions[b-zz2xr65fsc] {
        display: flex;
        justify-content: flex-end;
    }

    .mobile-person-actions-trigger[b-zz2xr65fsc] {
        display: grid;
        width: 46px;
        height: 38px;
        place-items: center;
        border: 1px solid #d8d8d8;
        border-radius: 12px;
        background: #f4f4f4;
        color: #333;
        font: inherit;
        font-size: 18px;
        font-weight: 850;
        letter-spacing: 2px;
    }

    .mobile-person-actions-backdrop[b-zz2xr65fsc] {
        position: fixed;
        z-index: 70;
        inset: 0;
        padding: 0;
        border: 0;
        background: rgba(0, 0, 0, 0.28);
    }

    .mobile-person-actions-menu[b-zz2xr65fsc] {
        position: fixed;
        z-index: 72;
        top: 6px;
        right: 8px;
        bottom: 6px;
        left: auto;
        display: flex;
        width: min(430px, calc(100vw - 16px));
        flex-direction: column;
        gap: 8px;
        padding: 11px;
        overflow-y: auto;
        border: 1px solid #d9d9d9;
        border-radius: 17px;
        background: #fff;
        box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
        overscroll-behavior: contain;
    }

    .mobile-person-actions-menu header[b-zz2xr65fsc],
    .mobile-person-actions-menu header > div[b-zz2xr65fsc] {
        display: flex;
        min-width: 0;
    }

    .mobile-person-actions-menu header[b-zz2xr65fsc] {
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .mobile-person-actions-menu header > div[b-zz2xr65fsc] {
        flex-direction: column;
    }

    .mobile-person-actions-menu header > button[b-zz2xr65fsc] {
        width: 38px;
        height: 38px;
        flex: 0 0 auto;
        border: 1px solid #ddd;
        border-radius: 50%;
        background: #fff;
        font-size: 22px;
    }

    .mobile-person-actions-menu header span[b-zz2xr65fsc],
    .mobile-person-actions-menu section > span[b-zz2xr65fsc] {
        color: #777;
        font-size: 9px;
        font-weight: 800;
        letter-spacing: .09em;
        text-transform: uppercase;
    }

    .mobile-person-actions-menu header strong[b-zz2xr65fsc] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-person-actions-menu section[b-zz2xr65fsc] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
        padding: 8px;
        border-radius: 12px;
        background: #f4f4f4;
    }

    .mobile-person-actions-menu section > span[b-zz2xr65fsc] {
        grid-column: 1 / -1;
    }

    .mobile-person-actions-menu section button[b-zz2xr65fsc] {
        display: grid;
        grid-template-columns: 21px minmax(0, 1fr);
        min-height: 38px;
        align-items: center;
        gap: 7px;
        padding: 7px 9px;
        border: 1px solid #d8d8d8;
        border-radius: 9px;
        background: #fff;
        color: #333;
        font: inherit;
        font-size: 11px;
        font-weight: 700;
        text-align: left;
    }

    .mobile-person-actions-menu section button:disabled[b-zz2xr65fsc] {
        opacity: .45;
    }

    .mobile-person-actions-menu section button[b-zz2xr65fsc] (.person-action-icon) {
        width: 18px;
        height: 18px;
    }

    .person-drawer-content[b-zz2xr65fsc] {
        padding: 10px 12px max(12px, env(safe-area-inset-bottom));
    }
}
.union-list[b-zz2xr65fsc] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.union-card[b-zz2xr65fsc] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    border: 1px solid #e1e1e1;
    border-radius: 16px;
    background: #f8f8f8;
}

.union-card-header[b-zz2xr65fsc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.union-status[b-zz2xr65fsc] {
    padding: 4px 8px;
    border-radius: 999px;
    background: white;
    color: #666;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

    .union-status.former[b-zz2xr65fsc] {
        background: #eeeeee;
        color: #555;
    }

.union-partners[b-zz2xr65fsc] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.union-person-button[b-zz2xr65fsc] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #dddddd;
    border-radius: 12px;
    background: white;
    text-align: left;
    cursor: pointer;
}

    .union-person-button span[b-zz2xr65fsc] {
        color: #777;
        font-size: 12px;
    }

.union-event[b-zz2xr65fsc] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #666;
    font-size: 12px;
}

    .union-event strong[b-zz2xr65fsc] {
        color: #333;
    }

.union-children[b-zz2xr65fsc] {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.union-label[b-zz2xr65fsc] {
    width: 100%;
    color: #777;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.union-child-button[b-zz2xr65fsc] {
    padding: 7px 10px;
    border: 1px solid #dddddd;
    border-radius: 999px;
    background: white;
    color: #333;
    cursor: pointer;
}
.toolbar-button.kinship-action[b-zz2xr65fsc] {
    border-color: #b7976b;
    background: #fff8ec;
    color: #604a2f;
}

.toolbar-button.kinship-action:hover[b-zz2xr65fsc] {
    background: #f8ead3;
}

.relationship-compare-banner[b-zz2xr65fsc] {
    position: absolute;
    z-index: 36;
    top: 88px;
    left: 50%;
    display: flex;
    width: min(760px, calc(100vw - 40px));
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 14px 12px 16px;
    transform: translateX(-50%);
    border: 1px solid rgba(122, 91, 58, 0.2);
    border-radius: 18px;
    background: rgba(255, 250, 241, 0.96);
    box-shadow: 0 12px 34px rgba(65, 48, 30, 0.14);
    backdrop-filter: blur(14px);
}

.relationship-compare-copy[b-zz2xr65fsc] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.relationship-compare-copy span[b-zz2xr65fsc] {
    color: #8a785f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.relationship-compare-copy strong[b-zz2xr65fsc],
.relationship-compare-copy small[b-zz2xr65fsc] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.relationship-compare-copy small[b-zz2xr65fsc] {
    color: #6f6558;
    font-size: 12px;
}

.relationship-compare-actions[b-zz2xr65fsc] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.toolbar-button.compare-action[b-zz2xr65fsc] {
    border-color: #6e7f68;
    background: #f1f7ef;
    color: #3f563b;
}

.toolbar-button.compare-action:hover[b-zz2xr65fsc] {
    background: #e4efe1;
}

.comparison-selected-note[b-zz2xr65fsc] {
    display: inline-flex;
    align-items: center;
    padding: 8px 11px;
    border: 1px solid #ccd7c8;
    border-radius: 999px;
    background: #f4f8f2;
    color: #54634f;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 760px) {
    .relationship-compare-banner[b-zz2xr65fsc] {
        top: calc(120px + env(safe-area-inset-top));
        width: calc(100vw - 16px);
        align-items: stretch;
        flex-direction: column;
    }

    .relationship-compare-actions[b-zz2xr65fsc] {
        align-items: stretch;
        flex-direction: column;
    }

    .relationship-compare-actions .toolbar-button[b-zz2xr65fsc] {
        width: 100%;
        min-height: 42px;
    }
}

.tree-toast[b-zz2xr65fsc] {
    position: fixed;
    z-index: 150;
    top: 24px;
    left: 50%;
    max-width: min(560px, calc(100vw - 32px));
    padding: 12px 18px;
    transform: translateX(-50%);
    border: 1px solid #b9d8c1;
    border-radius: 999px;
    background: rgba(239, 250, 242, 0.97);
    color: #245d32;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.16);
    font-size: 14px;
    font-weight: 750;
    animation: tree-toast-in-b-zz2xr65fsc 180ms ease-out;
}

.toolbar-button.edit-action[b-zz2xr65fsc] {
    border-color: #b8842d;
    background: #fff8e9;
    color: #7c5416;
}

.toolbar-button.edit-action:hover[b-zz2xr65fsc] {
    background: #ffefc8;
}

.person-comment[b-zz2xr65fsc] {
    margin: 0;
    padding: 14px;
    border-radius: 14px;
    background: #f6f6f6;
    color: #3d3d3d;
    line-height: 1.55;
    white-space: pre-wrap;
}

@keyframes tree-toast-in-b-zz2xr65fsc {
    from {
        transform: translate(-50%, -10px);
        opacity: 0;
    }

    to {
        transform: translate(-50%, 0);
        opacity: 1;
    }
}

.person-action-button.family[b-zz2xr65fsc] {
    background: #edf2fa;
    color: #405b7c;
}

.person-action-button.family:hover[b-zz2xr65fsc] {
    border-color: #aabbd0;
    background: #e1eaf6;
    color: #2e4868;
}

.person-action-group.family-actions[b-zz2xr65fsc] {
    position: relative;
}

.person-relation-menu[b-zz2xr65fsc] {
    position: absolute;
    z-index: 34;
    top: calc(100% + 9px);
    right: 0;
    left: auto;
    display: flex;
    width: min(286px, calc(100vw - 36px));
    max-height: min(560px, calc(100dvh - 130px));
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    overflow-y: auto;
    border: 1px solid #d7dce3;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 44px rgba(35, 45, 58, 0.2);
}

.person-relation-menu-group[b-zz2xr65fsc] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 8px;
    border-radius: 12px;
    background: #f4f6f9;
}

.person-relation-menu-group > span[b-zz2xr65fsc] {
    padding: 0 4px 2px;
    color: #718096;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.person-relation-menu button[b-zz2xr65fsc] {
    padding: 9px 10px;
    border: 1px solid #d9dee6;
    border-radius: 9px;
    background: #fff;
    color: #2f3c4e;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}

.person-relation-menu button:hover:not(:disabled)[b-zz2xr65fsc] {
    border-color: #9eafc5;
    background: #edf2fa;
}

.person-relation-menu button:disabled[b-zz2xr65fsc] {
    cursor: not-allowed;
    opacity: 0.48;
}

.person-relation-menu-group small[b-zz2xr65fsc] {
    padding: 2px 4px 0;
    color: #916c32;
    font-size: 10px;
}

.person-relation-menu .person-relation-manage[b-zz2xr65fsc] {
    border-color: #879bb5;
    background: #e7edf6;
    color: #2f4968;
    text-align: center;
}

.person-context-backdrop[b-zz2xr65fsc] {
    position: fixed;
    z-index: 108;
    inset: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: default;
}

.person-context-menu[b-zz2xr65fsc] {
    position: fixed;
    z-index: 110;
    display: flex;
    width: 310px;
    max-height: calc(100dvh - 104px);
    overflow-y: auto;
    flex-direction: column;
    gap: 3px;
    padding: 8px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 52px rgba(0, 0, 0, 0.23);
    backdrop-filter: blur(12px);
}

.person-context-header[b-zz2xr65fsc] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
    padding: 8px 10px 9px;
}

.person-context-header span[b-zz2xr65fsc] {
    color: #8a8178;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.person-context-header strong[b-zz2xr65fsc] {
    overflow: hidden;
    color: #37332f;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.person-context-menu > button[b-zz2xr65fsc] {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    min-height: 39px;
    align-items: center;
    gap: 9px;
    padding: 7px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #46413c;
    font: inherit;
    font-size: 12px;
    font-weight: 720;
    text-align: left;
    cursor: pointer;
}

.person-context-menu > button:hover[b-zz2xr65fsc],
.person-context-menu > button:focus-visible[b-zz2xr65fsc] {
    background: #efede9;
    color: #24211f;
    outline: none;
}

.person-context-menu > button[b-zz2xr65fsc] (.person-action-icon) {
    width: 19px;
    height: 19px;
}

.person-context-relation-group[b-zz2xr65fsc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    padding: 7px 8px;
}

.person-context-relation-group > span[b-zz2xr65fsc] {
    grid-column: 1 / -1;
    color: #8a8178;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.person-context-relation-group > button[b-zz2xr65fsc] {
    display: flex;
    min-height: 42px;
    align-items: center;
    gap: 6px;
    padding: 7px 8px;
    border: 1px solid #e0dcd6;
    border-radius: 10px;
    background: #faf9f6;
    color: #4d4842;
    font: inherit;
    font-size: 10px;
    font-weight: 750;
    text-align: left;
    cursor: pointer;
}

.person-context-relation-group > button:first-of-type[b-zz2xr65fsc] {
    border-color: #c9d7cc;
    background: #f1f7f2;
    color: #355f3e;
}

.person-context-relation-group > button:hover[b-zz2xr65fsc],
.person-context-relation-group > button:focus-visible[b-zz2xr65fsc] {
    filter: brightness(0.97);
    outline: 2px solid rgba(56, 51, 46, 0.12);
}

.person-context-relation-group > button:disabled[b-zz2xr65fsc] {
    opacity: 0.42;
    cursor: default;
}

.person-context-relation-group > button[b-zz2xr65fsc] (.person-action-icon) {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
}

.person-context-relation-group > small[b-zz2xr65fsc] {
    grid-column: 1 / -1;
    color: #8a8178;
    font-size: 9px;
}

.person-context-separator[b-zz2xr65fsc] {
    height: 1px;
    margin: 4px 6px;
    background: #e7e3de;
}

@media (max-width: 520px) {
    .person-context-menu[b-zz2xr65fsc] {
        width: min(310px, calc(100vw - 24px));
    }
}

@media (orientation: landscape) and (max-height: 520px) {
    .relationship-compare-banner[b-zz2xr65fsc] {
        top: 62px;
        width: min(760px, calc(100vw - 16px));
    }
}
/* /Components/Pages/MySuggestions.razor.rz.scp.css */
.my-suggestions-page[b-iy3e4kxy7q] {
    width: 100%;
    height: 100dvh;
    padding: 34px;
    overflow-y: auto;
    background: #f2f1ed;
    color: #2b2b2b;
}

.my-suggestions-notice[b-iy3e4kxy7q] {
    position: sticky;
    z-index: 10;
    top: 0;
    max-width: 980px;
    margin: 0 auto 14px;
    padding: 11px 14px;
    border: 1px solid #bcd5c3;
    border-radius: 12px;
    background: #edf8f0;
    color: #2f6340;
    font-size: 12px;
    font-weight: 750;
}

.my-suggestions-notice.error[b-iy3e4kxy7q] {
    border-color: #e1b7af;
    background: #fff0ed;
    color: #843c31;
}

.my-suggestions-header[b-iy3e4kxy7q],
.my-suggestions-content[b-iy3e4kxy7q] {
    max-width: 980px;
    margin-right: auto;
    margin-left: auto;
}

.my-suggestions-header[b-iy3e4kxy7q] {
    display: flex;
    margin-bottom: 22px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.my-suggestions-eyebrow[b-iy3e4kxy7q] {
    color: #8b6b55;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.my-suggestions-header h1[b-iy3e4kxy7q] {
    margin: 5px 0 7px;
    font-size: 34px;
}

.my-suggestions-header p[b-iy3e4kxy7q] {
    max-width: 650px;
    margin: 0;
    color: #6d6963;
    line-height: 1.5;
}

.my-suggestions-header-actions[b-iy3e4kxy7q] {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px;
}

.my-suggestions-header-actions a[b-iy3e4kxy7q] {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    padding: 8px 14px;
    border: 1px solid #d4d0c9;
    border-radius: 999px;
    background: #fff;
    color: #3a3835;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.my-suggestions-card[b-iy3e4kxy7q] {
    padding: 24px;
    border: 1px solid rgba(0, 0, 0, 0.09);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(53, 45, 35, 0.07);
}

.my-suggestions-card.empty[b-iy3e4kxy7q],
.my-suggestions-card.error[b-iy3e4kxy7q] {
    display: flex;
    min-height: 180px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    color: #746f68;
    text-align: center;
}

.my-suggestions-card.error[b-iy3e4kxy7q] {
    border-color: #e5b8af;
    background: #fff0ed;
    color: #893e31;
}

.my-suggestions-list-heading[b-iy3e4kxy7q] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.my-suggestions-list-heading h2[b-iy3e4kxy7q] {
    margin: 3px 0 18px;
}

.my-suggestions-counter[b-iy3e4kxy7q],
.my-suggestion-id[b-iy3e4kxy7q] {
    display: grid;
    min-width: 34px;
    height: 34px;
    padding: 0 9px;
    place-items: center;
    border-radius: 999px;
    background: #f0eee9;
    color: #6a645b;
    font-size: 11px;
    font-weight: 800;
}

.my-suggestions-list[b-iy3e4kxy7q] {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.my-suggestion[b-iy3e4kxy7q] {
    overflow: hidden;
    border: 1px solid #e0dcd5;
    border-radius: 18px;
    background: #fbfaf8;
}

.my-suggestion.pending[b-iy3e4kxy7q] {
    border-color: #d8cba8;
}

.my-suggestion.accepted[b-iy3e4kxy7q] {
    border-color: #bed5c4;
}

.my-suggestion.rejected[b-iy3e4kxy7q] {
    border-color: #dfc2bc;
}

.my-suggestion > header[b-iy3e4kxy7q] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    padding: 16px 17px;
}

.my-suggestion-header-actions[b-iy3e4kxy7q] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
}

.my-suggestion-header-actions button[b-iy3e4kxy7q] {
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #ddbbb4;
    border-radius: 999px;
    background: #fff;
    color: #914a3f;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.my-suggestion-header-actions button:disabled[b-iy3e4kxy7q] {
    opacity: .55;
    cursor: wait;
}

.my-suggestion h3[b-iy3e4kxy7q] {
    margin: 7px 0 3px;
}

.my-suggestion header p[b-iy3e4kxy7q] {
    margin: 0;
    color: #77716a;
    font-size: 12px;
}

.my-suggestion-status[b-iy3e4kxy7q] {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}

.my-suggestion-status.pending[b-iy3e4kxy7q] {
    background: #fff5d9;
    color: #735d20;
}

.my-suggestion-status.accepted[b-iy3e4kxy7q] {
    background: #e8f5eb;
    color: #2e6740;
}

.my-suggestion-status.rejected[b-iy3e4kxy7q] {
    background: #fbecea;
    color: #873d35;
}

.my-suggestion-comment[b-iy3e4kxy7q] {
    margin: 0 17px 13px;
    padding: 11px 13px;
    border-radius: 13px;
    background: #f1eee9;
}

.my-suggestion-comment span[b-iy3e4kxy7q] {
    color: #817a71;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.my-suggestion-comment p[b-iy3e4kxy7q] {
    margin: 5px 0 0;
    white-space: pre-wrap;
}

.my-suggestion-differences[b-iy3e4kxy7q] {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 0 17px 17px;
}

.my-suggestion-differences > div[b-iy3e4kxy7q] {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 9px 11px;
    border-radius: 12px;
    background: #f2f0ec;
    font-size: 12px;
}

.my-suggestion-differences strong[b-iy3e4kxy7q] {
    color: #4c4741;
}

.my-suggestion-differences span[b-iy3e4kxy7q] {
    overflow-wrap: anywhere;
    color: #706a63;
}

.my-suggestion-differences span.new[b-iy3e4kxy7q] {
    color: #2f6540;
    font-weight: 700;
}

.my-suggestion-differences i[b-iy3e4kxy7q] {
    color: #928a82;
    font-style: normal;
}

.my-suggestion footer[b-iy3e4kxy7q] {
    padding: 13px 17px 16px;
    border-top: 1px solid #e1ddd6;
    background: #fff;
    color: #666059;
    font-size: 12px;
}

.my-suggestion footer p[b-iy3e4kxy7q] {
    margin: 6px 0 0;
    white-space: pre-wrap;
}

@media (max-width: 720px) {
    .my-suggestions-page[b-iy3e4kxy7q] {
        padding: 16px 10px 32px;
    }

    .my-suggestions-header[b-iy3e4kxy7q] {
        flex-direction: column;
    }

    .my-suggestions-card[b-iy3e4kxy7q] {
        padding: 13px 10px;
        border-radius: 17px;
    }

    .my-suggestion-differences > div[b-iy3e4kxy7q] {
        grid-template-columns: 1fr;
    }

    .my-suggestion-differences i[b-iy3e4kxy7q] {
        transform: rotate(90deg);
    }

    .my-suggestion > header[b-iy3e4kxy7q] {
        flex-direction: column;
    }

    .my-suggestions-header-actions[b-iy3e4kxy7q],
    .my-suggestions-header-actions a[b-iy3e4kxy7q] {
        width: 100%;
    }

    .my-suggestions-header-actions a[b-iy3e4kxy7q] {
        justify-content: center;
    }

    .my-suggestion-header-actions[b-iy3e4kxy7q] {
        width: 100%;
        justify-content: space-between;
    }

    .my-suggestion-header-actions button[b-iy3e4kxy7q] {
        min-height: 40px;
    }
}

.relationship-history-card[b-iy3e4kxy7q] {
    margin-top: 18px;
}

.my-relationship-summary[b-iy3e4kxy7q] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin: 0 17px 15px;
    padding: 12px 13px;
    border-radius: 13px;
    background: #f2f0ec;
}

.my-relationship-summary.creation-parents[b-iy3e4kxy7q] {
    margin-top: 8px;
    border-color: #d6cba8;
    background: #fff9e9;
}

.my-relationship-summary > div[b-iy3e4kxy7q] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.my-relationship-summary span[b-iy3e4kxy7q] {
    color: #817a71;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.my-relationship-summary strong[b-iy3e4kxy7q] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.my-relationship-summary i[b-iy3e4kxy7q] {
    color: #958d83;
    font-style: normal;
    font-size: 18px;
}

@media (max-width: 650px) {
    .my-relationship-summary[b-iy3e4kxy7q] {
        grid-template-columns: 1fr;
    }

    .my-relationship-summary i[b-iy3e4kxy7q] {
        transform: rotate(90deg);
        text-align: center;
    }
}

.deletion-history-card[b-iy3e4kxy7q] {
    border-color: #dfc1bc;
}

.my-suggestion.deletion-request.pending[b-iy3e4kxy7q] {
    border-color: #dfb5ae;
    background: #fff9f8;
}

.my-document-comparison[b-iy3e4kxy7q] {
    display: grid;
    margin: 0 17px 17px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.my-document-comparison.single[b-iy3e4kxy7q] {
    grid-template-columns: minmax(0, 720px);
}

@media (max-width: 760px) {
    .my-document-comparison[b-iy3e4kxy7q],
    .my-document-comparison.single[b-iy3e4kxy7q] {
        margin-right: 10px;
        margin-left: 10px;
        grid-template-columns: minmax(0, 1fr);
    }
}


.my-document-metadata-comparison[b-iy3e4kxy7q] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.my-document-metadata-comparison section[b-iy3e4kxy7q] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
    padding: 13px 14px;
    border: 1px solid #dedede;
    border-radius: 12px;
    background: #f8f8f8;
}

.my-document-metadata-comparison section.proposed[b-iy3e4kxy7q] {
    border-color: #b9d4bd;
    background: #f3faf4;
}

.my-document-metadata-comparison span[b-iy3e4kxy7q] {
    color: #777;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.my-document-metadata-comparison strong[b-iy3e4kxy7q] {
    overflow-wrap: anywhere;
    font-size: 14px;
}

.my-document-metadata-comparison p[b-iy3e4kxy7q] {
    margin: 0;
    color: #666;
    font-size: 12px;
}

@media (max-width: 680px) {
    .my-document-metadata-comparison[b-iy3e4kxy7q] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Notifications.razor.rz.scp.css */
.notifications-page[b-i07x6j2fv8] {
    width: 100%;
    height: 100dvh;
    padding: 32px 18px 60px;
    overflow-y: auto;
    scrollbar-gutter: stable;
    background: #f2f1ed;
    color: #2b2926;
}

.notifications-content[b-i07x6j2fv8] {
    width: min(980px, 100%);
    margin: 0 auto;
}

.notifications-header[b-i07x6j2fv8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 18px;
    padding: 23px;
    border: 1px solid #dcd8d1;
    border-radius: 20px;
    background: #fff;
}

.notifications-header > div > span[b-i07x6j2fv8] {
    color: #896f5c;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.09em;
}

.notifications-header h1[b-i07x6j2fv8] {
    margin: 4px 0 6px;
    font-size: clamp(27px, 4vw, 38px);
}

.notifications-header p[b-i07x6j2fv8] {
    margin: 0;
    color: #716c65;
}

.notifications-header nav[b-i07x6j2fv8] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.notifications-header a[b-i07x6j2fv8],
.notifications-toolbar button[b-i07x6j2fv8] {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 0 13px;
    border: 1px solid #d3cfc8;
    border-radius: 10px;
    background: #fff;
    color: #34312e;
    font: inherit;
    font-size: 11px;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.notifications-toolbar[b-i07x6j2fv8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
    padding: 12px 15px;
    border: 1px solid #ddd9d2;
    border-radius: 14px;
    background: #fff;
}

.notifications-toolbar > div[b-i07x6j2fv8] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
}

.notifications-toolbar button:disabled[b-i07x6j2fv8] {
    opacity: 0.5;
    cursor: default;
}

.notifications-list[b-i07x6j2fv8] {
    display: grid;
    gap: 10px;
}

.notification-card[b-i07x6j2fv8] {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: flex-start;
    gap: 13px;
    padding: 16px;
    border: 1px solid #b8d3bd;
    border-radius: 16px;
    background: #f7fcf8;
}

.notification-card.rejected[b-i07x6j2fv8] {
    border-color: #e0b5af;
    background: #fff8f6;
}

.notification-card.read[b-i07x6j2fv8] {
    border-color: #ddd9d2;
    background: #fff;
}

.notifications-decision[b-i07x6j2fv8] {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: #dcefe0;
    color: #2f6e3b;
    font-size: 21px;
    font-weight: 900;
}

.notification-card.rejected .notifications-decision[b-i07x6j2fv8] {
    background: #f4deda;
    color: #9a3b32;
}

.notifications-copy[b-i07x6j2fv8] {
    min-width: 0;
}

.notifications-copy > header[b-i07x6j2fv8] {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: #827b73;
    font-size: 10px;
}

.notifications-copy > header span[b-i07x6j2fv8] {
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.notifications-copy h2[b-i07x6j2fv8] {
    margin: 5px 0 3px;
    font-size: 16px;
}

.notifications-copy p[b-i07x6j2fv8] {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
}

.notifications-copy blockquote[b-i07x6j2fv8] {
    margin: 9px 0 0;
    padding: 8px 10px;
    border-left: 3px solid #bdb5aa;
    background: rgba(255, 255, 255, 0.7);
    color: #625c55;
    font-size: 11px;
    line-height: 1.4;
}

.notifications-copy blockquote span[b-i07x6j2fv8] {
    display: block;
    margin-bottom: 2px;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.notification-card > button[b-i07x6j2fv8] {
    min-height: 36px;
    padding: 0 11px;
    border: 1px solid #d2cdc6;
    border-radius: 9px;
    background: #fff;
    color: #34312e;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.notification-card > button:disabled[b-i07x6j2fv8] {
    opacity: 0.5;
}

.notifications-empty[b-i07x6j2fv8],
.notifications-message[b-i07x6j2fv8] {
    display: flex;
    min-height: 200px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    padding: 20px;
    border: 1px solid #ddd9d2;
    border-radius: 16px;
    background: #fff;
    color: #736d66;
}

.notifications-message.error[b-i07x6j2fv8] {
    border-color: #e0b5af;
    background: #fff5f3;
    color: #8a3129;
}

@media (max-width: 680px) {
    .notifications-page[b-i07x6j2fv8] {
        padding: 14px 10px 32px;
    }

    .notifications-header[b-i07x6j2fv8],
    .notifications-toolbar[b-i07x6j2fv8] {
        align-items: flex-start;
        flex-direction: column;
    }

    .notifications-header[b-i07x6j2fv8] {
        padding: 17px 14px;
        border-radius: 17px;
    }

    .notifications-header nav[b-i07x6j2fv8],
    .notifications-header a[b-i07x6j2fv8],
    .notifications-toolbar button[b-i07x6j2fv8] {
        width: 100%;
    }

    .notifications-header nav[b-i07x6j2fv8] {
        justify-content: flex-start;
    }

    .notifications-header a[b-i07x6j2fv8],
    .notifications-toolbar button[b-i07x6j2fv8] {
        justify-content: center;
    }

    .notification-card[b-i07x6j2fv8] {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .notification-card > button[b-i07x6j2fv8] {
        grid-column: 1 / -1;
        min-height: 42px;
    }
}
/* /Components/PersonDocumentGallery.razor.rz.scp.css */
.person-document-summary[b-1fpy8i4dax] {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 10px;
    color: #777;
    font-size: 12px;
}

.person-document-summary span[b-1fpy8i4dax] {
    padding: 5px 8px;
    border-radius: 999px;
    background: #f3f3f3;
}

.person-document-grid[b-1fpy8i4dax] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.person-document-card[b-1fpy8i4dax] {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
    padding: 8px;
    border: 1px solid #dedede;
    border-radius: 15px;
    background: #fafafa;
    color: #222;
    font: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition:
        transform 140ms ease,
        border-color 140ms ease,
        box-shadow 140ms ease;
}

.person-document-action[b-1fpy8i4dax] {
    position: absolute;
    z-index: 2;
    inset: 0;
    padding: 0;
    border: 0;
    border-radius: 15px;
    outline-offset: 2px;
    background: transparent;
    cursor: pointer;
}

.person-document-delete[b-1fpy8i4dax] {
    position: absolute;
    z-index: 4;
    top: 13px;
    right: 13px;
    display: grid;
    width: 28px;
    height: 28px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(151, 52, 43, 0.55);
    border-radius: 50%;
    background: rgba(255, 248, 247, 0.94);
    color: #84271f;
    font: inherit;
    font-size: 19px;
    line-height: 1;
    cursor: pointer;
    backdrop-filter: blur(4px);
}

.person-document-delete:hover[b-1fpy8i4dax],
.person-document-delete:focus-visible[b-1fpy8i4dax] {
    border-color: #a8342a;
    background: #fff;
    outline: none;
}

.person-document-card:hover[b-1fpy8i4dax],
.person-document-card:focus-visible[b-1fpy8i4dax] {
    transform: translateY(-2px);
    border-color: #8d8d8d;
    outline: none;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}

.person-document-card.unavailable[b-1fpy8i4dax] {
    cursor: default;
    opacity: 0.72;
}

.person-document-card.unavailable:hover[b-1fpy8i4dax] {
    transform: none;
    border-color: #dedede;
    box-shadow: none;
}

.person-document-preview[b-1fpy8i4dax] {
    position: relative;
    display: grid;
    height: 142px;
    overflow: hidden;
    place-items: center;
    border-radius: 11px;
    background: #e8e6e1;
}

.person-document-preview img[b-1fpy8i4dax] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
}

.person-document-file-icon[b-1fpy8i4dax] {
    display: grid;
    width: 58px;
    height: 72px;
    place-items: center;
    border: 2px solid #aaa49a;
    border-radius: 8px;
    background: #fff;
    color: #706a61;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.06em;
}

.person-document-scope[b-1fpy8i4dax] {
    position: absolute;
    right: 7px;
    bottom: 7px;
    left: 7px;
    padding: 5px 7px;
    overflow: hidden;
    border-radius: 8px;
    background: rgba(28, 28, 28, 0.82);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
    text-overflow: ellipsis;
    backdrop-filter: blur(5px);
}

.person-document-copy[b-1fpy8i4dax] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
    padding: 0 3px 2px;
}

.person-document-copy strong[b-1fpy8i4dax],
.person-document-copy span[b-1fpy8i4dax] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.person-document-copy strong[b-1fpy8i4dax] {
    font-size: 12px;
}

.person-document-copy span[b-1fpy8i4dax] {
    color: #777;
    font-size: 11px;
}

@media (max-width: 520px) {
    .person-document-grid[b-1fpy8i4dax] {
        grid-template-columns: 1fr;
    }

    .person-document-preview[b-1fpy8i4dax] {
        height: 190px;
    }
}

.muted[b-1fpy8i4dax] {
    margin: 0;
    color: #777;
}
/* /Components/PersonEditorModal.razor.rz.scp.css */
.person-editor-backdrop[b-34bt4putrj] {
    position: fixed;
    z-index: 1600;
    inset: 0;
    display: grid;
    padding: 24px;
    place-items: center;
    background: rgba(28, 25, 23, 0.58);
    backdrop-filter: blur(8px);
}

.person-editor-modal[b-34bt4putrj] {
    display: flex;
    width: min(920px, 100%);
    max-height: calc(100dvh - 48px);
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(57, 48, 40, 0.14);
    border-radius: 26px;
    background: #f7f5f1;
    box-shadow: 0 30px 100px rgba(25, 20, 16, 0.32);
}

.person-editor-header[b-34bt4putrj] {
    z-index: 3;
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px 19px;
    border-bottom: 1px solid #ded9d1;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(14px);
}

.person-editor-heading[b-34bt4putrj] {
    min-width: 0;
}

.person-editor-header h2[b-34bt4putrj] {
    margin: 4px 0 5px;
    overflow: hidden;
    font-size: 25px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.person-editor-header p[b-34bt4putrj] {
    margin: 0;
    color: #716b64;
    font-size: 13px;
    line-height: 1.4;
}

.person-editor-eyebrow[b-34bt4putrj] {
    color: #92715a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.person-editor-close[b-34bt4putrj] {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    padding: 0;
    place-items: center;
    border: 1px solid #d8d2ca;
    border-radius: 50%;
    background: #fff;
    color: #37322e;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.person-editor-close:hover[b-34bt4putrj] {
    background: #f2efea;
}

.person-editor-close:disabled[b-34bt4putrj] {
    cursor: wait;
    opacity: 0.55;
}

.person-editor-alert[b-34bt4putrj] {
    margin: 16px 22px 0;
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 13px;
    line-height: 1.45;
}

.person-editor-alert.error[b-34bt4putrj] {
    border: 1px solid #e4b5ad;
    background: #fff0ed;
    color: #873b31;
}

.person-editor-alert.warning[b-34bt4putrj] {
    margin: 0;
    border: 1px solid #dccb99;
    background: #fff9e8;
    color: #66582f;
}

.person-editor-loading[b-34bt4putrj] {
    padding: 44px 24px;
    color: #746e67;
    text-align: center;
}

.person-editor-related-actions[b-34bt4putrj] {
    flex: 0 0 auto;
    padding: 10px 20px 0;
}

.person-editor-related-actions button[b-34bt4putrj] {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 11px;
    padding: 11px 13px;
    border: 1px solid #cbd5e2;
    border-radius: 14px;
    background: #eef3f9;
    color: #344d6c;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.person-editor-related-actions button > span[b-34bt4putrj] {
    display: grid;
    width: 31px;
    height: 31px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 10px;
    background: #dce6f2;
    font-weight: 900;
}

.person-editor-related-actions button > div[b-34bt4putrj] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.person-editor-related-actions small[b-34bt4putrj] {
    color: #687c94;
    font-size: 11px;
}

.person-editor-related-actions button:hover:not(:disabled)[b-34bt4putrj] {
    border-color: #9eb0c7;
    background: #e5edf7;
}

.person-editor-related-actions button:disabled[b-34bt4putrj] {
    cursor: wait;
    opacity: 0.55;
}

.person-editor-modal[b-34bt4putrj]  form.person-editor-form {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
}

.person-editor-scroll[b-34bt4putrj] {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 14px;
    padding: 18px 20px 24px;
    overflow-y: auto;
}

.person-editor-section[b-34bt4putrj] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px;
    border: 1px solid #e1dcd4;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(56, 45, 35, 0.04);
}

.person-editor-section-heading[b-34bt4putrj] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.person-editor-section-icon[b-34bt4putrj] {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 11px;
    background: #eee9e2;
    color: #67584c;
    font-size: 14px;
    font-weight: 850;
}

.person-editor-section-heading h3[b-34bt4putrj] {
    margin: 1px 0 3px;
    font-size: 17px;
}

.person-editor-section-heading p[b-34bt4putrj] {
    margin: 0;
    color: #7a746d;
    font-size: 12px;
    line-height: 1.4;
}

.person-editor-grid[b-34bt4putrj] {
    display: grid;
    gap: 14px;
}

.person-editor-grid.two-columns[b-34bt4putrj] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.person-editor-grid.three-columns[b-34bt4putrj] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.person-editor-modal[b-34bt4putrj]  form.person-editor-form label:not(.life-status-switch) {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 7px;
    color: #4e4944;
    font-size: 12px;
    font-weight: 750;
}

.person-editor-modal[b-34bt4putrj]  form.person-editor-form input:not([type="checkbox"]),
.person-editor-modal[b-34bt4putrj]  form.person-editor-form select,
.person-editor-modal[b-34bt4putrj]  form.person-editor-form textarea {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #d8d2ca;
    border-radius: 12px;
    outline: none;
    background: #fbfaf8;
    color: #282522;
    font: inherit;
    font-weight: 500;
}

.person-editor-modal[b-34bt4putrj]  form.person-editor-form textarea {
    min-height: 108px;
    resize: vertical;
    line-height: 1.5;
}

.person-editor-modal[b-34bt4putrj]  form.person-editor-form input:focus,
.person-editor-modal[b-34bt4putrj]  form.person-editor-form select:focus,
.person-editor-modal[b-34bt4putrj]  form.person-editor-form textarea:focus {
    border-color: #766456;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(118, 100, 86, 0.12);
}

.person-editor-modal[b-34bt4putrj]  form.person-editor-form .validation-message {
    color: #9c3c33;
    font-size: 11px;
    font-weight: 500;
}

.life-status-section[b-34bt4putrj] {
    background: linear-gradient(135deg, #fff 0%, #faf8f4 100%);
}

.life-status-switch[b-34bt4putrj] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid #dcd6ce;
    border-radius: 16px;
    background: #f7f5f1;
    cursor: pointer;
}

.life-status-switch.alive[b-34bt4putrj] {
    border-color: #bcd6c4;
    background: #f1f9f3;
}

.life-status-switch.deceased[b-34bt4putrj] {
    border-color: #d3c8be;
    background: #f4f1ed;
}

.life-status-native[b-34bt4putrj] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

.life-status-native:focus-visible + .life-status-control[b-34bt4putrj] {
    outline: 3px solid rgba(63, 139, 88, 0.28);
    outline-offset: 3px;
}

.life-status-control[b-34bt4putrj] {
    position: relative;
    width: 48px;
    height: 27px;
    border-radius: 999px;
    background: #9d958d;
    transition: background 150ms ease;
}

.life-status-control[b-34bt4putrj]::after {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.22);
    content: "";
    transition: transform 150ms ease;
}

.life-status-switch.alive .life-status-control[b-34bt4putrj] {
    background: #3f8b58;
}

.life-status-switch.alive .life-status-control[b-34bt4putrj]::after {
    transform: translateX(21px);
}

.life-status-copy[b-34bt4putrj] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.life-status-copy strong[b-34bt4putrj] {
    color: #332f2b;
    font-size: 14px;
}

.life-status-copy small[b-34bt4putrj] {
    color: #746e67;
    font-size: 11px;
    font-weight: 500;
}

.death-section[b-34bt4putrj] {
    border-color: #d8cdc3;
    background: #fcfaf8;
}

.proposal-section[b-34bt4putrj] {
    border-color: #cfc4a7;
    background: #fffdf5;
}

.person-delete-section[b-34bt4putrj] {
    border-color: #e0c0ba;
    background: #fff9f8;
}

.person-delete-section .person-editor-section-icon[b-34bt4putrj] {
    background: #f5dfdb;
    color: #8a3f35;
}

.person-delete-open[b-34bt4putrj] {
    align-self: flex-start;
    min-height: 39px;
    padding: 8px 13px;
    border: 1px solid #d8a8a0;
    border-radius: 11px;
    background: #fff;
    color: #8b3d33;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.person-delete-confirmation[b-34bt4putrj] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 13px;
    border: 1px solid #dda9a1;
    border-radius: 14px;
    background: #fff0ed;
    color: #743a32;
}

.person-delete-confirmation > p[b-34bt4putrj] {
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
}

.person-delete-confirmation > div:last-child[b-34bt4putrj] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.person-editor-button.danger[b-34bt4putrj] {
    border-color: #9d493e;
    background: #9d493e;
    color: #fff;
}

.person-editor-button.danger:hover:not(:disabled)[b-34bt4putrj] {
    border-color: #7d332b;
    background: #7d332b;
}

.person-editor-actions[b-34bt4putrj] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 20px 17px;
    border-top: 1px solid #ddd7cf;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 -12px 28px rgba(46, 37, 30, 0.06);
    backdrop-filter: blur(14px);
}

.person-editor-actions > div[b-34bt4putrj] {
    display: flex;
    flex: 0 0 auto;
    gap: 9px;
}

.person-editor-actions-note[b-34bt4putrj] {
    color: #787169;
    font-size: 11px;
    line-height: 1.35;
}

.person-editor-button[b-34bt4putrj] {
    min-height: 41px;
    padding: 9px 16px;
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
}

.person-editor-button.secondary[b-34bt4putrj] {
    border: 1px solid #d4cec6;
    background: #fff;
    color: #37332f;
}

.person-editor-button.primary[b-34bt4putrj] {
    border: 1px solid #292725;
    background: #292725;
    color: #fff;
}

.person-editor-button:hover:not(:disabled)[b-34bt4putrj] {
    transform: translateY(-1px);
}

.person-editor-button:disabled[b-34bt4putrj] {
    cursor: wait;
    opacity: 0.58;
}

@media (max-width: 720px) {
    .person-editor-backdrop[b-34bt4putrj] {
        padding: 0;
        place-items: stretch;
    }

    .person-editor-modal[b-34bt4putrj] {
        width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
    }

    .person-editor-header[b-34bt4putrj] {
        padding: max(14px, env(safe-area-inset-top)) 14px 12px;
    }

    .person-editor-close[b-34bt4putrj] {
        width: 42px;
        height: 42px;
    }

    .person-editor-scroll[b-34bt4putrj] {
        padding: 14px;
        overscroll-behavior: contain;
    }

    .person-editor-grid.two-columns[b-34bt4putrj],
    .person-editor-grid.three-columns[b-34bt4putrj] {
        grid-template-columns: 1fr;
    }

    .person-editor-actions[b-34bt4putrj] {
        align-items: stretch;
        flex-direction: column;
        padding: 10px 14px max(10px, env(safe-area-inset-bottom));
    }

    .person-editor-button[b-34bt4putrj] {
        min-height: 44px;
    }

    .person-editor-actions > div[b-34bt4putrj] {
        justify-content: flex-end;
    }

    .person-editor-actions-note[b-34bt4putrj] {
        display: none;
    }
}
/* /Components/PersonPhotoGallery.razor.rz.scp.css */
.person-photo-gallery-summary[b-age6f2zb18] {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    color: #777;
    font-size: 12px;
}

.person-photo-gallery-summary span[b-age6f2zb18] {
    padding: 5px 8px;
    border-radius: 999px;
    background: #f3f3f3;
}

.person-photo-gallery-grid[b-age6f2zb18] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.person-photo-card[b-age6f2zb18] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
    padding: 8px;
    border: 1px solid #dedede;
    border-radius: 15px;
    background: #fafafa;
    color: #222;
    text-align: left;
    cursor: pointer;
    transition:
        transform 140ms ease,
        border-color 140ms ease,
        box-shadow 140ms ease;
}

.person-photo-card:hover[b-age6f2zb18],
.person-photo-card:focus-visible[b-age6f2zb18] {
    transform: translateY(-2px);
    border-color: #8d8d8d;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}

.person-photo-thumb[b-age6f2zb18] {
    position: relative;
    display: block;
    height: 142px;
    overflow: hidden;
    border-radius: 11px;
    background: #e9e9e9;
}

.person-photo-thumb img[b-age6f2zb18] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
}

.person-photo-primary-badge[b-age6f2zb18],
.person-photo-proposed-badge[b-age6f2zb18],
.person-photo-people-count[b-age6f2zb18] {
    position: absolute;
    z-index: 1;
    top: 7px;
    padding: 4px 7px;
    border-radius: 999px;
    background: rgba(28, 28, 28, 0.82);
    color: white;
    font-size: 10px;
    font-weight: 700;
    backdrop-filter: blur(5px);
}

.person-photo-primary-badge[b-age6f2zb18] {
    left: 7px;
}

.person-photo-proposed-badge[b-age6f2zb18] {
    right: 7px;
    bottom: 7px;
    top: auto;
    max-width: calc(100% - 14px);
    overflow: hidden;
    background: rgba(116, 83, 17, .9);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.person-photo-people-count[b-age6f2zb18] {
    right: 7px;
    min-width: 22px;
    text-align: center;
}

.person-photo-copy[b-age6f2zb18] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
    padding: 0 3px 2px;
}

.person-photo-copy strong[b-age6f2zb18],
.person-photo-copy span[b-age6f2zb18] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.person-photo-copy strong[b-age6f2zb18] {
    font-size: 12px;
}

.person-photo-copy span[b-age6f2zb18] {
    color: #777;
    font-size: 11px;
}

.person-photo-expand-button[b-age6f2zb18] {
    align-self: flex-start;
    padding: 8px 11px;
    border: 1px solid #d5d5d5;
    border-radius: 999px;
    background: white;
    color: #444;
    font-weight: 650;
    cursor: pointer;
}

.person-photo-expand-button:hover[b-age6f2zb18] {
    background: #f2f2f2;
}

@media (max-width: 520px) {
    .person-photo-gallery-grid[b-age6f2zb18] {
        grid-template-columns: 1fr;
    }

    .person-photo-thumb[b-age6f2zb18] {
        height: 190px;
    }
}

.muted[b-age6f2zb18] {
    margin: 0;
    color: #777;
}
/* /Components/PersonPortrait.razor.rz.scp.css */
.person-portrait-image[b-ymji5x7h6g] {
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
    user-select: none;
}

.person-portrait-image.real-photo[b-ymji5x7h6g] {
    object-fit: cover;
}

.person-portrait-image.placeholder-photo[b-ymji5x7h6g] {
    object-fit: contain;
    object-position: center;
}
/* /Components/PhotoGalleryModal.razor.rz.scp.css */
.photo-gallery-modal[b-g65s01kh2x] {
    position: fixed;
    z-index: 1800;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
}

.photo-gallery-modal-backdrop[b-g65s01kh2x] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(20, 20, 20, 0.78);
    cursor: zoom-out;
    backdrop-filter: blur(7px);
}

.photo-gallery-modal-dialog[b-g65s01kh2x] {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(1380px, calc(100vw - 48px));
    max-height: calc(100dvh - 48px);
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 22px;
    background: #f7f7f7;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.42);
}

.photo-gallery-modal-header[b-g65s01kh2x] {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 17px 20px;
    border-bottom: 1px solid #dedede;
    background: white;
}

.photo-gallery-modal-header h2[b-g65s01kh2x] {
    margin: 2px 0 3px;
    font-size: 20px;
}

.photo-gallery-modal-header p[b-g65s01kh2x] {
    margin: 0;
    color: #777;
    font-size: 12px;
}

.photo-gallery-modal-eyebrow[b-g65s01kh2x] {
    color: #777;
    font-size: 10px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.photo-gallery-modal-close[b-g65s01kh2x] {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    padding: 0;
    place-items: center;
    border: 1px solid #d7d7d7;
    border-radius: 50%;
    background: white;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.photo-gallery-modal-body[b-g65s01kh2x] {
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
    padding: 22px;
    background: #efefef;
}

.photo-gallery-modal-grid[b-g65s01kh2x] {
    columns: 260px 4;
    column-gap: 18px;
}

.photo-gallery-modal-item[b-g65s01kh2x] {
    display: block;
    width: 100%;
    margin: 0 0 20px;
    padding: 0;
    break-inside: avoid;
    border: 0;
    background: transparent;
    color: #222;
    text-align: left;
    cursor: pointer;
}

.photo-gallery-modal-image-wrap[b-g65s01kh2x] {
    position: relative;
    display: block;
    width: 100%;
    overflow: visible;
    background: transparent;
}

.photo-gallery-modal-image-wrap img[b-g65s01kh2x] {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    border: 1px solid rgba(70, 70, 70, 0.28);
    border-radius: 4px;
    object-fit: contain;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
    transition: transform 140ms ease, box-shadow 140ms ease;
}

.photo-gallery-modal-item:hover img[b-g65s01kh2x],
.photo-gallery-modal-item:focus-visible img[b-g65s01kh2x] {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.23);
}

.photo-gallery-modal-primary[b-g65s01kh2x] {
    position: absolute;
    top: 8px;
    left: 8px;
    padding: 4px 7px;
    border-radius: 999px;
    background: rgba(28, 28, 28, 0.82);
    color: white;
    font-size: 10px;
    font-weight: 700;
    backdrop-filter: blur(5px);
}

.photo-gallery-modal-caption[b-g65s01kh2x] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
    padding: 8px 2px 0;
}

.photo-gallery-modal-caption strong[b-g65s01kh2x],
.photo-gallery-modal-caption span[b-g65s01kh2x] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.photo-gallery-modal-caption strong[b-g65s01kh2x] {
    font-size: 12px;
}

.photo-gallery-modal-caption span[b-g65s01kh2x] {
    color: #777;
    font-size: 11px;
}

@media (max-width: 700px) {
    .photo-gallery-modal[b-g65s01kh2x] {
        padding: 0;
    }

    .photo-gallery-modal-dialog[b-g65s01kh2x] {
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
    }

    .photo-gallery-modal-header[b-g65s01kh2x] {
        padding: max(14px, env(safe-area-inset-top)) 14px 12px;
    }

    .photo-gallery-modal-header p[b-g65s01kh2x] {
        display: none;
    }

    .photo-gallery-modal-close[b-g65s01kh2x] {
        width: 42px;
        height: 42px;
    }

    .photo-gallery-modal-body[b-g65s01kh2x] {
        padding: 12px 12px max(14px, env(safe-area-inset-bottom));
        overscroll-behavior: contain;
    }

    .photo-gallery-modal-grid[b-g65s01kh2x] {
        columns: 1;
    }
}
/* /Components/PhotoLightbox.razor.rz.scp.css */
.photo-lightbox[b-2ottufb27f] {
    position: fixed;
    z-index: 1810;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
}

.photo-lightbox-backdrop[b-2ottufb27f] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(20, 20, 20, 0.78);
    cursor: zoom-out;
    backdrop-filter: blur(7px);
}

.photo-lightbox-dialog[b-2ottufb27f] {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(1360px, calc(100vw - 48px));
    height: min(900px, calc(100dvh - 48px));
    min-height: min(560px, calc(100dvh - 48px));
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 22px;
    background: #f7f7f7;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.42);
}

.photo-lightbox-header[b-2ottufb27f] {
    box-sizing: border-box;
    display: flex;
    height: 86px;
    flex: 0 0 86px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 20px;
    overflow: hidden;
    border-bottom: 1px solid #dedede;
    background: white;
}

.photo-lightbox-header > div[b-2ottufb27f] {
    min-width: 0;
}

.photo-lightbox-header h2[b-2ottufb27f] {
    margin: 2px 0 3px;
    overflow: hidden;
    font-size: 20px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.photo-lightbox-header p[b-2ottufb27f] {
    margin: 0;
    overflow: hidden;
    color: #777;
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.photo-lightbox-eyebrow[b-2ottufb27f] {
    display: block;
    overflow: hidden;
    color: #777;
    font-size: 10px;
    letter-spacing: 0.09em;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-transform: uppercase;
}

.photo-lightbox-close[b-2ottufb27f] {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    padding: 0;
    place-items: center;
    border: 1px solid #d7d7d7;
    border-radius: 50%;
    background: white;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.photo-lightbox-body[b-2ottufb27f] {
    display: block;
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
    padding: 18px;
    background:
        linear-gradient(45deg, #ededed 25%, transparent 25%) 0 0 / 22px 22px,
        linear-gradient(45deg, transparent 75%, #ededed 75%) 0 0 / 22px 22px,
        linear-gradient(45deg, transparent 75%, #ededed 75%) 11px -11px / 22px 22px,
        linear-gradient(45deg, #ededed 25%, #f7f7f7 25%) 11px -11px / 22px 22px;
}

.photo-lightbox-content[b-2ottufb27f] {
    position: relative;
    display: grid;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.photo-lightbox-content.with-person-panel[b-2ottufb27f] {
    grid-template-columns: 400px minmax(0, 1fr);
}

.photo-lightbox-stage[b-2ottufb27f] {
    position: relative;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    overflow: hidden;
}

.photo-lightbox-pan-viewport[b-2ottufb27f] {
    display: grid;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    place-items: center;
    padding: 0 58px;
    overflow: auto;
    overscroll-behavior: contain;
    touch-action: pan-y;
}

.photo-lightbox-pan-viewport.zoomed[b-2ottufb27f] {
    display: block;
    touch-action: none;
}

.photo-lightbox-pan-viewport.zoomed .photo-lightbox-figure[b-2ottufb27f] {
    max-width: none;
    max-height: none;
    margin: 0 auto;
}

.photo-lightbox-pan-viewport.zoomed .photo-lightbox-image[b-2ottufb27f] {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
}

.photo-lightbox-loading[b-2ottufb27f] {
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;
    display: flex;
    min-width: 190px;
    transform: translate(-50%, -50%);
    flex-direction: column;
    align-items: center;
    gap: 9px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 14px;
    background: rgba(28, 28, 28, 0.86);
    color: #fff;
    font-size: 11px;
    text-align: center;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(8px);
}

.photo-lightbox-loading.error[b-2ottufb27f] {
    background: rgba(91, 35, 31, 0.92);
}

.photo-lightbox-loading span[b-2ottufb27f] {
    max-width: 260px;
    line-height: 1.4;
}

.photo-lightbox-loading-spinner[b-2ottufb27f] {
    display: block;
    width: 26px;
    height: 26px;
    box-sizing: border-box;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: photo-lightbox-spin-b-2ottufb27f 700ms linear infinite;
}

@keyframes photo-lightbox-spin-b-2ottufb27f {
    to {
        transform: rotate(360deg);
    }
}

.photo-lightbox-figure[b-2ottufb27f] {
    position: relative;
    display: inline-block;
    max-width: 100%;
    max-height: 100%;
    line-height: 0;
    box-shadow: 0 14px 44px rgba(0, 0, 0, 0.24);
}

.photo-lightbox-figure.whole-scope-highlighted[b-2ottufb27f] {
    outline: 4px solid #ffd86b;
    outline-offset: 3px;
    box-shadow:
        0 14px 44px rgba(0, 0, 0, 0.24),
        0 0 24px rgba(255, 216, 107, 0.72);
}

.photo-lightbox-image[b-2ottufb27f] {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: min(690px, calc(100dvh - 238px));
    user-select: none;
}

.photo-carousel-button[b-2ottufb27f] {
    position: absolute;
    z-index: 6;
    top: 50%;
    display: grid;
    width: 44px;
    height: 58px;
    padding: 0;
    transform: translateY(-50%);
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 14px;
    background: rgba(25, 25, 25, 0.72);
    color: white;
    font-size: 40px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    backdrop-filter: blur(5px);
    transition: background 120ms ease;
}

.photo-carousel-button:hover[b-2ottufb27f],
.photo-carousel-button:focus-visible[b-2ottufb27f] {
    background: rgba(25, 25, 25, 0.9);
}

.photo-carousel-button.previous[b-2ottufb27f] {
    left: 0;
}


.photo-carousel-button.next[b-2ottufb27f] {
    right: 0;
}

.photo-side-panel[b-2ottufb27f] {
    position: relative;
    z-index: 14;
    width: 400px;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #d8d8d8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.14);
}

.photo-side-panel.person-only[b-2ottufb27f] {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.photo-person-panel-shell[b-2ottufb27f] {
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.photo-person-panel-shell[b-2ottufb27f]  .photo-person-details {
    width: 100%;
    max-width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.photo-person-hotspot[b-2ottufb27f] {
    position: absolute;
    z-index: 2;
    box-sizing: border-box;
    min-width: 10px;
    min-height: 10px;
    padding: 0;
    border: calc(2px * var(--photo-viewer-zoom, 1)) solid transparent;
    outline: 0;
    background: transparent;
    cursor: pointer;
}

.photo-person-hotspot.highlighted[b-2ottufb27f] {
    z-index: 5;
    border-color: #ffd86b;
    background: rgba(255, 216, 107, 0.18);
    box-shadow:
        0 0 0 2px rgba(25, 25, 25, 0.5),
        0 0 18px rgba(255, 216, 107, 0.78);
}

.photo-person-hotspot.highlighted span[b-2ottufb27f] {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.photo-person-hotspot span[b-2ottufb27f] {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 7px);
    z-index: 8;
    width: max-content;
    max-width: 240px;
    padding: 6px 8px;
    transform: translateX(-50%) translateY(3px);
    border-radius: 8px;
    background: rgba(22, 22, 22, 0.92);
    color: white;
    font-size: calc(11px * var(--photo-viewer-zoom, 1));
    font-weight: 650;
    line-height: 1.2;
    opacity: 0;
    pointer-events: none;
    transition: opacity 100ms ease, transform 100ms ease;
}

.photo-person-hotspot:hover span[b-2ottufb27f],
.photo-person-hotspot:focus-visible span[b-2ottufb27f] {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.photo-person-hotspot:focus-visible[b-2ottufb27f] {
    box-shadow: inset 0 0 0 2px rgba(255, 207, 82, 0.85);
}

.photo-people-sidebar-content[b-2ottufb27f] {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    color: #292929;
}

.photo-people-sidebar-content > .photo-people-sidebar-header[b-2ottufb27f] {
    width: 100%;
    border: 0;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.photo-people-sidebar-header[b-2ottufb27f] {
    display: flex;
    min-height: 76px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-bottom: 1px solid #e3e3e3;
    background: linear-gradient(180deg, #fff, #fafafa);
}

.photo-people-sidebar-header div[b-2ottufb27f] {
    min-width: 0;
}

.photo-people-sidebar-header span[b-2ottufb27f] {
    display: block;
    margin-bottom: 3px;
    color: #777;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.photo-people-sidebar-header h3[b-2ottufb27f] {
    margin: 0;
    overflow: hidden;
    font-size: 18px;
    line-height: 1.2;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.photo-people-sidebar-header strong[b-2ottufb27f] {
    display: grid;
    min-width: 32px;
    height: 32px;
    flex: 0 0 auto;
    padding: 0 8px;
    place-items: center;
    border-radius: 999px;
    background: #ececec;
    color: #444;
    font-size: 12px;
}

.photo-people-summary-meta[b-2ottufb27f] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.photo-people-summary-meta i[b-2ottufb27f] {
    display: none;
    width: 9px;
    height: 9px;
    transform: rotate(45deg);
    border-right: 2px solid #777;
    border-bottom: 2px solid #777;
    transition: transform 140ms ease;
}

.photo-people-sidebar-content.open .photo-people-summary-meta i[b-2ottufb27f] {
    transform: rotate(225deg) translate(-2px, -2px);
}

.photo-people-list[b-2ottufb27f] {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 5px;
    padding: 10px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.photo-people-person-row[b-2ottufb27f] {
    display: flex;
    width: 100%;
    align-items: stretch;
    gap: 5px;
}

.photo-person-tree-button[b-2ottufb27f] {
    display: grid;
    width: 39px;
    min-height: 39px;
    flex: 0 0 39px;
    padding: 0;
    place-items: center;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    background: #f2f2f2;
    color: #444;
    font: inherit;
    cursor: pointer;
}

.photo-person-tree-button:hover[b-2ottufb27f],
.photo-person-tree-button:focus-visible[b-2ottufb27f] {
    border-color: #9d8940;
    background: #fff4c9;
    color: #292723;
    outline: none;
}

.photo-person-tree-button span[b-2ottufb27f] {
    font-size: 18px;
    line-height: 1;
}

.photo-people-person[b-2ottufb27f] {
    display: flex;
    width: auto;
    min-width: 0;
    min-height: 39px;
    flex: 1 1 auto;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid #e3e3e3;
    border-radius: 10px;
    background: #fafafa;
    color: #292929;
    font: inherit;
    font-size: 12px;
    text-align: left;
    cursor: pointer;
}

.photo-people-person:hover[b-2ottufb27f],
.photo-people-person:focus-visible[b-2ottufb27f],
.photo-people-person.highlighted[b-2ottufb27f] {
    border-color: #d5b649;
    background: #fff8d9;
    outline: none;
}

.photo-people-person.inspected[b-2ottufb27f] {
    border-color: #d5b649;
    box-shadow: inset 3px 0 0 #e2bd33;
}

.photo-people-person:disabled[b-2ottufb27f] {
    border-color: #e5e5e5;
    background: #f5f5f5;
    color: #777;
    cursor: default;
    box-shadow: none;
}

.photo-people-person:disabled:hover[b-2ottufb27f] {
    border-color: #e5e5e5;
    background: #f5f5f5;
}

.photo-people-person span[b-2ottufb27f] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.photo-people-person small[b-2ottufb27f] {
    flex: 0 0 auto;
    color: #888;
    font-size: 9px;
}

.photo-selected-person-action[b-2ottufb27f] {
    display: none;
}

.photo-lightbox-footer[b-2ottufb27f] {
    box-sizing: border-box;
    display: flex;
    min-height: 48px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 20px;
    overflow: visible;
    border-top: 1px solid #dedede;
    background: white;
    color: #666;
    font-size: 12px;
}

.photo-lightbox-footer span[b-2ottufb27f] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.photo-lightbox-footer strong[b-2ottufb27f] {
    flex: 0 0 auto;
    color: #333;
}

.photo-lightbox-footer-actions[b-2ottufb27f] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px;
}

.photo-primary-pending-badge[b-2ottufb27f] {
    padding: 5px 8px;
    border-radius: 999px;
    background: #fff0c8;
    color: #6f5512;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.photo-original-download[b-2ottufb27f],
.photo-people-manage-button[b-2ottufb27f],
.photo-primary-manage-button[b-2ottufb27f],
.photo-delete-button[b-2ottufb27f] {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    padding: 0 11px;
    border: 1px solid #cfcfcf;
    border-radius: 9px;
    background: #f5f5f5;
    color: #292929;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.photo-original-download:hover[b-2ottufb27f],
.photo-original-download:focus-visible[b-2ottufb27f],
.photo-people-manage-button:hover[b-2ottufb27f],
.photo-people-manage-button:focus-visible[b-2ottufb27f],
.photo-primary-manage-button:hover[b-2ottufb27f],
.photo-primary-manage-button:focus-visible[b-2ottufb27f],
.photo-delete-button:hover[b-2ottufb27f],
.photo-delete-button:focus-visible[b-2ottufb27f] {
    border-color: #999;
    background: white;
}

.photo-people-manage-button[b-2ottufb27f],
.photo-primary-manage-button[b-2ottufb27f],
.photo-delete-button[b-2ottufb27f] {
    cursor: pointer;
}

.photo-delete-button[b-2ottufb27f] {
    border-color: #d6a29d;
    background: #fff5f3;
    color: #8a2820;
}

.photo-delete-button:hover[b-2ottufb27f],
.photo-delete-button:focus-visible[b-2ottufb27f] {
    border-color: #b84b40;
    background: #fff;
    color: #721d17;
}

.photo-delete-button:disabled[b-2ottufb27f] {
    border-color: #ddd;
    background: #f2f2f2;
    color: #888;
    cursor: default;
}

.photo-primary-manage-button[b-2ottufb27f] {
    border-color: #292723;
    background: #292723;
    color: #fff;
}

.photo-lightbox-zoom-controls[b-2ottufb27f] {
    position: absolute;
    z-index: 12;
    right: 8px;
    bottom: 8px;
    display: flex;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 11px;
    background: rgba(28, 28, 28, 0.82);
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(6px);
}

.photo-lightbox-zoom-controls button[b-2ottufb27f] {
    display: grid;
    min-width: 36px;
    height: 34px;
    padding: 0 8px;
    place-items: center;
    border: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.18);
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 18px;
    font-weight: 750;
    cursor: pointer;
}

.photo-lightbox-zoom-controls button:last-child[b-2ottufb27f] {
    border-right: 0;
}

.photo-lightbox-zoom-controls button:hover[b-2ottufb27f],
.photo-lightbox-zoom-controls button:focus-visible[b-2ottufb27f] {
    background: rgba(255, 255, 255, 0.16);
    outline: none;
}

.photo-lightbox-zoom-controls button.reset[b-2ottufb27f] {
    min-width: 52px;
    font-size: 10px;
}

@media (min-width: 701px) {
    .photo-people-sidebar-content > .photo-people-sidebar-header[b-2ottufb27f] {
        cursor: default;
        pointer-events: none;
    }

    .photo-people-sidebar-content > .photo-people-list[b-2ottufb27f] {
        display: flex;
    }
}

.photo-primary-manage-button:hover[b-2ottufb27f],
.photo-primary-manage-button:focus-visible[b-2ottufb27f] {
    border-color: #161513;
    background: #161513;
    color: #fff;
}

@media (max-width: 920px) {
    .photo-lightbox-content.with-person-panel[b-2ottufb27f] {
        grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
        gap: 12px;
    }

    .photo-side-panel[b-2ottufb27f] {
        width: 100%;
    }
}

@media (max-width: 700px) {
    .photo-lightbox[b-2ottufb27f] {
        padding: 0;
    }

    .photo-lightbox-dialog[b-2ottufb27f] {
        width: 100vw;
        height: 100dvh;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        border-radius: 0;
        overscroll-behavior: contain;
    }

    .photo-lightbox-header[b-2ottufb27f] {
        position: sticky;
        z-index: 25;
        top: 0;
        height: auto;
        min-height: 68px;
        flex-basis: auto;
        padding: max(12px, env(safe-area-inset-top)) 12px 10px;
    }

    .photo-lightbox-header p[b-2ottufb27f] {
        display: none;
    }

    .photo-lightbox-close[b-2ottufb27f] {
        width: 42px;
        height: 42px;
    }

    .photo-lightbox-body[b-2ottufb27f] {
        flex: 0 0 auto;
        overflow: visible;
        padding: 8px;
    }

    .photo-lightbox-content.with-person-panel[b-2ottufb27f] {
        height: auto;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(56dvh, 1fr);
        gap: 8px;
    }

    .photo-lightbox-content[b-2ottufb27f] {
        height: auto;
        min-height: 56dvh;
    }

    .photo-side-panel[b-2ottufb27f] {
        width: 100%;
        height: auto;
        border-radius: 11px;
    }

    .photo-side-panel.person-only[b-2ottufb27f] {
        min-height: 58px;
    }

    .photo-people-sidebar-content[b-2ottufb27f] {
        height: auto;
    }

    .photo-people-sidebar-header[b-2ottufb27f] {
        min-height: 58px;
        padding: 9px 12px;
    }

    .photo-people-sidebar-header h3[b-2ottufb27f] {
        font-size: 15px;
    }

    .photo-people-sidebar-content:not(.open) > .photo-people-list[b-2ottufb27f] {
        display: none;
    }

    .photo-people-summary-meta i[b-2ottufb27f] {
        display: block;
    }

    .photo-people-list[b-2ottufb27f] {
        max-height: 139px;
        flex: 0 1 auto;
        padding: 7px;
    }

    .photo-selected-person-action[b-2ottufb27f] {
        display: flex;
        min-height: 40px;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        margin: 0 7px 7px;
        padding: 8px 12px;
        border: 1px solid #292723;
        border-radius: 10px;
        background: #292723;
        color: #fff;
        font: inherit;
        font-size: 12px;
        font-weight: 750;
        cursor: pointer;
    }

    .photo-selected-person-action:focus-visible[b-2ottufb27f] {
        outline: 3px solid rgba(213, 182, 73, 0.55);
        outline-offset: 2px;
    }

    .photo-person-panel-shell[b-2ottufb27f] {
        position: fixed;
        z-index: 40;
        inset: max(70px, env(safe-area-inset-top)) 8px
            max(54px, env(safe-area-inset-bottom)) 8px;
        width: auto;
        height: auto;
        overflow: hidden;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 18px 60px rgba(0, 0, 0, 0.38);
    }

    .photo-lightbox-stage[b-2ottufb27f] {
        height: 56dvh;
        min-height: 360px;
    }

    .photo-lightbox-pan-viewport[b-2ottufb27f] {
        padding: 0 38px;
    }

    .photo-carousel-button[b-2ottufb27f] {
        width: 34px;
        height: 48px;
        border-radius: 11px;
        font-size: 32px;
    }

    .photo-lightbox-image[b-2ottufb27f] {
        max-height: calc(100dvh - 170px);
    }

    .photo-lightbox-footer[b-2ottufb27f] {
        height: auto;
        min-height: 42px;
        flex-basis: auto;
        padding: 8px 12px max(8px, env(safe-area-inset-bottom));
        font-size: 10px;
        overflow-x: auto;
    }

    .photo-lightbox-footer > span[b-2ottufb27f] {
        display: none;
    }

    .photo-lightbox-footer strong[b-2ottufb27f] {
        display: none;
    }

    .photo-lightbox-footer-actions[b-2ottufb27f] {
        gap: 6px;
    }

    .photo-original-download[b-2ottufb27f],
    .photo-people-manage-button[b-2ottufb27f],
    .photo-primary-manage-button[b-2ottufb27f],
    .photo-delete-button[b-2ottufb27f] {
        min-height: 28px;
        padding: 0 8px;
        font-size: 9px;
    }
}
/* /Components/PhotoPeopleEditorModal.razor.rz.scp.css */
.photo-marker-editor-backdrop[b-18rfylihak] {
    position: fixed;
    z-index: 1900;
    inset: 0;
    display: grid;
    box-sizing: border-box;
    padding: 18px;
    place-items: center;
    background: rgba(20, 20, 20, 0.7);
    backdrop-filter: blur(6px);
}

.photo-marker-editor-modal[b-18rfylihak] {
    display: flex;
    width: min(1260px, calc(100vw - 36px));
    height: min(880px, calc(100dvh - 36px));
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    color: #2a2927;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.38);
}

.photo-marker-editor-header[b-18rfylihak] {
    display: flex;
    min-height: 90px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 20px 15px 24px;
    border-bottom: 1px solid #dfddd8;
}

.photo-marker-editor-header > div[b-18rfylihak] {
    min-width: 0;
}

.photo-marker-editor-header span[b-18rfylihak],
.photo-marker-editor-section-heading span[b-18rfylihak] {
    color: #876b57;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.photo-marker-editor-header h2[b-18rfylihak] {
    margin: 3px 0 2px;
    overflow: hidden;
    font-size: 22px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.photo-marker-editor-header p[b-18rfylihak] {
    margin: 0;
    color: #726e68;
    font-size: 12px;
}

.photo-marker-editor-header > button[b-18rfylihak] {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    padding: 0;
    place-items: center;
    border: 1px solid #d6d3ce;
    border-radius: 50%;
    background: #fff;
    font-size: 23px;
    cursor: pointer;
}

.photo-marker-editor-message[b-18rfylihak] {
    margin: auto;
    padding: 24px;
    color: #666;
}

.photo-marker-editor-message.error[b-18rfylihak],
.photo-marker-editor-alert[b-18rfylihak] {
    color: #842f2b;
}

.photo-marker-editor-alert[b-18rfylihak] {
    flex: 0 0 auto;
    padding: 9px 18px;
    border-bottom: 1px solid #efcbc7;
    background: #fff0ee;
    font-size: 12px;
}

.photo-marker-editor-body[b-18rfylihak] {
    display: grid;
    min-height: 0;
    flex: 1 1 auto;
    grid-template-columns: 340px minmax(0, 1fr);
}

.photo-marker-editor-sidebar[b-18rfylihak] {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    overflow-y: auto;
    border-right: 1px solid #dfddd8;
    background: #f8f7f4;
}

.photo-marker-editor-people[b-18rfylihak],
.photo-marker-editor-kind[b-18rfylihak],
.photo-marker-editor-actions[b-18rfylihak],
.photo-marker-editor-add-person[b-18rfylihak] {
    padding: 14px;
    border-bottom: 1px solid #e2dfda;
}

.photo-marker-editor-kind[b-18rfylihak] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.photo-marker-editor-kind label[b-18rfylihak] {
    font-size: 11px;
    font-weight: 800;
}

.photo-marker-editor-kind select[b-18rfylihak] {
    width: 100%;
    min-height: 38px;
    padding: 7px 9px;
    border: 1px solid #d1cdc6;
    border-radius: 10px;
    background: #fff;
    color: #302e2b;
    font: inherit;
    font-size: 12px;
}

.photo-marker-editor-kind small[b-18rfylihak] {
    color: #77716a;
    font-size: 9px;
    line-height: 1.35;
}

.photo-marker-editor-section-heading[b-18rfylihak] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 9px;
}

.photo-marker-editor-section-heading div[b-18rfylihak] {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.photo-marker-editor-section-heading strong[b-18rfylihak] {
    font-size: 15px;
}

.photo-marker-editor-section-heading b[b-18rfylihak] {
    display: grid;
    min-width: 28px;
    height: 28px;
    padding: 0 7px;
    place-items: center;
    border-radius: 999px;
    background: #e5e2dc;
    font-size: 11px;
}

.photo-marker-editor-marked-list[b-18rfylihak],
.photo-marker-editor-search-results[b-18rfylihak] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.photo-marker-person[b-18rfylihak],
.photo-marker-editor-search-results button[b-18rfylihak] {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 42px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 7px 10px;
    border: 1px solid #ddd9d3;
    border-radius: 10px;
    background: #fff;
    color: #302e2b;
    text-align: left;
    cursor: pointer;
}

.photo-marker-person:hover[b-18rfylihak],
.photo-marker-person:focus-visible[b-18rfylihak],
.photo-marker-editor-search-results button:hover[b-18rfylihak],
.photo-marker-editor-search-results button:focus-visible[b-18rfylihak] {
    border-color: #b79a5b;
    outline: none;
}

.photo-marker-person.selected[b-18rfylihak] {
    border-color: #b28d32;
    background: #fff7d8;
    box-shadow: inset 3px 0 #d4ae42;
}

.photo-marker-person span[b-18rfylihak],
.photo-marker-editor-search-results strong[b-18rfylihak] {
    width: 100%;
    overflow: hidden;
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.photo-marker-person small[b-18rfylihak],
.photo-marker-editor-search-results small[b-18rfylihak] {
    color: #7b7770;
    font-size: 10px;
}

.photo-marker-editor-actions[b-18rfylihak] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.photo-marker-editor-actions > strong[b-18rfylihak] {
    margin-bottom: 2px;
    overflow: hidden;
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.photo-marker-editor-actions button[b-18rfylihak],
.photo-marker-editor-footer button[b-18rfylihak],
.photo-marker-editor-instruction button[b-18rfylihak] {
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid #d2cec8;
    border-radius: 9px;
    background: #fff;
    color: #33302c;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
}

.photo-marker-editor-actions button.primary[b-18rfylihak],
.photo-marker-editor-footer button.primary[b-18rfylihak] {
    border-color: #292723;
    background: #292723;
    color: #fff;
}

.photo-marker-editor-actions button.danger[b-18rfylihak] {
    border-color: #e2c3bf;
    color: #8a3831;
}

.photo-marker-editor-unlinked-warning[b-18rfylihak] {
    padding: 7px 8px;
    border-radius: 8px;
    background: #fff0d5;
    color: #6e541d;
    font-size: 9px;
    line-height: 1.35;
}

.photo-marker-editor-area-unavailable[b-18rfylihak] {
    display: block;
    color: #7c6a4e;
    line-height: 1.4;
}

.photo-marker-editor-actions button:disabled[b-18rfylihak],
.photo-marker-editor-footer button:disabled[b-18rfylihak],
.photo-marker-editor-header button:disabled[b-18rfylihak] {
    cursor: default;
    opacity: 0.5;
}

.photo-marker-editor-add-person label[b-18rfylihak] {
    display: block;
    margin-bottom: 6px;
    font-size: 11px;
    font-weight: 800;
}

.photo-marker-editor-add-person input[b-18rfylihak] {
    box-sizing: border-box;
    width: 100%;
    min-height: 38px;
    margin-bottom: 7px;
    padding: 8px 10px;
    border: 1px solid #d1cdc6;
    border-radius: 10px;
    background: #fff;
    font: inherit;
    font-size: 12px;
}

.photo-marker-editor-search-results > span[b-18rfylihak] {
    padding: 10px;
    color: #77716a;
    font-size: 11px;
}

.photo-marker-editor-workspace[b-18rfylihak] {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    background:
        linear-gradient(45deg, #e5e5e5 25%, transparent 25%) 0 0 / 20px 20px,
        linear-gradient(45deg, transparent 75%, #e5e5e5 75%) 0 0 / 20px 20px,
        linear-gradient(45deg, transparent 75%, #e5e5e5 75%) 10px -10px / 20px 20px,
        #f3f3f3;
}

.photo-marker-editor-file-placeholder[b-18rfylihak] {
    display: flex;
    width: min(520px, calc(100% - 40px));
    margin: auto;
    align-items: center;
    flex-direction: column;
    gap: 10px;
    padding: 34px;
    border: 1px solid #d7d2ca;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #38342f;
    text-align: center;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.12);
}

.photo-marker-editor-file-placeholder > strong[b-18rfylihak] {
    display: grid;
    min-width: 78px;
    height: 78px;
    padding: 0 12px;
    place-items: center;
    border-radius: 16px;
    background: #e9e4db;
    color: #756a5b;
    font-size: 18px;
    letter-spacing: 0.07em;
}

.photo-marker-editor-file-placeholder h3[b-18rfylihak],
.photo-marker-editor-file-placeholder p[b-18rfylihak] {
    margin: 0;
}

.photo-marker-editor-file-placeholder p[b-18rfylihak] {
    max-width: 440px;
    color: #706a62;
    font-size: 12px;
    line-height: 1.5;
}

.photo-marker-editor-file-placeholder a[b-18rfylihak] {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 0 13px;
    border: 1px solid #cbc5bc;
    border-radius: 10px;
    background: #fff;
    color: #34312d;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}

.photo-marker-editor-instruction[b-18rfylihak] {
    display: flex;
    min-height: 45px;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border-bottom: 1px solid #d6d3ce;
    background: rgba(255, 255, 255, 0.94);
    color: #666;
    font-size: 11px;
}

.photo-marker-editor-instruction.active[b-18rfylihak] {
    background: #fff5cd;
    color: #4d401c;
}

.photo-marker-editor-instruction button[b-18rfylihak] {
    min-height: 29px;
    margin-left: auto;
    padding: 4px 9px;
}

.photo-marker-editor-canvas-wrap[b-18rfylihak] {
    display: grid;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    padding: 16px;
    place-items: center;
    overflow: auto;
}

.photo-marker-editor-canvas[b-18rfylihak] {
    position: relative;
    display: inline-block;
    max-width: 100%;
    max-height: 100%;
    line-height: 0;
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.25);
}

.photo-marker-editor-canvas > img[b-18rfylihak] {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100dvh - 250px);
    user-select: none;
    -webkit-user-drag: none;
}

.photo-marker-editor-layer[b-18rfylihak] {
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
    cursor: default;
    touch-action: none;
    user-select: none;
}

.photo-marker-editor-layer.picking[b-18rfylihak] {
    cursor: crosshair;
}

.photo-marker-editor-area[b-18rfylihak] {
    position: absolute;
    box-sizing: border-box;
    border: 2px solid rgba(255, 255, 255, 0.9);
    background: rgba(57, 139, 214, 0.12);
    box-shadow: 0 0 0 1px rgba(15, 40, 65, 0.8);
    padding: 0;
    outline: 0;
    cursor: move;
    touch-action: none;
}

.photo-marker-editor-area.selected[b-18rfylihak] {
    z-index: 2;
    border-color: #ffdb67;
    background: rgba(255, 219, 103, 0.2);
    box-shadow: 0 0 0 2px rgba(30, 24, 8, 0.75);
}

.photo-marker-editor-area b[b-18rfylihak] {
    position: absolute;
    bottom: calc(100% + 5px);
    left: 50%;
    max-width: 220px;
    padding: 5px 7px;
    transform: translateX(-50%);
    overflow: hidden;
    border-radius: 7px;
    background: rgba(20, 20, 20, 0.88);
    color: #fff;
    font-size: 10px;
    line-height: 1.2;
    white-space: nowrap;
    text-overflow: ellipsis;
    pointer-events: none;
}

.photo-marker-editor-drag-preview[b-18rfylihak] {
    position: absolute;
    z-index: 4;
    box-sizing: border-box;
    border: 2px solid #ffdb67;
    background: rgba(255, 219, 103, 0.24);
    box-shadow:
        0 0 0 2px rgba(30, 24, 8, 0.75),
        0 0 18px rgba(255, 219, 103, 0.62);
    pointer-events: none;
}

.photo-marker-editor-footer[b-18rfylihak] {
    display: flex;
    min-height: 58px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 10px 18px;
    border-top: 1px solid #dfddd8;
    background: #fff;
}

.photo-marker-editor-footer > span[b-18rfylihak] {
    color: #716d67;
    font-size: 10px;
}

.photo-marker-editor-footer > div[b-18rfylihak] {
    display: flex;
    flex: 0 0 auto;
    gap: 7px;
}

@media (max-width: 760px) {
    .photo-marker-editor-backdrop[b-18rfylihak] {
        padding: 6px;
    }

    .photo-marker-editor-modal[b-18rfylihak] {
        width: calc(100vw - 12px);
        height: calc(100dvh - 12px);
        border-radius: 14px;
    }

    .photo-marker-editor-header[b-18rfylihak] {
        min-height: 78px;
        padding: 11px 12px;
    }

    .photo-marker-editor-header h2[b-18rfylihak] {
        font-size: 17px;
    }

    .photo-marker-editor-header p[b-18rfylihak] {
        display: none;
    }

    .photo-marker-editor-body[b-18rfylihak] {
        grid-template-columns: minmax(220px, 42%) minmax(0, 1fr);
    }

    .photo-marker-editor-canvas-wrap[b-18rfylihak] {
        padding: 7px;
    }

    .photo-marker-editor-footer > span[b-18rfylihak] {
        display: none;
    }

    .photo-marker-editor-footer[b-18rfylihak] {
        justify-content: flex-end;
    }
}

@media (max-width: 560px) {
    .photo-marker-editor-backdrop[b-18rfylihak] {
        padding: 0;
    }

    .photo-marker-editor-modal[b-18rfylihak] {
        width: 100vw;
        height: 100dvh;
        border-radius: 0;
    }

    .photo-marker-editor-header[b-18rfylihak] {
        min-height: 0;
        padding: max(12px, env(safe-area-inset-top)) 12px 10px;
    }

    .photo-marker-editor-header p[b-18rfylihak] {
        display: none;
    }

    .photo-marker-editor-header > button[b-18rfylihak] {
        width: 42px;
        height: 42px;
    }

    .photo-marker-editor-body[b-18rfylihak] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(190px, 36%) minmax(0, 1fr);
    }

    .photo-marker-editor-sidebar[b-18rfylihak] {
        border-right: 0;
        border-bottom: 1px solid #dfddd8;
        overscroll-behavior: contain;
    }

    .photo-marker-editor-canvas > img[b-18rfylihak] {
        max-height: 40dvh;
    }

    .photo-marker-editor-footer[b-18rfylihak] {
        padding-bottom: max(8px, env(safe-area-inset-bottom));
    }
}
/* /Components/PhotoPersonDetails.razor.rz.scp.css */
.photo-person-details[b-kruee66rlk] {
    display: flex;
    width: 400px;
    height: 100%;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.985);
    box-shadow: 0 20px 54px rgba(0, 0, 0, 0.28);
}

.photo-person-details-header[b-kruee66rlk] {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    border-bottom: 1px solid #dedede;
    background: white;
}

.photo-person-heading[b-kruee66rlk] {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.photo-person-portrait[b-kruee66rlk] {
    width: 70px;
    height: 92px;
    flex: 0 0 70px;
    overflow: hidden;
    border: 1px solid #d2d2d2;
    border-radius: 8px;
    background: #eeeeee;
}

.photo-person-title[b-kruee66rlk] {
    min-width: 0;
}

.photo-person-title > span[b-kruee66rlk] {
    display: block;
    margin-bottom: 4px;
    color: #777;
    font-size: 10px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.photo-person-title h3[b-kruee66rlk] {
    margin: 0 0 5px;
    overflow: hidden;
    font-size: 17px;
    line-height: 1.16;
    text-overflow: ellipsis;
}

.photo-person-title p[b-kruee66rlk] {
    margin: 0;
    color: #6e6e6e;
    font-size: 11px;
}

.photo-person-close[b-kruee66rlk] {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    padding: 0;
    place-items: center;
    border: 1px solid #d6d6d6;
    border-radius: 50%;
    background: white;
    color: #555;
    font-size: 19px;
    cursor: pointer;
}

.photo-person-actions[b-kruee66rlk] {
    position: relative;
    z-index: 3;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-bottom: 1px solid #e1e1e1;
    background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}

.photo-person-action-group[b-kruee66rlk] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px;
    border: 1px solid #e4e4e4;
    border-radius: 13px;
    background: #f3f3f3;
}

.photo-person-action[b-kruee66rlk] {
    position: relative;
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    padding: 0;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: #555;
    cursor: pointer;
    transition: transform 130ms ease,
                border-color 130ms ease,
                background 130ms ease,
                color 130ms ease,
                box-shadow 130ms ease;
}

.photo-person-action:hover[b-kruee66rlk] {
    transform: translateY(-1px);
    border-color: #d1d1d1;
    background: #fff;
    color: #222;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.08);
}

.photo-person-action:focus-visible[b-kruee66rlk] {
    outline: 3px solid rgba(67, 105, 146, 0.24);
    outline-offset: 2px;
}

.photo-person-action.primary[b-kruee66rlk] {
    border-color: #303030;
    background: #303030;
    color: white;
}

.photo-person-action.primary:hover[b-kruee66rlk] {
    border-color: #111;
    background: #111;
    color: #fff;
}

.photo-person-action.kinship[b-kruee66rlk] {
    background: #fff5e5;
    color: #72501c;
}

.photo-person-action.kinship:hover[b-kruee66rlk] {
    border-color: #dfbd81;
    background: #ffedcf;
    color: #56390e;
}

.photo-person-action.compare[b-kruee66rlk] {
    background: #eef5ec;
    color: #45613f;
}

.photo-person-action.compare:hover[b-kruee66rlk] {
    border-color: #aec4a8;
    background: #e1edde;
    color: #314b2c;
}

.photo-person-action[b-kruee66rlk]::after {
    position: absolute;
    z-index: 20;
    top: calc(100% + 8px);
    left: 50%;
    width: max-content;
    max-width: 210px;
    padding: 7px 9px;
    transform: translate(-50%, -4px);
    border-radius: 8px;
    background: rgba(31, 31, 31, 0.96);
    color: #fff;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2);
    content: attr(data-tooltip);
    font-size: 10px;
    font-weight: 650;
    line-height: 1.25;
    opacity: 0;
    pointer-events: none;
    text-align: center;
    transition: opacity 120ms ease, transform 120ms ease;
}

.photo-person-action:hover[b-kruee66rlk]::after,
.photo-person-action:focus-visible[b-kruee66rlk]::after {
    transform: translate(-50%, 0);
    opacity: 1;
}

.photo-person-action-group:first-child .photo-person-action[b-kruee66rlk]::after {
    left: 0;
    transform: translate(0, -4px);
}

.photo-person-action-group:first-child .photo-person-action:hover[b-kruee66rlk]::after,
.photo-person-action-group:first-child .photo-person-action:focus-visible[b-kruee66rlk]::after {
    transform: translate(0, 0);
}

.photo-person-scroll[b-kruee66rlk] {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 14px;
    overflow: auto;
    padding: 14px;
}

.photo-person-scroll[b-kruee66rlk]  .mini-tree-card {
    gap: 12px;
    padding: 13px;
    border-radius: 17px;
}

.photo-person-scroll[b-kruee66rlk]  .mini-tree-header h3 {
    font-size: 15px;
}

.photo-person-scroll[b-kruee66rlk]  .tree-node {
    min-width: 145px;
    max-width: 100%;
    padding: 10px 11px;
    border-radius: 14px;
}

.photo-person-scroll[b-kruee66rlk]  .selected-node {
    min-width: 220px;
}

.photo-person-section[b-kruee66rlk] {
    padding: 14px;
    border: 1px solid #dfdfdf;
    border-radius: 17px;
    background: #fbfbfb;
}

.photo-person-section h4[b-kruee66rlk] {
    margin: 0 0 11px;
    font-size: 15px;
}

.photo-person-muted[b-kruee66rlk] {
    margin: 0;
    color: #777;
    font-size: 12px;
    line-height: 1.4;
}

.photo-union-list[b-kruee66rlk] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.photo-union-card[b-kruee66rlk] {
    padding: 11px;
    border: 1px solid #dedede;
    border-radius: 14px;
    background: white;
}

.photo-union-header[b-kruee66rlk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 9px;
}

.photo-union-header strong[b-kruee66rlk] {
    font-size: 12px;
}

.photo-union-header span[b-kruee66rlk] {
    padding: 3px 6px;
    border-radius: 999px;
    background: #f3dfdf;
    color: #7b3434;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.photo-union-people[b-kruee66rlk] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.photo-union-people button[b-kruee66rlk],
.photo-union-children button[b-kruee66rlk] {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 2px;
    padding: 8px 9px;
    border: 1px solid #dedede;
    border-radius: 11px;
    background: #fafafa;
    color: #222;
    text-align: left;
    cursor: pointer;
}

.photo-union-people button:hover[b-kruee66rlk],
.photo-union-children button:hover[b-kruee66rlk] {
    border-color: #999;
    background: #f0f0f0;
}

.photo-union-people button strong[b-kruee66rlk],
.photo-union-children button[b-kruee66rlk] {
    font-size: 11px;
}

.photo-union-people button span[b-kruee66rlk] {
    color: #777;
    font-size: 10px;
}

.photo-union-event[b-kruee66rlk] {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
    color: #666;
    font-size: 10px;
}

.photo-union-event strong[b-kruee66rlk] {
    color: #333;
}

.photo-union-children[b-kruee66rlk] {
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px solid #eeeeee;
}

.photo-union-label[b-kruee66rlk] {
    display: block;
    margin-bottom: 6px;
    color: #777;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.photo-union-children > div[b-kruee66rlk] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.photo-person-info-grid[b-kruee66rlk] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.photo-person-info-grid > div[b-kruee66rlk] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
    padding: 9px;
    border-radius: 11px;
    background: white;
}

.photo-person-info-grid span[b-kruee66rlk] {
    color: #777;
    font-size: 9px;
    text-transform: uppercase;
}

.photo-person-info-grid strong[b-kruee66rlk] {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
}

@media (max-width: 760px) {
    .photo-person-details[b-kruee66rlk] {
        width: min(400px, calc(100vw - 32px));
    }
}

.photo-person-comparison-note[b-kruee66rlk] {
    display: block;
    padding: 4px 8px;
    color: #6b6b6b;
    font-size: 11px;
    font-style: italic;
    text-align: center;
}

.photo-person-comparison-note.toolbar-note[b-kruee66rlk] {
    flex: 0 0 auto;
    margin: 8px 14px 0;
    padding: 7px 10px;
    border: 1px solid #ccd7c8;
    border-radius: 999px;
    background: #f4f8f2;
    color: #54634f;
    font-style: normal;
    font-weight: 700;
}
/* /Components/PrimaryPhotoEditorModal.razor.rz.scp.css */
.primary-photo-editor-backdrop[b-aj8u9xqxx9] {
    position: fixed;
    z-index: 2100;
    inset: 0;
    display: grid;
    box-sizing: border-box;
    padding: 18px;
    place-items: center;
    background: rgba(20, 20, 20, 0.74);
    backdrop-filter: blur(7px);
}

.primary-photo-editor-modal[b-aj8u9xqxx9] {
    display: flex;
    width: min(1120px, calc(100vw - 36px));
    height: min(820px, calc(100dvh - 36px));
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    color: #2a2927;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.4);
}

.primary-photo-editor-header[b-aj8u9xqxx9] {
    display: flex;
    min-height: 88px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 20px 15px 24px;
    border-bottom: 1px solid #dfddd8;
}

.primary-photo-editor-header > div[b-aj8u9xqxx9] {
    min-width: 0;
}

.primary-photo-editor-header span[b-aj8u9xqxx9],
.primary-photo-editor-eyebrow[b-aj8u9xqxx9] {
    color: #876b57;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.primary-photo-editor-header h2[b-aj8u9xqxx9] {
    margin: 3px 0 2px;
    overflow: hidden;
    font-size: 22px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.primary-photo-editor-header p[b-aj8u9xqxx9] {
    margin: 0;
    overflow: hidden;
    color: #726e68;
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.primary-photo-editor-header > button[b-aj8u9xqxx9] {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    padding: 0;
    place-items: center;
    border: 1px solid #d6d3ce;
    border-radius: 50%;
    background: #fff;
    font-size: 23px;
    cursor: pointer;
}

.primary-photo-editor-message[b-aj8u9xqxx9] {
    margin: auto;
    padding: 28px;
    color: #666;
}

.primary-photo-editor-message.error[b-aj8u9xqxx9],
.primary-photo-editor-alert[b-aj8u9xqxx9] {
    color: #842f2b;
}

.primary-photo-editor-alert[b-aj8u9xqxx9] {
    flex: 0 0 auto;
    padding: 9px 18px;
    border-bottom: 1px solid #efcbc7;
    background: #fff0ee;
    font-size: 12px;
}

.primary-photo-editor-body[b-aj8u9xqxx9] {
    display: grid;
    min-height: 0;
    flex: 1 1 auto;
    grid-template-columns: 300px minmax(0, 1fr);
}

.primary-photo-editor-sidebar[b-aj8u9xqxx9] {
    display: flex;
    min-height: 0;
    flex-direction: column;
    overflow-y: auto;
    border-right: 1px solid #dfddd8;
    background: #f8f7f4;
}

.primary-photo-editor-sidebar > section[b-aj8u9xqxx9] {
    padding: 16px;
    border-bottom: 1px solid #e2dfda;
}

.primary-photo-editor-sidebar h3[b-aj8u9xqxx9] {
    margin: 5px 0 5px;
    font-size: 16px;
}

.primary-photo-editor-sidebar p[b-aj8u9xqxx9] {
    margin: 0;
    color: #716d67;
    font-size: 11px;
    line-height: 1.45;
}

.primary-photo-editor-actions[b-aj8u9xqxx9] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.primary-photo-editor-actions button[b-aj8u9xqxx9],
.primary-photo-editor-footer button[b-aj8u9xqxx9],
.primary-photo-editor-instruction button[b-aj8u9xqxx9] {
    min-height: 35px;
    padding: 7px 11px;
    border: 1px solid #d2cec8;
    border-radius: 9px;
    background: #fff;
    color: #33302c;
    font: inherit;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
}

.primary-photo-editor-actions button.primary[b-aj8u9xqxx9],
.primary-photo-editor-footer button.primary[b-aj8u9xqxx9] {
    border-color: #292723;
    background: #292723;
    color: #fff;
}

.primary-photo-editor-actions button:disabled[b-aj8u9xqxx9],
.primary-photo-editor-footer button:disabled[b-aj8u9xqxx9],
.primary-photo-editor-header button:disabled[b-aj8u9xqxx9] {
    cursor: default;
    opacity: 0.5;
}

.primary-photo-editor-note[b-aj8u9xqxx9] {
    margin-top: auto;
    background: #eef4f8;
}

.primary-photo-editor-note strong[b-aj8u9xqxx9] {
    display: block;
    margin-bottom: 5px;
    color: #3f5360;
    font-size: 11px;
}

.primary-photo-editor-workspace[b-aj8u9xqxx9] {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    background:
        linear-gradient(45deg, #e5e5e5 25%, transparent 25%) 0 0 / 20px 20px,
        linear-gradient(45deg, transparent 75%, #e5e5e5 75%) 0 0 / 20px 20px,
        linear-gradient(45deg, transparent 75%, #e5e5e5 75%) 10px -10px / 20px 20px,
        #f3f3f3;
}

.primary-photo-editor-instruction[b-aj8u9xqxx9] {
    display: flex;
    min-height: 45px;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-bottom: 1px solid #d6d3ce;
    background: rgba(255, 255, 255, 0.95);
    color: #666;
    font-size: 11px;
}

.primary-photo-editor-instruction.active[b-aj8u9xqxx9] {
    background: #fff5cd;
    color: #4d401c;
}

.primary-photo-editor-instruction button[b-aj8u9xqxx9] {
    min-height: 29px;
    padding: 4px 9px;
}

.primary-photo-editor-instruction > button[b-aj8u9xqxx9] {
    margin-left: auto;
}

.primary-photo-editor-zoom[b-aj8u9xqxx9] {
    display: inline-flex;
    margin-left: auto;
    align-items: center;
    gap: 4px;
}

.primary-photo-editor-zoom button[b-aj8u9xqxx9] {
    min-width: 31px;
    padding-right: 7px;
    padding-left: 7px;
}

.primary-photo-editor-zoom .zoom-value[b-aj8u9xqxx9] {
    min-width: 58px;
}

.primary-photo-editor-canvas-wrap[b-aj8u9xqxx9] {
    display: grid;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    padding: 16px;
    place-items: start;
    overflow: auto;
}

.primary-photo-editor-canvas[b-aj8u9xqxx9] {
    position: relative;
    display: inline-block;
    max-width: 100%;
    max-height: none;
    margin: 0 auto;
    line-height: 0;
    box-shadow: 0 14px 44px rgba(0, 0, 0, 0.24);
}

.primary-photo-editor-canvas > img[b-aj8u9xqxx9] {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: none;
    user-select: none;
}

.primary-photo-editor-layer[b-aj8u9xqxx9] {
    position: absolute;
    z-index: 2;
    inset: 0;
    touch-action: none;
}

.primary-photo-editor-layer.picking[b-aj8u9xqxx9] {
    cursor: crosshair;
    background: rgba(255, 255, 255, 0.08);
}

.primary-photo-editor-area[b-aj8u9xqxx9],
.photo-marker-editor-drag-preview[b-aj8u9xqxx9] {
    position: absolute;
    z-index: 3;
    box-sizing: border-box;
    min-width: 10px;
    min-height: 10px;
    padding: 0;
    border: 3px solid #ffd34f;
    background: rgba(255, 211, 79, 0.17);
    box-shadow:
        0 0 0 2px rgba(20, 20, 20, 0.64),
        0 0 22px rgba(255, 211, 79, 0.78);
}

.primary-photo-editor-area[b-aj8u9xqxx9] {
    cursor: move;
    touch-action: none;
}

.primary-photo-editor-area b[b-aj8u9xqxx9] {
    position: absolute;
    left: -2px;
    bottom: calc(100% + 6px);
    max-width: 240px;
    padding: 5px 7px;
    overflow: hidden;
    border-radius: 7px;
    background: rgba(24, 24, 24, 0.92);
    color: #fff;
    font-size: 10px;
    line-height: 1.2;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.primary-photo-editor-footer[b-aj8u9xqxx9] {
    display: flex;
    min-height: 64px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 18px;
    border-top: 1px solid #dfddd8;
    background: #fff;
    color: #706c66;
    font-size: 11px;
}

.primary-photo-editor-footer > div[b-aj8u9xqxx9] {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

@media (max-width: 720px) {
    .primary-photo-editor-backdrop[b-aj8u9xqxx9] {
        padding: 0;
    }

    .primary-photo-editor-modal[b-aj8u9xqxx9] {
        width: 100vw;
        height: 100dvh;
        border-radius: 0;
    }

    .primary-photo-editor-header[b-aj8u9xqxx9] {
        min-height: 0;
        padding: max(12px, env(safe-area-inset-top)) 12px 10px;
    }

    .primary-photo-editor-header p[b-aj8u9xqxx9] {
        display: none;
    }

    .primary-photo-editor-header > button[b-aj8u9xqxx9] {
        width: 42px;
        height: 42px;
    }

    .primary-photo-editor-body[b-aj8u9xqxx9] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
    }

    .primary-photo-editor-sidebar[b-aj8u9xqxx9] {
        max-height: 220px;
        border-right: 0;
        border-bottom: 1px solid #dfddd8;
        overscroll-behavior: contain;
    }

    .primary-photo-editor-note[b-aj8u9xqxx9] {
        display: none;
    }

    .primary-photo-editor-footer > span[b-aj8u9xqxx9] {
        display: none;
    }

    .primary-photo-editor-footer[b-aj8u9xqxx9] {
        padding-bottom: max(8px, env(safe-area-inset-bottom));
    }
}
/* /Components/RelatedPersonEditorModal.razor.rz.scp.css */
.person-editor-backdrop[b-mwtx7n791l] {
    position: fixed;
    z-index: 1710;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(31, 27, 23, 0.48);
    backdrop-filter: blur(5px);
}

.person-editor-modal[b-mwtx7n791l] {
    display: flex;
    width: min(900px, calc(100vw - 32px));
    max-height: min(920px, calc(100dvh - 32px));
    min-height: 560px;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 24px;
    background: #f8f7f3;
    color: #2d2a27;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.28);
}

.person-editor-header[b-mwtx7n791l] {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    background: rgba(255, 255, 255, 0.92);
}

.person-editor-heading h2[b-mwtx7n791l] {
    margin: 4px 0 5px;
    font-size: 25px;
    line-height: 1.15;
}

.person-editor-heading p[b-mwtx7n791l] {
    margin: 0;
    color: #706b64;
}

.person-editor-eyebrow[b-mwtx7n791l] {
    color: #8b6652;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.person-editor-close[b-mwtx7n791l] {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid #dedbd5;
    border-radius: 50%;
    background: #fff;
    color: #504b45;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.related-person-nav[b-mwtx7n791l] {
    display: flex;
    flex: 0 0 auto;
    gap: 7px;
    padding: 10px 24px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
}

.related-person-nav button[b-mwtx7n791l] {
    min-height: 34px;
    padding: 6px 12px;
    border: 1px solid #d8d3cc;
    border-radius: 999px;
    background: #fff;
    color: #4c4842;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.person-editor-modal[b-mwtx7n791l]  form.person-editor-form {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
}

.person-editor-scroll[b-mwtx7n791l] {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 18px 22px 26px;
    overscroll-behavior: contain;
}

.person-editor-section[b-mwtx7n791l] {
    padding: 19px;
    border: 1px solid rgba(0, 0, 0, 0.09);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(55, 46, 37, 0.045);
}

.person-editor-section + .person-editor-section[b-mwtx7n791l] {
    margin-top: 14px;
}


.related-person-personal-group[b-mwtx7n791l] {
    margin-top: 14px;
    padding: 7px;
    border: 1px solid #cfc6ba;
    border-radius: 22px;
    background: #eee9e2;
    box-shadow: 0 12px 34px rgba(55, 46, 37, 0.055);
}

.related-person-personal-heading[b-mwtx7n791l] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 11px 11px;
    color: #5f574f;
}

.related-person-personal-heading span[b-mwtx7n791l] {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.related-person-personal-heading small[b-mwtx7n791l] {
    color: #7b736a;
    font-size: 11px;
    text-align: right;
}

.related-person-personal-group > .person-editor-section[b-mwtx7n791l] {
    border: 0;
    border-radius: 15px;
    box-shadow: none;
}

.related-person-personal-group > .person-editor-section + .person-editor-section[b-mwtx7n791l] {
    margin-top: 3px;
    border-top: 1px solid #e7e1da;
}

.related-person-personal-group + .person-editor-section[b-mwtx7n791l] {
    margin-top: 14px;
}

.relation-context-section[b-mwtx7n791l] {
    border-color: #c9d7cc;
    background: linear-gradient(145deg, #fbfdfb, #f2f7f3);
}

.person-editor-section-heading[b-mwtx7n791l] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 15px;
}

.person-editor-section-heading h3[b-mwtx7n791l] {
    margin: 1px 0 3px;
    font-size: 17px;
}

.person-editor-section-heading p[b-mwtx7n791l] {
    margin: 0;
    color: #777068;
    font-size: 12px;
    line-height: 1.4;
}

.person-editor-section-icon[b-mwtx7n791l] {
    display: grid;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 10px;
    background: #ede9e2;
    color: #675c52;
    font-size: 13px;
    font-weight: 900;
}

.person-editor-grid[b-mwtx7n791l] {
    display: grid;
    gap: 12px;
}

.person-editor-grid + .person-editor-grid[b-mwtx7n791l] {
    margin-top: 12px;
}

.person-editor-grid.three-columns[b-mwtx7n791l] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.person-editor-grid.two-columns[b-mwtx7n791l],
.parent-pickers-grid[b-mwtx7n791l] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.person-editor-section label[b-mwtx7n791l],
.relation-role-field[b-mwtx7n791l] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
}

.person-editor-section label > span[b-mwtx7n791l],
.relation-role-field > span[b-mwtx7n791l],
.parent-picker-label[b-mwtx7n791l] {
    color: #57524c;
    font-size: 11px;
    font-weight: 820;
}

.person-editor-modal[b-mwtx7n791l]  form.person-editor-form input:not([type="checkbox"]),
.person-editor-modal[b-mwtx7n791l]  form.person-editor-form select,
.person-editor-modal[b-mwtx7n791l]  form.person-editor-form textarea {
    width: 100%;
    border: 1px solid #d7d2cb;
    border-radius: 12px;
    background: #fff;
    color: #2f2c29;
    font: inherit;
}

.person-editor-modal[b-mwtx7n791l]  form.person-editor-form input:not([type="checkbox"]),
.person-editor-modal[b-mwtx7n791l]  form.person-editor-form select {
    min-height: 43px;
    padding: 9px 12px;
}

.person-editor-modal[b-mwtx7n791l]  form.person-editor-form textarea {
    min-height: 96px;
    padding: 11px 12px;
    resize: vertical;
}

.person-editor-modal[b-mwtx7n791l]  form.person-editor-form input:focus,
.person-editor-modal[b-mwtx7n791l]  form.person-editor-form select:focus,
.person-editor-modal[b-mwtx7n791l]  form.person-editor-form textarea:focus {
    border-color: #776d63;
    outline: 3px solid rgba(92, 83, 74, 0.12);
}

.person-editor-modal[b-mwtx7n791l]  form.person-editor-form .validation-message {
    color: #9a443b;
    font-size: 10px;
}

.surname-suggestions-label[b-mwtx7n791l] {
    margin-top: 2px;
    color: #777068 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

.surname-suggestions[b-mwtx7n791l] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.surname-suggestion[b-mwtx7n791l] {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 5px;
    padding: 6px 8px;
    border: 1px solid #d8d2ca;
    border-radius: 9px;
    background: #f8f6f2;
    color: #4e4943;
    font: inherit;
    font-size: 10px;
    cursor: pointer;
}

.surname-suggestion span[b-mwtx7n791l] {
    color: #817970;
}

.surname-suggestion strong[b-mwtx7n791l] {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
}

.surname-suggestion:hover[b-mwtx7n791l],
.surname-suggestion.selected[b-mwtx7n791l] {
    border-color: #9fb4a4;
    background: #edf5ef;
    color: #38563f;
}

.life-status-switch[b-mwtx7n791l] {
    display: grid !important;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 13px !important;
    padding: 14px;
    border: 1px solid #d8d3cc;
    border-radius: 15px;
    background: #f7f5f1;
    cursor: pointer;
}

.life-status-native[b-mwtx7n791l] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.life-status-control[b-mwtx7n791l] {
    position: relative;
    width: 48px;
    height: 27px;
    border-radius: 999px;
    background: #9b9187;
    transition: 0.16s ease;
}

.life-status-control[b-mwtx7n791l]::after {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.24);
    content: "";
    transition: 0.16s ease;
}

.life-status-switch.alive .life-status-control[b-mwtx7n791l] {
    background: #53855f;
}

.life-status-switch.alive .life-status-control[b-mwtx7n791l]::after {
    transform: translateX(21px);
}

.life-status-copy[b-mwtx7n791l] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.life-status-copy small[b-mwtx7n791l],
.fixed-relation-note[b-mwtx7n791l],
.relation-role-field small[b-mwtx7n791l],
.relation-context-person small[b-mwtx7n791l],
.parent-picker-selected small[b-mwtx7n791l],
.quick-spouse-block small[b-mwtx7n791l] {
    color: #777068;
    font-size: 11px;
}

.parent-pickers-grid[b-mwtx7n791l] {
    display: grid;
    gap: 12px;
    margin-top: 13px;
}

.parent-picker[b-mwtx7n791l] {
    min-width: 0;
    padding: 13px;
    border: 1px solid #d9ded9;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.78);
}

.parent-picker-label[b-mwtx7n791l] {
    display: block;
    margin-bottom: 7px;
}

.parent-picker-selected[b-mwtx7n791l],
.relation-context-person[b-mwtx7n791l],
.relation-role-fixed[b-mwtx7n791l] {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #c9d7cc;
    border-radius: 12px;
    background: #f1f7f2;
}

.parent-picker-selected > div[b-mwtx7n791l],
.relation-context-person[b-mwtx7n791l] {
    flex-direction: column;
    align-items: flex-start;
}

.parent-picker-selected.locked[b-mwtx7n791l] {
    align-items: flex-start;
    flex-direction: column;
}

.parent-picker-selected button[b-mwtx7n791l] {
    display: grid;
    width: 29px;
    height: 29px;
    flex: 0 0 auto;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: rgba(54, 84, 61, 0.1);
    color: #3f6547;
    font-size: 18px;
    cursor: pointer;
}

.parent-picker-results[b-mwtx7n791l] {
    display: flex;
    max-height: 180px;
    overflow-y: auto;
    flex-direction: column;
    gap: 5px;
    margin-top: 7px;
}

.parent-picker-results button[b-mwtx7n791l] {
    padding: 8px 9px;
    border: 1px solid #ded9d2;
    border-radius: 9px;
    background: #fff;
    color: inherit;
    font: inherit;
    font-size: 11px;
    text-align: left;
    cursor: pointer;
}

.quick-spouse-block[b-mwtx7n791l] {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #d6cba8;
    border-radius: 13px;
    background: #fff9e9;
}

.quick-spouse-block > span[b-mwtx7n791l] {
    display: block;
    margin-bottom: 7px;
    color: #6d5a25;
    font-size: 11px;
    font-weight: 850;
}

.quick-spouse-block > div[b-mwtx7n791l] {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.quick-spouse-block button[b-mwtx7n791l] {
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid #cdbf92;
    border-radius: 10px;
    background: #fff;
    color: #67551f;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.parentage-note[b-mwtx7n791l] {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 11px;
    background: rgba(72, 95, 76, 0.07);
    color: #657068;
    font-size: 11px;
    line-height: 1.45;
}

.person-editor-alert[b-mwtx7n791l] {
    margin: 12px 22px 0;
    padding: 11px 13px;
    border-radius: 12px;
    font-size: 12px;
}

.person-editor-section .person-editor-alert[b-mwtx7n791l] {
    margin: 0;
}

.person-editor-alert.error[b-mwtx7n791l] {
    border: 1px solid #e4bcb5;
    background: #fff0ed;
    color: #863e35;
}

.person-editor-alert.warning[b-mwtx7n791l] {
    border: 1px solid #e4d5a6;
    background: #fff9e8;
    color: #715d22;
}

.person-editor-actions[b-mwtx7n791l] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 22px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.04);
}

.person-editor-actions-note[b-mwtx7n791l] {
    color: #77716a;
    font-size: 11px;
}

.person-editor-actions > div[b-mwtx7n791l] {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.person-editor-button[b-mwtx7n791l] {
    min-height: 40px;
    padding: 8px 15px;
    border: 1px solid transparent;
    border-radius: 12px;
    font: inherit;
    font-size: 12px;
    font-weight: 820;
    cursor: pointer;
}

.person-editor-button.primary[b-mwtx7n791l] {
    background: #37332f;
    color: #fff;
}

.person-editor-button.secondary[b-mwtx7n791l] {
    border-color: #d7d2cb;
    background: #fff;
    color: #4e4943;
}

.person-editor-button:disabled[b-mwtx7n791l],
.person-editor-close:disabled[b-mwtx7n791l] {
    opacity: 0.55;
    cursor: default;
}

.person-editor-loading[b-mwtx7n791l] {
    display: grid;
    min-height: 280px;
    place-items: center;
    color: #77716a;
}

@media (max-width: 720px) {
    .person-editor-backdrop[b-mwtx7n791l] {
        align-items: stretch;
        padding: 0;
    }

    .person-editor-modal[b-mwtx7n791l] {
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        min-height: 100dvh;
        border-radius: 0;
    }

    .person-editor-header[b-mwtx7n791l],
    .person-editor-actions[b-mwtx7n791l] {
        padding: 15px;
    }

    .person-editor-header[b-mwtx7n791l] {
        padding-top: max(15px, env(safe-area-inset-top));
    }

    .person-editor-close[b-mwtx7n791l] {
        width: 42px;
        height: 42px;
    }

    .related-person-nav[b-mwtx7n791l] {
        overflow-x: auto;
        scrollbar-width: none;
    }

    .related-person-nav[b-mwtx7n791l]::-webkit-scrollbar {
        display: none;
    }

    .person-editor-scroll[b-mwtx7n791l] {
        padding: 14px;
        overscroll-behavior: contain;
    }

    .related-person-personal-heading[b-mwtx7n791l] {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .related-person-personal-heading small[b-mwtx7n791l] {
        text-align: left;
    }

    .person-editor-grid.three-columns[b-mwtx7n791l],
    .person-editor-grid.two-columns[b-mwtx7n791l],
    .parent-pickers-grid[b-mwtx7n791l] {
        grid-template-columns: 1fr;
    }

    .person-editor-actions[b-mwtx7n791l] {
        align-items: stretch;
        flex-direction: column;
        padding-bottom: max(15px, env(safe-area-inset-bottom));
    }

    .person-editor-actions > div[b-mwtx7n791l],
    .person-editor-button[b-mwtx7n791l] {
        flex: 1 1 auto;
    }

    .person-editor-button[b-mwtx7n791l] {
        min-height: 44px;
    }
}
/* /Components/RelationshipEditorModal.razor.rz.scp.css */
.relationship-editor-backdrop[b-tvbhtkqzjt] {
    position: fixed;
    z-index: 1700;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(31, 27, 23, 0.48);
    backdrop-filter: blur(5px);
}

.relationship-editor-modal[b-tvbhtkqzjt] {
    display: flex;
    width: min(1020px, calc(100vw - 32px));
    max-height: min(860px, calc(100dvh - 32px));
    min-height: 520px;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 24px;
    background: #f8f7f3;
    color: #2d2a27;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.28);
}

.relationship-editor-header[b-tvbhtkqzjt] {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    background: rgba(255, 255, 255, 0.9);
}

.relationship-editor-header h2[b-tvbhtkqzjt] {
    margin: 4px 0 5px;
    font-size: 25px;
    line-height: 1.15;
}

.relationship-editor-header p[b-tvbhtkqzjt],
.relationship-section-heading p[b-tvbhtkqzjt] {
    margin: 0;
    color: #706b64;
    line-height: 1.45;
}

.relationship-editor-eyebrow[b-tvbhtkqzjt] {
    color: #8b6652;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.relationship-editor-close[b-tvbhtkqzjt] {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid #dedbd5;
    border-radius: 50%;
    background: #fff;
    color: #504b45;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.relationship-editor-close:hover[b-tvbhtkqzjt],
.relationship-editor-close:focus-visible[b-tvbhtkqzjt] {
    background: #ece9e3;
    outline: none;
}

.relationship-editor-close:disabled[b-tvbhtkqzjt] {
    opacity: 0.55;
    cursor: default;
}

.relationship-mode-toolbar[b-tvbhtkqzjt] {
    display: grid;
    flex: 0 0 auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    padding: 12px 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
}

.relationship-mode-group[b-tvbhtkqzjt] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    padding: 7px;
    border: 1px solid #e2ded8;
    border-radius: 14px;
    background: #faf9f6;
}

.relationship-mode-group > span[b-tvbhtkqzjt] {
    grid-column: 1 / -1;
    padding-left: 5px;
    color: #837c74;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.relationship-mode-button[b-tvbhtkqzjt] {
    width: 100%;
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid #d8d3cc;
    border-radius: 999px;
    background: #fff;
    color: #4c4842;
    font: inherit;
    font-size: 12px;
    font-weight: 780;
    cursor: pointer;
}

.relationship-mode-back[b-tvbhtkqzjt] {
    width: auto;
    grid-column: 1 / -1;
    justify-self: start;
}

.relationship-mode-button:hover[b-tvbhtkqzjt],
.relationship-mode-button:focus-visible[b-tvbhtkqzjt] {
    border-color: #aaa299;
    background: #f1eee9;
    outline: none;
}

.relationship-mode-button.active[b-tvbhtkqzjt] {
    border-color: #3f3a35;
    background: #3f3a35;
    color: #fff;
}

.relationship-mode-button.create[b-tvbhtkqzjt] {
    border-color: #c9d7cc;
    background: #f1f7f2;
    color: #355f3e;
}

.relationship-mode-button:disabled[b-tvbhtkqzjt],
.relationship-section-actions button:disabled[b-tvbhtkqzjt] {
    opacity: 0.45;
    cursor: default;
}

.relationship-editor-scroll[b-tvbhtkqzjt] {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 18px 20px 24px;
    overscroll-behavior: contain;
}

.relationship-editor-section[b-tvbhtkqzjt],
.relationship-confirmation[b-tvbhtkqzjt] {
    padding: 18px;
    border: 1px solid rgba(0, 0, 0, 0.09);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(55, 46, 37, 0.045);
}

.relationship-confirmation.kinship-warning[b-tvbhtkqzjt] {
    border-color: #d9a63d;
    background: #fff8e7;
    box-shadow: 0 12px 32px rgba(153, 103, 15, 0.12);
}

.relationship-confirmation.kinship-warning .relationship-editor-eyebrow[b-tvbhtkqzjt] {
    color: #92630f;
}

.relationship-editor-section + .relationship-editor-section[b-tvbhtkqzjt] {
    margin-top: 14px;
}

.relationship-section-heading[b-tvbhtkqzjt] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 13px;
}

.relationship-section-heading h3[b-tvbhtkqzjt],
.relationship-confirmation h3[b-tvbhtkqzjt] {
    margin: 4px 0 2px;
    font-size: 17px;
}

.relationship-count[b-tvbhtkqzjt] {
    display: grid;
    min-width: 31px;
    height: 31px;
    padding: 0 8px;
    place-items: center;
    border-radius: 999px;
    background: #efede8;
    color: #6e675f;
    font-size: 11px;
    font-weight: 850;
}

.relationship-section-actions[b-tvbhtkqzjt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: -4px 0 13px;
}

.spouse-details-editor[b-tvbhtkqzjt] {
    display: grid;
    flex: 1 0 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid #e4dfd7;
    border-radius: 14px;
    background: #f8f6f2;
}

.relationship-row.spouse[b-tvbhtkqzjt] {
    flex-wrap: wrap;
}

.spouse-details-editor label[b-tvbhtkqzjt] {
    display: grid;
    gap: 6px;
    color: #4f4942;
    font-size: 12px;
    font-weight: 750;
}

.spouse-details-editor label.wide[b-tvbhtkqzjt],
.spouse-details-actions[b-tvbhtkqzjt] {
    grid-column: 1 / -1;
}

.spouse-details-editor input[b-tvbhtkqzjt],
.spouse-details-editor textarea[b-tvbhtkqzjt] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #cec7bd;
    border-radius: 10px;
    background: #fff;
    color: #25211d;
    font: inherit;
    font-weight: 500;
    padding: 10px 11px;
}

.spouse-details-editor textarea[b-tvbhtkqzjt] {
    resize: vertical;
}

.spouse-details-actions[b-tvbhtkqzjt] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

@media (max-width: 640px) {
    .spouse-details-editor[b-tvbhtkqzjt] {
        grid-template-columns: 1fr;
    }

    .spouse-details-editor label.wide[b-tvbhtkqzjt],
    .spouse-details-actions[b-tvbhtkqzjt] {
        grid-column: auto;
    }
}

.relationship-section-actions button[b-tvbhtkqzjt] {
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid #d7d2cb;
    border-radius: 10px;
    background: #faf9f6;
    color: #4f4a44;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.relationship-section-actions button:first-child[b-tvbhtkqzjt] {
    border-color: #c9d7cc;
    background: #f1f7f2;
    color: #355f3e;
}

.relationship-section-actions small[b-tvbhtkqzjt] {
    flex-basis: 100%;
    color: #7a746d;
    font-size: 11px;
}

.parent-kind-fixed[b-tvbhtkqzjt] {
    min-height: 43px;
    padding: 11px 12px;
    border: 1px solid #d7d2cb;
    border-radius: 12px;
    background: #f4f2ee;
    color: #4f4a44;
}

.relationship-list[b-tvbhtkqzjt] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.relationship-row[b-tvbhtkqzjt] {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 12px;
    border-radius: 13px;
    background: #f4f2ee;
}

.relationship-row-copy[b-tvbhtkqzjt] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.relationship-row-copy strong[b-tvbhtkqzjt] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.relationship-row-copy span[b-tvbhtkqzjt] {
    color: #777068;
    font-size: 11px;
}

.relationship-row-actions[b-tvbhtkqzjt],
.relationship-confirmation-actions[b-tvbhtkqzjt] {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.relationship-row-action[b-tvbhtkqzjt] {
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: #fff;
    color: #514c46;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.relationship-row-action.status[b-tvbhtkqzjt] {
    border-color: #d3c8aa;
    background: #fff9e9;
    color: #6d5a25;
}

.relationship-row-action.remove[b-tvbhtkqzjt] {
    border-color: #e2c7c2;
    background: #fff2ef;
    color: #8a4138;
}

.relationship-row-action:hover[b-tvbhtkqzjt],
.relationship-row-action:focus-visible[b-tvbhtkqzjt] {
    filter: brightness(0.97);
    outline: 2px solid rgba(56, 51, 46, 0.16);
    outline-offset: 1px;
}

.relationship-empty[b-tvbhtkqzjt] {
    margin: 0;
    padding: 14px;
    border-radius: 13px;
    background: #f4f2ee;
    color: #7b756e;
    text-align: center;
}

.relationship-search-field[b-tvbhtkqzjt],
.parent-kind-field[b-tvbhtkqzjt],
.relationship-comment-field[b-tvbhtkqzjt] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.link-child-parent-role[b-tvbhtkqzjt] {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 12px 13px;
    border: 1px solid #ccd8cf;
    border-radius: 14px;
    background: #f2f7f3;
}

.link-child-parent-role > span[b-tvbhtkqzjt] {
    color: #506158;
    font-size: 11px;
    font-weight: 800;
}

.link-child-parent-role select[b-tvbhtkqzjt] {
    min-height: 39px;
    padding: 8px 10px;
    border: 1px solid #c5d0c8;
    border-radius: 10px;
    background: #fff;
    color: #33443a;
    font: inherit;
}

.link-child-parent-role strong[b-tvbhtkqzjt] {
    color: #36523f;
    font-size: 14px;
}

.link-child-parent-role small[b-tvbhtkqzjt] {
    color: #738078;
    font-size: 10px;
}

.relationship-search-field > span[b-tvbhtkqzjt],
.parent-kind-field > span[b-tvbhtkqzjt],
.relationship-comment-field > span[b-tvbhtkqzjt] {
    color: #5a554f;
    font-size: 11px;
    font-weight: 820;
}

.relationship-search-field input[b-tvbhtkqzjt],
.parent-kind-field select[b-tvbhtkqzjt],
.relationship-comment-field textarea[b-tvbhtkqzjt] {
    width: 100%;
    border: 1px solid #d7d2cb;
    border-radius: 12px;
    background: #fff;
    color: #2f2c29;
    font: inherit;
}

.relationship-search-field input[b-tvbhtkqzjt],
.parent-kind-field select[b-tvbhtkqzjt] {
    min-height: 43px;
    padding: 9px 12px;
}

.relationship-comment-field textarea[b-tvbhtkqzjt] {
    min-height: 96px;
    padding: 11px 12px;
    resize: vertical;
}

.relationship-search-field input:focus[b-tvbhtkqzjt],
.parent-kind-field select:focus[b-tvbhtkqzjt],
.relationship-comment-field textarea:focus[b-tvbhtkqzjt] {
    border-color: #776d63;
    outline: 3px solid rgba(92, 83, 74, 0.12);
}

.relationship-candidate-list[b-tvbhtkqzjt] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.relationship-candidate[b-tvbhtkqzjt] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    padding: 11px 12px;
    border: 1px solid #ded9d2;
    border-radius: 13px;
    background: #faf9f6;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.relationship-candidate:hover[b-tvbhtkqzjt],
.relationship-candidate:focus-visible[b-tvbhtkqzjt] {
    border-color: #92887d;
    background: #f0ede7;
    outline: none;
}

.relationship-candidate strong[b-tvbhtkqzjt] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.relationship-candidate span[b-tvbhtkqzjt],
.selected-relation-person small[b-tvbhtkqzjt],
.parent-kind-field small[b-tvbhtkqzjt] {
    color: #7a746d;
    font-size: 11px;
}

.selected-relation-person[b-tvbhtkqzjt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 13px;
    padding: 13px 14px;
    border: 1px solid #c6d7ca;
    border-radius: 14px;
    background: #eff7f1;
}

.selected-relation-person > div[b-tvbhtkqzjt] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.selected-relation-person > div > span[b-tvbhtkqzjt] {
    color: #5d7762;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.selected-relation-person button[b-tvbhtkqzjt] {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: rgba(54, 84, 61, 0.1);
    color: #3f6547;
    font-size: 19px;
    cursor: pointer;
}

.parent-kind-field[b-tvbhtkqzjt],
.relationship-comment-field[b-tvbhtkqzjt] {
    margin-top: 13px;
}

.relationship-confirmation[b-tvbhtkqzjt] {
    max-width: 620px;
    margin: 10px auto;
}

.relationship-confirmation > p[b-tvbhtkqzjt] {
    margin: 8px 0 16px;
    color: #6f6962;
    line-height: 1.5;
}

.divorce-date-field small[b-tvbhtkqzjt] {
    color: #7a746d;
    font-size: 11px;
    font-weight: 500;
}

.relationship-confirmation-actions[b-tvbhtkqzjt] {
    margin-top: 17px;
}

.relationship-editor-footer[b-tvbhtkqzjt] {
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    gap: 9px;
    padding: 13px 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.04);
}

.relationship-button[b-tvbhtkqzjt] {
    min-height: 40px;
    padding: 8px 15px;
    border: 1px solid transparent;
    border-radius: 12px;
    font: inherit;
    font-size: 12px;
    font-weight: 820;
    cursor: pointer;
}

.relationship-button.primary[b-tvbhtkqzjt] {
    background: #37332f;
    color: #fff;
}

.relationship-button.secondary[b-tvbhtkqzjt] {
    border-color: #d7d2cb;
    background: #fff;
    color: #4e4943;
}

.relationship-button.danger[b-tvbhtkqzjt] {
    background: #8b433b;
    color: #fff;
}

.relationship-button.warning[b-tvbhtkqzjt] {
    border-color: #a66c0c;
    background: #a66c0c;
    color: #fff;
}

.relationship-button:disabled[b-tvbhtkqzjt] {
    opacity: 0.55;
    cursor: default;
}

.relationship-editor-alert[b-tvbhtkqzjt] {
    flex: 0 0 auto;
    margin: 12px 20px 0;
    padding: 11px 13px;
    border-radius: 12px;
    font-size: 12px;
}

.relationship-editor-alert.error[b-tvbhtkqzjt] {
    border: 1px solid #e4bcb5;
    background: #fff0ed;
    color: #863e35;
}

.relationship-editor-loading[b-tvbhtkqzjt] {
    display: grid;
    min-height: 240px;
    place-items: center;
    color: #77716a;
}

@media (max-width: 680px) {
    .relationship-editor-backdrop[b-tvbhtkqzjt] {
        align-items: stretch;
        padding: 0;
    }

    .relationship-editor-modal[b-tvbhtkqzjt] {
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        min-height: 100dvh;
        border-radius: 0;
    }

    .relationship-editor-header[b-tvbhtkqzjt] {
        padding: max(14px, env(safe-area-inset-top)) 14px 12px;
    }

    .relationship-editor-close[b-tvbhtkqzjt] {
        width: 42px;
        height: 42px;
    }

    .relationship-mode-toolbar[b-tvbhtkqzjt] {
        display: flex;
        padding: 10px 14px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .relationship-mode-toolbar[b-tvbhtkqzjt]::-webkit-scrollbar {
        display: none;
    }

    .relationship-mode-group[b-tvbhtkqzjt] {
        flex: 0 0 min(290px, calc(100vw - 42px));
    }

    .relationship-mode-back[b-tvbhtkqzjt] {
        flex: 0 0 auto;
    }

    .relationship-mode-button[b-tvbhtkqzjt] {
        flex: 0 0 auto;
    }

    .relationship-editor-scroll[b-tvbhtkqzjt] {
        padding: 14px;
        overscroll-behavior: contain;
    }

    .relationship-candidate-list[b-tvbhtkqzjt] {
        grid-template-columns: 1fr;
    }

    .relationship-row[b-tvbhtkqzjt],
    .relationship-row.spouse[b-tvbhtkqzjt] {
        align-items: stretch;
        flex-direction: column;
    }

    .relationship-row-actions[b-tvbhtkqzjt] {
        justify-content: flex-start;
    }

    .relationship-editor-footer[b-tvbhtkqzjt] {
        padding: 10px 14px max(10px, env(safe-area-inset-bottom));
    }

    .relationship-button[b-tvbhtkqzjt] {
        min-height: 44px;
    }
}
/* /Components/RelationshipPathView.razor.rz.scp.css */
.kinship-view[b-pya0iv0aan] {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 22px;
    overflow: auto;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 0, rgba(255, 255, 255, 0.98), rgba(247, 244, 237, 0.96) 48%, rgba(239, 236, 228, 0.96));
    box-shadow: inset 0 0 70px rgba(95, 77, 48, 0.06);
}

.kinship-empty[b-pya0iv0aan] {
    display: grid;
    min-height: 100%;
    place-items: center;
    color: #6f6a61;
}

.kinship-header[b-pya0iv0aan] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    max-width: 1120px;
    margin: 0 auto 14px;
}

.kinship-header h2[b-pya0iv0aan],
.kinship-header p[b-pya0iv0aan] {
    margin: 0;
}

.kinship-header h2[b-pya0iv0aan] {
    margin-bottom: 8px;
    font-size: clamp(22px, 3vw, 34px);
    line-height: 1.08;
}

.kinship-header p:last-child[b-pya0iv0aan] {
    color: #666057;
}

.kinship-eyebrow[b-pya0iv0aan] {
    margin-bottom: 7px !important;
    color: #8a785f;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.kinship-close-button[b-pya0iv0aan] {
    flex: 0 0 auto;
    padding: 10px 15px;
    border: 1px solid #cfc5b7;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: #3f3931;
    font-weight: 700;
    cursor: pointer;
}

.kinship-close-button:hover[b-pya0iv0aan] {
    background: white;
}

.kinship-summary[b-pya0iv0aan] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    max-width: 960px;
    margin: 0 auto 28px;
}

.kinship-summary span[b-pya0iv0aan] {
    padding: 7px 11px;
    border: 1px solid rgba(105, 87, 61, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.74);
    color: #665d51;
    font-size: 12px;
    font-weight: 700;
}

.kinship-diagram[b-pya0iv0aan] {
    display: flex;
    min-width: 680px;
    flex-direction: column;
    align-items: center;
    padding: 4px 28px 48px;
}

.kinship-person-node[b-pya0iv0aan] {
    display: flex;
    box-sizing: border-box;
    width: min(360px, 100%);
    min-height: 104px;
    align-items: center;
    gap: 14px;
    padding: 12px;
    border: 1px solid #cfc8bd;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    color: #282521;
    text-align: left;
    box-shadow: 0 8px 24px rgba(62, 48, 29, 0.08);
    cursor: pointer;
}

.kinship-person-node:hover[b-pya0iv0aan] {
    border-color: #72624e;
    transform: translateY(-1px);
    box-shadow: 0 11px 28px rgba(62, 48, 29, 0.14);
}

.kinship-person-node.common-ancestor[b-pya0iv0aan] {
    border-color: #9e4939;
    background: #ef8c74;
    box-shadow:
        0 0 0 3px rgba(158, 73, 57, 0.13),
        0 10px 28px rgba(95, 44, 34, 0.16);
}

.kinship-person-node.endpoint[b-pya0iv0aan] {
    border-color: #38342f;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.9),
        0 0 0 4px rgba(56, 52, 47, 0.28),
        0 8px 24px rgba(62, 48, 29, 0.12);
}

.kinship-person-photo[b-pya0iv0aan] {
    display: block;
    width: 60px;
    height: 78px;
    flex: 0 0 60px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.62);
}

.kinship-person-copy[b-pya0iv0aan] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.kinship-person-copy small[b-pya0iv0aan] {
    color: #786e62;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.common-ancestor .kinship-person-copy small[b-pya0iv0aan],
.common-ancestor .kinship-person-copy span[b-pya0iv0aan] {
    color: rgba(53, 26, 21, 0.78);
}

.kinship-person-copy strong[b-pya0iv0aan] {
    overflow: hidden;
    font-size: 15px;
    line-height: 1.16;
    text-overflow: ellipsis;
}

.kinship-person-copy span[b-pya0iv0aan] {
    color: #716a61;
    font-size: 12px;
}

.kinship-fork[b-pya0iv0aan] {
    position: relative;
    width: min(760px, 72%);
    height: 46px;
}

.kinship-fork[b-pya0iv0aan]::before {
    position: absolute;
    top: 22px;
    right: 0;
    left: 0;
    height: 2px;
    background: #b8aa98;
    content: "";
}

.kinship-fork[b-pya0iv0aan]::after {
    position: absolute;
    top: 0;
    left: calc(50% - 1px);
    width: 2px;
    height: 24px;
    background: #b8aa98;
    content: "";
}

.kinship-branches[b-pya0iv0aan] {
    display: grid;
    width: min(980px, 100%);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 72px;
}

.kinship-branch[b-pya0iv0aan] {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
}

.kinship-branch[b-pya0iv0aan]::before {
    width: 2px;
    height: 20px;
    background: #b8aa98;
    content: "";
}

.kinship-branch h3[b-pya0iv0aan] {
    margin: 0 0 14px;
    padding: 6px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.74);
    color: #665d51;
    font-size: 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.kinship-branch-empty[b-pya0iv0aan] {
    width: min(320px, 100%);
    padding: 18px;
    border: 1px dashed #c8bbaa;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.56);
    color: #71695f;
    text-align: center;
}

.kinship-descent-step[b-pya0iv0aan] {
    display: flex;
    height: 42px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #887c6c;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.kinship-descent-step[b-pya0iv0aan]::before,
.kinship-descent-step[b-pya0iv0aan]::after {
    width: 2px;
    height: 10px;
    background: #b8aa98;
    content: "";
}

.kinship-descent-step span[b-pya0iv0aan] {
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.76);
}

@media (max-width: 820px) {
    .kinship-view[b-pya0iv0aan] {
        padding: 16px;
    }

    .kinship-header[b-pya0iv0aan] {
        flex-direction: column;
    }

    .kinship-close-button[b-pya0iv0aan] {
        align-self: stretch;
    }

    .kinship-diagram[b-pya0iv0aan] {
        min-width: 580px;
        padding-inline: 12px;
    }

    .kinship-branches[b-pya0iv0aan] {
        gap: 34px;
    }
}

.kinship-reference-note[b-pya0iv0aan] {
    margin-top: 6px !important;
    font-size: 12px;
}

.kinship-header-actions[b-pya0iv0aan] {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    max-width: 440px;
}

.kinship-close-button.quiet[b-pya0iv0aan] {
    border-color: transparent;
    background: rgba(83, 74, 63, 0.08);
}

.affinity-summary[b-pya0iv0aan] {
    border-color: rgba(157, 98, 82, 0.2) !important;
    background: rgba(239, 140, 116, 0.13) !important;
    color: #7d493c !important;
}

.kinship-common-cluster[b-pya0iv0aan] {
    display: flex;
    width: min(1120px, 100%);
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.kinship-common-cluster > .kinship-person-node[b-pya0iv0aan] {
    width: min(320px, 31%);
}

.kinship-spouse-pair[b-pya0iv0aan] {
    display: flex;
    width: min(100%, 470px);
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.kinship-spouse-pair .kinship-person-node[b-pya0iv0aan] {
    width: min(210px, calc((100% - 54px) / 2));
    min-height: 110px;
}

.kinship-spouse-connector[b-pya0iv0aan] {
    position: relative;
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border: 1px solid #b8968a;
    border-radius: 50%;
    background: #fff8f3;
    color: #9e4939;
    font-size: 18px;
}

.kinship-spouse-connector[b-pya0iv0aan]::before,
.kinship-spouse-connector[b-pya0iv0aan]::after {
    position: absolute;
    top: 50%;
    width: 12px;
    height: 2px;
    transform: translateY(-50%);
    background: #b8968a;
    content: "";
}

.kinship-spouse-connector[b-pya0iv0aan]::before {
    right: 100%;
}

.kinship-spouse-connector[b-pya0iv0aan]::after {
    left: 100%;
}

.kinship-spouse-connector.former[b-pya0iv0aan] {
    border-style: dashed;
    background: #f3f1ee;
    color: #71695f;
}

.kinship-spouse-connector.former[b-pya0iv0aan]::before,
.kinship-spouse-connector.former[b-pya0iv0aan]::after {
    background: repeating-linear-gradient(
        to right,
        #9e9488 0 5px,
        transparent 5px 8px);
}

.kinship-relation-name[b-pya0iv0aan] {
    color: #3f3931 !important;
    font-size: 12px !important;
    font-weight: 800;
}

.common-ancestor .kinship-relation-name[b-pya0iv0aan] {
    color: rgba(53, 26, 21, 0.9) !important;
}

.kinship-life-text[b-pya0iv0aan] {
    font-size: 11px !important;
}

@media (max-width: 980px) {
    .kinship-common-cluster[b-pya0iv0aan] {
        min-width: 720px;
    }

    .kinship-header-actions[b-pya0iv0aan] {
        justify-content: flex-start;
    }
}

@media (max-width: 600px) {
    .kinship-view[b-pya0iv0aan] {
        padding: 12px 10px 24px;
        border-radius: 17px;
    }

    .kinship-header[b-pya0iv0aan] {
        gap: 14px;
        margin-bottom: 12px;
    }

    .kinship-header h2[b-pya0iv0aan] {
        font-size: 23px;
    }

    .kinship-header-actions[b-pya0iv0aan],
    .kinship-close-button[b-pya0iv0aan] {
        width: 100%;
    }

    .kinship-header-actions[b-pya0iv0aan] {
        align-items: stretch;
        flex-direction: column;
    }

    .kinship-close-button[b-pya0iv0aan] {
        min-height: 42px;
    }

    .kinship-summary[b-pya0iv0aan] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        margin-bottom: 18px;
    }

    .kinship-summary span[b-pya0iv0aan] {
        display: grid;
        min-width: 0;
        place-items: center;
        border-radius: 12px;
        font-size: 10px;
        text-align: center;
    }

    .kinship-summary .affinity-summary[b-pya0iv0aan] {
        grid-column: 1 / -1;
    }

    .kinship-diagram[b-pya0iv0aan] {
        width: 100%;
        min-width: 0;
        padding: 2px 2px 28px;
    }

    .kinship-common-cluster[b-pya0iv0aan],
    .kinship-spouse-pair[b-pya0iv0aan] {
        width: 100%;
        min-width: 0;
        flex-direction: column;
    }

    .kinship-common-cluster > .kinship-person-node[b-pya0iv0aan],
    .kinship-spouse-pair .kinship-person-node[b-pya0iv0aan],
    .kinship-person-node[b-pya0iv0aan],
    .kinship-branch-empty[b-pya0iv0aan] {
        width: 100%;
    }

    .kinship-spouse-connector[b-pya0iv0aan] {
        margin: 10px 0;
    }

    .kinship-spouse-connector[b-pya0iv0aan]::before,
    .kinship-spouse-connector[b-pya0iv0aan]::after {
        left: 50%;
        width: 2px;
        height: 12px;
        transform: translateX(-50%);
    }

    .kinship-spouse-connector[b-pya0iv0aan]::before {
        top: auto;
        right: auto;
        bottom: 100%;
    }

    .kinship-spouse-connector[b-pya0iv0aan]::after {
        top: 100%;
        right: auto;
    }

    .kinship-spouse-connector.former[b-pya0iv0aan]::before,
    .kinship-spouse-connector.former[b-pya0iv0aan]::after {
        background: repeating-linear-gradient(
            to bottom,
            #9e9488 0 5px,
            transparent 5px 8px);
    }

    .kinship-fork[b-pya0iv0aan] {
        width: 2px;
        height: 28px;
        background: #b8aa98;
    }

    .kinship-fork[b-pya0iv0aan]::before,
    .kinship-fork[b-pya0iv0aan]::after {
        display: none;
    }

    .kinship-branches[b-pya0iv0aan] {
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }
}
/* /Components/UserNotificationCenter.razor.rz.scp.css */
.notification-center[b-xjbbls00xe] {
    position: relative;
    flex: 0 0 auto;
}

.notification-center-trigger[b-xjbbls00xe] {
    position: relative;
    display: grid;
    width: 34px;
    height: 34px;
    padding: 0;
    place-items: center;
    border: 1px solid #d8d8d8;
    border-radius: 50%;
    background: #fff;
    color: #383838;
    cursor: pointer;
}

.notification-center-trigger:hover[b-xjbbls00xe],
.notification-center-trigger[aria-expanded="true"][b-xjbbls00xe] {
    background: #f1f1f1;
}

.notification-center-trigger svg[b-xjbbls00xe] {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.notification-center-trigger > span[b-xjbbls00xe] {
    position: absolute;
    top: -7px;
    right: -7px;
    display: grid;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    place-items: center;
    border: 2px solid #f6f5f2;
    border-radius: 999px;
    background: #b84839;
    color: #fff;
    font-size: 8px;
    font-weight: 850;
}

.notification-center-panel[b-xjbbls00xe] {
    position: absolute;
    z-index: 2900;
    top: calc(100% + 10px);
    right: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(390px, calc(100vw - 24px));
    max-height: min(600px, calc(100dvh - 90px));
    overflow: hidden;
    border: 1px solid #d8d3cc;
    border-radius: 17px;
    background: #fff;
    color: #2e2c29;
    box-shadow: 0 22px 60px rgba(35, 30, 24, 0.25);
}

.notification-center-panel > header[b-xjbbls00xe],
.notification-center-panel > footer[b-xjbbls00xe] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #e8e4de;
}

.notification-center-panel > header > div[b-xjbbls00xe] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.notification-center-panel > header span[b-xjbbls00xe] {
    color: #88735b;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.09em;
}

.notification-center-panel > header strong[b-xjbbls00xe] {
    font-size: 13px;
}

.notification-center-panel > header > button[b-xjbbls00xe] {
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    font-size: 20px;
    cursor: pointer;
}

.notification-center-list[b-xjbbls00xe] {
    min-height: 0;
    overflow-y: auto;
}

.notification-center-item[b-xjbbls00xe] {
    display: grid;
    width: 100%;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 9px;
    padding: 11px 13px;
    border: 0;
    border-bottom: 1px solid #ece8e2;
    background: #f4fbf5;
    color: #2d392f;
    text-align: left;
    cursor: pointer;
}

.notification-center-item.rejected[b-xjbbls00xe] {
    background: #fff6f4;
    color: #4c2e29;
}

.notification-center-item.read[b-xjbbls00xe] {
    background: #fff;
    color: #706b65;
}

.notification-center-item:hover[b-xjbbls00xe] {
    background: #f2f0ec;
}

.notification-center-item > i[b-xjbbls00xe] {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #dcefe0;
    color: #2f6e3b;
    font-style: normal;
    font-weight: 900;
}

.notification-center-item.rejected > i[b-xjbbls00xe] {
    background: #f4deda;
    color: #9a3b32;
}

.notification-center-item > span[b-xjbbls00xe] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.notification-center-item strong[b-xjbbls00xe] {
    font-size: 11px;
}

.notification-center-item b[b-xjbbls00xe] {
    overflow: hidden;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
    text-overflow: ellipsis;
}

.notification-center-item small[b-xjbbls00xe] {
    color: #8a847d;
    font-size: 9px;
}

.notification-center-empty[b-xjbbls00xe] {
    display: grid;
    min-height: 130px;
    padding: 18px;
    place-items: center;
    color: #79736c;
    font-size: 12px;
    text-align: center;
}

.notification-center-panel > footer[b-xjbbls00xe] {
    justify-content: flex-end;
    border-top: 1px solid #e8e4de;
    border-bottom: 0;
}

.notification-center-panel > footer a[b-xjbbls00xe],
.notification-center-panel > footer button[b-xjbbls00xe] {
    padding: 7px 9px;
    border: 0;
    background: transparent;
    color: #3c3935;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    text-decoration: underline;
    cursor: pointer;
}

@media (max-width: 560px) {
    .notification-center-panel[b-xjbbls00xe] {
        position: fixed;
        top: 56px;
        right: 8px;
        left: 8px;
        width: auto;
    }
}
/* /Components/UserNotificationHost.razor.rz.scp.css */
.user-notification-stack[b-iuhbhvklxx] {
    position: fixed;
    z-index: 3200;
    top: 18px;
    right: 18px;
    display: flex;
    width: min(390px, calc(100vw - 36px));
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}

.user-notification[b-iuhbhvklxx] {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 30px;
    gap: 10px;
    padding: 14px;
    border: 1px solid #b8d3bd;
    border-radius: 16px;
    background: rgba(246, 253, 247, 0.98);
    color: #243128;
    box-shadow: 0 18px 48px rgba(25, 31, 26, 0.24);
    backdrop-filter: blur(12px);
    pointer-events: auto;
}

.user-notification.rejected[b-iuhbhvklxx] {
    border-color: #e0b5af;
    background: rgba(255, 247, 245, 0.98);
    color: #432622;
}

.user-notification-mark[b-iuhbhvklxx] {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #dcefe0;
    color: #2f6e3b;
    font-size: 20px;
    font-weight: 900;
}

.user-notification.rejected .user-notification-mark[b-iuhbhvklxx] {
    background: #f4deda;
    color: #9a3b32;
}

.user-notification-copy[b-iuhbhvklxx] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.user-notification-copy strong[b-iuhbhvklxx] {
    font-size: 14px;
}

.user-notification-copy span[b-iuhbhvklxx],
.user-notification-copy p[b-iuhbhvklxx] {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
}

.user-notification-copy p[b-iuhbhvklxx] {
    padding: 7px 8px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    color: #655e57;
}

.user-notification-open[b-iuhbhvklxx] {
    align-self: flex-start;
    margin-top: 3px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 11px;
    font-weight: 800;
    text-decoration: underline;
    cursor: pointer;
}

.user-notification > button[b-iuhbhvklxx] {
    display: grid;
    width: 30px;
    height: 30px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    font-size: 20px;
    cursor: pointer;
}

.user-notification > button:hover[b-iuhbhvklxx] {
    background: rgba(0, 0, 0, 0.06);
}

@media (max-width: 560px) {
    .user-notification-stack[b-iuhbhvklxx] {
        top: 8px;
        right: 8px;
        width: calc(100vw - 16px);
    }
}
