/* DiscordPBX shared shell chrome.
   Static stylesheet shared by Matrix, Skype, Operator, Places and Character Studio.
   Interface switching deliberately uses native <dialog> instead of injected overlay CSS. */

.pbxGlobalNavButton,
.pbxUiSwitchButton,
.pbxCharacterButton{
  position:fixed;
  bottom:14px;
  z-index:520;
  min-height:42px;
  padding:8px 13px;
  border:1px solid rgba(132,154,184,.36);
  border-radius:13px;
  background:rgba(9,16,25,.94);
  backdrop-filter:blur(18px);
  color:#f3f7fc;
  font:800 11px/1 system-ui,-apple-system,sans-serif;
  box-shadow:0 14px 42px rgba(0,0,0,.3);
  appearance:none;
}
.pbxGlobalNavButton{left:14px}
.pbxUiSwitchButton{left:104px}
.pbxCharacterButton{left:214px}
.pbxUiSwitchButton:hover,
.pbxUiSwitchButton:focus-visible,
.pbxCharacterButton:hover,
.pbxCharacterButton:focus-visible,
.pbxGlobalNavButton:hover,
.pbxGlobalNavButton:focus-visible{
  outline:none;
  border-color:rgba(108,166,255,.68);
  background:#12253a;
}

.pbxGlobalNav{
  position:fixed;
  left:14px;
  bottom:64px;
  z-index:521;
  width:min(360px,calc(100vw - 28px));
  max-height:72vh;
  overflow:auto;
  display:none;
  padding:10px;
  border:1px solid rgba(132,154,184,.30);
  border-radius:18px;
  background:rgba(8,14,23,.98);
  backdrop-filter:blur(22px);
  box-shadow:0 24px 72px rgba(0,0,0,.44);
  color:#f3f7fc;
}
.pbxGlobalNav.open{display:block}
.pbxGlobalNavHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 5px 10px}
.pbxGlobalNavHead b{font:850 14px/1.2 system-ui}
.pbxGlobalNavHead small{display:block;color:#8ea1ba;font:700 10px/1.2 system-ui;margin-top:3px}
.pbxGlobalNavClose{border:0;background:transparent;color:#98abc3;font-size:21px;min-width:36px;min-height:36px}
.pbxGlobalNavSection{padding:9px 4px;border-top:1px solid rgba(132,154,184,.15)}
.pbxGlobalNavSection:first-of-type{border-top:0}
.pbxGlobalNavLabel{margin:0 0 7px;color:#8ea1ba;font:800 9px/1.2 system-ui;text-transform:uppercase;letter-spacing:.08em}
.pbxGlobalNavGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pbxGlobalNav button.pbxTool{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:8px 10px;
  border:1px solid rgba(132,154,184,.18);
  border-radius:11px;
  background:rgba(18,28,42,.78);
  color:#eef4fb;
  text-align:left;
  font:750 11px/1.25 system-ui;
}
.pbxGlobalNav button.pbxTool:hover,
.pbxGlobalNav button.pbxTool:focus-visible{
  outline:none;
  border-color:rgba(108,166,255,.62);
  background:#17283b;
}
.pbxGlobalNav button.pbxTool span{font-size:15px}

.pbxCapabilityOverlay{
  position:fixed;
  inset:0;
  z-index:600;
  display:none;
  background:rgba(3,8,13,.76);
  backdrop-filter:blur(8px);
  padding:18px;
}
.pbxCapabilityOverlay.open{display:flex}
.pbxCapabilityPanel{
  margin:auto;
  width:min(1480px,100%);
  height:min(92dvh,980px);
  display:flex;
  flex-direction:column;
  border:1px solid rgba(132,154,184,.30);
  border-radius:18px;
  background:#08111b;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
  overflow:hidden;
}
.pbxCapabilityHead{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(132,154,184,.18)}
.pbxCapabilityHead strong{font:850 14px/1.2 system-ui}
.pbxCapabilityHead small{color:#8ea1ba;font:700 10px/1.2 system-ui}
.pbxCapabilityHead button{margin-left:auto;min-width:40px;min-height:36px;border:1px solid rgba(132,154,184,.22);border-radius:10px;background:#111e2c;color:#eef4fb;font-weight:800}
.pbxCapabilityFrame{width:100%;height:100%;border:0;background:#07101a;flex:1}

/* Compact interface chooser. This is intentionally a small non-modal menu. */
.pbxInterfaceMenu{
  position:fixed;
  left:104px;
  bottom:64px;
  z-index:740;
  display:none;
  width:290px;
  max-width:calc(100vw - 28px);
  padding:8px;
  border:1px solid rgba(132,154,184,.28);
  border-radius:16px;
  background:rgba(8,16,25,.98);
  color:#eef4fb;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
  backdrop-filter:blur(20px);
}
.pbxInterfaceMenu.open{display:block}
.pbxInterfaceMenuHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:36px;
  padding:2px 5px 7px 9px;
  color:#9fb2c8;
  font:800 11px/1 system-ui,-apple-system,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pbxInterfaceMenuClose{
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#9fb2c8;
  font:500 20px/1 system-ui;
  appearance:none;
}
.pbxInterfaceMenuClose:hover,
.pbxInterfaceMenuClose:focus-visible{
  outline:none;
  background:#132235;
  color:#fff;
}
.pbxInterfaceMenuOptions{display:grid;gap:5px}
.pbxInterfaceMenuOption{
  width:100%;
  min-height:52px;
  display:grid;
  grid-template-columns:1fr 24px;
  align-items:center;
  gap:8px;
  padding:9px 10px 9px 12px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#eef4fb;
  text-align:left;
  cursor:pointer;
  appearance:none;
}
.pbxInterfaceMenuOption:hover,
.pbxInterfaceMenuOption:focus-visible{
  outline:none;
  border-color:rgba(108,166,255,.36);
  background:#102033;
}
.pbxInterfaceMenuOption.current{
  background:#10263b;
  border-color:rgba(108,166,255,.48);
}
.pbxInterfaceMenuText strong{
  display:block;
  font:800 13px/1.2 system-ui,-apple-system,sans-serif;
}
.pbxInterfaceMenuText small{
  display:block;
  margin-top:3px;
  color:#8fa5bd;
  font:500 10px/1.3 system-ui,-apple-system,sans-serif;
}
.pbxInterfaceMenuCheck{
  color:#76b5ff;
  text-align:center;
  font:900 15px/1 system-ui;
}

@media(max-width:760px){
  .pbxGlobalNavButton,.pbxUiSwitchButton,.pbxCharacterButton{bottom:calc(78px + env(safe-area-inset-bottom))}
  .pbxGlobalNavButton{left:10px}
  .pbxUiSwitchButton{left:auto;right:10px}
  .pbxCharacterButton{left:50%;transform:translateX(-50%)}
  .pbxGlobalNav{left:8px;right:8px;bottom:calc(126px + env(safe-area-inset-bottom));width:auto;max-height:58vh}
  .pbxGlobalNavGrid{grid-template-columns:1fr 1fr}
  .pbxCapabilityOverlay{padding:0}
  .pbxCapabilityPanel{width:100%;height:100dvh;border-radius:0;border:0}
  .pbxCapabilityHead{padding-top:calc(10px + env(safe-area-inset-top))}
  .pbxInterfaceMenu{
    left:auto;
    right:10px;
    bottom:calc(126px + env(safe-area-inset-bottom));
    width:min(300px,calc(100vw - 20px));
  }
}
@media(max-width:390px){
  .pbxGlobalNavGrid{grid-template-columns:1fr}
  .pbxUiSwitchButton{max-width:130px}
}
