.advisor-contact[hidden] { display:none !important; }
.advisor-contact {
  position:fixed;
  z-index:5200;
  right:22px;
  bottom:24px;
  display:grid;
  justify-items:end;
  gap:10px;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
}
.advisor-contact-toggle {
  position:relative;
  isolation:isolate;
  min-height:48px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 17px 0 10px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:999px;
  color:#fff;
  background:#087a59;
  box-shadow:0 12px 30px rgba(7,73,57,.28);
  font:inherit;
  font-size:14px;
  font-weight:850;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.advisor-contact-toggle:hover { background:#066b4e; transform:translateY(-1px); }
.advisor-contact-toggle:focus-visible,.advisor-contact-panel a:focus-visible,.advisor-contact-panel button:focus-visible { outline:3px solid rgba(31,167,125,.34); outline-offset:2px; }
.advisor-contact-icon {
  position:relative;
  z-index:2;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  font-size:17px;
}
.advisor-contact-waves { display:none; }
.advisor-contact-panel[hidden],.advisor-contact-backdrop[hidden] { display:none !important; }
.advisor-contact-panel {
  width:min(410px,calc(100vw - 28px));
  overflow:hidden;
  border:1px solid rgba(199,221,215,.96);
  border-radius:20px;
  padding:18px;
  color:#17332d;
  background:rgba(255,255,255,.99);
  box-shadow:0 22px 58px rgba(20,49,42,.23);
  backdrop-filter:blur(12px);
}
.advisor-contact-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.advisor-contact-heading small { display:block; margin-bottom:3px; color:#71827d; font-size:10px; font-weight:900; letter-spacing:.09em; }
.advisor-contact-heading strong { display:block; color:#0b5f50; font-size:18px; }
.advisor-contact-close { width:34px; height:34px; flex:0 0 auto; border:0; border-radius:50%; color:#56706a; background:#edf5f2; font-size:23px; line-height:1; cursor:pointer; }
.advisor-contact-intro { margin:11px 0 13px; color:#536d66; font-size:13px; line-height:1.48; }
.advisor-profile-list { display:grid; gap:10px; }
.advisor-profile-card { display:grid; gap:11px; padding:13px; border:1px solid #dce9e5; border-radius:15px; background:#f8fbfa; }
.advisor-profile-main { display:flex; align-items:center; gap:11px; min-width:0; }
.advisor-profile-avatar { width:46px; height:46px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#0a8b78,#086557); box-shadow:0 7px 18px rgba(8,112,95,.2); font-size:14px; font-weight:950; letter-spacing:.03em; }
.advisor-profile-copy { min-width:0; display:grid; gap:2px; }
.advisor-profile-copy strong { overflow:hidden; color:#173b34; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.advisor-profile-copy small { color:#5f766f; font-size:11px; line-height:1.35; }
.advisor-profile-copy em { color:#08705f; font-size:12px; font-style:normal; font-weight:850; }
.advisor-profile-actions { display:grid; grid-template-columns:1.15fr .85fr; gap:8px; }
.advisor-profile-actions a { min-height:41px; display:grid; place-items:center; border-radius:10px; font-size:12px; font-weight:900; text-decoration:none; }
.advisor-profile-zalo { color:#fff; background:#087a59; }
.advisor-profile-zalo:hover { background:#066b4e; }
.advisor-profile-call { color:#0b6758; border:1px solid #bcd8d0; background:#fff; }
.advisor-profile-call:hover { background:#eff8f5; }
.advisor-profile-actions a[aria-disabled="true"] { pointer-events:none; opacity:.45; }
.advisor-contact-empty { margin:0; padding:15px; border-radius:12px; color:#6a7d77; background:#f2f7f5; text-align:center; font-size:13px; }
.advisor-contact-status { min-height:32px; margin:10px 2px 0; color:#71827d; font-size:11px; line-height:1.45; }
.advisor-contact-status[data-tone="success"] { color:#087a59; font-weight:750; }
.advisor-contact-status[data-tone="error"] { color:#b42318; font-weight:750; }
.parcel-detail-body .advisor-contact { bottom:22px; }
.map-idle-guide.auto-dismissing { opacity:0; transform:translate(-50%,-46%); transition:opacity .6s ease,transform .6s ease; }

@media (max-width:760px) {
  body.advisor-contact-open { overflow:hidden; }
  .advisor-contact { right:12px; bottom:12px; }
  .parcel-detail-body .advisor-contact { right:12px; bottom:14px; }
  .advisor-contact-toggle {
    width:54px;
    height:54px;
    min-height:54px;
    justify-content:center;
    padding:0;
    border:2px solid rgba(255,255,255,.88);
    box-shadow:0 8px 24px rgba(7,73,57,.3);
  }
  .advisor-contact-label { display:none; }
  .advisor-contact-icon { width:38px; height:38px; font-size:19px; background:rgba(255,255,255,.2); }
  .advisor-contact-waves {
    position:absolute;
    z-index:-1;
    inset:-2px;
    display:block;
    border:2px solid rgba(8,122,89,.48);
    border-radius:50%;
    opacity:0;
  }
  .advisor-contact-toggle.attention .advisor-contact-waves { animation:advisor-wave 2.4s ease-out 4; }
  .advisor-contact-toggle.attention::after {
    content:'';
    position:absolute;
    z-index:-2;
    inset:-2px;
    border:2px solid rgba(8,122,89,.3);
    border-radius:50%;
    opacity:0;
    animation:advisor-wave 2.4s .65s ease-out 4;
  }
  .advisor-contact-toggle.attention .advisor-contact-icon { animation:advisor-wiggle 2.4s ease-in-out 4; }
  .advisor-contact-backdrop {
    position:fixed;
    z-index:5198;
    inset:0;
    background:rgba(11,31,37,.42);
    backdrop-filter:blur(3px);
  }
  .advisor-contact-panel {
    position:fixed;
    z-index:5199;
    right:0;
    bottom:0;
    left:0;
    width:auto;
    max-height:min(76dvh,660px);
    overflow:auto;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom));
    border:0;
    border-radius:23px 23px 0 0;
    box-shadow:0 -18px 50px rgba(16,43,38,.27);
    animation:advisor-sheet-in .24s ease-out;
  }
  .advisor-contact-panel::before { content:''; display:block; width:42px; height:4px; margin:-7px auto 12px; border-radius:999px; background:#c9d9d4; }
  .advisor-contact-heading strong { font-size:18px; }
  .advisor-contact-intro { margin-bottom:12px; }
  .advisor-profile-card { padding:12px; }
  .advisor-profile-avatar { width:44px; height:44px; }
  .advisor-profile-actions a { min-height:43px; }

  .map-idle-guide {
    top:40%;
    width:min(320px,calc(100% - 52px));
    gap:5px;
    padding:14px 15px;
    border-radius:18px;
  }
  .map-idle-guide strong { font-size:15px; }
  .map-idle-guide span { font-size:11px; }
  .map-idle-guide button { min-height:36px; padding:8px 12px; }
}

@keyframes advisor-wave {
  0% { opacity:.65; transform:scale(.88); }
  72%,100% { opacity:0; transform:scale(1.72); }
}
@keyframes advisor-wiggle {
  0%,12%,30%,100% { transform:rotate(0); }
  17% { transform:rotate(-9deg); }
  22% { transform:rotate(9deg); }
  27% { transform:rotate(-5deg); }
}
@keyframes advisor-sheet-in { from { opacity:.65; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) {
  .advisor-contact-toggle,.advisor-contact-icon,.advisor-contact-waves,.advisor-contact-toggle::after,.advisor-contact-panel,.map-idle-guide { animation:none !important; transition:none !important; }
}
@media print { .advisor-contact { display:none !important; } }
