
/* Flinapp CMS V4.24.24 — professional theme-aware UI + modal leakage repair */
:root{
  --fx24-bg:#07111f;--fx24-panel:#0b1b2d;--fx24-panel2:#0d2237;--fx24-line:rgba(119,157,197,.16);
  --fx24-text:#f5f9ff;--fx24-muted:#8ca3ba;--fx24-primary:#198ff0;--fx24-secondary:#6b50ed;--fx24-success:#19c58b;
}
.page-theme-aurastudio{--fx24-primary:#8c4fe9;--fx24-secondary:#c53fc6;--fx24-panel:#12192b;--fx24-panel2:#151b31}
.page-theme-novatech{--fx24-primary:#168ff0;--fx24-secondary:#4369f2;--fx24-panel:#0b1d2e;--fx24-panel2:#0d243a}

/* Critical: dynamic modals must never become normal-flow giant blocks. */
#appModalRoot{
  position:fixed!important;inset:0!important;z-index:110000!important;pointer-events:none!important;
  width:100vw!important;height:100vh!important;overflow:visible!important;
}
#appModalRoot:empty{display:none!important}
#appModalRoot .app-modal-overlay{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  display:grid!important;place-items:center!important;padding:18px!important;pointer-events:auto!important;
}
#appModalRoot .app-modal{
  position:relative!important;width:min(var(--modal-width,620px),calc(100vw - 28px))!important;
  max-height:min(88vh,850px)!important;overflow:auto!important;
  background:linear-gradient(180deg,var(--fx24-panel2),#091624)!important;
  border:1px solid rgba(129,168,207,.20)!important;border-radius:22px!important;
  box-shadow:0 35px 100px rgba(0,0,0,.55)!important;
}
#appToastRoot{position:fixed!important;z-index:110100!important}

/* Live theme preview is always an overlay, never page content. */
#fx20Preview:not(.hidden),.fx20-modal:not(.hidden){
  position:fixed!important;inset:0!important;z-index:109000!important;margin:0!important;
  width:100vw!important;height:100vh!important;display:grid!important;place-items:center!important;
}

/* Professional global shell */
body,.studio-page-designed{background:var(--fx24-bg)}
.sidebar{background:linear-gradient(180deg,#081521,#07111c)!important;border-color:var(--fx24-line)!important}
.main{min-width:0!important;overflow-x:hidden!important}
.topbar{padding-bottom:16px!important;border-bottom:1px solid rgba(116,155,194,.10)!important}
.topbar h1{letter-spacing:-.035em!important}
.card{
  border-color:var(--fx24-line)!important;
  background:linear-gradient(180deg,rgba(13,31,50,.96),rgba(8,21,35,.97))!important;
  border-radius:18px!important;box-shadow:0 18px 45px rgba(0,0,0,.13)!important;
}
.page-theme-aurastudio .card{
  background:linear-gradient(180deg,rgba(19,25,43,.97),rgba(10,17,31,.98))!important;
}

/* Builds are operational cards, not raw rows. */
.build-card{
  border:1px solid var(--fx24-line)!important;border-radius:16px!important;
  background:linear-gradient(180deg,var(--fx24-panel2),rgba(8,20,34,.96))!important;
  padding:16px!important;box-shadow:0 12px 28px rgba(0,0,0,.10)!important;
}
.build-card-main{gap:14px!important}
.build-card-main strong{color:var(--fx24-text)!important;font-size:14px!important}
.build-card-main small{color:var(--fx24-muted)!important}
.build-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:12px!important}
.build-actions .primary,.build-actions .ghost,.build-actions .danger,
.admin-edit-build,.edit-build-app{
  min-height:38px!important;border-radius:10px!important;padding:9px 12px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  text-decoration:none!important;font-weight:800!important;font-size:11px!important;
}
.admin-edit-build,.edit-build-app{
  border:1px solid rgba(91,142,221,.32)!important;
  background:linear-gradient(135deg,rgba(28,111,214,.20),rgba(106,75,236,.18))!important;
  color:#ddecff!important;
}
.admin-edit-build:hover,.edit-build-app:hover{transform:translateY(-1px)!important;border-color:rgba(86,154,242,.52)!important}

/* Admin build table is contained and responsive. */
#buildTable{max-width:100%!important;overflow-x:auto!important}
.build-admin-row{min-width:900px!important}
.build-admin-row .build-actions{margin:0!important}

/* App Studio editor hierarchy */
.studio-page-designed .controls,.studio-page-designed .studio-panel,.studio-page-designed .editor-panel{
  border:1px solid var(--fx24-line)!important;border-radius:18px!important;
}
.studio-page-designed input,.studio-page-designed select,.studio-page-designed textarea{
  border-radius:11px!important;border-color:rgba(116,155,195,.20)!important;
}
.studio-page-designed .primary{
  background:linear-gradient(135deg,var(--fx24-primary),var(--fx24-secondary))!important;
}

/* Prevent theme/demo content from escaping containers. */
.admin-section,.view,.designer-pane,.studio-page-designed,.portal-auth-shell{min-width:0!important;max-width:100%!important}
.admin-section img,.admin-section svg,.admin-section iframe,
.studio-page-designed img,.studio-page-designed svg,.studio-page-designed iframe{max-width:100%!important}
.admin-section{overflow-x:hidden!important}
.fx-upgrade-shell,.system-module-card{max-width:100%!important}

/* Fallback toast used by the APK repair script. */
.fx42424-toast{
  position:fixed;right:18px;top:18px;z-index:120000;max-width:min(390px,calc(100vw - 36px));
  padding:13px 15px;border-radius:13px;border:1px solid rgba(81,160,135,.35);
  background:#0d2d29;color:#dffbf3;box-shadow:0 18px 45px rgba(0,0,0,.35);font-size:12px;font-weight:750
}
.fx42424-toast.error{background:#3a1720;border-color:#844051;color:#ffdce4}

@media(max-width:900px){
  .build-admin-row{min-width:760px!important}
}
@media(max-width:700px){
  .build-actions{display:grid!important;grid-template-columns:1fr!important}
  .build-actions>*{width:100%!important}
  .app-modal-actions{display:grid!important;grid-template-columns:1fr!important}
}
