/* Signal Architect Campaign Manager · Sprint 8.3 · local user-owned persistence */
.sa-campaign-launcher{position:fixed;right:18px;top:52%;bottom:auto;transform:translateY(-50%);z-index:8600;border:1px solid rgba(136,172,255,.55);background:#101934;color:#f6f8ff;padding:11px 14px;border-radius:999px;font:700 12px/1 system-ui;letter-spacing:.08em;box-shadow:0 10px 35px rgba(0,0,0,.35);cursor:pointer}.sa-campaign-launcher span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;border-radius:50%;background:#7fa1ff;color:#071024}.sa-campaign-drawer{position:fixed;right:78px;top:50%;bottom:auto;transform:translateY(-50%);z-index:8599;width:min(440px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 100px));overflow:auto;background:#091126;color:#f4f7ff;border:1px solid rgba(136,172,255,.38);border-radius:18px;box-shadow:0 18px 70px rgba(0,0,0,.55);padding:18px}.sa-campaign-drawer[hidden]{display:none}.sa-campaign-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:12px}.sa-campaign-drawer h2{margin:3px 0 0;font-size:21px}.sa-campaign-drawer header span,.sa-campaign-current>span,.sa-campaign-row header span{font-size:10px;letter-spacing:.13em;color:#8ea8db}.sa-campaign-drawer>header button{border:0;background:transparent;color:#fff;font-size:26px;cursor:pointer}.sa-campaign-current{margin:14px 0;padding:14px;border-radius:12px;background:rgba(54,88,165,.22);border:1px solid rgba(125,159,238,.24)}.sa-campaign-current strong{display:block;margin:5px 0;font-size:16px}.sa-campaign-current small{display:block;color:#b9c8e8}.sa-campaign-current nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.sa-campaign-current a,.sa-campaign-toolbar button,.sa-campaign-toolbar label,.sa-campaign-row button,.sa-campaign-save{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(143,172,239,.35);background:#111d3a;color:#eaf0ff;border-radius:8px;padding:8px 9px;font-size:10px;font-weight:800;letter-spacing:.05em;text-decoration:none;cursor:pointer}.sa-campaign-toolbar{display:flex;gap:8px;margin:12px 0}.sa-campaign-row{padding:13px 0;border-top:1px solid rgba(255,255,255,.1)}.sa-campaign-row.active{border-left:3px solid #89a9ff;padding-left:10px}.sa-campaign-row header{display:flex;justify-content:space-between;gap:10px}.sa-campaign-row header strong{display:block;margin-top:4px}.sa-campaign-row header b{color:#aac0ff}.sa-campaign-row p{font-size:12px;color:#c9d5ef;margin:8px 0}.sa-campaign-row small{display:block;color:#8f9ebd;margin-bottom:9px}.sa-campaign-row>div{display:flex;flex-wrap:wrap;gap:5px}.sa-campaign-row button.danger{color:#ffb1b1}.sa-campaign-empty{color:#aab7d3;font-size:13px;padding:10px 0}.sa-campaign-drawer footer{margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font-size:10px;line-height:1.45;color:#8291b0}.sa-campaign-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;z-index:9000;background:#ecf2ff;color:#101832;padding:10px 14px;border-radius:10px;font-weight:750;transition:.2s}.sa-campaign-toast.show{opacity:1;transform:translate(-50%,0)}.sa-campaign-save{margin-top:10px;background:#243d7a}.sa-campaign-save.saved{background:#254f3e;border-color:#5bc28e}.sa-campaign-ownership-note{font-size:11px;color:#9dafd1;margin-top:8px}@media(max-width:600px){.sa-campaign-launcher{right:10px;top:auto;bottom:10px;transform:none}.sa-campaign-drawer{right:7px;top:auto;bottom:58px;transform:none;width:calc(100vw - 14px);max-height:calc(100vh - 76px);border-radius:14px}.sa-campaign-current nav a{flex:1 1 45%}}
/* Sprint 8.4 inherited Context Help alignment */
.sa-campaign-toolbar{align-items:center;flex-wrap:wrap}.sa-campaign-action-wrap>label{margin:0}.sa-campaign-row>div{align-items:center}


/* =========================================================
   FLOATING CONTROL COMPACT DOCK v1.0
   CAMPAIGNS = C
   Compact by default; hover/focus expands full label + count.
   Existing Campaign Manager behavior is unchanged.
   ========================================================= */
.sa-campaign-launcher{
  width:42px;
  min-width:42px;
  height:42px;
  min-height:42px;
  padding:0;
  font-size:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  white-space:nowrap;
  transition:width .18s ease, padding .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.sa-campaign-launcher::before{
  content:"C";
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
}
.sa-campaign-launcher span{
  display:none;
}
.sa-campaign-launcher:hover,
.sa-campaign-launcher:focus-visible{
  width:132px;
  padding:0 12px;
  font-size:12px;
  justify-content:center;
}
.sa-campaign-launcher:hover::before,
.sa-campaign-launcher:focus-visible::before{
  content:"CAMPAIGNS";
  font-size:11px;
}
.sa-campaign-launcher:hover span,
.sa-campaign-launcher:focus-visible span{
  display:inline-grid;
}
@media(max-width:700px){
 .sa-campaign-launcher:hover,
 .sa-campaign-launcher:focus-visible{width:42px;padding:0;font-size:0}
 .sa-campaign-launcher:hover::before,
 .sa-campaign-launcher:focus-visible::before{content:"C";font-size:12px}
 .sa-campaign-launcher:hover span,
 .sa-campaign-launcher:focus-visible span{display:none}
}


/* =========================================================
   FLOATING CONTROL COMPACT DOCK v1.1
   Fix Campaign hover duplication/overlap.
   ========================================================= */
.sa-campaign-launcher{
  width:42px;
  min-width:42px;
  height:42px;
  min-height:42px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  overflow:hidden;
  white-space:nowrap;
  font-size:0;
}
.sa-campaign-launcher::before{
  content:"C";
  display:block;
  font:900 12px/1 system-ui;
  letter-spacing:.08em;
}
.sa-campaign-launcher-label,
.sa-campaign-launcher #saCampaignBadge{
  display:none;
}
.sa-campaign-launcher:hover,
.sa-campaign-launcher:focus-visible{
  width:136px;
  padding:0 12px;
  gap:7px;
  justify-content:center;
  font-size:11px;
}
.sa-campaign-launcher:hover::before,
.sa-campaign-launcher:focus-visible::before{
  content:"";
  display:none;
}
.sa-campaign-launcher:hover .sa-campaign-launcher-label,
.sa-campaign-launcher:focus-visible .sa-campaign-launcher-label{
  display:inline;
  font:800 11px/1 system-ui;
  letter-spacing:.08em;
}
.sa-campaign-launcher:hover #saCampaignBadge,
.sa-campaign-launcher:focus-visible #saCampaignBadge{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  margin-left:0;
}
@media(max-width:700px){
  .sa-campaign-launcher:hover,
  .sa-campaign-launcher:focus-visible{
    width:42px;
    min-width:42px;
    padding:0;
    gap:0;
    font-size:0;
  }
  .sa-campaign-launcher:hover::before,
  .sa-campaign-launcher:focus-visible::before{
    content:"C";
    display:block;
    font-size:12px;
  }
  .sa-campaign-launcher:hover .sa-campaign-launcher-label,
  .sa-campaign-launcher:focus-visible .sa-campaign-launcher-label,
  .sa-campaign-launcher:hover #saCampaignBadge,
  .sa-campaign-launcher:focus-visible #saCampaignBadge{
    display:none;
  }
}
