/*
FILE: web/css/runtime_frontend_global_same_layout_v18_56.css
ROLE: final frontend global layout rhythm lock
STATUS: active patch v18.56
DOES:
- locks one global frontend width rhythm across index/home, auth portals, dashboards, admin login/control, and flow pages
- keeps header, topbar, content shell, footer aligned on the same width
- prevents visual page jump when navigating through Acasă / Client Dashboard / Partner Dashboard / Admin / flow cards
- preserves requested color families:
  header/footer = purple-pink dark
  topbar role/location/date/language/home = fine blue
  main/content shell = fine yellow
DOES NOT:
- touch backend, database, API, sessions, passwords, flow submit, jobs, storage
*/

:root{
  --abc-v1856-page-bg: #07101d;
  --abc-v1856-layout-max: min(1840px, calc(100vw - 52px));
  --abc-v1856-layout-gap: 12px;
  --abc-v1856-layout-radius: 26px;

  --abc-v1856-header-footer-bg-a: rgba(27, 19, 49, .985);
  --abc-v1856-header-footer-bg-b: rgba(8, 17, 32, .985);
  --abc-v1856-header-footer-line: rgba(231, 70, 174, .48);
  --abc-v1856-header-footer-soft: rgba(231, 70, 174, .12);

  --abc-v1856-topbar-line: rgba(74, 166, 255, .36);
  --abc-v1856-topbar-soft: rgba(74, 166, 255, .07);

  --abc-v1856-content-line: rgba(255, 215, 90, .34);
  --abc-v1856-content-soft: rgba(255, 215, 90, .06);
}

/* Prevent page width jump between pages with different scroll heights. */
html{
  scrollbar-gutter: stable both-edges;
  background: var(--abc-v1856-page-bg) !important;
}

body{
  background: var(--abc-v1856-page-bg) !important;
  overflow-x: hidden !important;
  min-width: 0 !important;
}

/* One global page width for all frontend pages discussed. */
.page-shell,
.compact-page,
.compact-index-page,
body[data-page="index"] .page-shell,
body[data-page="auth_login"] .page-shell,
body[data-page="auth_notice"] .page-shell,
body[data-page="client_dashboard"] .page-shell,
body[data-page="partner_dashboard"] .page-shell,
body[data-page="admin"] .page-shell,
body[data-page="admin_control_panel"] .page-shell,
body.private-client-account-page .page-shell,
body.business-client-account-page .page-shell,
body.private-partner-account-page .page-shell,
body.business-partner-account-page .page-shell,
body[data-page="private_client_account"] .page-shell,
body[data-page="business_client_account"] .page-shell,
body[data-page="private_partner_account"] .page-shell,
body[data-page="business_partner_account"] .page-shell{
  width: var(--abc-v1856-layout-max) !important;
  max-width: var(--abc-v1856-layout-max) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Same vertical rhythm for all global children. */
.page-shell > *,
.compact-page > *,
.compact-index-page > *{
  box-sizing: border-box !important;
}

/* Header/footer: one size, one contour, one global look everywhere. */
.site-header,
.abc-static-header,
header[role="banner"],
.site-footer,
.abc-static-footer,
footer[role="contentinfo"]{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 var(--abc-v1856-layout-gap) 0 !important;
  border-radius: var(--abc-v1856-layout-radius) !important;
  background:
    radial-gradient(circle at 10% 0%, var(--abc-v1856-header-footer-soft), transparent 36%),
    linear-gradient(180deg, var(--abc-v1856-header-footer-bg-a), var(--abc-v1856-header-footer-bg-b)) !important;
  border: 1px solid var(--abc-v1856-header-footer-line) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.035),
    0 16px 38px rgba(0,0,0,.24),
    0 0 0 1px rgba(231,70,174,.16) !important;
  color: #f7f8ff !important;
  transform: none !important;
}

/* Footer can keep bottom margin clean. */
.site-footer,
.abc-static-footer,
footer[role="contentinfo"]{
  margin-top: var(--abc-v1856-layout-gap) !important;
  margin-bottom: 0 !important;
}

/* Topbar: one blue module width across all pages. */
.content-top-strip,
.content-top-bar,
.abc-global-topbar-module,
.global-topbar-module,
.abc-topbar-v10,
.index-general-topbar,
[data-meta-content-topbar="true"]{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 var(--abc-v1856-layout-gap) 0 !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(8, 24, 44, .94), rgba(6, 18, 34, .96)) !important;
  border: 1px solid var(--abc-v1856-topbar-line) !important;
  box-shadow:
    inset 0 0 0 1px var(--abc-v1856-topbar-soft),
    0 12px 28px rgba(0,0,0,.14) !important;
  transform: none !important;
}

