/* Shared phone / address navigation / compact overflow actions.
 * Benchmark principle: information itself is actionable, one primary action stays visible,
 * lower-frequency actions move into a compact More menu.
 */
.site-nav-links,.schedule-contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}

.app-address-action{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  color:#36516f;
  font:inherit;
  font-weight:700;
  line-height:1.45;
  text-align:left;
  text-decoration:underline;
  text-decoration-color:#cbd5e1;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  cursor:pointer;
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.app-address-action:hover,.app-address-action:focus-visible{color:#1d4ed8;text-decoration-color:#93c5fd;outline:none}
.app-address-action::after{content:"  ›";color:#94a3b8;text-decoration:none}

.app-phone-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--ui-control-height-xs);
  height:var(--ui-control-height-xs);
  flex:0 0 var(--ui-control-height-xs);
  border:1px solid #b9d3ff;
  border-radius:var(--ui-radius-sm);
  background:#fff;
  color:#1d4ed8;
  text-decoration:none;
  box-sizing:border-box;
}
.app-phone-icon:hover,.app-phone-icon:focus-visible{background:#eff6ff;border-color:#7fb0ff;outline:none}
.app-phone-icon::before{content:"☎";font-size:17px;line-height:1}
.app-phone-icon.is-disabled{color:#94a3b8;border-color:#e2e8f0;background:#f8fafc;cursor:not-allowed}

/* Native details is used for low-frequency actions so the menu works without page-specific JS. */
.app-more-menu{position:relative;display:inline-flex;min-width:0}
.app-more-menu>summary{
  list-style:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:var(--ui-control-height-sm);
  height:var(--ui-control-height-sm);
  padding:0 10px;
  border:1px solid #cbd5e1;
  border-radius:var(--ui-radius-sm);
  background:#fff;
  color:#334155;
  font-weight:900;
  cursor:pointer;
  user-select:none;
  box-sizing:border-box;
}
.app-more-menu>summary::-webkit-details-marker{display:none}
.app-more-menu>summary:hover,.app-more-menu>summary:focus-visible,.app-more-menu[open]>summary{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;outline:none}
.app-more-menu-panel{
  position:absolute;
  z-index:70;
  top:calc(100% + 6px);
  right:0;
  display:grid;
  gap:4px;
  min-width:168px;
  padding:7px;
  border:1px solid #cbd5e1;
  border-radius:var(--ui-radius);
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.16);
}
.app-more-menu-panel>a,.app-more-menu-panel>button{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-height:var(--ui-control-height-sm);
  border:0;
  border-radius:var(--ui-radius-xs);
  background:#fff;
  padding:7px 10px;
  color:#334155;
  font:inherit;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  text-align:left;
  cursor:pointer;
  box-sizing:border-box;
  white-space:nowrap;
}
.app-more-menu-panel>a:hover,.app-more-menu-panel>button:hover,.app-more-menu-panel>a:focus-visible,.app-more-menu-panel>button:focus-visible{background:#f1f5f9;color:#0f172a;outline:none}
.app-more-menu-panel>.is-danger{color:#dc2626}
.app-more-menu-panel>button:disabled{color:#94a3b8;background:#f8fafc;cursor:not-allowed}
.app-more-menu--wide .app-more-menu-panel{min-width:210px}

.app-nav-choice-backdrop{
  position:fixed;
  inset:0;
  /* Easy UI 대상처 팝업(1450)과 빠른메뉴(20050)에서 호출되어도 길찾기가 항상 전면에 표시된다. */
  z-index:20100;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(15,23,42,.42);
}
.app-nav-choice-backdrop[hidden]{display:none!important}
.app-nav-choice-dialog{
  width:min(390px,100%);
  border:1px solid #cbd5e1;
  border-radius:var(--ui-radius-lg);
  background:#fff;
  padding:14px;
  box-shadow:0 20px 50px rgba(15,23,42,.22);
  box-sizing:border-box;
}
.app-nav-choice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}
.app-nav-choice-head>div{display:grid;gap:4px;min-width:0}
.app-nav-choice-head strong{font-size:17px;color:#0f172a}
.app-nav-choice-head span{font-size:12px;line-height:1.4;color:#64748b;overflow-wrap:anywhere}
.app-nav-choice-close{width:var(--ui-control-height-xs);height:var(--ui-control-height-xs);border:1px solid #cbd5e1;border-radius:var(--ui-radius-sm);background:#fff;color:#475569;font-size:22px;line-height:1;cursor:pointer}
.app-nav-choice-list{display:grid;gap:7px;padding:12px 0}
.app-nav-choice-option{display:flex;align-items:center;gap:11px;min-height:48px;border:1px solid #dbe4ef;border-radius:var(--ui-radius);background:#fff;padding:8px 12px;color:#0f172a;font-weight:800;text-decoration:none;box-sizing:border-box}
.app-nav-choice-option b{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--ui-radius-sm);border:1px solid currentColor;font-size:13px}
.app-nav-choice-option.is-naver{color:#087a37;background:#f7fff9;border-color:#b7e9c8}
.app-nav-choice-option.is-kakao{color:#745900;background:#fffdf2;border-color:#f5df82}
.app-nav-choice-option.is-tmap{color:#6d28d9;background:#faf8ff;border-color:#d5c7fa}
.app-nav-choice-cancel{width:100%;min-height:var(--ui-control-height);border:1px solid #cbd5e1;border-radius:var(--ui-radius-sm);background:#fff;color:#334155;font-weight:800;cursor:pointer}
html.has-app-nav-choice{overflow:hidden}

/* Site list: the whole card opens detail, so a redundant detail button is unnecessary. */
.page-site-list .site-list-actions{display:none!important}
.page-site-list .site-list-meta .app-address-action{font-size:13px}
.page-site-list .site-contact-line{display:flex;align-items:center;gap:5px;min-width:0}
.page-site-list .site-contact-line strong{min-width:0;overflow-wrap:anywhere}
.page-site-list .site-contact-line .app-phone-icon{width:29px;height:29px;flex-basis:29px;margin-left:auto}
.page-site-list .site-contact-line .app-phone-icon::before{font-size:15px}

/* Site detail: address itself opens the shared navigation chooser. */
.page-site-view .site-address-field .app-address-action{font-size:inherit;color:inherit}

/* Inspection right panel: address is information, phone is one icon, low-frequency edit/delete moves to More. */
.page-inspection-schedule-list .schedule-address-action{display:block;margin-top:6px;max-width:100%;font-size:11px;color:#52677f}
.page-inspection-schedule-list .schedule-contact-actions{margin-left:auto;justify-content:flex-end}
.page-inspection-schedule-list .schedule-contact-actions .app-phone-icon{width:var(--ui-control-height-xs);height:var(--ui-control-height-xs)}
.page-inspection-schedule-list .schedule-more-menu{align-self:center}
.page-inspection-schedule-list .schedule-more-menu-panel{min-width:132px}

@media(max-width:760px){
  .app-nav-choice-backdrop{place-items:end center;padding:0;background:rgba(15,23,42,.46)}
  .app-nav-choice-dialog{width:100%;border-radius:var(--ui-radius-lg) var(--ui-radius-lg) 0 0;padding:13px 14px calc(14px + env(safe-area-inset-bottom))}
  .app-nav-choice-option{min-height:50px}
  .app-more-menu-panel{position:fixed;left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));min-width:0;padding:9px;border-radius:var(--ui-radius-lg);box-shadow:0 18px 45px rgba(15,23,42,.24)}
  .app-more-menu-panel>a,.app-more-menu-panel>button{min-height:var(--ui-control-height);font-size:13px}
  .page-inspection-schedule-list .schedule-contact-actions{width:auto;margin:0;justify-content:flex-end}
}
