/* Phase 3B · Admin shell split CSS. Loaded by /admin only; legacy fallback remains on admin-core.css. */
.admin-nav button.access-locked{opacity:.44;filter:saturate(.4);position:relative}
.admin-nav button.access-locked::after{content:'LOCK';position:absolute;right:10px;top:10px;font-size:9px;font-weight:900;letter-spacing:.08em;color:#f5d48a;border:1px solid rgba(245,212,138,.32);border-radius:999px;padding:2px 6px;background:rgba(0,0,0,.28)}
.admin-nav button[data-module].is-loading{opacity:.7;cursor:progress}
.admin-nav button[data-module].is-loading::after{content:'LOAD';position:absolute;right:10px;top:10px;font-size:9px;font-weight:900;letter-spacing:.08em;color:#8df0bd;border:1px solid rgba(141,240,189,.34);border-radius:999px;padding:2px 6px;background:rgba(0,0,0,.28)}
.admin-shell-performance-note{border:1px solid rgba(141,240,189,.26);border-radius:16px;background:rgba(141,240,189,.06);color:#d9f8e6;padding:12px 14px;font-size:12px;line-height:1.5}
.module-root.is-loading{position:relative;min-height:180px}
.module-root.is-loading::before{content:'Đang tải module...';position:absolute;inset:0;display:grid;place-items:center;border:1px dashed rgba(212,175,55,.25);border-radius:18px;color:#f5d48a;background:rgba(2,10,7,.28);z-index:2}

/* CLEAN_WORKSPACE_ADMIN_OS · compact feature sidebar, no phase/patch garbage */
.clean-workspace-admin-os .admin-nav.clean-admin-nav button { min-height: 54px; }
.clean-workspace-admin-os .admin-nav.clean-admin-nav button b { font-size: 13px; }
.clean-workspace-admin-os .admin-nav.clean-admin-nav button small { font-size: 10px; opacity: .72; }
.clean-workspace-admin-os .clean-legacy-box { opacity: .7; }
.clean-workspace-admin-os .module-root .bwos-tree { list-style: none; padding-left: 0; display: grid; gap: 8px; }
.clean-workspace-admin-os .module-root .bwos-tree ul { list-style: none; padding-left: 18px; margin-top: 8px; display: grid; gap: 8px; border-left: 1px solid rgba(224,194,105,.22); }
.clean-workspace-admin-os .module-root .bwos-node { width: 100%; text-align: left; display: grid; gap: 2px; }
.clean-workspace-admin-os .module-root .bwos-node small { opacity: .75; }

/* v18.8.9.34.0 Workspace Context Adapter */
.workspace-context-pill{display:inline-flex!important;align-items:center;gap:8px;max-width:360px;text-align:left;border:1px solid rgba(212,175,55,.34)!important;background:linear-gradient(135deg,rgba(6,43,30,.86),rgba(2,18,14,.88))!important;color:#f8f0d0!important;}
.workspace-context-pill b{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.1;}
.workspace-context-pill small{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.72;font-size:10px;line-height:1.1;}
.workspace-context-pill.is-global{border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.06)!important;color:#e8f5ef!important;}
body[data-workspace-id]:not([data-workspace-id="global"]) .module-root::before{content:"Active workspace: " attr(data-workspace-id) " · " attr(data-workspace-industry);display:block;margin:0 0 12px;padding:8px 12px;border:1px solid rgba(212,175,55,.22);border-radius:999px;color:#d4af37;background:rgba(212,175,55,.08);font-size:12px;font-weight:700;letter-spacing:.02em;}

/* v18.8.9.34.0 User & Permission Center */
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:8px}.check-card{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid rgba(212,175,55,.18);border-radius:14px;background:rgba(255,255,255,.035)}.check-card b{display:block;font-size:12px}.check-card small{display:block;opacity:.7;font-size:10px}.action-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip-check{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.04);font-size:12px}.tab-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.module-card .permission-grid input,.module-card .action-chip-row input{accent-color:#d4af37}


/* v18.8.9.36.40 · Admin mobile/performance safety */
.admin-shell, .admin-main, .module-root { min-width: 0; }
.module-root { contain: layout style; }
.module-root .panel, .module-root table, .module-root .standard-table { max-width: 100%; }
.module-root table { table-layout: auto; }
@media (max-width: 900px) {
  .admin-shell { display: block; }
  .admin-sidebar { position: fixed; inset: 0 auto 0 0; width: min(86vw, 340px); transform: translateX(-105%); transition: transform .22s ease; z-index: 80; overflow:auto; }
  body.sidebar-open .admin-sidebar { transform: translateX(0); }
  .admin-main { width: 100%; padding-left: 0; }
  .admin-topbar { position: sticky; top: 0; z-index: 40; backdrop-filter: blur(14px); }
  .top-actions { flex-wrap: wrap; justify-content: flex-start; }
  .module-root { overflow-x: hidden; }
  .module-root .standard-table, .module-root table { min-width: 760px; }
  .module-root .panel { overflow-x: auto; }
}


/* v18.8.9.36.40 · Floating Data Vault */
.admin-vault-float{
  position:fixed;right:18px;bottom:18px;z-index:90;
  display:inline-flex;align-items:center;gap:8px;
  min-height:44px;padding:0 14px;border-radius:999px;
  background:linear-gradient(135deg,#fff7d7,#d3a84e);
  color:#07251c;text-decoration:none;font-weight:900;
  border:1px solid rgba(255,230,160,.55);
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.admin-vault-float span{font-size:13px}
@media(max-width:760px){
  .admin-vault-float{right:12px;bottom:74px;padding:0 12px}
  .admin-vault-float span{display:none}
}
