/* Catalogue hub chrome: login, client picker, viewer gate, admin switcher.
   The dashboard module brings its own (client-branded) styling. */
.hidden { display: none !important; }

/* ----- login / viewer gate ----- */
.login-body { min-height: 100vh; margin: 0; display: flex; align-items: center; justify-content: center;
  background: #0f1420; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.login-card { width: 340px; max-width: 92vw; background: #fff; border-radius: 14px; box-shadow: 0 12px 48px rgba(0,0,0,.28);
  padding: 28px 26px; display: flex; flex-direction: column; }
.login-title { font-size: 17px; font-weight: 600; margin: 0 0 4px; }
.login-sub { font-size: 12.5px; color: #5b6472; margin: 0 0 16px; }
.login-label { font-size: 12px; color: #5b6472; margin: 10px 0 4px; }
.login-input { box-sizing: border-box; width: 100%; padding: 9px 11px; border: 1px solid #d5d9e0; border-radius: 8px; font-size: 14px; }
.login-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.15); }
.login-error { color: #dc2626; font-size: 12.5px; margin-top: 10px; }
.login-btn { margin-top: 18px; padding: 10px; border: 0; border-radius: 8px; background: #3b82f6; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; }
.login-btn:hover { background: #2f6fe0; }

/* ----- client picker ----- */
.pick-body { min-height: 100vh; margin: 0; display: flex; align-items: center; justify-content: center;
  background: #0f1420; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.pick-card { width: 420px; max-width: 92vw; background: #fff; border-radius: 14px; box-shadow: 0 12px 48px rgba(0,0,0,.28); padding: 28px 26px; }
.pick-title { font-size: 17px; font-weight: 600; margin: 0 0 16px; }
.pick-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.pick-item { text-align: left; padding: 12px 14px; border: 1px solid #e2e6ec; border-radius: 10px; background: #f7f8fa; font-size: 14px; cursor: pointer; }
.pick-item:hover { border-color: #3b82f6; background: #eef4ff; }
.pick-empty { color: #5b6472; font-size: 13px; }

/* ----- admin switcher (floating, non-invasive over the branded dashboard) ----- */
#hub-admin-bar { position: fixed; bottom: 16px; right: 16px; z-index: 99999;
  display: flex; align-items: center; gap: 10px; background: rgba(18,22,32,.92); color: #fff;
  padding: 8px 12px; border-radius: 999px; box-shadow: 0 8px 30px rgba(0,0,0,.35);
  font: 12.5px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
#hub-admin-bar .hub-ab-label { color: #9aa3b2; }
#hub-admin-bar #hub-client { background: #2a3140; color: #fff; border: 1px solid #3a4253; border-radius: 8px; padding: 5px 8px; font-size: 12.5px; }
.hub-ab-link { color: #9aa3b2; text-decoration: none; }
.hub-ab-link:hover { color: #fff; }
