/*
FILE: web/css/runtime_global_header_footer_same_contour_v18_54.css
ROLE: final global header/footer contour alignment
STATUS: active patch v18.54
DOES:
- makes header contour match footer contour globally
- applies to index, auth portals, client/partner dashboards, admin, and flow pages
- keeps topbar/location/language module blue
- keeps main/content shell yellow
- removes old header-only border families that made pages feel different
DOES NOT:
- touch backend, database, API, sessions, passwords, flow submit, jobs, storage
*/

:root{
  --abc-v1854-footer-header-bg-a: rgba(27, 19, 49, .985);
  --abc-v1854-footer-header-bg-b: rgba(8, 17, 32, .985);
  --abc-v1854-footer-header-line: rgba(231, 70, 174, .48);
  --abc-v1854-footer-header-line-soft: rgba(231, 70, 174, .12);
  --abc-v1854-footer-header-glow: rgba(231, 70, 174, .16);
  --abc-v1854-blue-topbar-line: rgba(74, 166, 255, .36);
  --abc-v1854-yellow-content-line: rgba(255, 215, 90, .34);
}

/* HEADER = exactly same contour family as FOOTER. */
.site-header,
.abc-static-header,
header[role="banner"],
.site-footer,
.abc-static-footer,
footer[role="contentinfo"],
body[data-page="index"] .site-header,
body[data-page="auth_login"] .site-header,
body[data-page="auth_notice"] .site-header,
body[data-page="client_dashboard"] .site-header,
body[data-page="partner_dashboard"] .site-header,
body[data-page="admin"] .site-header,
body[data-page="admin_control_panel"] .site-header,
body.private-client-account-page .site-header,
body.business-client-account-page .site-header,
body.private-partner-account-page .site-header,
body.business-partner-account-page .site-header,
body[data-page="index"] .site-footer,
body[data-page="auth_login"] .site-footer,
body[data-page="auth_notice"] .site-footer,
body[data-page="client_dashboard"] .site-footer,
body[data-page="partner_dashboard"] .site-footer,
body[data-page="admin"] .site-footer,
body[data-page="admin_control_panel"] .site-footer,
body.private-client-account-page .site-footer,
body.business-client-account-page .site-footer,
body.private-partner-account-page .site-footer,
body.business-partner-account-page .site-footer{
  background:
    radial-gradient(circle at 10% 0%, var(--abc-v1854-footer-header-line-soft), transparent 36%),
    linear-gradient(180deg, var(--abc-v1854-footer-header-bg-a), var(--abc-v1854-footer-header-bg-b)) !important;
  border: 1px solid var(--abc-v1854-footer-header-line) !important;
  border-radius: 26px !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 var(--abc-v1854-footer-header-glow) !important;
  color: #f7f8ff !important;
}

/* Header/footer internal modules must not create a different contour. */
.site-header *,
.abc-static-header *,
header[role="banner"] *,
.site-footer *,
.abc-static-footer *,
footer[role="contentinfo"] *{
  --abc-global-red: var(--abc-v1854-footer-header-line);
}

.site-header .section-head,
.site-header .control-visual-head,
.site-header .compact-section-head,
.site-header .panel,
.site-header .abc-brand-block,
.site-header .header-panel,
.site-header .logo-panel,
.site-footer .section-head,
.site-footer .control-visual-head,
.site-footer .compact-section-head,
.site-footer .panel,
.site-footer .footer-panel,
.site-footer .social-panel,
.abc-static-header .section-head,
.abc-static-header .panel,
.abc-static-footer .section-head,
.abc-static-footer .panel{
  background: transparent !important;
  border-color: rgba(231,70,174,.18) !important;
  box-shadow: none !important;
}

/* Header/footer pseudo labels or old debug rings never return. */
.site-header::before,
.site-header::after,
.abc-static-header::before,
.abc-static-header::after,
header[role="banner"]::before,
header[role="banner"]::after,
.site-footer::before,
.site-footer::after,
.abc-static-footer::before,
.abc-static-footer::after,
footer[role="contentinfo"]::before,
footer[role="contentinfo"]::after{
  content: none !important;
  display: none !important;
}

/* Topbar remains blue fine border, not footer/header pink. */
.content-top-strip,
.content-top-bar,
.abc-global-topbar-module,
.global-topbar-module,
.abc-topbar-v10,
.index-general-topbar,
[data-meta-content-topbar="true"],
body[data-page="index"] .content-top-strip,
body[data-page="auth_login"] .content-top-strip,
body[data-page="auth_notice"] .content-top-strip,
body[data-page="client_dashboard"] .content-top-strip,
body[data-page="partner_dashboard"] .content-top-strip,
body[data-page="admin"] .content-top-strip,
body[data-page="admin_control_panel"] .content-top-strip,
body.private-client-account-page .content-top-strip,
body.business-client-account-page .content-top-strip,
body.private-partner-account-page .content-top-strip,
body.business-partner-account-page .content-top-strip{
  border-color: var(--abc-v1854-blue-topbar-line) !important;
  box-shadow:
    inset 0 0 0 1px rgba(74,166,255,.07),
    0 12px 28px rgba(0,0,0,.14) !important;
}

/* Content/global shell remains yellow fine border. */
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[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 .abc-stack,
body.business-client-account-page .abc-stack,
body.private-partner-account-page .abc-stack,
body.business-partner-account-page .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-color: var(--abc-v1854-yellow-content-line) !important;
}

/* Page background stable and dark everywhere discussed in this conversation. */
body[data-page="index"],
body[data-page="auth_login"],
body[data-page="auth_notice"],
body[data-page="client_dashboard"],
body[data-page="partner_dashboard"],
body[data-page="admin"],
body[data-page="admin_control_panel"],
body.private-client-account-page,
body.business-client-account-page,
body.private-partner-account-page,
body.business-partner-account-page{
  background:#07101d !important;
  overflow-x:hidden !important;
}

/* Prevent page jump feeling between index/auth/portal by keeping the same outer rhythm. */
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{
  gap: 12px !important;
}

/* Mobile: header/footer same contour, smaller radius. */
@media (max-width:760px){
  .site-header,
  .abc-static-header,
  header[role="banner"],
  .site-footer,
  .abc-static-footer,
  footer[role="contentinfo"]{
    border-radius:18px !important;
  }
}
