/* Zedulex Control Center V5.78 Beta — mobile fidelity + overflow correction.
 * This layer intentionally overrides V5.77 only on mobile. Desktop remains on the V5.77/V5.76 shell.
 */
@media (max-width:860px){
  html{max-width:100%;overflow-x:hidden}
  @supports (overflow:clip){html{overflow-x:clip}}
  body.zcc-ui-v578,body.zcc-auth-v578{width:100%;max-width:100%;overflow-x:hidden}
  @supports (overflow:clip){body.zcc-ui-v578,body.zcc-auth-v578{overflow-x:clip}}
  body.zcc-ui-v578 *,body.zcc-auth-v578 *{box-sizing:border-box}

  html[data-theme="dark"] body.zcc-ui-v578,
  html[data-theme="dark"] body.zcc-auth-v578{
    --z577-bg:#010204;--z577-bg-2:#04070a;--z577-surface:#050a0f;--z577-surface-2:#08121a;--z577-panel:rgba(4,9,14,.94);
    --z577-text:#f5f8fb;--z577-muted:#8497a8;--z577-line:#142b3d;--z577-soft-blue:rgba(21,151,255,.12);--z577-soft-red:rgba(255,39,56,.12);
    --z577-carbon-a:rgba(255,255,255,.040);--z577-carbon-b:rgba(255,255,255,.020);
  }
  html[data-theme="light"] body.zcc-ui-v578,
  html[data-theme="light"] body.zcc-auth-v578{
    --z577-bg:#e9eef3;--z577-bg-2:#f8fafc;--z577-surface:rgba(255,255,255,.90);--z577-surface-2:rgba(239,244,248,.96);--z577-panel:rgba(250,252,254,.92);
    --z577-text:#071321;--z577-muted:#607386;--z577-line:rgba(72,107,132,.22);--z577-soft-blue:rgba(21,151,255,.09);--z577-soft-red:rgba(255,39,56,.085);
    --z577-carbon-a:rgba(21,52,75,.065);--z577-carbon-b:rgba(21,52,75,.032);
  }

  body.zcc-ui-v578::before,body.zcc-auth-v578::before{
    background:
      radial-gradient(circle at 92% 4%,rgba(21,151,255,.12),transparent 24%),
      radial-gradient(circle at 8% 14%,rgba(255,39,56,.10),transparent 20%),
      repeating-linear-gradient(135deg,var(--z577-carbon-a) 0 1px,transparent 1px 5px),
      repeating-linear-gradient(45deg,var(--z577-carbon-b) 0 1px,transparent 1px 5px),
      linear-gradient(180deg,var(--z577-bg-2),var(--z577-bg));
  }

  body.zcc-ui-v578 .app.shell,
  body.zcc-ui-v578 .main-content,
  body.zcc-ui-v578 .zcc-page-v577,
  body.zcc-ui-v578 .zcc-page-v577>*{width:100%;min-width:0;max-width:100%}
  body.zcc-ui-v578 .main-content{padding:6px 8px calc(76px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important}
  @supports (overflow:clip){body.zcc-ui-v578 .main-content{overflow-x:clip!important}}

  /* Compact app-like header. */
  body.zcc-ui-v578 .topbar-v576{
    top:max(5px,env(safe-area-inset-top));min-height:54px;margin:0 0 10px;padding:7px 9px!important;border-radius:17px!important;
    border:1px solid var(--z577-line)!important;background:linear-gradient(135deg,rgba(3,8,12,.95),rgba(7,16,23,.90))!important;
    box-shadow:0 10px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025);backdrop-filter:blur(16px)
  }
  html[data-theme="light"] body.zcc-ui-v578 .topbar-v576{
    background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(237,244,249,.92))!important;
    box-shadow:0 8px 24px rgba(37,62,82,.10),inset 0 1px 0 rgba(255,255,255,.8)
  }
  body.zcc-ui-v578 .zcc-mobile-brand{min-width:0;gap:8px}
  body.zcc-ui-v578 .zcc-brand-glyph{width:35px;height:35px;border-radius:11px;font-size:21px;box-shadow:0 0 16px rgba(255,39,56,.28)}
  body.zcc-ui-v578 .zcc-brand-copy strong{font-size:11px;letter-spacing:.20em}
  body.zcc-ui-v578 .zcc-brand-copy small{margin-top:3px;font-size:8px;letter-spacing:.14em}
  body.zcc-ui-v578 .topbar-actions{gap:6px}
  body.zcc-ui-v578 .theme-toggle{width:36px!important;height:36px!important;min-height:36px!important}
  body.zcc-ui-v578 .zcc-mobile-user-chip{width:34px;height:34px;font-size:13px}
  body.zcc-ui-v578 .zcc-mobile-account-menu{right:0;max-width:calc(100vw - 24px);width:220px}

  /* Approved dashboard geometry: no horizontal KPI or business-metric carousels. */
  body.zcc-ui-v578 .zcc-page-v577{gap:10px}
  body.zcc-ui-v578 .zcc-v577-hero{padding:15px 16px;border-radius:18px;background:linear-gradient(135deg,var(--z577-panel),var(--z577-surface-2));box-shadow:0 12px 28px rgba(0,0,0,.12)}
  body.zcc-ui-v578 .zcc-v577-hero::after{width:170px;right:-38px;top:41px}
  body.zcc-ui-v578 .zcc-v577-eyebrow{margin-bottom:5px;font-size:9px;letter-spacing:.15em}
  body.zcc-ui-v578 .zcc-v577-hero h1{font-size:28px;line-height:1.04}
  body.zcc-ui-v578 .zcc-v577-hero p{margin-top:6px;font-size:13px}
  body.zcc-ui-v578 .zcc-v577-status{margin-top:10px;font-size:10px}

  body.zcc-ui-v578 .zcc-kpi-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;
    gap:8px!important;padding:0!important;overflow:visible!important;scroll-snap-type:none!important
  }
  body.zcc-ui-v578 .zcc-kpi-card{min-width:0!important;width:100%;padding:11px;border-radius:15px;gap:5px;scroll-snap-align:none}
  body.zcc-ui-v578 .zcc-kpi-icon{font-size:15px}
  body.zcc-ui-v578 .zcc-kpi-label{font-size:11px;line-height:1.2}
  body.zcc-ui-v578 .zcc-kpi-value{min-width:0;font-size:clamp(17px,5.2vw,22px);line-height:1.08;overflow-wrap:anywhere}
  body.zcc-ui-v578 .zcc-kpi-trend{font-size:9px;line-height:1.25}

  body.zcc-ui-v578 .zcc-section-card,body.zcc-ui-v578 .zcc-chart-card{padding:12px;border-radius:16px}
  body.zcc-ui-v578 .zcc-section-head{gap:8px;margin-bottom:10px}
  body.zcc-ui-v578 .zcc-section-head h2{font-size:18px}
  body.zcc-ui-v578 .zcc-section-head h3{font-size:17px}
  body.zcc-ui-v578 .zcc-section-link{font-size:10px;white-space:nowrap}
  body.zcc-ui-v578 .zcc-metric-strip{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;
    gap:7px!important;padding:0!important;overflow:visible!important
  }
  body.zcc-ui-v578 .zcc-metric-tile{min-width:0;padding:10px;border-radius:13px}
  body.zcc-ui-v578 .zcc-metric-tile:last-child:nth-child(odd){grid-column:1/-1}
  body.zcc-ui-v578 .zcc-metric-tile span{font-size:10px}
  body.zcc-ui-v578 .zcc-metric-tile strong{font-size:18px;overflow-wrap:anywhere}
  body.zcc-ui-v578 .zcc-metric-tile small{font-size:9px}

  body.zcc-ui-v578 .zcc-chart-wrap{width:100%;height:150px;margin-top:7px;padding:5px;border-radius:13px;overflow:hidden}
  body.zcc-ui-v578 .zcc-chart-svg{display:block;max-width:100%}
  body.zcc-ui-v578 .zcc-dual-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px}
  body.zcc-ui-v578 .zcc-list-row{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:9px 0}
  body.zcc-ui-v578 .zcc-list-copy strong{font-size:12px}
  body.zcc-ui-v578 .zcc-list-copy small,body.zcc-ui-v578 .zcc-list-meta{font-size:9px}

  /* Tabs wrap inside viewport instead of creating another horizontal strip. */
  body.zcc-ui-v578 .zcc-tabs-v577{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible!important;padding:0}
  body.zcc-ui-v578 .zcc-tabs-v577 a{min-width:0;padding:8px 9px;text-align:center;font-size:10px;white-space:normal}
  body.zcc-ui-v578 .workspace-tabs.product-tabs{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:6px!important}
  body.zcc-ui-v578 .product-tabs>a,body.zcc-ui-v578 .product-tabs .product-more{flex:1 1 calc(50% - 6px);min-width:0}
  body.zcc-ui-v578 .product-tabs .product-more{flex-basis:100%}

  /* Cards and deep workspaces must stay bounded by the phone viewport. */
  body.zcc-ui-v578 .zcc-mobile-data-card,body.zcc-ui-v578 .zcc-product-feature,body.zcc-ui-v578 .zcc-system-card-v577,
  body.zcc-ui-v578 .panel,body.zcc-ui-v578 .card,body.zcc-ui-v578 .product-portfolio-card,body.zcc-ui-v578 .product-section-card{min-width:0;max-width:100%}
  body.zcc-ui-v578 .zcc-mobile-data-card{padding:12px;border-radius:14px}
  body.zcc-ui-v578 .zcc-mobile-data-card-head>*{min-width:0}
  body.zcc-ui-v578 .zcc-mobile-data-card-head strong{max-width:44%;overflow-wrap:anywhere;text-align:right}
  body.zcc-ui-v578 .zcc-mobile-data-card-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px}
  body.zcc-ui-v578 .zcc-product-feature{padding:13px;border-radius:16px}
  body.zcc-ui-v578 .zcc-system-card-v577{padding:13px;border-radius:15px}
  body.zcc-ui-v578 .table-wrap{width:100%;max-width:100%;overflow-x:auto!important;overscroll-behavior-x:contain}

  /* Low, app-like bottom navigation with reserved content space. */
  body.zcc-ui-v578~.zcc-mobile-bottom-nav,.zcc-mobile-bottom-nav{
    left:8px;right:8px;bottom:max(6px,env(safe-area-inset-bottom));width:auto;max-width:calc(100vw - 16px);padding:4px;border-radius:17px;
    background:rgba(2,7,10,.95);box-shadow:0 12px 30px rgba(0,0,0,.30);overflow:hidden
  }
  html[data-theme="light"] .zcc-mobile-bottom-nav{background:rgba(250,252,254,.96);box-shadow:0 10px 26px rgba(31,55,73,.16)}
  .zcc-mobile-bottom-nav a{min-width:0;min-height:46px;gap:1px;border-radius:12px;font-size:8px}
  .zcc-mobile-bottom-nav a span:first-child{font-size:16px;line-height:1}
  .zcc-mobile-bottom-nav a.active{box-shadow:inset 0 -2px 0 var(--z577-red)}

  /* Login keeps the same language but fits small screens without lateral drift. */
  body.zcc-auth-v578{padding:10px}
  body.zcc-auth-v578 .zcc-auth-card-v577{width:100%;max-width:430px;border-radius:24px}
  body.zcc-auth-v578 .zcc-login-v577{gap:17px;padding:28px 18px 22px}
  body.zcc-auth-v578 .zcc-login-brand{padding-right:44px}
  body.zcc-auth-v578 .zcc-login-heading h1{font-size:28px}
  body.zcc-auth-v578 .zcc-input-shell{min-width:0}
  body.zcc-auth-v578 .zcc-input-shell input{min-width:0;width:100%}
}

@media (min-width:431px) and (max-width:860px){
  body.zcc-ui-v578 .zcc-metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.zcc-ui-v578 .zcc-metric-tile:last-child:nth-child(odd){grid-column:auto}
}

@media (max-width:360px){
  body.zcc-ui-v578 .main-content{padding-left:6px!important;padding-right:6px!important}
  body.zcc-ui-v578 .zcc-kpi-card{padding:9px}
  body.zcc-ui-v578 .zcc-kpi-value{font-size:16px}
  body.zcc-ui-v578 .zcc-brand-copy small{display:none}
  .zcc-mobile-bottom-nav{left:6px;right:6px;max-width:calc(100vw - 12px)}
}
