/* User-owned composition; shared tokens and native widget behavior are preserved. */
.user-page { min-width: 0; }
.user-page .user-panel {
    min-width: 0;
    background: var(--mkp-surface);
    border: 1px solid var(--mkp-border);
    border-radius: var(--mkp-radius-lg);
    box-shadow: var(--mkp-shadow);
}
.user-page .user-section,
.user-page .user-person-panel { padding: 20px; }
.user-page .user-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.user-page .user-section-heading { margin-bottom: 20px; }
.user-page .user-section-heading h2 {
    margin: 0 0 4px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -.015em;
}
.user-page .user-section-heading p,
.user-page .user-filter-help {
    margin: 0;
    color: var(--mkp-muted-foreground);
    font-size: var(--mkp-font-size);
    line-height: 1.5;
}
.user-page .user-person-heading { display: flex; align-items: center; gap: 12px; }
.user-page .user-avatar { width: 40px; height: 40px; object-fit: cover; border-radius: 50%; border: 1px solid var(--mkp-border); }
.user-page .user-person-fields > .row { --bs-gutter-x: 16px; }
.user-page .user-person-fields > .mb-3.row > div:has(> .form-label) { flex: 1 1 144px; min-width: min(100%, 144px); }
.user-page .user-person-fields > .mb-3.row > .col-md-8:has(> .form-label),
.user-page .user-person-fields > .mb-3.row > .col-md-9:has(> .form-label) { flex-grow: 2; }
.user-page .user-person-fields > .mb-3.row > div:has(> .iti, > .intl-tel-input, > .phone-mask) { min-width: min(100%, 230px); }
.user-page .user-person-fields > .mb-3.row > .col-md-12 { flex-basis: 100%; }
.user-page .user-person-fields > .mb-3.row > .form-text { margin-top: -10px; }
.user-page .user-form .mb-3.row > div > .form-label { flex-grow: 0; }
.user-page .user-person-fields > .mb-3:last-of-type { margin-bottom: 0 !important; }
.user-page .user-account-options { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 20px 0; }
.user-page .user-primary-unit { max-width: 480px; }
.user-page .user-choice-label { margin-bottom: 12px; font-size: var(--mkp-font-size); font-weight: 500; }
.user-page .user-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 0 24px; }
.user-page .user-choice { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 6px 0; min-width: 0; }
.user-page .user-choice .form-check-input { float: none; flex: 0 0 16px; margin-left: 0; }
.user-page .user-choice .form-check-label { flex: 1; overflow-wrap: anywhere; }
.user-page .user-form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding-top: 4px; }
.user-page .user-address-fields { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.user-page .user-address-fields > .mb-3 { margin-bottom: 0 !important; }
.user-page .user-address-fields > .row { --bs-gutter-x: 16px; }
.user-page .user-address-fields > .row:last-of-type { grid-column: 1 / -1; }
.user-page .user-address-fields > .row > div:has(> .form-label) { flex: 1 1 160px; }
.user-page .user-address-fields > .row > .col-md-8:has(> .form-label) { flex-grow: 2; }
.user-page .user-address-fields > .row > .col-md-4:has(> #Address_AddressNumber) { flex-basis: 90px; min-width: 90px; }
@media (min-width: 1200px) {
    .user-page .user-form { grid-template-columns: minmax(0, 1.85fr) minmax(300px, 1fr); align-items: start; }
    .user-page .user-form > * { grid-column: 1 / -1; }
    .user-page .user-form > .user-person-panel { grid-column: 1; }
    .user-page .user-form > .user-account-panel { grid-column: 2; align-self: stretch; }
    .user-page .user-address-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .user-page .user-address-fields > .row:last-of-type { grid-column: auto; }
}
/* One toolbar, then the table. Keep the original Excel and search operations. */
.user-index .admin-page-header { margin-bottom: 12px; }
.user-page .user-list-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 8px; }
.user-page .user-search { width: 320px; max-width: 100%; }
.user-page .user-list .k-grid-toolbar { gap: 8px; padding: 8px; min-height: 52px; }
.user-page .user-list .k-grid-toolbar > .user-list-tools { flex: 1; padding: 0; }
.user-page .user-list > .k-grid { border: 0; border-radius: var(--mkp-radius-lg); --mkp-grid-cell-y: 3px; }
.user-page .user-list > .k-grid.mkp-grid-bounded-direct { max-height: none; }
.user-page .user-list > .k-grid.mkp-grid-bounded-direct > .k-grid-pager { position: static; }
.user-page .user-list .k-grid .k-grid-table > tbody > tr > td { font-size: 14px; padding-block: 3px; white-space: normal; overflow-wrap: break-word; }
.user-page .user-list .k-grid .k-grid-table > tbody > tr > td .btn { min-height: 26px; min-width: 28px; padding: 2px 6px; font-size: 14px; line-height: 20px; }
.user-page .user-list .k-grid .k-grid-header th { box-sizing: border-box; height: 36px; font-size: 14px; padding-block: 4px; }
.user-page .user-list .k-grid > .k-grid-container > .k-grid-content,
.user-page .user-list .k-grid > .k-grid-content { max-height: max(320px, calc(100dvh - 266px)); }
.user-page .user-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 40px 20px; white-space: normal; }
.user-page .user-empty > i { font-size: 24px; color: var(--mkp-muted-foreground); margin-bottom: 8px; }
.user-page .user-empty > span { color: var(--mkp-muted-foreground); }
@media (max-width: 767.98px) {
    .user-page .user-list .k-grid-table,
    .user-page .user-list .k-grid-header-table { min-width: 920px; }
    .user-page .user-search { width: 100%; }
    .user-page .user-filter-help { font-size: 14px; }
    .user-page .user-address-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
    .user-page .user-section,
    .user-page .user-person-panel { padding: 16px; }
    .user-page .user-person-fields > .mb-3.row > div:has(> .form-label) { flex-basis: 100%; }
    .user-page .user-section-heading { margin-bottom: 16px; }
}
