/* Phase 45.47.111 — Lethabo movable dock + role/tier intelligence */
:root{--lfp-lethabo-bottom:18px;--lfp-lethabo-gold:#c79a2b;--lfp-lethabo-green:#153c2d}
body .lfpv8-phase427-launcher,body .lfpv8-phase427-launcher.lfp4527-lethabo-launcher,body.lfp454721-shop .lfpv8-phase427-launcher.lfp4527-lethabo-launcher,body.lfp454721-checkout .lfpv8-phase427-launcher.lfp4527-lethabo-launcher{right:18px!important;left:auto!important;bottom:var(--lfp-lethabo-bottom)!important;max-width:min(260px,calc(100vw - 72px));border:1px solid rgba(199,154,43,.72)!important;background:linear-gradient(135deg,#173d2e,#0f5132)!important;box-shadow:0 18px 44px rgba(17,58,42,.27),0 0 0 2px rgba(255,255,255,.72)!important;touch-action:none;user-select:none;transition:box-shadow .18s ease,transform .18s ease,bottom .18s ease}
body .lfpv8-phase427-launcher:hover,body .lfpv8-phase427-launcher:focus-visible{transform:translateY(-2px);box-shadow:0 22px 50px rgba(17,58,42,.34),0 0 0 3px rgba(199,154,43,.22)!important}
body .lfpv8-phase427-panel.floating{right:18px!important;left:auto!important;bottom:calc(var(--lfp-lethabo-bottom) + 68px)!important;max-height:min(78vh,calc(100vh - var(--lfp-lethabo-bottom) - 92px));overflow-y:auto;border:1px solid rgba(199,154,43,.46)!important;box-shadow:0 26px 60px rgba(17,58,42,.24)!important}
.lfp4547111-dock-controls{position:fixed;right:286px;bottom:calc(var(--lfp-lethabo-bottom) + 3px);z-index:99993;display:flex;align-items:center;gap:4px;padding:4px;border-radius:999px;border:1px solid rgba(199,154,43,.45);background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(17,58,42,.14);opacity:.24;transition:opacity .18s ease,bottom .18s ease}
.lfp4547111-dock-controls:hover,.lfp4547111-dock-controls:focus-within{opacity:1}
.lfp4547111-dock-controls button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#fff;color:#173d2e;font-weight:900;cursor:pointer}
.lfp4547111-dock-controls button:hover,.lfp4547111-dock-controls button:focus-visible{background:#f7efd8;outline:2px solid rgba(199,154,43,.34)}
.lfp4547111-dragging .lfpv8-phase427-launcher{transition:none!important;cursor:ns-resize!important;transform:none!important}
.lfp4547111-statuses{display:flex;gap:6px;flex-wrap:wrap;padding:8px 18px 0}
.lfp4547111-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;border:1px solid rgba(199,154,43,.30);background:#fffaf0;color:#574410;font-size:10.5px;font-weight:800;line-height:1.1}
.lfp4547111-chip.ok{background:#eefaf3;color:#17663f;border-color:rgba(23,102,63,.22)}
.lfp4547111-chip.warn{background:#fff5e7;color:#85530b;border-color:rgba(133,83,11,.25)}
.lfp4547111-chip.scope{background:#f3f7f5;color:#244c3b;border-color:rgba(36,76,59,.17)}
.lfp4547111-scope-note{margin:8px 18px 0;padding:9px 11px;border-left:3px solid var(--lfp-lethabo-gold);border-radius:8px;background:#fbfaf6;color:#4b5d55;font-size:11.5px;line-height:1.4}
.lfp4547111-drag-hint{position:absolute;right:8px;top:-18px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.94);color:#3f554c;font-size:9px!important;font-weight:800!important;opacity:.30!important;box-shadow:0 4px 12px rgba(17,58,42,.10);pointer-events:none}.lfpv8-phase427-launcher:hover .lfp4547111-drag-hint,.lfpv8-phase427-launcher:focus-visible .lfp4547111-drag-hint{opacity:.9!important}
body.lfp4547111-panel-below .lfpv8-phase427-panel.floating{top:var(--lfp-lethabo-panel-top,90px)!important;bottom:auto!important;max-height:calc(100vh - var(--lfp-lethabo-panel-top,90px) - 10px)}
.lfp45440-active .lfp4527-mascot{box-shadow:0 0 0 3px #fff,0 0 0 5px rgba(199,154,43,.38),0 9px 22px rgba(17,58,42,.20)!important}
body .lfpv8-phase427-head{background:linear-gradient(135deg,#fbf8ed 0%,#f4faf6 100%)!important;border-bottom-color:rgba(199,154,43,.23)!important}
body .lfpv8-phase427-pill{background:#173d2e!important;color:#fff!important;border:1px solid rgba(199,154,43,.52)!important}
body .lfpv8-phase427-quick-btn:hover{border-color:rgba(199,154,43,.55);box-shadow:0 4px 12px rgba(17,58,42,.08)}
@media(max-width:640px){
 body .lfpv8-phase427-launcher,body .lfpv8-phase427-launcher.lfp4527-lethabo-launcher,body.lfp454721-shop .lfpv8-phase427-launcher.lfp4527-lethabo-launcher,body.lfp454721-checkout .lfpv8-phase427-launcher.lfp4527-lethabo-launcher{right:10px!important;left:auto!important;width:auto!important;bottom:var(--lfp-lethabo-bottom)!important;max-width:min(245px,calc(100vw - 58px));padding:11px 14px!important}
 body .lfpv8-phase427-panel.floating{left:10px!important;right:10px!important;width:auto!important;bottom:calc(var(--lfp-lethabo-bottom) + 62px)!important;max-height:min(74vh,calc(100vh - var(--lfp-lethabo-bottom) - 82px))}
 .lfp4547111-dock-controls{right:auto;left:10px;bottom:calc(var(--lfp-lethabo-bottom) + 4px)}
}
@media(prefers-reduced-motion:reduce){body .lfpv8-phase427-launcher,.lfp4547111-dock-controls{transition:none!important}}
@media print{.lfpv8-phase427-launcher,.lfpv8-phase427-panel.floating,.lfp4547111-dock-controls{display:none!important}}

/* Phase 45.47.168: active Lethabo portrait on ALL role portals, not just catalogue pages. */
body.lfp166-portal-help .lfpv8-phase427-launcher.lfp166-mini-lethabo,
body.lfp166-portal-help.lfp4527-help-off .lfpv8-phase427-launcher.lfp166-mini-lethabo{
 position:fixed!important;right:15px!important;left:auto!important;
 bottom:calc(16px + env(safe-area-inset-bottom))!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:48px!important;min-width:48px!important;max-width:48px!important;
 height:48px!important;min-height:48px!important;max-height:48px!important;
 padding:0!important;border:2px solid #d1ae58!important;border-radius:50%!important;
 background:#165c43!important;box-shadow:0 7px 20px rgba(9,44,30,.28)!important;
 overflow:hidden!important;visibility:visible!important;opacity:1!important;z-index:99991!important;cursor:pointer!important;
}
body.lfp166-portal-help .lfpv8-phase427-launcher .lfp168-lethabo-portrait{display:block!important;width:46px!important;height:46px!important;max-width:46px!important;max-height:46px!important;margin:0!important;object-fit:cover!important;border-radius:50%!important}
body.lfp166-portal-help .lfpv8-phase427-launcher .lfp4547111-drag-hint,
body.lfp166-portal-help .lfp4547111-dock-controls{display:none!important}
body.lfp166-portal-help .lfpv8-phase427-panel.floating{right:12px!important;left:auto!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;max-width:calc(100vw - 24px)!important;z-index:99992!important}
body.lfp166-portal-help.lfp454777-catalogue-spread .lfpv8-phase427-launcher.lfp166-mini-lethabo{bottom:calc(80px + env(safe-area-inset-bottom))!important}
body.lfp166-portal-help.lfp454777-catalogue-spread .lfpv8-phase427-panel.floating{bottom:calc(136px + env(safe-area-inset-bottom))!important}
@media(max-width:600px){body.lfp166-portal-help .lfpv8-phase427-panel.floating{left:10px!important;right:10px!important;width:auto!important;max-height:70dvh!important}}


/* Phase 45.47.184 — single small movable Lethabo bubble on portal surfaces */
body.lfp427-compact-launcher-surface .lfpv8-phase427-launcher.lfp166-mini-lethabo,
body.lfp454777-catalogue-spread .lfpv8-phase427-launcher.lfp166-mini-lethabo{
  position:fixed!important;right:14px!important;left:auto!important;bottom:calc(var(--lfp-lethabo-bottom) + env(safe-area-inset-bottom))!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;
  width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;
  padding:0!important;border-radius:50%!important;overflow:hidden!important;box-shadow:0 12px 28px rgba(17,58,42,.24),0 0 0 2px rgba(255,255,255,.82)!important;
}
body.lfp427-compact-launcher-surface .lfpv8-phase427-launcher.lfp166-mini-lethabo .main,
body.lfp427-compact-launcher-surface .lfpv8-phase427-launcher.lfp166-mini-lethabo .sub,
body.lfp454777-catalogue-spread .lfpv8-phase427-launcher.lfp166-mini-lethabo .main,
body.lfp454777-catalogue-spread .lfpv8-phase427-launcher.lfp166-mini-lethabo .sub{display:none!important}
body.lfp427-compact-launcher-surface .lfpv8-phase427-launcher.lfp166-mini-lethabo .sf172-lethabo-launch-avatar,
body.lfp427-compact-launcher-surface .lfpv8-phase427-launcher.lfp166-mini-lethabo .lfp168-lethabo-portrait,
body.lfp454777-catalogue-spread .lfpv8-phase427-launcher.lfp166-mini-lethabo .sf172-lethabo-launch-avatar,
body.lfp454777-catalogue-spread .lfpv8-phase427-launcher.lfp166-mini-lethabo .lfp168-lethabo-portrait{
  width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;max-width:52px!important;max-height:52px!important;display:block!important;object-fit:cover!important;border-radius:50%!important;margin:0!important;
}
body.lfp427-compact-launcher-surface .lfpv8-phase427-launcher.lfp166-mini-lethabo .lfp4547111-drag-hint,
body.lfp454777-catalogue-spread .lfpv8-phase427-launcher.lfp166-mini-lethabo .lfp4547111-drag-hint{display:none!important}
body.lfp427-compact-launcher-surface .lfp4547111-dock-controls,
body.lfp454777-catalogue-spread .lfp4547111-dock-controls{display:none!important}
body.lfp427-compact-launcher-surface .lfpv8-phase427-panel.floating,
body.lfp454777-catalogue-spread .lfpv8-phase427-panel.floating{bottom:calc(var(--lfp-lethabo-bottom) + 62px)!important}
@media(max-width:700px){
  body.lfp427-compact-launcher-surface .lfpv8-phase427-launcher.lfp166-mini-lethabo,
  body.lfp454777-catalogue-spread .lfpv8-phase427-launcher.lfp166-mini-lethabo{right:10px!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:48px!important;min-height:48px!important}
  body.lfp427-compact-launcher-surface .lfpv8-phase427-launcher.lfp166-mini-lethabo .sf172-lethabo-launch-avatar,
  body.lfp427-compact-launcher-surface .lfpv8-phase427-launcher.lfp166-mini-lethabo .lfp168-lethabo-portrait,
  body.lfp454777-catalogue-spread .lfpv8-phase427-launcher.lfp166-mini-lethabo .sf172-lethabo-launch-avatar,
  body.lfp454777-catalogue-spread .lfpv8-phase427-launcher.lfp166-mini-lethabo .lfp168-lethabo-portrait{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important}
}


/* Phase 45.47.186: one interactive drag-anywhere Lethabo launcher. */
html body .lfpv8-phase427-launcher[data-lfpv8-phase427-open]{
  pointer-events:auto!important;touch-action:none!important;cursor:grab!important;
  user-select:none!important;-webkit-user-select:none!important;
  z-index:999991!important;transition:box-shadow .12s ease!important;
}
html body.sf186-lethabo-dragging .lfpv8-phase427-launcher[data-lfpv8-phase427-open]{
  cursor:grabbing!important;transition:none!important;transform:none!important;
}
html body .lfpv8-phase427-panel.floating[data-lfpv8-phase427-panel]{
  z-index:999992!important;max-width:calc(100vw - 16px)!important;
}
html body .lfpv8-phase427-panel.floating.open{display:block!important;pointer-events:auto!important}
html body .lfpv8-phase427-launcher[data-lfpv8-phase427-open]:focus-visible{
  outline:3px solid #d1ac56!important;outline-offset:3px!important;
}
html body .lfp4547111-dock-controls{display:none!important}
@media(max-width:640px){html body .lfpv8-phase427-panel.floating.open{width:min(390px,calc(100vw - 16px))!important}}

html body.sf186-lethabo-active .lfpv8-phase427-launcher[data-lfpv8-phase427-open]{
 display:flex!important;visibility:visible!important;opacity:1!important;
}
html body.sf186-lethabo-active .lfp4527-restore{display:none!important}


/* Phase 45.47.188 — entire portrait button is the drag/click target. */
html body .lfpv8-phase427-launcher[data-lfpv8-phase427-open],
html body .lfpv8-phase427-launcher.lfp166-mini-lethabo[data-lfpv8-phase427-open]{
 cursor:grab!important;touch-action:none!important;
 -webkit-user-select:none!important;user-select:none!important;
 pointer-events:auto!important;
}
html body .lfpv8-phase427-launcher[data-lfpv8-phase427-open] *,
html body .lfpv8-phase427-launcher[data-lfpv8-phase427-open] img{
 pointer-events:none!important;touch-action:none!important;
 -webkit-user-drag:none!important;-webkit-user-select:none!important;user-select:none!important;
}
html body.sf186-lethabo-dragging .lfpv8-phase427-launcher[data-lfpv8-phase427-open]{cursor:grabbing!important}
