
/*
FILE: web/css/runtime_frontend_motor_compact_surface_v18_59.css
ROLE: aggressive frontend motor compact surface
STATUS: active patch v18.59
DOES:
- cuts dead vertical space from public/frontend motor surfaces
- compacts homepage, auth portals, dashboard access pages, and flow form panels
- keeps global header/topbar/content/footer stable
- hides technical/admin/debug UI from consumer pages
- keeps admin technical UI only in admin pages
DOES NOT:
- touch backend, database, API, sessions, passwords, flow submit, jobs, storage
*/

:root{
  --abc-v1859-bg:#07101d;
  --abc-v1859-max:min(1840px, calc(100vw - 52px));
  --abc-v1859-gap:6px;
  --abc-v1859-pad:8px;
  --abc-v1859-radius:18px;
  --abc-v1859-header-min:64px;
  --abc-v1859-topbar-min:46px;
  --abc-v1859-footer-min:104px;
  --abc-v1859-content-line:rgba(255,215,90,.34);
  --abc-v1859-blue-line:rgba(74,166,255,.36);
  --abc-v1859-purple-line:rgba(231,70,174,.48);
}

/* Global browser/page stability. */
html{
  scrollbar-gutter:stable both-edges !important;
  background:var(--abc-v1859-bg) !important;
}
body{
  background:var(--abc-v1859-bg) !important;
  overflow-x:hidden !important;
  margin:0 !important;
}

/* One compact motor surface width. */
.page-shell,
.compact-page,
.compact-index-page,
body[data-page] .page-shell,
body[class*="account-page"] .page-shell,
body[class*="dashboard"] .page-shell{
  width:var(--abc-v1859-max) !important;
  max-width:var(--abc-v1859-max) !important;
  margin-inline:auto !important;
  padding:0 !important;
  gap:var(--abc-v1859-gap) !important;
  box-sizing:border-box !important;
}

/* Header / topbar / footer compact, no jump. */
.site-header,
.abc-static-header,
header[role="banner"]{
  width:100% !important;
  min-height:var(--abc-v1859-header-min) !important;
  max-height:none !important;
  margin:0 0 var(--abc-v1859-gap) 0 !important;
  padding:10px 18px !important;
  border-width:1px !important;
  border-color:var(--abc-v1859-purple-line) !important;
  border-radius:20px !important;
  box-sizing:border-box !important;
  transform:none !important;
}

.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;
  min-height:var(--abc-v1859-topbar-min) !important;
  max-height:none !important;
  margin:0 0 var(--abc-v1859-gap) 0 !important;
  padding:6px 12px !important;
  border-width:1px !important;
  border-color:var(--abc-v1859-blue-line) !important;
  border-radius:18px !important;
  box-sizing:border-box !important;
  transform:none !important;
  align-items:center !important;
}

.site-footer,
.abc-static-footer,
footer[role="contentinfo"]{
  width:100% !important;
  min-height:var(--abc-v1859-footer-min) !important;
  max-height:none !important;
  margin:var(--abc-v1859-gap) 0 0 0 !important;
  padding:10px 18px !important;
  border-width:1px !important;
  border-color:var(--abc-v1859-purple-line) !important;
  border-radius:20px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  transform:none !important;
}

/* Footer internals stay inside, compact. */
.site-footer :is(.footer-inner,.footer-grid,.footer-content,.footer-main,.footer-social,.footer-links,.social-links),
.abc-static-footer :is(.footer-inner,.footer-grid,.footer-content,.footer-main,.footer-social,.footer-links,.social-links),
footer[role="contentinfo"] :is(.footer-inner,.footer-grid,.footer-content,.footer-main,.footer-social,.footer-links,.social-links){
  min-height:0 !important;
  max-height:none !important;
  padding:0 !important;
  margin:0 !important;
  gap:8px !important;
  overflow:visible !important;
  transform:none !important;
}

/* Main motor/content area: cut wasted vertical surface. */
.abc-stack,
main.abc-stack,
.content-engine-panel,
.clean-main-panel,
.auth-shell-content-panel,
.auth-card-dashboard,
.auth-panel-card,
.auth-card,
.home-content-panel,
.home-flow-panel,
.home-route-panel{
  box-sizing:border-box !important;
}

body[data-page] .abc-stack,
body[data-page] main.abc-stack,
body[class*="account-page"] .abc-stack,
body[class*="account-page"] main.abc-stack{
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  margin:0 0 var(--abc-v1859-gap) 0 !important;
  padding:var(--abc-v1859-pad) !important;
  border-width:1px !important;
  border-color:var(--abc-v1859-content-line) !important;
  border-radius:20px !important;
  overflow:visible !important;
  transform:none !important;
}

