/* AEC Status Widget — frontend styles. Colors/radius come from CSS vars set by JS. */
.aec-sw-root{
  --aec-open-a:#1b8a4b; --aec-open-b:#127a3e;
  --aec-closed-a:#b21f2d; --aec-closed-b:#8f1620;
  --aec-text:#ffffff; --aec-icon:#ffffff; --aec-radius:14px; --aec-mobile-bottom:74px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.aec-sw-root.is-fixed{ position:fixed; z-index:99990; }
.aec-sw-root.pos-bottom-right{ right:18px; bottom:18px; }
.aec-sw-root.pos-bottom-left{ left:18px; bottom:18px; }
.aec-sw-root.pos-top-right{ right:18px; top:18px; }
.aec-sw-root.pos-top-left{ left:18px; top:18px; }
@media (max-width:768px){
  .aec-sw-root.is-fixed.pos-bottom-right,
  .aec-sw-root.is-fixed.pos-bottom-left{ bottom:var(--aec-mobile-bottom); right:12px; left:auto; }
  .aec-sw-root.is-fixed.pos-bottom-left{ left:12px; right:auto; }
}

.aec-sw-card{
  display:flex; align-items:center; gap:12px;
  padding:12px 16px; border-radius:var(--aec-radius);
  color:var(--aec-text); text-decoration:none; cursor:pointer;
  box-shadow:0 8px 26px rgba(0,0,0,.28); max-width:290px;
  border:1px solid rgba(255,255,255,.16);
  transition:transform .15s ease, box-shadow .15s ease;
}
.aec-sw-card:hover{ transform:translateY(-2px); box-shadow:0 12px 32px rgba(0,0,0,.34); }
.aec-sw-root.is-open   .aec-sw-card{ background:linear-gradient(135deg,var(--aec-open-a),var(--aec-open-b)); }
.aec-sw-root.is-closed .aec-sw-card{ background:linear-gradient(135deg,var(--aec-closed-a),var(--aec-closed-b)); }

.aec-sw-dot{ flex:0 0 12px; width:12px; height:12px; border-radius:50%; background:#fff; }
.aec-sw-root.is-open.animate .aec-sw-dot{ animation:aec-sw-pulse 1.9s ease-out infinite; }
@keyframes aec-sw-pulse{
  0%{ box-shadow:0 0 0 0 rgba(255,255,255,.75); }
  70%{ box-shadow:0 0 0 12px rgba(255,255,255,0); }
  100%{ box-shadow:0 0 0 0 rgba(255,255,255,0); }
}
.aec-sw-root.is-open.animate .aec-sw-card{ animation:aec-sw-glow 2.4s ease-in-out infinite; }
@keyframes aec-sw-glow{
  0%,100%{ box-shadow:0 8px 26px rgba(0,0,0,.28); }
  50%{ box-shadow:0 8px 30px rgba(27,138,75,.5); }
}
@media (prefers-reduced-motion:reduce){
  .aec-sw-root .aec-sw-card, .aec-sw-root .aec-sw-dot{ animation:none !important; }
}

.aec-sw-text{ line-height:1.25; }
.aec-sw-title{ font-weight:800; font-size:15px; letter-spacing:.2px; }
.aec-sw-sub{ font-size:12px; opacity:.93; margin-top:2px; }
.aec-sw-count{ font-variant-numeric:tabular-nums; font-weight:700; }
.aec-sw-call{ color:var(--aec-text); text-decoration:underline; white-space:nowrap; }
.aec-sw-min{ margin-left:2px; background:transparent; border:none; color:rgba(255,255,255,.85);
  font-size:16px; line-height:1; cursor:pointer; padding:2px 5px; border-radius:6px; }
.aec-sw-min:hover{ color:#fff; background:rgba(255,255,255,.14); }

.aec-sw-bubble{ display:none; width:54px; height:54px; border-radius:50%;
  align-items:center; justify-content:center; gap:8px; color:var(--aec-text); padding:0;
  cursor:pointer; box-shadow:0 8px 26px rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.18); }
.aec-sw-bubble .aec-sw-ic{ display:inline-flex; color:var(--aec-icon); }
.aec-sw-bubble .aec-sw-ic svg{ width:26px; height:26px; display:block; }
.aec-sw-bubble .aec-sw-ic i{ font-size:24px; line-height:1; color:var(--aec-icon); }
.aec-sw-bubble .aec-sw-emoji{ font-size:24px; line-height:1; }
.aec-sw-bubword{ font-weight:800; font-size:14px; letter-spacing:.2px; color:var(--aec-text); }
.aec-sw-root.shape-circle  .aec-sw-bubble{ border-radius:50%; }
.aec-sw-root.shape-rounded .aec-sw-bubble{ border-radius:16px; }
.aec-sw-root.shape-square  .aec-sw-bubble{ border-radius:4px; }
.aec-sw-root.shape-pill    .aec-sw-bubble{ width:auto; min-width:54px; height:48px; padding:0 18px; border-radius:999px; }
.aec-sw-root.is-open   .aec-sw-bubble{ background:linear-gradient(135deg,var(--aec-open-a),var(--aec-open-b)); }
.aec-sw-root.is-closed .aec-sw-bubble{ background:linear-gradient(135deg,var(--aec-closed-a),var(--aec-closed-b)); }
.aec-sw-root.minimized .aec-sw-card{ display:none; }
.aec-sw-root.minimized .aec-sw-bubble{ display:flex; }
