/* Module cabinets temporarily replace the CRM chrome; persisted navigation preference is untouched. */
[data-app].module-cabinet-active { display: block; padding: 0; min-height: 100dvh; }
/* The CRM's 768–820px navigation grid must not confine callback to its 72px column. */
[data-app].app-shell.module-cabinet-active[data-active-view="services"]:has([data-cabinet-module="callback"]:not([hidden])) { display: block; }
[data-app].module-cabinet-active > .sidebar,
[data-app].module-cabinet-active .workspace > .topbar,
[data-app].module-cabinet-active .crm-mobile-nav,
[data-app].module-cabinet-active .menu-scrim { display: none !important; }
body.module-cabinet-open #crm-nav-tooltip { display: none !important; }
[data-app].module-cabinet-active .workspace { padding: 0; min-width: 0; }
[data-app].module-cabinet-active .crm-section.services-page,
[data-app].module-cabinet-active .crm-section.dialogs-page,
[data-app].module-cabinet-active .crm-section.notes-page { margin: 0; padding: 0; border: 0; border-radius: 0; background: #f5f7f8; box-shadow: none; height: 100dvh; min-height: 0; }
.module-cabinet { display: grid; grid-template-columns: 244px minmax(0, 1fr); grid-template-rows: 80px minmax(0, 1fr); height: 100dvh; overflow: hidden; color: #18352f; background: #f5f7f8; }
.module-cabinet[hidden] { display: none; }
.module-cabinet-sidebar { grid-row: 1 / -1; grid-column: 1; display: flex; flex-direction: column; min-height: 0; padding: 22px 14px 16px; background: #fff; border-right: 1px solid #dfe8e4; overflow: auto; }
.module-cabinet-brand { display: flex; gap: 11px; align-items: center; padding: 0 8px 22px; min-width: 0; }
.module-cabinet-collapse { display: grid; width: 30px; height: 30px; margin-left: auto; place-items: center; flex: 0 0 30px; border: 1px solid #dde7e2; border-radius: 50%; background: #fff; color: #66736d; box-shadow: 0 6px 16px rgb(15 23 42 / 10%); cursor: pointer; font-size: 22px; line-height: 1; }
.module-cabinet-collapse:hover { border-color: #bddbc9; background: #f5fbf8; color: #047342; }
.module-cabinet-mark { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; background: #def2e8; color: #176b50; border-radius: 12px; font-size: 20px; font-weight: 700; }
.module-cabinet-brand strong { display: block; font-size: 15px; line-height: 1.35; }
.module-cabinet-state { display: block; margin-top: 5px; color: #63796f; font-size: 12px; line-height: 1.4; }
.module-cabinet-search { display: block; margin: 0 6px 22px; }
.module-cabinet-search input { width: 100%; height: 42px; padding: 0 12px; border: 1px solid #d6e2dc; border-radius: 9px; background: #f8faf9; font-size: 13px; }
.module-cabinet-nav { display: flex; flex-direction: column; gap: 22px; }
.module-cabinet-group h2 { margin: 0 12px 7px; color: #61786f; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.module-cabinet-link { position: relative; display: flex; gap: 10px; align-items: center; min-height: 44px; padding: 10px 13px; border-radius: 8px; font-size: 14px; font-weight: 500; color: #36584c; text-decoration: none; overflow-wrap: anywhere; }
.module-cabinet-link-icon { display: grid; width: 20px; height: 20px; place-items: center; flex: 0 0 20px; color: #176847; font-size: 17px; font-weight: 700; line-height: 1; }
.module-cabinet-link:hover { background: #f0f6f2; }
.module-cabinet-link[aria-current="page"] { background: #e4f3eb; color: #176847; font-weight: 700; box-shadow: inset 3px 0 #278963; }
.module-cabinet-link[hidden], .module-cabinet-group[hidden], .module-cabinet-empty[hidden] { display: none; }
.module-cabinet-footer { margin-top: auto; padding: 28px 8px 0; display: grid; gap: 8px; }
.module-cabinet-footer a { display: flex; align-items: center; min-height: 44px; color: #416558; text-decoration: none; font-size: 13px; }
.module-cabinet-back { font-weight: 700; }
.module-cabinet-empty { padding: 0 12px; font-size: 13px; color: #63796f; }
.module-cabinet-header { grid-column: 2; display: flex; align-items: center; gap: 14px; padding: 14px 30px; border-bottom: 1px solid #dfe8e4; background: #fff; min-width: 0; }
.module-cabinet-heading { min-width: 0; flex: 1; }
.module-cabinet-breadcrumb { display: block; font-size: 12px; color: #61786f; margin-bottom: 5px; }
.module-cabinet-header h1 { margin: 0; font-size: 21px; line-height: 1.3; letter-spacing: -.02em; }
.module-cabinet-header-back { color: #386150; font-size: 13px; text-decoration: none; padding: 10px 14px; border: 1px solid #d6e2dc; border-radius: 8px; white-space: nowrap; }
.module-cabinet-content { grid-column: 2; min-width: 0; min-height: 0; overflow: auto; padding: 26px 30px 48px; overscroll-behavior: contain; }
.module-cabinet-content > .services-back-link,
.module-cabinet-content > [data-lidforma-dialogs-navigation],
[data-cabinet-module="lidforma"] .lidforma-module-nav,
[data-cabinet-module="callback"] [data-services-detail-head] { display: none; }
.module-cabinet-content [hidden] { display: none !important; }
.module-cabinet-content .callback-connection { margin-top: 0; }
[data-cabinet-module="notes"].notes-page .module-cabinet-content { padding: 0; overflow: hidden; }
[data-cabinet-module="notes"] [data-notes-root] { height: 100%; min-height: 0; }
[data-cabinet-module="lidforma"].dialogs-page .module-cabinet-content { padding: 18px; }
.module-cabinet-menu, .module-cabinet-close, .module-cabinet-scrim { display: none; }
.module-cabinet :is(a,button,input):focus-visible { outline: 3px solid #368769; outline-offset: 3px; }
@media (min-width: 768px) {
 .module-cabinet { transition: grid-template-columns .22s ease; }
 .module-cabinet.module-sidebar-collapsed { grid-template-columns: 84px minmax(0, 1fr); }
 .module-sidebar-collapsed .module-cabinet-sidebar { align-items: center; padding: 22px 12px 16px; overflow: visible; }
 .module-sidebar-collapsed .module-cabinet-brand { width: 100%; gap: 4px; justify-content: center; padding: 0 0 22px; }
 .module-sidebar-collapsed .module-cabinet-brand > div,
 .module-sidebar-collapsed .module-cabinet-link-label,
 .module-sidebar-collapsed .module-cabinet-group h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
 .module-sidebar-collapsed .module-cabinet-search,
 .module-sidebar-collapsed .module-cabinet-footer,
 .module-sidebar-collapsed .module-cabinet-empty { display: none; }
 .module-sidebar-collapsed .module-cabinet-collapse { margin-left: 0; }
 .module-sidebar-collapsed .module-cabinet-nav { width: 100%; gap: 10px; }
 .module-sidebar-collapsed .module-cabinet-group { display: grid; justify-items: center; }
 .module-sidebar-collapsed .module-cabinet-link { width: 48px; min-height: 48px; justify-content: center; padding: 13px; overflow: visible; }
 .module-sidebar-collapsed .module-cabinet-link::after { position: absolute; left: calc(100% + 12px); top: 50%; z-index: 20; padding: 7px 9px; border-radius: 7px; background: #18352f; color: #fff; content: attr(data-tooltip); font-size: 12px; font-weight: 600; line-height: 1.2; opacity: 0; pointer-events: none; transform: translate(-4px, -50%); transition: opacity .14s ease, transform .14s ease; white-space: nowrap; }
 .module-sidebar-collapsed .module-cabinet-link:hover::after,
 .module-sidebar-collapsed .module-cabinet-link:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
 .module-sidebar-collapsed .module-cabinet-link-icon { width: 22px; height: 22px; font-size: 19px; }
 .module-sidebar-collapsed .module-cabinet-link[aria-current="page"] { box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
 .module-cabinet,
 .module-sidebar-collapsed .module-cabinet-link::after { transition: none; }
}
@media (max-width: 1023px) and (min-width: 768px) {
 .module-cabinet { grid-template-columns: 218px minmax(0, 1fr); }
 .module-cabinet-content { padding: 20px; }
 .module-cabinet-header { padding: 14px 20px; }
}
@media (max-width: 767px) {
 .module-cabinet { grid-template-columns: minmax(0, 1fr); grid-template-rows: 78px minmax(0, 1fr); }
 .module-cabinet-header { grid-column: 1; padding: max(10px, env(safe-area-inset-top)) 12px 10px; gap: 10px; }
 .module-cabinet-header h1 { font-size: 17px; }
 .module-cabinet-breadcrumb { font-size: 10px; }
 .module-cabinet-header-back { padding: 12px 9px; font-size: 12px; }
 .module-cabinet-content { grid-column: 1; padding: 16px 12px max(28px, env(safe-area-inset-bottom)); }
 .module-cabinet-sidebar { position: fixed; inset: 0 auto 0 0; width: min(304px, calc(100vw - 32px)); padding-top: max(22px, env(safe-area-inset-top)); padding-bottom: max(16px, env(safe-area-inset-bottom)); z-index: 111; transform: translateX(-110%); visibility: hidden; }
 .module-sidebar-collapsed .module-cabinet-sidebar { align-items: stretch; overflow: auto; }
 .module-sidebar-collapsed .module-cabinet-brand { width: auto; justify-content: initial; padding: 0 8px 22px; }
 .module-sidebar-collapsed .module-cabinet-brand > div,
 .module-sidebar-collapsed .module-cabinet-search,
 .module-sidebar-collapsed .module-cabinet-group h2,
 .module-sidebar-collapsed .module-cabinet-footer,
 .module-sidebar-collapsed .module-cabinet-empty { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; }
 .module-sidebar-collapsed .module-cabinet-collapse { position: static; margin-left: auto; }
 .module-sidebar-collapsed .module-cabinet-nav { width: auto; gap: 22px; }
 .module-sidebar-collapsed .module-cabinet-group { display: block; }
 .module-sidebar-collapsed .module-cabinet-link { width: auto; min-height: 44px; justify-content: initial; padding: 10px 13px; overflow-wrap: anywhere; }
 .module-sidebar-collapsed .module-cabinet-link::after { content: none; }
 .module-sidebar-collapsed .module-cabinet-link-icon { width: 20px; height: 20px; font-size: 17px; }
 .module-menu-open .module-cabinet-sidebar { transform: none; visibility: visible; }
 .module-cabinet-menu, .module-cabinet-close { display: block; border: 0; background: transparent; color: #386150; min-width: 44px; height: 44px; font-size: 22px; border-radius: 8px; }
 .module-cabinet-collapse { display: none; }
 .module-cabinet-close { margin-left: auto; flex: 0 0 44px; }
 .module-cabinet-brand { padding-left: 0; gap: 8px; }
 .module-menu-open .module-cabinet-scrim { display: block; position: fixed; inset: 0; z-index: 110; background: rgb(17 41 31 / 40%); border: 0; border-radius: 0; width: 100vw; height: 100dvh; }
 .module-cabinet-scrim[hidden] { display: none; }
 [data-cabinet-module="lidforma"].dialogs-page .module-cabinet-content { padding: 8px; }
}
/* Shared column sizes keep site headings aligned with rows, including the action column. */
@container (min-width: 721px) {
 [data-cabinet-module="lidforma"] .lidforma-sites-table-head,
 [data-cabinet-module="lidforma"] .lidforma-sites-table .lidforma-project-card {
  grid-template-columns: minmax(200px, 1fr) minmax(170px, .55fr) minmax(105px, .35fr) 132px;
 }
}
.module-cabinet-footer [hidden] { display: none !important; }
