/* Helyi adminisztráció — a közös LSPD tipográfiával és teljes szélességben. */
.account-popover { width: 247.5px; }
.account-popover button { min-height: 41.4px; font-size: 12.6px; }
.account-popover #adminMenuButton { color: #a7ccff; }
.account-popover #adminMenuButton svg { color: #73aff6; }
.account-copy { max-width: 207px; }
.account-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-identity > div { min-width: 0; }
.profile-identity h3 { font-size: 14.4px; overflow-wrap: anywhere; }
.profile-identity p, .profile-details, .profile-details strong { font-size: 11px; }
.admin-page-heading h1 { font-size: clamp(28.8px, 2.34vw, 37.8px); }
.admin-page-heading p { max-width: none; font-size: 13.5px; line-height: 1.7; }
.admin-tabs { display: flex; flex-wrap: wrap; gap: 23.4px; margin: 0 0 24.3px; border-bottom: 1px solid var(--line); }
.admin-tabs a { position: relative; display: inline-flex; align-items: center; gap: 9px; min-height: 48.6px; padding: 0 2px 13.5px; color: #90a8c7; font-size: 13.5px; font-weight: 550; }
.admin-tabs .personnel-emoji { font-size: 17.1px; }
.admin-tabs a.active { color: #c9e3ff; }
.admin-tabs a.active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: #64adff; content: ''; }
.admin-panel-top { display: flex; justify-content: space-between; align-items: center; gap: 21.6px; padding: 25.2px; }
.admin-panel-top h2 { margin: 0 0 8.1px; color: #e0ebfb; font-size: 19.8px; font-weight: 750; letter-spacing: -.025em; }
.admin-panel-top p { margin: 0; color: #9ab0ce; font-size: 12.6px; line-height: 1.7; }
.admin-panel-top .primary-button { min-height: 41.4px; font-size: 12.6px; white-space: nowrap; }
.admin-toolbar { display: flex; align-items: center; gap: 21.6px; padding: 0 25.2px 22.5px; }
.admin-toolbar .roster-search { flex: 1; max-width: 558px; }
.admin-toolbar .roster-search input { font-size: 13.5px; }
.admin-list-caption { margin-left: auto; color: #9ab0ce; font-size: 11.7px; white-space: nowrap; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.admin-table th { padding: 14.4px; border-block: 1px solid var(--line); background: rgba(4, 13, 25, .48); color: #9ab4d6; font-size: 11px; font-weight: 700; letter-spacing: .045em; text-align: left; text-transform: uppercase; }
.admin-table th:first-child, .admin-table td:first-child { padding-left: 25.2px; }
.admin-table th:last-child, .admin-table td:last-child { padding-right: 25.2px; }
.admin-members-table th:first-child { width: 23%; }
.admin-members-table th:nth-child(2) { width: 17%; }
.admin-members-table th:nth-child(3) { width: 23%; }
.admin-members-table th:nth-child(4) { width: 15%; }
.admin-members-table th:nth-child(5) { width: 12%; }
.admin-members-table th:last-child { width: 10%; }
.admin-users-table th:first-child { width: 24%; }
.admin-users-table th:nth-child(2) { width: 29%; }
.admin-users-table th:nth-child(3) { width: 20%; }
.admin-users-table th:nth-child(4) { width: 15%; }
.admin-users-table th:last-child { width: 12%; }
.admin-table td { padding: 18.9px 14.4px; border-bottom: 1px solid rgba(113, 149, 197, .11); color: #b8cce6; font-size: 12.6px; vertical-align: middle; overflow-wrap: anywhere; }
.admin-table tr:hover td { background: rgba(55, 102, 163, .07); }
.admin-table td > strong { display: block; font-weight: 550; }
.admin-table td small { display: block; margin-top: 6.3px; color: #91a8c7; font-size: 11px; line-height: 1.7; }
.admin-table .admin-name strong { display: inline; color: #e3edfc; font-family: var(--font-heading); font-size: 14.4px; font-weight: 750; }
.admin-name a:hover strong, .admin-text-link:hover { color: #9cccff; }
.admin-own { display: inline-flex; padding: 1px 5.4px; margin-left: 7.2px; border-radius: 3.6px; border: 1px solid #345d8e; color: #a4d1ff; font: 11px var(--font-body); vertical-align: middle; }
.admin-table .admin-actions { white-space: nowrap; text-align: right; }
.admin-row-action { width: 35.1px; height: 36.9px; border-color: rgba(114, 159, 218, .17); color: #8ebbf3; background: rgba(39, 85, 145, .08); }
.admin-row-action + .admin-row-action { margin-left: 4.5px; }
.admin-row-action svg { width: 15.3px; height: 15.3px; }
.admin-row-action.is-danger { color: #db9ba6; }
.admin-row-action.is-danger:hover { color: #ffc0c7; border-color: rgba(238, 137, 153, .35); background: rgba(169, 61, 83, .13); }
.admin-row-action:disabled, .admin-panel-top button:disabled { opacity: .35; cursor: not-allowed; }
.personnel-status.is-disabled { color: #dba0aa; border-color: rgba(216, 115, 137, .25); background: rgba(164, 56, 79, .08); }
.personnel-status.is-disabled > span { background: #d58d9a; }
.admin-pagination { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; min-height: 79.2px; padding: 19.8px 25.2px; color: #9ab0ce; font-size: 12.6px; }
.admin-pagination strong { color: #c9dff8; font-weight: 600; }
.admin-pagination button:disabled { cursor: default; opacity: .35; }
.admin-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 261px; padding: 32.4px 21.6px; text-align: center; }
.admin-empty > svg { width: 30.6px; height: 30.6px; margin-bottom: 16.2px; color: #7fa7d6; }
.admin-empty h2 { margin: 0 0 11.7px; font-size: 20.7px; letter-spacing: -.025em; }
.admin-empty p { margin: 0 0 19.8px; color: #9ab0ce; font-size: 13.5px; line-height: 1.7; }
.admin-history { margin-top: 21.6px; }
.admin-history summary { display: flex; align-items: center; gap: 9.9px; padding: 20.7px 25.2px; color: #bbd2ef; font-size: 13.5px; font-weight: 550; cursor: pointer; }
.admin-history summary::after { margin-left: auto; content: '+'; color: #8ebbf2; font-size: 20.7px; font-weight: 400; }
.admin-history[open] summary::after { content: '−'; }
.admin-history summary > svg { color: #82a9d8; width: 16.2px; height: 16.2px; }
.admin-history summary > span { margin-left: 6.3px; color: #89a4c6; font-size: 11px; font-weight: 400; }
.admin-history ol { display: grid; gap: 19.8px; padding: 0 25.2px 25.2px; margin: 0; list-style: none; }
.admin-history li { display: flex; align-items: flex-start; gap: 14.4px; }
.admin-history-dot { width: 6.3px; height: 6.3px; margin-top: 8.1px; flex: 0 0 auto; border-radius: 50%; background: #63a6ef; box-shadow: 0 0 0 4px rgba(66, 132, 213, .1); }
.admin-history li strong { color: #c9dcf5; font-size: 12.6px; font-weight: 550; }
.admin-history li p { margin: 3.6px 0; color: #a2bad9; font-size: 12.6px; }
.admin-history li small { color: #8da6c8; font-size: 11px; }
.admin-local-note { display: flex; align-items: flex-start; gap: 8.1px; margin: 19.8px 0 0; color: #8ca7ca; font-size: 11px; line-height: 1.8; }
.admin-local-note svg { width: 13.5px; height: 13.5px; margin-top: 3px; }
.personnel-heading-actions, .personnel-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10.8px; flex-wrap: wrap; }
.personnel-heading-actions .secondary-button, .personnel-actions .secondary-button { min-height: 37.8px; font-size: 12.6px; }
.storage-notice { margin: 18px 25.2px 0; padding: 13.5px 16.2px; border: 1px solid rgba(218, 173, 86, .35); border-radius: 9px; background: #241e15; color: #e5c68f; font-size: 12.6px; line-height: 1.7; }
.app-toast { position: fixed; right: 25.2px; bottom: 25.2px; z-index: 120; max-width: min(468px, calc(100% - 36px)); padding: 15.3px 19.8px; border: 1px solid rgba(96, 187, 150, .45); border-radius: 10.8px; background: #112d29; color: #ceeee0; box-shadow: 0 12px 36px #0006; font-size: 12.6px; line-height: 1.7; }
.app-toast.is-error { border-color: #98525f; background: #321c27; color: #f5c0c9; }

dialog.admin-dialog { width: min(828px, calc(100% - 32.4px)); max-width: none; max-height: calc(100dvh - 36px); padding: 0; border: 1px solid #33557c; border-radius: 18px; color: #e5effc; background: #0b192b; box-shadow: 0 35px 100px #000b; }
dialog.admin-dialog.is-confirmation { width: min(504px, calc(100% - 32.4px)); }
.admin-dialog::backdrop { background: rgba(2, 7, 15, .8); backdrop-filter: blur(6px); }
.admin-dialog-heading { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: flex-start; gap: 14.4px; padding: 24.3px 27px 21.6px; border-bottom: 1px solid var(--line); background: #0c1a2d; }
.admin-dialog-heading .eyebrow { font-size: 10px; letter-spacing: .13em; }
.admin-dialog-heading h2 { margin: 7.2px 0; color: #eef5ff; font-size: 24.3px; line-height: 1.3; font-weight: 800; letter-spacing: -.03em; }
.admin-dialog-heading p { margin: 0; color: #94accd; font-size: 11.7px; line-height: 1.7; }
.admin-dialog-body { padding: 25.2px 27px; }
.admin-form-section { min-width: 0; padding: 0; margin: 0 0 26.1px; border: 0; }
.admin-form-section:last-of-type { margin-bottom: 0; }
.admin-form-section legend { width: 100%; margin: 0 0 18px; padding: 0 0 11.7px; border-bottom: 1px solid rgba(126, 166, 221, .13); color: #c2d8f3; font-family: var(--font-heading); font-size: 14.4px; font-weight: 750; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 18.9px 21.6px; }
.admin-field { display: flex; flex-direction: column; min-width: 0; gap: 8.1px; }
.admin-field.is-wide { grid-column: 1 / -1; }
.admin-field > span { color: #adc3e0; font-size: 11.7px; font-weight: 500; }
.admin-field b { color: #78b3fa; font-weight: 500; }
.admin-field input, .admin-field select { width: 100%; min-width: 0; min-height: 43.2px; padding: 9.9px 11.7px; border: 1px solid #2b4465; border-radius: 8.1px; background: #071322; color: #e1edfc; font-size: 13.5px; font-family: var(--font-body); line-height: 1.5; }
.admin-field input::placeholder { color: #728bab; }
.admin-field input:focus-visible, .admin-field select:focus-visible { border-color: #73b5ff; outline: 2px solid rgba(95, 171, 255, .35); outline-offset: 2px; }
.admin-field input[readonly] { color: #8ba8cd; background: #0e2036; font-size: 11px; }
.admin-field input[aria-invalid="true"] { border-color: #da8294; }
.admin-field small { color: #8fa7c7; font-size: 11px; line-height: 1.7; }
.admin-inactivity { margin-top: 19.8px; }
.admin-permission-list { display: grid; gap: 12.6px; }
.admin-permission { display: flex; align-items: flex-start; gap: 13.5px; padding: 15.3px 16.2px; border: 1px solid #263d5c; border-radius: 9.9px; background: rgba(4, 14, 26, .45); cursor: pointer; }
.admin-permission input { width: 17.1px; height: 17.1px; flex: 0 0 auto; margin: 3px 0 0; accent-color: #4e9cf5; }
.admin-permission input:disabled { opacity: .6; cursor: not-allowed; }
.admin-permission > span { display: grid; gap: 4.5px; }
.admin-permission strong { color: #d2e3f8; font-size: 13.5px; font-weight: 550; }
.admin-permission small, .admin-form-note { color: #8fa8c9; font-size: 11.7px; line-height: 1.7; }
.admin-form-note { margin: 16.2px 0 0; }
.admin-form-error { margin: 21.6px 0 0; padding: 12.6px 14.4px; border: 1px solid #935061; border-radius: 8.1px; background: #351c29; color: #fac8d1; font-size: 12.6px; line-height: 1.7; }
.admin-dialog-footer { position: sticky; bottom: 0; z-index: 2; display: flex; justify-content: flex-end; align-items: center; gap: 12.6px; padding: 18.9px 27px; border-top: 1px solid var(--line); background: #0c1a2d; }
.admin-dialog-footer button { min-height: 41.4px; font-size: 12.6px; }
.danger-button { display: inline-flex; justify-content: center; align-items: center; gap: 9px; min-height: 41.4px; padding: 9px 16.2px; border: 1px solid #b86a7b; border-radius: 9px; color: #fff0f3; background: #883c51; font: 600 12.6px var(--font-body); }
.danger-button:hover { background: #9c475f; }
.danger-button svg { width: 15.3px; height: 15.3px; }
.admin-delete-copy { padding: 7.2px 0; }
.admin-delete-icon { display: inline-grid; place-items: center; width: 46.8px; height: 46.8px; border: 1px solid #804656; border-radius: 11.7px; background: #351d2a; color: #e99dae; }
.admin-delete-copy h3 { margin: 18px 0 11.7px; font-size: 20.7px; overflow-wrap: anywhere; }
.admin-delete-copy p { margin: 0; color: #a2b9d8; font-size: 13.5px; line-height: 1.9; }
.account-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19.8px; }
.account-profile-grid .personnel-detail-list dd { max-width: 70%; }

@container workspace (max-width: 1140px) {
  .admin-table, .admin-table tbody { display: block; }
  .admin-table thead { display: none; }
  .admin-table tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14.4px; padding: 0 21.6px; }
  .admin-table tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 17.1px 16.2px; padding: 20.7px; border: 1px solid var(--line); border-radius: 10.8px; background: rgba(3, 12, 24, .2); }
  .admin-table tbody td, .admin-table tbody td:first-child, .admin-table tbody td:last-child { display: block; min-width: 0; padding: 0; border: 0; }
  .admin-table tbody td:first-child { grid-column: 1 / -1; padding-bottom: 16.2px; border-bottom: 1px solid var(--line); }
  .admin-table tbody td[data-label]::before { display: block; margin-bottom: 6.3px; color: #8da9cc; font-size: 11px; content: attr(data-label); }
  .admin-members-table tbody td:nth-child(3), .admin-users-table tbody td:nth-child(2) { grid-column: 1 / -1; }
  .admin-table tbody td.admin-actions { grid-column: 1 / -1; margin-top: 0; }
  .admin-table tr:hover td { background: none; }
}
@container workspace (max-width: 740px) {
  .admin-page-heading { align-items: flex-start; flex-direction: column; gap: 16.2px; }
  .admin-table tbody { grid-template-columns: minmax(0, 1fr); }
  .admin-panel-top { align-items: flex-start; }
  .personnel-heading-actions { justify-content: flex-start; }
  .account-profile-grid { grid-template-columns: minmax(0, 1fr); }
}
@container workspace (max-width: 600px) {
  .admin-panel-top { flex-direction: column; gap: 18px; padding: 21.6px 18px; }
  .admin-panel-top .primary-button { width: 100%; }
  .admin-toolbar { padding: 0 18px 21.6px; flex-wrap: wrap; gap: 12.6px; }
  .admin-toolbar .roster-search { flex-basis: 100%; }
  .admin-list-caption { font-size: 11px; }
  .admin-table tbody { padding: 0 14.4px; }
  .admin-table tbody tr { padding: 18px; gap: 16.2px 14.4px; }
  .admin-tabs { gap: 0 16.2px; }
  .admin-tabs a { gap: 7.2px; font-size: 12.6px; }
  .admin-tabs .personnel-emoji { font-size: 15.3px; }
  .admin-pagination { padding: 19.8px 18px; font-size: 11.7px; }
  .admin-pagination .roster-page-buttons { margin-left: auto; }
  .admin-history summary { padding: 18.9px; flex-wrap: wrap; font-size: 12.6px; }
  .admin-history summary > span { display: none; }
  .admin-history ol { padding: 0 19.8px 22.5px; }
  .personnel-back-row { align-items: flex-start; flex-wrap: wrap; }
  .personnel-actions { justify-content: flex-start; }
}
@media (max-width: 620px) {
  dialog.admin-dialog, dialog.admin-dialog.is-confirmation { width: calc(100% - 18px); max-height: calc(100dvh - 18px); border-radius: 13.5px; }
  .admin-dialog-heading { padding: 19.8px 18px; }
  .admin-dialog-heading h2 { font-size: 20.7px; }
  .admin-dialog-body { padding: 21.6px 18px; }
  .admin-form-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .admin-permission { padding: 14.4px 12.6px; gap: 10.8px; }
  .admin-dialog-footer { padding: 16.2px 18px; gap: 10.8px; flex-wrap: wrap; }
  .admin-dialog-footer button { flex: 1; font-size: 11.7px; white-space: nowrap; }
  .app-toast { right: 18px; bottom: 18px; }
  .storage-notice { margin: 14.4px 15.3px 0; }
}