/* Main/content shell: one yellow module width across all pages. */
.abc-stack,
main.abc-stack,
.content-engine-panel,
.clean-main-panel{
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body[data-page="index"] .abc-stack,
body[data-page="auth_login"] .abc-stack,
body[data-page="auth_notice"] .abc-stack,
body[data-page="client_dashboard"] .abc-stack,
body[data-page="partner_dashboard"] .abc-stack,
body[data-page="admin"] .abc-stack,
body[data-page="admin_control_panel"] .abc-stack,
body.private-client-account-page .abc-stack,
body.business-client-account-page .abc-stack,
body.private-partner-account-page .abc-stack,
body.business-partner-account-page .abc-stack,
body[data-page="index"] main.abc-stack,
body[data-page="auth_login"] main.abc-stack,
body[data-page="auth_notice"] main.abc-stack,
body[data-page="client_dashboard"] main.abc-stack,
body[data-page="partner_dashboard"] main.abc-stack,
body[data-page="admin"] main.abc-stack,
body[data-page="admin_control_panel"] main.abc-stack,
body.private-client-account-page main.abc-stack,
body.business-client-account-page main.abc-stack,
body.private-partner-account-page main.abc-stack,
body.business-partner-account-page main.abc-stack{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 var(--abc-v1856-layout-gap) 0 !important;
  border: 1px solid var(--abc-v1856-content-line) !important;
  border-radius: 24px !important;
  background: rgba(7, 17, 31, .58) !important;
  box-shadow: inset 0 0 0 1px var(--abc-v1856-content-soft) !important;
  padding: clamp(10px, 1.6vw, 20px) !important;
  overflow-x: hidden !important;
  transform: none !important;
}

/* Internal cards may keep their role colors, but they do not change the page global rhythm. */
body[data-page="index"] .home-route-card,
body[data-page="index"] .home-flow-card,
body[data-page="index"] .flow-route-card,
body[data-page="index"] .flow-card,
body[data-page="index"] .abc-flow-card,
body[data-page="auth_login"] .auth-panel-card,
body[data-page="auth_notice"] .auth-panel-card{
  transform: none !important;
}

/* Remove old debug pseudo labels that visually change page identity. */
.page-shell::before,
.page-shell::after,
.compact-page::before,
.compact-page::after,
.compact-index-page::before,
.compact-index-page::after,
.site-header::before,
.site-header::after,
.site-footer::before,
.site-footer::after,
.content-top-strip::before,
.content-top-strip::after,
.content-engine-panel::before,
.content-engine-panel::after,
.clean-main-panel::before,
.clean-main-panel::after{
  content: none !important;
  display: none !important;
}

/* Topbar home button remains before language and aligned with the blue module. */
.abc-topbar-home-button-v18-52{
  flex: 0 0 auto !important;
  margin-inline-end: 10px !important;
}

/* Mobile: same single rhythm, only smaller margins/radius. */
@media (max-width: 760px){
  :root{
    --abc-v1856-layout-max: calc(100vw - 10px);
    --abc-v1856-layout-gap: 8px;
    --abc-v1856-layout-radius: 18px;
  }

  .site-header,
  .abc-static-header,
  header[role="banner"],
  .site-footer,
  .abc-static-footer,
  footer[role="contentinfo"],
  .content-top-strip,
  .content-top-bar,
  .abc-global-topbar-module,
  .global-topbar-module,
  .abc-topbar-v10,
  .index-general-topbar,
  [data-meta-content-topbar="true"]{
    border-radius: 18px !important;
  }

  body[data-page="index"] .abc-stack,
  body[data-page="auth_login"] .abc-stack,
  body[data-page="auth_notice"] .abc-stack,
  body[data-page="client_dashboard"] .abc-stack,
  body[data-page="partner_dashboard"] .abc-stack,
  body[data-page="admin"] .abc-stack,
  body[data-page="admin_control_panel"] .abc-stack,
  body.private-client-account-page .abc-stack,
  body.business-client-account-page .abc-stack,
  body.private-partner-account-page .abc-stack,
  body.business-partner-account-page .abc-stack,
  body[data-page="index"] main.abc-stack,
  body[data-page="auth_login"] main.abc-stack,
  body[data-page="auth_notice"] main.abc-stack,
  body[data-page="client_dashboard"] main.abc-stack,
  body[data-page="partner_dashboard"] main.abc-stack,
  body[data-page="admin"] main.abc-stack,
  body[data-page="admin_control_panel"] main.abc-stack,
  body.private-client-account-page main.abc-stack,
  body.business-client-account-page main.abc-stack,
  body.private-partner-account-page main.abc-stack,
  body.business-partner-account-page main.abc-stack{
    border-radius: 18px !important;
    padding: 8px !important;
  }
}
