/* ── Popup overlay shared base ── */
.popup-overlay{
  display:none;
  position:fixed;inset:0;z-index:9000;
  background:rgba(44,47,50,.72);
  backdrop-filter:blur(4px);
  align-items:center;justify-content:center;
  padding:1rem;
}
.popup-overlay.is-open{display:flex;animation:popup-fade-in .25s ease}
@keyframes popup-fade-in{from{opacity:0}to{opacity:1}}

.popup-card{
  background:var(--surface,#353840);
  border:1px solid rgba(215,232,188,.15);
  border-radius:12px;
  padding:2.25rem 2rem 2rem;
  width:100%;max-width:460px;
  position:relative;
  animation:popup-slide-up .28s ease;
}
.popup-card.popup-card--sm{max-width:380px}
@keyframes popup-slide-up{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}

.popup-close{
  position:absolute;top:.85rem;right:.9rem;
  background:none;border:none;cursor:pointer;
  color:var(--muted,#9aa88c);font-size:1.25rem;line-height:1;
  padding:.25rem .5rem;border-radius:4px;transition:color .15s;
}
.popup-close:hover{color:var(--text,#d7e8bc)}

.popup-eyebrow{
  font-family:var(--sans,'Inter',sans-serif);
  font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent,#e9f056);margin-bottom:.6rem;
}
.popup-title{
  font-family:var(--serif,'Instrument Serif',Georgia,serif);
  font-size:1.55rem;line-height:1.2;
  color:var(--text,#d7e8bc);margin-bottom:.6rem;
}
.popup-body{
  font-size:.88rem;line-height:1.65;
  color:var(--muted,#9aa88c);margin-bottom:1.4rem;
}

/* ── Form fields ── */
.popup-form .field-row{display:flex;gap:.75rem;margin-bottom:.75rem}
.popup-form .field-row .field{flex:1}
.popup-form .field{margin-bottom:.75rem}
.popup-form label{
  display:block;font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted,#9aa88c);margin-bottom:.3rem;
}
.popup-form input[type=text],
.popup-form input[type=email],
.popup-form input[type=number]{
  width:100%;
  background:rgba(215,232,188,.06);
  border:1px solid rgba(215,232,188,.18);
  border-radius:6px;
  color:var(--text,#d7e8bc);
  font-size:.88rem;font-family:inherit;
  padding:.55rem .75rem;
  outline:none;transition:border-color .15s;
}
.popup-form input:focus{border-color:var(--accent,#e9f056)}

.popup-math{
  background:rgba(233,240,86,.07);
  border:1px solid rgba(233,240,86,.2);
  border-radius:6px;
  padding:.6rem .85rem;
  font-size:.82rem;
  color:var(--text,#d7e8bc);
  margin-bottom:.75rem;
}
.popup-math strong{color:var(--accent,#e9f056)}

.popup-btn{
  display:block;width:100%;
  background:var(--accent,#e9f056);
  color:var(--caviar,#2c2f32);
  font-family:var(--sans);font-size:.88rem;font-weight:600;
  border:none;border-radius:6px;padding:.7rem 1rem;
  cursor:pointer;transition:opacity .15s;
  margin-top:.5rem;
}
.popup-btn:hover{opacity:.88}
.popup-btn:disabled{opacity:.45;cursor:not-allowed}

.popup-msg{
  margin-top:.9rem;font-size:.83rem;
  color:var(--accent,#e9f056);text-align:center;min-height:1.2em;
}
.popup-msg.is-error{color:#f06060}

/* ── Case Notes badge / trigger ── */
.cn-badge{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:8000;
  background:var(--surface,#353840);
  border:1px solid rgba(215,232,188,.2);
  border-radius:100px;
  padding:.45rem 1rem .45rem .75rem;
  display:flex;align-items:center;gap:.45rem;
  font-size:.78rem;font-family:var(--sans);color:var(--text,#d7e8bc);
  cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.3);
  transition:border-color .2s,transform .2s;
  animation:badge-emerge .4s .6s ease both;
}
.cn-badge:hover{border-color:var(--accent,#e9f056);transform:translateY(-2px)}
@keyframes badge-emerge{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cn-badge-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--accent,#e9f056);
  animation:badge-pulse 2s infinite;
}
@keyframes badge-pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ── Survey: tap-to-rank ── */
.survey-options{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}
.survey-option{
  display:flex;align-items:center;gap:.6rem;
  background:rgba(215,232,188,.05);
  border:1px solid rgba(215,232,188,.15);
  border-radius:6px;padding:.6rem .85rem;
  cursor:pointer;transition:border-color .15s,background .15s;
  font-size:.85rem;color:var(--text,#d7e8bc);
  user-select:none;
}
.survey-option:hover{background:rgba(215,232,188,.1)}
.survey-option.is-selected{
  border-color:var(--accent,#e9f056);
  background:rgba(233,240,86,.1);
}
.survey-option-rank{
  min-width:1.2rem;height:1.2rem;
  background:var(--accent,#e9f056);
  color:var(--caviar,#2c2f32);
  border-radius:50%;font-size:.65rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .15s;
}
.survey-option.is-selected .survey-option-rank{opacity:1}
.survey-other-input{
  display:none;width:100%;margin-top:.5rem;
  background:rgba(215,232,188,.06);
  border:1px solid rgba(215,232,188,.18);
  border-radius:6px;color:var(--text);font-size:.85rem;font-family:inherit;
  padding:.5rem .7rem;outline:none;
}
.survey-other-input.is-visible{display:block}

@media(max-width:480px){
  .popup-card{padding:1.75rem 1.25rem 1.5rem}
  .popup-form .field-row{flex-direction:column;gap:0}
}