body[data-page] :is(.content-engine-panel,.clean-main-panel,.auth-shell-content-panel),
body[class*="account-page"] :is(.content-engine-panel,.clean-main-panel,.auth-shell-content-panel){
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  padding:8px !important;
  margin:0 !important;
  overflow:visible !important;
}

/* Remove forced full viewport heights everywhere in frontend surfaces. */
body:not([data-page="admin_control_panel"]) :is(
  .fullpage,
  .full-page,
  .fullpage-surface,
  .fullpage-panel,
  .full-height,
  .min-vh-100,
  [class*="fullpage"],
  [class*="full-page"],
  [class*="full_height"],
  [class*="min-vh"],
  [style*="100vh"]
){
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
}

/* Consumer public UI: technical/admin/debug blocks hidden. */
body:not([data-page="admin"]):not([data-page="admin_control_panel"]) :is(
  .debug,.debug-panel,.debug-box,
  .technical,.technical-panel,.tech-panel,
  .admin-only,.admin-debug,.admin-technical,
  .system-debug,.route-debug,.route-inspector,
  .dev-note,.developer-note,.ui-note,.patch-note,.technical-note,.frontend-note,.backend-note,
  .diagnostic,.diagnostics,.diagnostic-panel,
  [data-admin-only],[data-debug],[data-technical],[data-dev-note],[data-route-inspector],[data-system-map]
){
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Hide generic technical-looking modules in consumer pages, but do not hide form fields/buttons. */
body:not([data-page="admin"]):not([data-page="admin_control_panel"]) :is(
  [class*="debug"],
  [class*="diagnostic"],
  [class*="inspector"],
  [class*="technical"],
  [class*="dev-note"],
  [class*="patch-note"],
  [class*="system-map"]
){
  display:none !important;
}

/* Homepage cards: compact and closer. */
body[data-page="index"] :is(
  .home-route-card,.home-flow-card,.flow-route-card,.flow-card,.abc-flow-card,
  [class*="flow"][class*="card"],
  [class*="route"][class*="card"],
  [data-flow-type],
  [data-route-family],
  [data-account-flow]
){
  min-height:0 !important;
  height:auto !important;
  padding:12px 16px !important;
  margin:0 !important;
  border-width:1px !important;
  border-radius:16px !important;
  gap:8px !important;
  transform:none !important;
}

body[data-page="index"] :is(
  .home-route-card,.home-flow-card,.flow-route-card,.flow-card,.abc-flow-card,
  [class*="flow"][class*="card"],
  [class*="route"][class*="card"]
) :is(h1,h2,h3,p){
  margin-top:0 !important;
  margin-bottom:8px !important;
  line-height:1.12 !important;
}

/* Homepage group containers: one border only, less dead space. */
body[data-page="index"] :is(
  .home-route-panel,.home-flow-panel,.home-content-panel,.home-dashboard-panel,
  .index-flow-grid,.flow-grid,.route-grid,.dashboard-grid
){
  min-height:0 !important;
  height:auto !important;
  padding:10px !important;
  margin:0 !important;
  gap:10px !important;
  border-width:1px !important;
  border-radius:18px !important;
  overflow:visible !important;
}

/* Auth portal: force all controls into visible compact area. */
body[data-page="auth_login"] :is(.auth-shell-content-panel,.content-engine-panel),
body[data-page="auth_notice"] :is(.auth-shell-content-panel,.content-engine-panel){
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:0 !important;
  padding:6px !important;
}

body[data-page="auth_login"] :is(.auth-panel-card,.auth-card,.auth-card-dashboard),
body[data-page="auth_notice"] :is(.auth-panel-card,.auth-card,.auth-card-dashboard){
  width:min(620px,100%) !important;
  max-width:620px !important;
  min-height:0 !important;
  height:auto !important;
  padding:10px 12px !important;
  border-width:1px !important;
  border-radius:16px !important;
  overflow:visible !important;
}

body[data-page="auth_login"] :is(.auth-panel-badge,.portal-badge),
body[data-page="auth_notice"] :is(.auth-panel-badge,.portal-badge){
  display:inline-flex !important;
  min-height:20px !important;
  padding:3px 9px !important;
  margin:0 0 6px 0 !important;
  font-size:13px !important;
  line-height:1 !important;
}

body[data-page="auth_login"] :is(h1,.auth-dashboard-panel__title),
body[data-page="auth_notice"] :is(h1,.auth-dashboard-panel__title){
  font-size:clamp(24px,2.5vw,36px) !important;
  line-height:1 !important;
  margin:0 0 10px 0 !important;
  color:#f7fbff !important;
  opacity:1 !important;
}

body[data-page="auth_login"] :is(form,.auth-form-v9),
body[data-page="auth_notice"] :is(form,.auth-form-v9){
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 !important;
}

body[data-page="auth_login"] :is(.client-form-field,.form-field,.auth-field),
body[data-page="auth_notice"] :is(.client-form-field,.form-field,.auth-field){
  min-height:0 !important;
  padding:7px 9px !important;
  margin:0 !important;
  border-width:1px !important;
  border-radius:12px !important;
}

body[data-page="auth_login"] label,
body[data-page="auth_notice"] label{
  font-size:14px !important;
  line-height:1.05 !important;
  margin:0 0 5px 0 !important;
}

body[data-page="auth_login"] input,
body[data-page="auth_notice"] input{
  height:34px !important;
  min-height:34px !important;
  padding:7px 9px !important;
}

body[data-page="auth_login"] :is(.auth-actions,.auth-actions-dashboard,.form-actions,.button-row),
body[data-page="auth_notice"] :is(.auth-actions,.auth-actions-dashboard,.form-actions,.button-row){
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:8px 0 0 0 !important;
  padding:0 !important;
}

body[data-page="auth_login"] :is(.auth-actions,.auth-actions-dashboard,.form-actions,.button-row) :is(a,button),
body[data-page="auth_notice"] :is(.auth-actions,.auth-actions-dashboard,.form-actions,.button-row) :is(a,button){
  min-height:34px !important;
  padding:7px 10px !important;
  font-size:14px !important;
  line-height:1.1 !important;
  border-radius:12px !important;
  white-space:normal !important;
}

/* Flow pages: compact consumer form surface. */
body[class*="account-page"] :is(.flow-shell,.flow-panel,.request-panel,.form-panel,.content-engine-panel,.clean-main-panel){
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  padding:8px !important;
  margin:0 !important;
  overflow:visible !important;
}

body[class*="account-page"] :is(.flow-section,.form-section,.request-section,.module-section){
  min-height:0 !important;
  padding:10px !important;
  margin:0 0 8px 0 !important;
  border-width:1px !important;
  border-radius:16px !important;
}

body[class*="account-page"] :is(.client-form-field,.flow-field,.form-field,.request-field){
  min-height:0 !important;
  padding:7px 9px !important;
  margin:0 !important;
  border-width:1px !important;
  border-radius:11px !important;
}

body[class*="account-page"] :is(label,h1,h2,h3,p){
  margin-top:0 !important;
}

body[class*="account-page"] :is(h1,.flow-title,.request-title){
  font-size:clamp(24px,2.4vw,36px) !important;
  line-height:1.05 !important;
  margin-bottom:8px !important;
}

body[class*="account-page"] :is(h2,.section-title){
  font-size:clamp(18px,1.8vw,26px) !important;
  line-height:1.08 !important;
  margin-bottom:8px !important;
}

body[class*="account-page"] :is(input,select,textarea){
  min-height:34px !important;
  padding:7px 9px !important;
}

/* Admin remains green technical, but compact. */
body[data-page="admin"] :is(.technical-panel,.debug-panel,.diagnostic-panel,.admin-only),
body[data-page="admin_control_panel"] :is(.technical-panel,.debug-panel,.diagnostic-panel,.admin-only,.route-inspector){
  padding:10px !important;
  margin:0 0 8px 0 !important;
  border-radius:14px !important;
  max-height:420px !important;
  overflow:auto !important;
}

/* Remove pseudo/dead frames. */
:is(.page-shell,.compact-page,.compact-index-page,.site-header,.site-footer,.content-top-strip,.content-engine-panel,.clean-main-panel)::before,
:is(.page-shell,.compact-page,.compact-index-page,.site-header,.site-footer,.content-top-strip,.content-engine-panel,.clean-main-panel)::after{
  content:none !important;
  display:none !important;
}

/* Mobile compact. */
@media (max-width:760px){
  :root{
    --abc-v1859-max:calc(100vw - 10px);
    --abc-v1859-gap:6px;
    --abc-v1859-header-min:58px;
    --abc-v1859-topbar-min:44px;
    --abc-v1859-footer-min:auto;
  }

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

  body[data-page="auth_login"] :is(form,.auth-form-v9),
  body[data-page="auth_notice"] :is(form,.auth-form-v9),
  body[data-page="auth_login"] :is(.auth-actions,.auth-actions-dashboard,.form-actions,.button-row),
  body[data-page="auth_notice"] :is(.auth-actions,.auth-actions-dashboard,.form-actions,.button-row){
    grid-template-columns:1fr !important;
  }

  body[data-page="index"] :is(.home-route-card,.home-flow-card,.flow-route-card,.flow-card,.abc-flow-card){
    padding:10px !important;
  }
}
