/**
 * Crimson Wave ERP — consistent content containers & vertical alignment.
 * Keeps SPA outlet + overlay modules inside the right-hand content column.
 */

/* Main content column: one padding rhythm */
body.ams-admin #app .flex.min-w-0.flex-1.flex-col > .flex-1,
body.ams-admin #app .flex.min-w-0.flex-1.flex-col > main,
body.ams-portal #app .flex.min-w-0.flex-1.flex-col > .flex-1,
body.ams-portal #app .flex.min-w-0.flex-1.flex-col > main {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Page sections: avoid floating cards that sit too high/low */
body.ams-admin main > .space-y-6,
body.ams-admin main > .space-y-4,
body.ams-admin main > .space-y-8,
body.ams-portal main > .space-y-6 {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.ams-admin main .rounded-xl.border,
body.ams-admin main .rounded-2xl.border,
body.ams-admin main .rounded-lg.border,
body.ams-portal main .rounded-xl.border {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

/* Sticky header alignment inside content column */
body.ams-admin #app header.sticky,
body.ams-portal #app header.sticky {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

/* Overlay modules share the same content inset as SPA pages */
body.ams-overlay-page #ams-wa-slot,
body.ams-emp-login-page #ams-emp-login-slot,
body.ams-live-chat-page #ams-lc-slot,
body.ams-overlay-page #ams-frt-slot,
body.ams-overlay-page #ams-acc-slot,
body.ams-overlay-page #ams-exp-slot {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100vw !important;
}

body.ams-overlay-page #ams-wa-slot .ams-wa-root,
body.ams-emp-login-page #ams-emp-login-panel,
body.ams-live-chat-page #ams-live-chat-panel {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Toolbars / action rows: wrap instead of overflowing */
body.ams-admin main .flex.flex-wrap,
body.ams-admin main .flex.items-center.justify-between,
body.ams-portal main .flex.items-center.justify-between {
  gap: 0.5rem;
  max-width: 100%;
}

/* Tables stay inside containers */
body.ams-admin main .overflow-x-auto,
body.ams-portal main .overflow-x-auto {
  max-width: 100%;
  min-width: 0;
}

/* Dashboard metric strip */
body.ams-admin main .grid.gap-4,
body.ams-admin main .grid.gap-6 {
  width: 100%;
  max-width: 100%;
}
