/* Accounts fit the workspace; no column is silently hidden to make room. */
#accountManager.gm-next .gm-grid tbody tr.gm-action-current,
#accountManager.gm-next .gm-grid tbody tr.gm-action-current:hover { background: #e5f1fc; }
#accountManager.gm-next .gm-grid tbody tr.gm-action-current>td { background: transparent; }
.gm-account-menu .gm-menu-account-name { margin: 0; padding: 10px 12px; color: #214a6b; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; border-bottom: 1px solid #dce7ee; }
.gm-delete-dialog { box-sizing: border-box; width: min(480px,calc(100vw - 32px)); padding: 24px; }
.gm-delete-dialog .gm-delete-profile { display: flex; gap: 14px; align-items: center; padding: 16px; border: 1px solid #c9dff1; background: #edf5fc; border-radius: 12px; }
.gm-delete-dialog .gm-delete-avatar { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; background: #d5e9fa; color: #24648e; display: grid; place-items: center; font-size: 26px; font-weight: 600; }
.gm-delete-dialog .gm-delete-identity { display: grid; gap: 4px; min-width: 0; overflow-wrap: anywhere; font-size: 14px; }
.gm-delete-dialog .gm-delete-identity strong { font-size: 17px; color: #1e4765; line-height: 1.4; }
.gm-delete-dialog .gm-delete-identity small { color: #647b8e; font-size: 11px; }
.gm-delete-dialog .gm-delete-list { display: grid; gap: 8px; max-height: 40vh; overflow-y: auto; overscroll-behavior: contain; }
.gm-delete-dialog .gm-delete-count { font-size: 14px; color: #395d78; margin: -7px 0 14px; }
#accountManager .gm-deletion-result { padding: 12px 14px; margin: 10px 0; border: 1px solid #bedccc; border-radius: 9px; background: #edf8f1; color: #246344; font-size: 14px; overflow-wrap: anywhere; }
#accountManager .gm-deletion-result.gm-deletion-error { border-color: #e6c4ac; background: #fff4e9; color: #8b4e22; }
#accountManager.gm-next #managerSelection>button.gm-bulk-delete:not(#managerClearSelection):not([hidden]) { display: inline-flex; align-items: center; gap: 8px; background: #fff3f4; color: #ad3040; border: 1px solid #e2acb4; border-radius: 8px; padding: 8px 12px; margin-left: auto; }
#accountManager.gm-next #managerSelection>button.gm-bulk-delete[hidden] { display: none; }
.gm-delete-dialog .gm-footer { flex-wrap: wrap; }
.gm-delete-dialog button.gm-delete-confirm { background: #bd3442; color: #fff; border-color: #bd3442; }
.gm-delete-dialog button.gm-delete-confirm:hover { background: #a52532; }
.gm-delete-dialog button:focus-visible { outline: 3px solid #267ec0; outline-offset: 3px; }
body.gramjet-shell-active #mainWorkspace,
body.gramjet-shell-active .gramjet-shell,
body.gramjet-shell-active .service-content,
body.gramjet-shell-active .service-content > #accountsView {
  min-width: 0;
  box-sizing: border-box;
}
body.gramjet-shell-active .service-content:has(#accountsView:not(.hidden)) {
  padding: clamp(10px, 1.1vw, 20px);
}
#accountManager.gm-next {
  width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box;
  container: accounts / inline-size;
  padding: clamp(10px, 1vw, 18px);
}
#accountManager.gm-next::before { content: none; }
#accountManager.gm-next .manager-title { flex-basis: 220px; min-width: 0; }
#accountManager.gm-next .manager-title h2 { font-size: 23px; }
#accountManager.gm-next .manager-header { gap: 10px; padding-bottom: 12px; }
#accountManager.gm-next .manager-actions { gap: 7px; min-width: 0; }
#accountManager.gm-next .manager-actions>button,
#accountManager.gm-next .manager-actions>.gm-disclosure>summary {
  height: 42px; min-height: 42px; padding: 5px 12px; font-size: 14px;
}
#accountManager.gm-next .gm-stats { grid-template-columns: repeat(auto-fit,minmax(min(125px,100%),1fr)); gap: 8px; margin-bottom: 12px; }
#accountManager.gm-next button.gm-stat { font-size: 13px; min-height: 84px; }
#accountManager.gm-next .gm-note { font-size: 12px; }
#accountManager.gm-next .gm-search-toolbar { padding: 10px; gap: 8px; flex-wrap: wrap; }
#accountManager.gm-next .gm-search-toolbar .manager-search-inline { min-width: 0; flex: 1 1 240px; }
#accountManager.gm-next .gm-tool-buttons { flex-wrap: wrap; gap: 6px; }
#accountManager.gm-next .gm-tool-buttons .gm-tool-button { width: 38px; height: 38px; min-height: 38px; }
#accountManager.gm-next .gm-grid-wrap { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; overflow: visible; }
#accountManager.gm-next .gm-grid { width: 100%; min-width: 0; max-width: 100%; table-layout: fixed; }
#accountManager.gm-next .gm-grid th,
#accountManager.gm-next .gm-grid td {
  box-sizing: border-box; padding: 10px 6px; min-width: 0;
  white-space: normal; overflow-wrap: anywhere; letter-spacing: normal;
  font-size: 14px; line-height: 1.4;
}
#accountManager.gm-next .gm-grid th { font-size: 12px; color: #5d7588; }
#accountManager.gm-next .gm-grid th:first-child,
#accountManager.gm-next .gm-grid td:first-child { padding-left: 6px; padding-right: 6px; }
#accountManager.gm-next .gm-grid input[type="checkbox"] { margin: 0; }
#accountManager.gm-next .gm-grid th>button { padding: 6px; min-height: 34px; font-size: 14px; }
#accountManager.gm-next .gm-person { min-width: 0; gap: 7px; }
#accountManager.gm-next .gm-person>div { min-width: 0; flex: 1; }
#accountManager.gm-next .gm-avatar { width: 32px; height: 32px; }
#accountManager.gm-next .gm-name-line { gap: 4px; flex-wrap: wrap; }
#accountManager.gm-next .gm-name-line .gm-profile-button {
  min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere;
  font-size: 14px; line-height: 1.35;
}
#accountManager.gm-next button.gm-copy { max-width: 100%; min-width: 0; font-size: 13px; letter-spacing: 0; min-height: 25px; }
#accountManager.gm-next button.gm-copy>span { min-width: 0; overflow-wrap: anywhere; text-align: left; }
#accountManager.gm-next .gm-state,
#accountManager.gm-next .gm-spam-badge,
#accountManager.gm-next .gm-age-badge,
#accountManager.gm-next button.gm-role-chip {
  box-sizing: border-box; max-width: 100%; min-width: 0;
  white-space: normal; overflow-wrap: anywhere; font-size: 13px;
  padding: 4px 5px; gap: 4px; line-height: 1.35;
}
#accountManager.gm-next .gm-role-chip>span { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
#accountManager.gm-next .gm-connection-check { max-width: 100%; white-space: normal; flex-wrap: wrap; padding: 0; gap: 2px; }
#accountManager.gm-next .gm-proxy-badge { max-width: 100%; flex-wrap: wrap; padding: 3px 4px; gap: 3px; }
#accountManager.gm-next .gm-proxy-name { display: block; flex: 0 0 100%; min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; font-size: 12px; line-height: 1.2; font-weight: 600; color: #335a72; }
#accountManager.gm-next .gm-proxy-assigned { font-size: 11px; line-height: 1.2; color: #526d80; white-space: nowrap; }
#accountManager.gm-next .gm-proxy-capacity-full { color: #9b5712; font-weight: 600; }
.gm-proxy-limit-dialog { box-sizing: border-box; width: min(460px,calc(100vw - 32px)); padding: 24px; border: 1px solid #d3e3ee; border-radius: 16px; color: #24475d; background: #fff; box-shadow: 0 20px 70px #1233; }
.gm-proxy-limit-dialog::backdrop { background: #18344866; }
.gm-proxy-limit-dialog p { line-height: 1.5; }
.gm-proxy-limit-dialog input { box-sizing: border-box; width: 100%; margin-top: 8px; }
.gm-proxy-limit-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.proxy-table button.gm-proxy-limit-button { width: auto; min-width: 0; padding: 5px 8px; font-size: 12px; white-space: normal; }
.gm-proxy-over-capacity small { display: block; color: #9b5712; }
#proxyCreatePanel>label { display: block; margin: 12px 0; max-width: 320px; }
.gm-account-menu button.gm-delete-action { color: #af3039; border-top: 1px solid #e6edf2; border-radius: 0; }
#accountManager.gm-next .gm-row-buttons { flex-wrap: wrap; justify-content: flex-end; gap: 0; }
#accountManager.gm-next .gm-row-buttons>button { width: 32px; min-width: 32px; height: 34px; min-height: 34px; }
#accountManager.gm-next .gm-grid-dense td { font-size: 12px; padding: 9px 4px; }
#accountManager.gm-next .gm-grid-dense th { padding: 9px 4px; }
#accountManager.gm-next .gm-grid-dense .gm-state,
#accountManager.gm-next .gm-grid-dense .gm-spam-badge,
#accountManager.gm-next .gm-grid-dense .gm-age-badge,
#accountManager.gm-next .gm-grid-dense .gm-role-chip { font-size: 12px; }
#accountManager.gm-next .gm-grid-dense .gm-avatar { width: 28px; height: 28px; }
#accountManager.gm-next .gm-grid-dense .gm-name-line .gm-profile-button { font-size: 13px; }
#accountManager.gm-next .gm-grid-dense button.gm-copy { font-size: 12px; }
#accountManager.gm-next .gm-bottom { font-size: 13px; }

/* Display ordering and hover never change account selection or server data. */
#accountManager.gm-next .gm-row-order-bar { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:10px 0; color:#516d83; font-size:12px; }
#accountManager.gm-next .gm-row-order-bar button { padding:6px 10px; min-height:32px; border:1px solid #b6d7ee; border-radius:8px; background:#fff; color:#285879; font-size:12px; }
#accountManager.gm-next .gm-row-order-bar button[aria-pressed="true"] { background:#e7f3fc; border-color:#75b5e3; }
#accountManager.gm-next .gm-row-order-hint { flex:1 1 300px; }
#accountManager.gm-next .gm-grid button.gm-row-grip { display:block; margin:0 auto 5px; padding:0; min-width:20px; width:20px; min-height:22px; height:22px; line-height:20px; border:0; border-radius:4px; background:transparent; color:#6f8ba1; font-size:20px; cursor:grab; touch-action:none; }
#accountManager.gm-next .gm-grid button.gm-row-grip:hover { background:#d7eafb; color:#1765a2; }
#accountManager.gm-next .gm-grid button.gm-row-grip:focus-visible { outline:2px solid #1780c5; outline-offset:1px; }
#accountManager.gm-next .gm-grid .gm-row-select-cell { text-align:center; vertical-align:middle; }
#accountManager.gm-next .gm-grid .gm-row-select-cell input { margin:0 auto; }
#accountManager.gm-next .gm-grid tbody tr[data-account-id]>td { background:transparent; }
@media (hover:hover) {
  #accountManager.gm-next .gm-grid tbody tr[data-account-id]:hover { background:#f0f7fd; }
  #accountManager.gm-next .gm-grid tbody tr.gm-selected:hover { background:#deedfb; }
  #accountManager.gm-next .gm-grid tbody tr.gm-action-current:hover { background:#e5f1fc; }
}
#accountManager.gm-next.gm-row-moving { user-select:none; cursor:grabbing; }
#accountManager.gm-next.gm-row-moving .gm-grid button.gm-row-grip { cursor:grabbing; }
#accountManager.gm-next .gm-grid tbody tr.gm-row-dragging { opacity:.5; }
#accountManager.gm-next .gm-grid tbody tr.gm-drop-before { box-shadow:inset 0 3px #2186cc; }
#accountManager.gm-next .gm-grid tbody tr.gm-drop-after { box-shadow:inset 0 -3px #2186cc; }

/* When sixteen columns cannot stay readable, retain every selected field in
   labelled rows within each account instead of shrinking the entire page. */
@container accounts (max-width: 1120px) {
  #accountManager.gm-next .gm-grid-dense { display: block; }
  #accountManager.gm-next .gm-grid-dense colgroup { display: none; }
  #accountManager.gm-next .gm-grid-dense thead { display: block; }
  #accountManager.gm-next .gm-grid-dense thead tr { display: flex; align-items: center; }
  #accountManager.gm-next .gm-grid-dense thead th:not(:first-child):not([data-column="Имя"]) { display: none; }
  #accountManager.gm-next .gm-grid-dense tbody { display: block; }
  #accountManager.gm-next .gm-grid-dense tbody tr { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); align-items: start; gap: 10px 12px; padding: 12px; border-top: 1px solid #dce7ee; }
  #accountManager.gm-next .gm-grid-dense tbody td { display: block; padding: 0; border: 0; font-size: 13px; }
  #accountManager.gm-next .gm-grid-dense tbody td:first-child { grid-column: 1; grid-row: 1; padding: 8px 0 0; width: 24px; z-index: 1; }
  #accountManager.gm-next .gm-grid-dense tbody td[data-column="Имя"] { grid-column: 1 / -2; grid-row: 1; padding-left: 30px; }
  #accountManager.gm-next .gm-grid-dense tbody td[data-column="Действия"] { grid-column: -2 / -1; grid-row: 1; }
  #accountManager.gm-next .gm-grid-dense tbody td[data-column]:not([data-column="Имя"]):not([data-column="Действия"])::before { content: attr(data-column); display: block; color: #60798c; font-size: 12px; margin-bottom: 5px; }
  #accountManager.gm-next .gm-grid-dense tbody td[colspan] { grid-column: 1 / -1; width: auto; }
}
@container accounts (max-width: 760px) {
  #accountManager.gm-next .gm-grid { display: block; }
  #accountManager.gm-next .gm-grid colgroup { display: none; }
  #accountManager.gm-next .gm-grid thead { display: block; }
  #accountManager.gm-next .gm-grid thead tr { display: flex; align-items: center; }
  #accountManager.gm-next .gm-grid thead th:not(:first-child):not([data-column="Имя"]) { display: none; }
  #accountManager.gm-next .gm-grid tbody { display: block; }
  #accountManager.gm-next .gm-grid tbody tr { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: start; gap: 12px; padding: 12px; border-top: 1px solid #dce7ee; }
  #accountManager.gm-next .gm-grid tbody td { display: block; padding: 0; border: 0; font-size: 13px; }
  #accountManager.gm-next .gm-grid tbody td:first-child { grid-column: 1; grid-row: 1; padding: 8px 0 0; width: 24px; z-index: 1; }
  #accountManager.gm-next .gm-grid tbody td[data-column="Имя"] { grid-column: 1 / -2; grid-row: 1; padding-left: 30px; }
  #accountManager.gm-next .gm-grid tbody td[data-column="Действия"] { grid-column: -2 / -1; grid-row: 1; }
  #accountManager.gm-next .gm-grid tbody td[data-column]:not([data-column="Имя"]):not([data-column="Действия"])::before { content: attr(data-column); display: block; color: #60798c; font-size: 12px; margin-bottom: 5px; }
  #accountManager.gm-next .gm-grid tbody td[colspan] { grid-column: 1 / -1; width: auto; }
  #accountManager.gm-next .gm-search-toolbar .manager-search-inline { flex-basis: 100%; }
  #accountManager.gm-next .gm-tool-buttons { width: 100%; justify-content: flex-start; }
}
@container accounts (max-width: 460px) {
  #accountManager.gm-next .gm-grid tbody tr { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #accountManager.gm-next .gm-grid tbody td[data-column="Имя"] { grid-column: 1 / -1; padding-right: 36px; }
  #accountManager.gm-next .gm-grid tbody td[data-column="Действия"] { grid-column: 2; justify-self: end; width: 32px; }
  #accountManager.gm-next .manager-actions { flex-direction: column; align-items: stretch; width: 100%; }
  #accountManager.gm-next .gm-tools select { min-width: 0; max-width: 100%; }
  #accountManager.gm-next .gm-search-toolbar { padding: 6px; }
}

/* Real header controls: direction stays explicit without widening the table. */
#accountManager.gm-next .gm-grid th.gm-sort-column{background:#e9f3fc;color:#176fab}
#accountManager.gm-next .gm-grid th .gm-column-sort{display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;max-width:100%;padding:4px 2px;margin:0;border:0;border-radius:5px;background:transparent;color:#627d94;font:inherit;text-align:left;cursor:pointer;box-shadow:none;transition:color .16s,background-color .16s}
#accountManager.gm-next .gm-grid th .gm-column-sort>span{min-width:0;overflow-wrap:normal;word-break:normal}
#accountManager.gm-next .gm-grid.gm-grid-dense th .gm-column-sort{flex-wrap:wrap;gap:2px 4px}
#accountManager.gm-next .gm-grid.gm-grid-dense th .gm-column-sort>span{flex:0 0 auto}
#accountManager.gm-next .gm-grid th .gm-column-sort .gm-icon{width:17px;height:19px;flex-shrink:0;stroke-width:1.6}
#accountManager.gm-next .gm-grid th .gm-column-sort.gm-sort-active{color:#0878bc}
#accountManager.gm-next .gm-grid th .gm-column-sort:hover{color:#006daf;background:#dceefb}
#accountManager.gm-next .gm-grid th .gm-column-sort:focus-visible{outline:2px solid #278dca;outline-offset:2px}
@media(prefers-reduced-motion:reduce){#accountManager.gm-next .gm-grid th .gm-column-sort{transition:none}}
