/* THE-ABC.RO V18.19 — FULLPAGE SURFACE TRUTH LOCK
   Regula: vizitator/client/partener/admin-preview folosesc aceeași suprafață.
   Diferența este doar informația permisă, nu lățimea, nu pagina, nu rama.
*/

:root{
  --abc-surface-pad-x: clamp(10px, 1.35vw, 22px);
  --abc-surface-pad-y: clamp(8px, 1vh, 14px);
  --abc-shell-gap: clamp(8px, 1vh, 12px);
  --abc-radius-soft: 18px;
  --abc-border-fine: 1px solid rgba(255,255,255,.12);
  --abc-client-line: rgba(246, 196, 69, .78);
  --abc-partner-line: rgba(151, 104, 255, .78);
  --abc-admin-line: rgba(40, 210, 135, .78);
  --abc-standard-line: rgba(65, 150, 255, .78);
  --abc-emergency-line: rgba(255, 70, 70, .78);
}

html,
body{
  width:100%;
  max-width:100%;
  min-height:100%;
  margin:0 !important;
  overflow-x:hidden !important;
  box-sizing:border-box;
}

*,*::before,*::after{ box-sizing:border-box; min-width:0; }

body[data-abc-consolidated-page],
body.compact-index-page,
body.auth-shell-page,
body.client_dashboard-page,
body.partner_dashboard-page,
body[data-page="home"],
body[data-page="index"],
body[data-page="auth_login"],
body[data-page="auth_notice"]{
  min-height:100svh !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

body:not([data-page="admin_consolidated"]):not([data-page="admin_auth_preview"]):not([data-page="admin_route_inspector"]):not([data-page="admin_preview_center"]){
  overflow-y:hidden;
}

body:not([data-page="admin_consolidated"]):not([data-page^="admin_"]) .page-shell,
body:not([data-page="admin_consolidated"]):not([data-page^="admin_"]) .compact-page,
body.auth-shell-page .page-shell,
body.auth-shell-page .compact-auth-page,
body.client_dashboard-page .page-shell,
body.partner_dashboard-page .page-shell,
body[data-page="home"] .page-shell,
body[data-page="index"] .page-shell{
  width:100% !important;
  max-width:none !important;
  min-height:100svh !important;
  margin:0 !important;
  padding:var(--abc-surface-pad-y) var(--abc-surface-pad-x) !important;
  display:grid !important;
  grid-template-rows:auto auto auto 1fr auto;
  gap:var(--abc-shell-gap) !important;
  overflow:hidden !important;
  border:0 !important;
  outline:0 !important;
}

.page-shell > .site-header,
.page-shell > .abc-global-topbar-module,
.page-shell > .abc-global-menu-module,
.page-shell > main,
.page-shell > .site-footer{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.abc-stack,
main.abc-stack,
.content-engine-panel,
.private-flow-shell,
.public-flow-grid,
.profile-dashboard-shell,
.client_dashboard-stack,
.partner_dashboard-stack,
.auth-shell-content-panel,
.auth-content-panel{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  overflow:hidden !important;
}

main.abc-stack,
.client_dashboard-stack,
.partner_dashboard-stack{
  min-height:0 !important;
  height:auto !important;
  align-content:stretch !important;
}

body:not([data-page^="admin_"]):not([data-page="admin_consolidated"]) main.abc-stack{
  overflow:hidden !important;
}

/* Panels: no legacy full red/pink frame. Flow emergency keeps its own fine red line only. */
.panel,
.compact-panel,
.content-engine-panel,
.auth-content-panel,
.auth-shell-content-panel,
.client_dashboard-panel-shell,
.partner_dashboard-panel-shell,
.profile-dashboard-shell,
.auth-card,
.auth-dashboard-shell,
.auth-panel-card{
  max-width:none !important;
  box-shadow:none !important;
  outline:0 !important;
}

body.auth-shell-page .auth-shell-content-panel,
body.auth-shell-page .auth-content-panel{
  display:grid !important;
  place-items:center !important;
  min-height:0 !important;
  height:100% !important;
  padding:clamp(8px,1.2vh,16px) !important;
  border:var(--abc-border-fine) !important;
  background:rgba(5, 10, 18, .72) !important;
}

body.auth-shell-page .auth-card,
body.auth-shell-page .auth-dashboard-shell,
body.auth-shell-page .auth-panel-card,
body[data-page="auth_login"] .auth-card,
body[data-page="auth_notice"] .auth-card{
  width:min(100%, 560px) !important;
  max-width:560px !important;
  margin:0 auto !important;
  padding:clamp(14px, 2vw, 22px) !important;
  border-width:1px !important;
  border-style:solid !important;
  border-radius:var(--abc-radius-soft) !important;
  background:rgba(8, 14, 26, .84) !important;
  box-shadow:0 12px 34px rgba(0,0,0,.22) !important;
  transform:none !important;
}

body.auth-shell-page.auth-panel-family-client .auth-card,
body.auth-shell-page[data-auth-role="client"] .auth-card,
body.auth-shell-page[data-auth-panel-family="client"] .auth-card{
  border-color:var(--abc-client-line) !important;
}
body.auth-shell-page.auth-panel-family-partner .auth-card,
body.auth-shell-page[data-auth-role="partner"] .auth-card,
body.auth-shell-page[data-auth-panel-family="partner"] .auth-card{
  border-color:var(--abc-partner-line) !important;
}
body.auth-shell-page.auth-panel-family-admin .auth-card,
body.auth-shell-page[data-auth-role="admin"] .auth-card,
body.auth-shell-page[data-auth-panel-family="admin"] .auth-card{
  border-color:var(--abc-admin-line) !important;
}

body.auth-shell-page .auth-dashboard-panel__title,
body.auth-shell-page .auth-dashboard-heading h1,
body.auth-shell-page h1{
  font-size:clamp(1.1rem, 2.1vw, 1.65rem) !important;
  line-height:1.1 !important;
  margin:0 !important;
}
body.auth-shell-page .auth-panel-badge{
  font-size:.76rem !important;
  opacity:.9 !important;
}

/* Force-remove old red legacy around auth/shell/profile only. */
body.auth-shell-page [class*="debug"],
body.auth-shell-page [class*="legacy"],
body.auth-shell-page [class*="red-frame"],
body.auth-shell-page [class*="danger-frame"],
body.auth-shell-page [style*="rgb(255, 0, 0)"],
body.auth-shell-page [style*="#ff0000"],
body.auth-shell-page [style*="red"]{
  border-color:rgba(255,255,255,.12) !important;
  outline:0 !important;
  box-shadow:none !important;
}

/* Homepage / public flow cards: full page width, fine role colors. */
.public-flow-grid,
.flow-card-grid,
.home-flow-grid,
[data-flow-grid]{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:clamp(10px,1.35vw,18px) !important;
}
.flow-card,
.home-flow-card,
[data-flow-card]{
  width:100% !important;
  min-width:0 !important;
  border-width:1px !important;
  border-style:solid !important;
  border-radius:16px !important;
}
.flow-card[data-flow*="standard"],
.home-flow-card[data-flow*="standard"],
[data-flow-card][data-flow*="standard"]{ border-color:var(--abc-standard-line) !important; }
.flow-card[data-flow*="emergency"],
.home-flow-card[data-flow*="emergency"],
[data-flow-card][data-flow*="emergency"]{ border-color:var(--abc-emergency-line) !important; }
.flow-card[data-flow*="partner"],
.home-flow-card[data-flow*="partner"],
[data-flow-card][data-flow*="partner"]{ border-color:var(--abc-partner-line) !important; }

/* Flow pages: full width, local scroll in form/content, not horizontal drift. */
.private-flow-shell,
.flow-runtime-shell,
.flow-form-shell,
.flow-content-panel{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  overflow:hidden !important;
}
.flow-form-grid,
[data-flow-form-grid],
.request-form-grid{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:clamp(8px,1vw,14px) !important;
}

/* Profile/dashboard: keep left menu and right content inside same surface. */
.profile-dashboard-shell,
.client-profile-card,
.partner-profile-card,
.dashboard-profile-layout,
.profile-layout{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  overflow:hidden !important;
}
.dashboard-profile-layout,
.profile-layout{
  display:grid !important;
  grid-template-columns:minmax(220px, 280px) minmax(0, 1fr) !important;
  gap:clamp(10px,1.2vw,18px) !important;
}
.profile-menu,
.profile-sidebar,
.client-profile-menu,
.partner-profile-menu{
  min-width:0 !important;
  max-width:100% !important;
  overflow:auto !important;
}
.profile-content,
.dashboard-profile-content,
.client-profile-content,
.partner-profile-content{
  min-width:0 !important;
  overflow:auto !important;
}

/* Public/client/partner: hide technical admin access bars inside real profile/dashboard surfaces. */
body:not([data-admin-view="true"]):not(.is-admin):not([data-auth-role="admin"]) .abc-admin-only,
body:not([data-admin-view="true"]):not(.is-admin):not([data-auth-role="admin"]) [data-admin-only="true"],
body.client_dashboard-page:not([data-auth-role="admin"]) .abc-dashboard-access-module-v10,
body.partner_dashboard-page:not([data-auth-role="admin"]) .abc-dashboard-access-module-v10{
  display:none !important;
}

/* Admin preview sees same width plus technical layer, not a different surface. */
body[data-auth-role="admin"] .page-shell,
body.is-admin .page-shell,
body[data-admin-view="true"] .page-shell{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:var(--abc-surface-pad-y) var(--abc-surface-pad-x) !important;
  overflow-x:hidden !important;
}

@media (max-width: 980px){
  body:not([data-page="admin_consolidated"]):not([data-page^="admin_"]){ overflow-y:auto; }
  body:not([data-page="admin_consolidated"]):not([data-page^="admin_"]) .page-shell{
    min-height:100svh !important;
    overflow:visible !important;
  }
  .public-flow-grid,
  .flow-card-grid,
  .home-flow-grid,
  [data-flow-grid]{ grid-template-columns:1fr !important; }
  .flow-form-grid,
  [data-flow-form-grid],
  .request-form-grid{ grid-template-columns:1fr !important; }
  .dashboard-profile-layout,
  .profile-layout{ grid-template-columns:1fr !important; }
  body.auth-shell-page .auth-card{ width:100% !important; max-width:100% !important; }
}
