/* File: public_html/admin/portal-admin-fixes.css */
.page-load-status[hidden]{display:none!important}
.page-load-status{padding:14px;border:1px solid #cfe0ff;border-radius:12px;margin-bottom:14px;background:#eef5ff;color:#294f8b}
/* Volca Live Admin single-shell navigation patch v10.0.79 */
:root{
  --volca-blue:#1677ff;
  --volca-blue-700:#0e5fd4;
  --volca-ink:#16233a;
  --volca-muted:#6f7f99;
  --volca-line:#d7e4f5;
  --volca-panel:#ffffff;
  --volca-soft:#f4f8fe;
}

/* Keep one stable shell. The sidebar never gets replaced by legacy pages. */
#appView.app-shell{height:100vh;min-height:0;overflow:hidden}
#appView .sidebar{height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#appView .sidebar-brand,#appView .sidebar-footer{flex:0 0 auto}
#appView .nav-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:12px}
#appView .main{min-width:0;height:100vh;overflow:hidden;display:flex;flex-direction:column}
#appView .main>.topbar{flex:0 0 auto}
#appView .main>.page{flex:1 1 auto;min-height:0;overflow:auto}

/* Navigation must keep the same active color across SPA and embedded legacy modules. */
.nav-list .nav-item,
.nav-list .nav-group-toggle{
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
.nav-list .nav-item.active,
.nav-list .nav-item[aria-current="page"]{
  color:#fff !important;
  background:linear-gradient(135deg,var(--volca-blue),#4b8dff) !important;
  border-color:transparent !important;
}
.nav-group.has-active > .nav-group-toggle{
  color:#173967 !important;
  background:#eaf3ff !important;
}
.nav-group.open>.nav-submenu{display:block}

/* Embedded legacy module: same sidebar/topbar, no second navigation page. */
.volca-legacy-module{padding:0!important;overflow:hidden!important;background:#f7f9fd!important;position:relative}
.volca-legacy-module.active{display:flex!important;flex-direction:column}
.volca-module-frame-wrap{flex:1 1 auto;width:100%;height:100%;min-height:0;padding:0;box-sizing:border-box;position:relative;background:#f7f9fd}
#volcaLegacyFrame{display:block;width:100%;height:100%;border:0;border-radius:0;background:#f7f9fd;box-shadow:none}
.volca-module-status{position:absolute;z-index:8;top:18px;right:22px;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #cfe0f5;border-radius:999px;background:rgba(255,255,255,.96);color:#47617f;font-size:11px;font-weight:750;box-shadow:0 5px 18px rgba(34,73,123,.08)}
.volca-module-status.hidden{display:none!important}
.volca-module-dot{width:7px;height:7px;border-radius:50%;background:#1677ff;box-shadow:0 0 0 3px rgba(22,119,255,.12)}
.volca-module-error{position:absolute;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;background:rgba(247,249,253,.88);backdrop-filter:blur(3px);border-radius:14px}
.volca-module-error.hidden{display:none!important}
.volca-module-error-card{width:min(460px,calc(100% - 30px));padding:24px;border:1px solid #d8e4f4;border-radius:16px;background:#fff;box-shadow:0 14px 40px rgba(34,73,123,.12);text-align:center;color:#243551}
.volca-module-error-card b{display:block;font-size:17px;color:#17253c;margin-bottom:7px}
.volca-module-error-card p{margin:0 0 16px;color:#6f7f99;line-height:1.55}

/* Gift category restoration / compact toolbar. */
.gift-category-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 14px;
  padding:9px;
  border:1px solid var(--volca-line);
  background:var(--volca-soft);
  border-radius:14px;
}
.gift-category-chip{
  appearance:none;
  border:1px solid #c8d9ef;
  background:#fff;
  color:#31527c;
  border-radius:999px;
  min-height:34px;
  padding:7px 14px;
  font:inherit;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.gift-category-chip:hover{border-color:#8bb7ee;background:#f8fbff}
.gift-category-chip.active{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#1677ff,#6b7dff);
  box-shadow:0 5px 14px rgba(22,119,255,.18);
}
.gift-admin-card.luxury{
  border-color:#d6b35d !important;
  box-shadow:inset 0 3px 0 #f0ca6b,0 8px 24px rgba(39,74,125,.08);
}
.gift-admin-card.luxury .gift-category-label{color:#986b00;font-weight:800}

/* Prevent theme/color jumps during page switches. */
body,.app-shell,.main,.page{background-color:#f7f9fd}
.sidebar,.topbar,.panel,.toolbar,.filters-grid{transition:none!important}

@media(max-width:900px){
  #appView .sidebar{position:fixed;height:100dvh}
  #appView .main{height:100dvh}
  .volca-module-frame-wrap{padding:0}
  .volca-module-error{inset:0}
  .volca-module-status{top:13px;right:13px}
}
