/* P24_ADMIN_SHELL_4_0_32
   Desktop shell rebuilt for the current MPA release. Business-page styles stay
   in styles.css; this last-loaded file owns only the permanent Admin frame. */

@media (min-width: 721px) {
  html {
    font-size: 16px !important;
  }

  body {
    min-width: 960px;
  }

  .admin-layout {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    width: 100% !important;
    zoom: 1 !important;
    transform: none !important;
  }

  .sidebar {
    box-sizing: border-box !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    padding: 24px 16px 18px !important;
    overflow: hidden !important;
    transform: none !important;
  }

  .sidebar-brand {
    display: block !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 8px 25px !important;
  }

  .sidebar-brand .brand {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
  }

  .sidebar-brand .admin-brand-logo {
    display: inline-flex !important;
    width: 60px !important;
    min-width: 60px !important;
    height: 68px !important;
    flex: 0 0 60px !important;
  }

  .sidebar-brand .admin-brand-logo .p24-site-brand-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .sidebar-brand .brand-copy {
    display: block !important;
    min-width: 0 !important;
  }

  .sidebar-brand .brand-copy strong {
    display: block !important;
    font-size: 19px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
  }

  .sidebar-brand .brand-copy span {
    display: block !important;
    margin-top: 5px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .sidebar-nav {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-auto-rows: max-content !important;
    align-content: start !important;
    align-items: start !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 234px) !important;
    margin: 0 !important;
    padding: 0 3px 0 0 !important;
    gap: 7px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-gutter: stable !important;
    overscroll-behavior: contain !important;
  }

  .sidebar-nav > .sidebar-link,
  .sidebar-bottom > .sidebar-link {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 10px 12px !important;
    gap: 12px !important;
    align-self: start !important;
    border-radius: 13px !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  .sidebar-icon {
    width: 23px !important;
    min-width: 23px !important;
    font-size: 18px !important;
  }

  .sidebar-label {
    min-width: 0 !important;
  }

  .sidebar-dev-badge {
    margin-left: auto !important;
    white-space: nowrap !important;
  }

  .sidebar-bottom {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: grid !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: auto 0 0 !important;
    padding: 12px 0 0 !important;
    gap: 6px !important;
    border-top: 1px solid var(--border) !important;
    background: transparent !important;
  }

  .admin-content {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow-x: hidden !important;
  }

  .admin-topbar,
  .admin-main {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (min-width: 721px) and (max-width: 1080px) {
  body {
    min-width: 860px;
  }

  .admin-layout {
    grid-template-columns: 244px minmax(0, 1fr) !important;
  }

  .sidebar {
    width: 244px !important;
    min-width: 244px !important;
    max-width: 244px !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
  }
}

/* P24_DOCUMENT_TICKET_BACK_NEAR_BRAND_STYLE_4_0_25
   The global Refresh/Theme/Star controls are fixed in the right corner. Keep
   the ticket return action beside the brand so it can never sit underneath them. */
@media (min-width: 761px) {
  .document-ticket-toolbar {
    grid-template-columns: max-content max-content minmax(0, 1fr) !important;
    gap: 18px !important;
    min-height: 76px !important;
    padding-right: 350px !important;
  }

  .document-ticket-toolbar-brand {
    grid-column: 1 !important;
  }

  .document-ticket-shell-back {
    grid-column: 2 !important;
  }

  .document-ticket-toolbar-title {
    grid-column: 3 !important;
  }
}

/* P24_SYSTEM_RETURN_BUTTON_STYLE_4_0_78
   Override the shared muted sidebar-link style only for the system return action. */
.system-shell-sidebar .system-shell-bottom > .system-shell-back {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  color: #fff !important;
  background: linear-gradient(135deg, #2f8cff, #0b5ee8) !important;
  border-color: #2f8cff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  cursor: pointer !important;
}
.system-shell-sidebar .system-shell-back .sidebar-icon,
.system-shell-sidebar .system-shell-back .sidebar-label {
  color: inherit !important;
  white-space: nowrap !important;
}
.system-shell-sidebar .system-shell-back .sidebar-icon {
  flex: 0 0 23px;
}
.system-shell-sidebar .system-shell-bottom > .system-shell-back:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #4198ff, #176cf2) !important;
}
.system-shell-sidebar .system-shell-back:focus-visible {
  outline: 2px solid #93c5fd;
  outline-offset: 3px;
}
@media (max-width: 720px) {
  .system-shell-sidebar .system-shell-bottom > .system-shell-back {
    width: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    padding: 7px !important;
    gap: 0 !important;
    font-size: 0 !important;
  }
  .system-shell-sidebar .system-shell-back .sidebar-label {
    display: none;
  }
  .system-shell-sidebar .system-shell-back .sidebar-icon {
    flex: 0 0 auto;
  }
}

.document-ticket-shell-back {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 2 !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  border-color: #2f8cff !important;
  background: linear-gradient(135deg, #2f8cff, #0b5ee8) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(19, 105, 235, .38) !important;
}

@media (max-width: 1100px) and (min-width: 761px) {
  .document-ticket-toolbar {
    grid-template-columns: max-content max-content !important;
    padding-right: 310px !important;
  }

  .document-ticket-toolbar-title {
    display: none !important;
  }
}

/* P24_COLLECTION_LIGHT_THEME_READABILITY_4_0_87 */
/* P24_STAFF_BITRIX_BINDING_BADGE_LAYOUT_4_0_89 */
.staff-name-with-bitrix { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.staff-bitrix-binding-badge { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; padding: 3px 7px; border: 1px solid currentColor; border-radius: 8px; font-size: 12px; line-height: 1.4; cursor: help; background: var(--surface-soft); }
.staff-bitrix-binding-badge svg { width: 17px; height: 17px; flex: 0 0 17px; }
.staff-bitrix-binding-badge:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.staff-bitrix-binding-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 12px 0; }
:root .staff-bitrix-binding-badge.is-linked, :root .staff-bitrix-binding-legend .is-linked { color: #55d6a1 !important; }
:root .staff-bitrix-binding-badge.is-not_linked, :root .staff-bitrix-binding-badge.is-unknown, :root .staff-bitrix-binding-legend .is-not_linked { color: var(--muted) !important; }
:root .staff-bitrix-binding-badge.is-needs_review, :root .staff-bitrix-binding-legend .is-needs_review { color: #ffc46b !important; }
:root[data-theme="light"] .staff-bitrix-binding-badge.is-linked, :root[data-theme="light"] .staff-bitrix-binding-legend .is-linked { color: #08754b !important; }
:root[data-theme="light"] .staff-bitrix-binding-badge.is-needs_review, :root[data-theme="light"] .staff-bitrix-binding-legend .is-needs_review { color: #895500 !important; }
:root .staff-bitrix-binding-badge > span { color: inherit !important; }

/* P24_COLLECTION_BITRIX_SYNC_LAYOUT_4_0_88 */
.document-collection-settings-card .collection-bitrix-sync-panel { min-width: 0; }
.document-collection-settings-card .collection-bitrix-sync-actions,
.document-collection-settings-card .collection-bitrix-sync-summary { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 14px 0; }
.document-collection-settings-card .collection-bitrix-sync-result,
.document-collection-settings-card .collection-bitrix-sync-panel .error-box,
.document-collection-settings-card .collection-bitrix-history-scroll { white-space: normal; overflow-wrap: anywhere; }
.document-collection-settings-card .collection-bitrix-history-scroll { min-width: 0; margin: 12px 0 0; padding: 0; border: 0; max-height: 620px; overflow: auto; scrollbar-gutter: stable; }
.document-collection-settings-card .collection-bitrix-history-scroll .bitrix-collection-history { max-height: none; overflow: visible; }
.document-collection-settings-card .collection-bitrix-history-scroll .collection-bitrix-history-error { color: var(--danger) !important; }
:root[data-theme="light"] .document-collection-settings-card .collection-bitrix-history-scroll .collection-bitrix-history-error { color: #b42336 !important; }
.document-collection-settings-card .collection-bitrix-history-scroll .bitrix-collection-history-row { min-width: 0; }
.document-collection-settings-card .collection-bitrix-history-scroll .bitrix-collection-history-row > div { min-width: 0; max-width: 100%; }
@media (max-width: 760px) {
  .document-collection-settings-card .collection-bitrix-sync-actions > button { width: 100%; white-space: normal; }
  .document-collection-settings-card .collection-bitrix-history-scroll .bitrix-collection-history-row { flex-direction: column; align-items: stretch; }
}

.document-collection-ticket-card,
.document-collection-ticket-card .client-order-detail-section {
  min-width: 0;
}
.document-collection-ticket-card .document-ticket-message {
  max-width: 100%;
  background: var(--surface-soft);
  border-color: var(--border-strong);
  color: var(--text);
}
.document-collection-ticket-card .document-ticket-message.staff {
  background: color-mix(in srgb, var(--blue) 12%, var(--surface-strong));
  border-color: color-mix(in srgb, var(--blue) 45%, var(--border));
}
.document-collection-ticket-card .document-ticket-message-meta {
  color: var(--muted);
  overflow-wrap: anywhere;
}
.document-collection-ticket-card .document-ticket-message-meta strong,
.document-collection-ticket-card .document-ticket-message p {
  color: var(--text);
}
.document-collection-ticket-card .document-ticket-chat-empty,
.document-collection-ticket-card .document-ticket-message-form label {
  color: var(--muted);
  border-color: var(--border-strong);
}
.document-collection-ticket-card .document-collection-bitrix-task {
  min-width: 0;
  max-width: 100%;
  margin-top: 14px;
}
.document-collection-ticket-card .document-collection-bitrix-task-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
}
.document-collection-ticket-card .bitrix-task-diagnostics > span,
.document-collection-ticket-card .error-box {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.document-collection-ticket-card .document-collection-bitrix-warning {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.document-collection-ticket-card .document-collection-bitrix-warning a {
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

:root[data-theme="light"] .document-collection-ticket-card .error-box {
  color: #b42336;
  background: #fff1f3;
  border-color: rgba(180, 35, 54, .35);
}

/* P24_STAFF_BITRIX_EMPLOYEE_SEARCH_LAYOUT_4_0_92 */
.staff-bitrix-employee-picker {
  flex: 1 1 440px;
  min-width: 280px;
  display: grid;
  gap: 7px;
}
.staff-bitrix-employee-picker > .input,
.staff-bitrix-employee-picker > .select { width: 100%; min-width: 0; }
.staff-bitrix-employee-picker [data-staff-bitrix-employee-search-status] { min-height: 17px; }
@media (max-width: 760px) {
  .staff-bitrix-employee-picker { flex-basis: 100%; min-width: 0; width: 100%; }
}

/* P24_ADMIN_TABLET_LAYOUT_FIX_4_1_12
   Keep the brand image inside its frame on the horizontal mobile dock and
   prevent collection summaries from creating a page wider than a tablet. */
.sidebar-brand .admin-brand-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.sidebar-brand .admin-brand-logo .p24-site-brand-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

@media (max-width: 720px) {
  html,
  body,
  #admin-root,
  .admin-layout,
  .admin-content,
  .admin-main {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  html,
  body,
  #admin-root {
    overflow-x: hidden !important;
  }
  .sidebar-brand .admin-brand-logo {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 32px !important;
    flex: 0 0 28px !important;
  }
  .admin-title-row,
  .document-collection-heading {
    width: 100% !important;
    max-width: 100% !important;
  }
  .document-collection-summary,
  .document-collection-ticket-summary,
  .document-collection-document-summary,
  .document-collection-deadline-summary {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .table-wrap {
    max-width: 100% !important;
    overflow-x: auto !important;
  }
}

@media (min-width: 721px) and (max-width: 1800px) {
  html,
  body,
  #admin-root {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .admin-layout {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100vw !important;
  }
  .admin-content,
  .admin-main,
  .content-panel,
  .document-collection-summary {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .document-collection-summary,
  .document-collection-ticket-summary,
  .document-collection-document-summary,
  .document-collection-deadline-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .table-wrap {
    max-width: 100% !important;
    overflow-x: auto !important;
  }
}

@media (min-width: 721px) and (max-width: 1280px) {
  body {
    min-width: 0 !important;
  }
  .admin-layout {
    grid-template-columns: 210px minmax(0, 1fr) !important;
  }
  .sidebar {
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
    padding: 14px 10px !important;
  }
  .sidebar-brand .admin-brand-logo {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 50px !important;
    flex-basis: 44px !important;
  }
  .sidebar-brand .brand-copy strong {
    font-size: 16px !important;
  }
  .document-collection-summary,
  .document-collection-ticket-summary,
  .document-collection-document-summary,
  .document-collection-deadline-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
