/* JS부동산 v6.0 STEP2 - AI임장 시작 / 진행 화면 */
:root {
  --aiv-blue: #1769e8;
  --aiv-blue-dark: #0f55c8;
  --aiv-ink: #162033;
  --aiv-muted: #6f7b8f;
  --aiv-line: #e4e9f1;
  --aiv-soft: #f5f8fc;
}

body.aiv-modal-open,
body.aiv-workspace-open { overflow: hidden !important; }

.aiv-modal {
  position: fixed;
  inset: 0;
  z-index: 23000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.aiv-modal.open { display: flex; }
.aiv-backdrop { position: absolute; inset: 0; background: rgba(11, 18, 31, .48); backdrop-filter: blur(3px); }
.aiv-launcher,
.aiv-confirm {
  position: relative;
  width: min(560px, 100%);
  max-height: min(760px, 90vh);
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(15, 30, 55, .24);
}
.aiv-confirm { width: min(460px, 100%); }
.aiv-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid var(--aiv-line);
}
.aiv-modal-title { font-size: 21px; line-height: 1.25; font-weight: 850; color: var(--aiv-ink); }
.aiv-modal-subtitle { margin-top: 5px; font-size: 13px; color: var(--aiv-muted); }
.aiv-icon-close {
  width: 38px; height: 38px; flex: 0 0 38px; border: 0; border-radius: 11px;
  background: #f1f4f8; color: #344054; font-size: 27px; line-height: 1; cursor: pointer;
}
.aiv-launcher-body { padding: 18px; overflow: auto; max-height: calc(90vh - 90px); }
.aiv-list-select { display: grid; gap: 10px; }
.aiv-list-option {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 17px 18px; border: 1px solid var(--aiv-line); border-radius: 14px; background: #fff;
  text-align: left; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.aiv-list-option:hover { border-color: #a8c8f8; box-shadow: 0 8px 22px rgba(23,105,232,.09); transform: translateY(-1px); }
.aiv-list-option.empty { opacity: .6; }
.aiv-list-option-main { display: grid; gap: 4px; min-width: 0; }
.aiv-list-option-main strong { font-size: 16px; color: var(--aiv-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aiv-list-option-main small { color: var(--aiv-muted); font-size: 12px; }
.aiv-list-count { flex: 0 0 auto; min-width: 52px; padding: 7px 10px; border-radius: 999px; background: #edf4ff; color: var(--aiv-blue-dark); font-weight: 800; text-align: center; }
.aiv-empty { display: grid; gap: 7px; padding: 42px 20px; text-align: center; color: var(--aiv-muted); }
.aiv-empty strong { color: var(--aiv-ink); font-size: 17px; }

.aiv-confirm-body { padding: 28px 26px 20px; text-align: center; }
.aiv-confirm-name { font-size: 22px; font-weight: 900; color: var(--aiv-ink); }
.aiv-confirm-count { margin-top: 10px; color: var(--aiv-muted); font-size: 15px; }
.aiv-confirm-count strong { color: var(--aiv-blue-dark); }
.aiv-confirm-body p { margin: 22px 0 0; padding: 16px; border-radius: 13px; background: var(--aiv-soft); color: #5f6b7c; font-size: 13px; line-height: 1.65; }
.aiv-confirm-footer { display: flex; justify-content: flex-end; gap: 9px; padding: 16px 20px 20px; }
.aiv-btn { border: 0; border-radius: 11px; min-height: 43px; padding: 0 20px; font-size: 14px; font-weight: 800; cursor: pointer; }
.aiv-btn.secondary { background: #eef2f7; color: #344054; }
.aiv-btn.primary { background: var(--aiv-blue); color: #fff; }
.aiv-btn.primary:hover { background: var(--aiv-blue-dark); }

.aiv-workspace {
  position: fixed; inset: 0; z-index: 22500; display: none; background: #f3f6fa; color: var(--aiv-ink);
}
.aiv-workspace.open { display: flex; flex-direction: column; }
.aiv-workspace-header {
  min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 12px 22px; background: #fff; border-bottom: 1px solid var(--aiv-line); box-shadow: 0 3px 15px rgba(15,30,55,.05);
}
.aiv-heading-wrap { display: flex; align-items: center; gap: 12px; min-width: 0; }
.aiv-brand-mark { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: var(--aiv-blue); color: #fff; font-weight: 900; letter-spacing: -.5px; }
.aiv-workspace-title { font-size: 19px; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aiv-workspace-progress { margin-top: 3px; color: var(--aiv-muted); font-size: 12px; }
.aiv-exit-btn { border: 1px solid #dbe2eb; background: #fff; color: #344054; min-height: 40px; padding: 0 17px; border-radius: 11px; font-weight: 800; cursor: pointer; }
.aiv-workspace-main { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 16px; padding: 16px; }
.aiv-current-panel,
.aiv-route-panel { min-height: 0; background: #fff; border: 1px solid var(--aiv-line); border-radius: 18px; box-shadow: 0 9px 28px rgba(15,30,55,.05); }
.aiv-current-panel { overflow: auto; padding: 24px; }
.aiv-section-kicker { margin-bottom: 12px; color: var(--aiv-blue-dark); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.aiv-current-card { position: relative; max-width: 900px; }
.aiv-current-index { position: absolute; right: 0; top: 0; color: var(--aiv-blue); font-size: 34px; font-weight: 950; line-height: 1; }
.aiv-current-index small { margin-left: 4px; color: #9ba6b6; font-size: 14px; font-weight: 800; }
.aiv-current-top { padding-right: 90px; }
.aiv-current-meta { display: flex; flex-wrap: wrap; gap: 6px; min-height: 24px; }
.aiv-current-meta span { padding: 5px 9px; border-radius: 999px; background: #edf4ff; color: var(--aiv-blue-dark); font-size: 12px; font-weight: 800; }
.aiv-current-top h2 { margin: 14px 0 7px; font-size: clamp(24px, 3vw, 34px); line-height: 1.2; }
.aiv-current-address { color: #4e5b70; font-size: 16px; font-weight: 650; }
.aiv-price-grid { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; padding: 15px; border-radius: 14px; background: var(--aiv-soft); }
.aiv-price-grid span { min-width: 110px; display: grid; gap: 3px; }
.aiv-price-grid em { color: var(--aiv-muted); font-size: 11px; font-style: normal; }
.aiv-price-grid strong { color: var(--aiv-ink); font-size: 16px; }
.aiv-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 18px; overflow: hidden; border: 1px solid var(--aiv-line); border-radius: 14px; background: var(--aiv-line); }
.aiv-detail-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 0 14px; background: #fff; }
.aiv-detail-row span { color: var(--aiv-muted); font-size: 12px; }
.aiv-detail-row strong { color: var(--aiv-ink); font-size: 13px; text-align: right; }
.aiv-memo-box { margin-top: 18px; padding: 0 16px; max-height: 47px; overflow: hidden; border: 1px solid var(--aiv-line); border-radius: 14px; background: #fff; transition: max-height .2s ease, padding .2s ease; }
.aiv-memo-box.open { max-height: 260px; padding-top: 14px; padding-bottom: 14px; overflow: auto; }
.aiv-memo-title { color: var(--aiv-muted); font-size: 12px; font-weight: 800; line-height: 46px; }
.aiv-memo-box.open .aiv-memo-title { line-height: 1.2; margin-bottom: 9px; }
.aiv-memo-text { color: #354156; font-size: 14px; line-height: 1.65; white-space: pre-wrap; }
.aiv-primary-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 20px; }
.aiv-primary-actions button { min-height: 48px; border: 0; border-radius: 12px; background: var(--aiv-blue); color: #fff; font-size: 15px; font-weight: 850; cursor: pointer; }
.aiv-primary-actions button:hover { background: var(--aiv-blue-dark); }
.aiv-step-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; }
.aiv-step-actions button { min-width: 120px; min-height: 43px; border: 1px solid #dbe2eb; border-radius: 11px; background: #fff; color: #344054; font-weight: 800; cursor: pointer; }
.aiv-step-actions button:disabled { opacity: .38; cursor: default; }

.aiv-route-panel { display: flex; flex-direction: column; overflow: hidden; }
.aiv-route-head { min-height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid var(--aiv-line); }
.aiv-route-head strong { font-size: 15px; }
.aiv-route-head span { color: var(--aiv-muted); font-size: 12px; }
.aiv-route-list { flex: 1; overflow: auto; padding: 10px; }
.aiv-route-item { width: 100%; display: flex; align-items: center; gap: 11px; padding: 11px; border: 1px solid transparent; border-radius: 12px; background: transparent; text-align: left; cursor: pointer; }
.aiv-route-item:hover { background: #f6f8fb; }
.aiv-route-item.active { border-color: #b7d2fb; background: #edf4ff; }
.aiv-route-number { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; border-radius: 10px; background: #e8edf4; color: #5b6677; font-size: 12px; font-weight: 900; }
.aiv-route-item.active .aiv-route-number { background: var(--aiv-blue); color: #fff; }
.aiv-route-copy { min-width: 0; display: grid; gap: 3px; }
.aiv-route-copy strong,
.aiv-route-copy small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aiv-route-copy strong { color: var(--aiv-ink); font-size: 13px; }
.aiv-route-copy small { color: var(--aiv-muted); font-size: 11px; }

.lm-list-actions .ai-visit-start { background: #1769e8 !important; border-color: #1769e8 !important; color: #fff !important; }

@media (max-width: 900px) {
  .aiv-workspace-main { grid-template-columns: 1fr; overflow: auto; }
  .aiv-current-panel { min-height: auto; overflow: visible; }
  .aiv-route-panel { min-height: 320px; }
}

@media (max-width: 640px) {
  .aiv-modal { padding: 0; align-items: flex-end; }
  .aiv-launcher,
  .aiv-confirm { width: 100%; max-height: 92vh; border-radius: 20px 20px 0 0; }
  .aiv-modal-header { padding: 18px 17px 15px; }
  .aiv-launcher-body { padding: 12px; }
  .aiv-workspace-header { min-height: 64px; padding: 9px 12px; }
  .aiv-brand-mark { width: 38px; height: 38px; border-radius: 11px; }
  .aiv-workspace-title { max-width: 230px; font-size: 16px; }
  .aiv-workspace-main { display: block; padding: 9px; overflow-y: auto; }
  .aiv-current-panel { padding: 16px 14px; border-radius: 15px; }
  .aiv-route-panel { margin-top: 10px; border-radius: 15px; min-height: 300px; }
  .aiv-current-index { font-size: 28px; }
  .aiv-current-top { padding-right: 70px; }
  .aiv-current-top h2 { font-size: 23px; }
  .aiv-current-address { font-size: 14px; }
  .aiv-detail-grid { grid-template-columns: 1fr; }
  .aiv-primary-actions { gap: 7px; }
  .aiv-primary-actions button { min-height: 45px; font-size: 14px; }
  .aiv-step-actions button { flex: 1; min-width: 0; }
}

/* STEP2 보완 A: 거래형태 배지 + 주소/호실 배치 */
.aiv-current-title-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.aiv-current-title-line h2 {
  margin: 0;
}

.aiv-deal-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.aiv-deal-badge.lease {
  background: #eaf2ff;
  color: #1458bd;
}

.aiv-deal-badge.sale {
  background: #fff1e8;
  color: #b84b00;
}

.aiv-deal-badge.jeonse {
  background: #eef8ef;
  color: #28713b;
}

/* STEP2 보완 A: 모바일 로드뷰 닫기 버튼 가시성 강화 */
@media (max-width: 640px) {
  #roadviewModal.roadview-modal .roadview-modal-dialog {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border-radius: 0 !important;
  }

  #roadviewModal.roadview-modal .roadview-modal-header {
    position: relative;
    min-height: 64px;
    padding-right: 66px !important;
  }

  #roadviewModal.roadview-modal .roadview-modal-close {
    position: fixed !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    right: 12px !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(15, 23, 42, .16) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.96) !important;
    color: #162033 !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .22) !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    z-index: 100005 !important;
  }

  #roadviewModal.roadview-modal .roadview-modal-close:active {
    transform: scale(.96);
  }
}


/* =========================================================
   STEP2 안정화 B
   - 거래형태 중복 제거 이후 메타 간격 정리
   - 가격정보 2×2 정렬
   - 휴대폰/태블릿 공통 로드뷰 고정 닫기 버튼
   ========================================================= */
.aiv-current-meta:empty { display: none; }
.aiv-price-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 18px !important;
}
.aiv-price-grid span { min-width: 0 !important; }

.aiv-roadview-emergency-close {
  position: fixed;
  top: max(12px, env(safe-area-inset-top));
  right: max(12px, env(safe-area-inset-right));
  z-index: 2147483000;
  min-width: 70px;
  height: 48px;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 12px;
  border: 1px solid rgba(15, 23, 42, .18);
  border-radius: 14px;
  background: rgba(255, 255, 255, .97);
  color: #172033;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .25);
  font-family: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.aiv-roadview-emergency-close span { font-size: 27px; line-height: 1; font-weight: 500; }
.aiv-roadview-emergency-close small { font-size: 13px; font-weight: 900; }
.aiv-roadview-emergency-close:active { transform: scale(.96); }

@media (max-width: 1366px), (pointer: coarse) {
  .aiv-roadview-emergency-close { display: inline-flex; }
  #roadviewModal.roadview-modal .roadview-modal-close {
    position: fixed !important;
    top: max(12px, env(safe-area-inset-top)) !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    z-index: 2147482000 !important;
  }
}

@media (max-width: 640px) {
  .aiv-price-grid { gap: 12px !important; }
  .aiv-roadview-emergency-close {
    min-width: 52px;
    width: 52px;
    padding: 0;
  }
  .aiv-roadview-emergency-close small { display: none; }
}


/* STEP2.5 태블릿 로드뷰 닫기 및 이어가기 선택창 */
.aiv-resume-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.aiv-roadview-emergency-close{position:fixed!important;top:max(12px,env(safe-area-inset-top))!important;right:max(12px,env(safe-area-inset-right))!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-width:96px!important;height:48px!important;padding:0 15px!important;border:1px solid rgba(15,23,42,.18)!important;border-radius:14px!important;background:#fff!important;color:#172033!important;box-shadow:0 10px 30px rgba(15,23,42,.28)!important;z-index:2147483000!important;font-weight:900!important}
.aiv-roadview-emergency-close span{font-size:25px;line-height:1}.aiv-roadview-emergency-close small{font-size:13px}
@media(max-width:640px){.aiv-roadview-emergency-close{min-width:50px!important;width:50px!important;padding:0!important}.aiv-roadview-emergency-close small{display:none}.aiv-resume-actions{grid-template-columns:1fr}}

/* =========================================================
   v6.0 STEP2.14 + STEP3
   모바일 상세는 별도 CSS, 태블릿 로드뷰 안전영역, AI 최적동선
   ========================================================= */
.aiv-header-actions{display:flex;align-items:center;gap:8px}
.aiv-recalc-btn{min-height:40px;padding:0 15px;border:1px solid #b9d2f6;border-radius:11px;background:#edf5ff;color:#155fc2;font-weight:850;cursor:pointer}
.aiv-recalc-btn:disabled,.aiv-route-actions button:disabled{opacity:.55;cursor:wait}
.aiv-route-map{width:100%;height:clamp(220px,34vh,390px);margin-bottom:20px;overflow:hidden;border:1px solid var(--aiv-line);border-radius:16px;background:#eaf0f7}
.aiv-route-map-empty{height:100%;display:grid;place-items:center;color:var(--aiv-muted);font-weight:800}
.aiv-number-marker{width:34px;height:34px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:#2f7de8;color:#fff;box-shadow:0 5px 16px rgba(15,30,55,.3);font-size:13px;font-weight:950;cursor:pointer}
.aiv-number-marker.current{width:40px;height:40px;background:#0c4fb8;font-size:15px;z-index:2}
.aiv-number-marker.hold{background:#f59e0b}
.aiv-number-marker.done{background:#7b8798}
.aiv-route-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}
.aiv-route-actions button{min-height:46px;border-radius:12px;font-size:14px;font-weight:900;cursor:pointer}
.aiv-route-actions .recalc{border:1px solid #b9d2f6;background:#edf5ff;color:#155fc2}
.aiv-route-actions .hold{border:1px solid #f2c66d;background:#fff7e7;color:#9a5b00}
.aiv-route-item.hold{border-color:#f6d28b;background:#fff8e8}
.aiv-route-item.hold .aiv-route-number{background:#f59e0b;color:#fff}
.aiv-route-item.done{opacity:.66}

/* 태블릿에서는 브라우저 UI에 가리지 않도록 로드뷰 전체 패널을 아래로 내립니다. */
@media (min-width:769px) and (max-width:1366px) and (pointer:coarse){
  #roadviewModal.roadview-modal{padding-top:max(58px,calc(env(safe-area-inset-top) + 46px))!important;padding-left:10px!important;padding-right:10px!important;padding-bottom:10px!important;box-sizing:border-box!important}
  #roadviewModal.roadview-modal .roadview-modal-dialog{position:relative!important;top:auto!important;width:100%!important;height:calc(100dvh - max(68px,calc(env(safe-area-inset-top) + 56px)))!important;max-width:none!important;max-height:none!important;border-radius:16px!important;overflow:hidden!important}
  #roadviewModal.roadview-modal .roadview-modal-header{position:relative!important;top:auto!important;z-index:50!important;min-height:64px!important;padding:10px 14px!important;background:#fff!important}
  #roadviewModal.roadview-modal .roadview-view-tabs{display:flex!important;visibility:visible!important;opacity:1!important}
  #roadviewModal.roadview-modal .roadview-modal-close{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;top:auto!important;right:auto!important;z-index:60!important}
  .aiv-roadview-emergency-close{top:max(66px,calc(env(safe-area-inset-top) + 54px))!important;right:18px!important}
}

@media (max-width:640px){
  .aiv-header-actions{gap:5px}
  .aiv-recalc-btn{display:none}
  .aiv-exit-btn{padding:0 13px}
  .aiv-route-map{height:250px;margin-bottom:14px;border-radius:14px}
  .aiv-route-actions{grid-template-columns:1fr 1fr}
}

/* =========================================================
   v6.0 STEP3.1 — 현장형 임장센터 + 태블릿 로드뷰 안정화
   ========================================================= */
.aiv-progress-text { display: block; }
.aiv-progress-track {
  display: block;
  width: min(220px, 48vw);
  height: 5px;
  margin-top: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8edf4;
}
.aiv-progress-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #1769e8;
  transition: width .2s ease;
}
.aiv-travel-strip {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 14px;
  padding: 9px 12px;
  border: 1px solid #dfe7f2;
  border-radius: 12px;
  background: #f8fbff;
  color: #41506a;
  font-size: 12px;
  font-weight: 750;
}
.aiv-travel-strip strong { color: #1458bd; font-size: 13px; }
.aiv-travel-strip small { color: #7a8799; font-size: 10px; }
.aiv-travel-strip.pending { color: #7a8799; }
.aiv-compact-contact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid var(--aiv-line);
  border-radius: 12px;
  background: var(--aiv-line);
}
.aiv-next-preview {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 9px;
  align-items: center;
  margin-top: 10px;
  padding: 9px 12px;
  border-radius: 12px;
  background: #f5f7fa;
}
.aiv-next-preview > span {
  grid-row: 1 / span 2;
  align-self: stretch;
  display: grid;
  place-items: center;
  min-width: 44px;
  border-right: 1px solid #dfe5ed;
  color: #1769e8;
  font-size: 11px;
  font-weight: 900;
}
.aiv-next-preview strong,
.aiv-next-preview small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aiv-next-preview strong { color: #273348; font-size: 12px; }
.aiv-next-preview small { color: #7a8799; font-size: 10px; }
.aiv-next-preview.last { display: block; color: #7a8799; text-align: center; }
.aiv-next-preview.last > span { display: inline; border: 0; }

.aiv-roadview-emergency-close { display: none !important; }
.aiv-roadview-emergency-close.show { display: inline-flex !important; }

@media (min-width: 769px) and (max-width: 1366px) {
  #roadviewModal.roadview-modal {
    padding: var(--aiv-roadview-top-offset, 84px) 10px 10px !important;
    box-sizing: border-box !important;
  }
  #roadviewModal.roadview-modal .roadview-modal-dialog {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    height: calc(100dvh - var(--aiv-roadview-top-offset, 84px) - 10px) !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 14px !important;
  }
  #roadviewModal.roadview-modal .roadview-modal-header {
    position: relative !important;
    z-index: 80 !important;
    min-height: 58px !important;
    padding: 8px 12px !important;
    background: #fff !important;
  }
  #roadviewModal.roadview-modal .roadview-view-tabs,
  #roadviewModal.roadview-modal .roadview-modal-close {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

@media (max-width: 640px) {
  .aiv-workspace-main { overflow: hidden; }
  .aiv-current-panel {
    height: calc(100dvh - 82px);
    overflow: auto;
    padding: 12px !important;
  }
  .aiv-route-map { height: 126px !important; min-height: 126px !important; margin-bottom: 8px !important; }
  .aiv-section-kicker { margin-bottom: 7px; }
  .aiv-current-index { font-size: 24px; }
  .aiv-current-top { padding-right: 58px; }
  .aiv-current-title-line { gap: 7px; margin-top: 2px; }
  .aiv-current-title-line h2 { font-size: 19px !important; }
  .aiv-current-address { margin-top: 3px; font-size: 12px; }
  .aiv-current-meta { min-height: 0; }
  .aiv-current-meta:empty { display: none; }
  .aiv-travel-strip { margin-top: 9px; padding: 7px 9px; gap: 12px; font-size: 11px; }
  .aiv-travel-strip strong { font-size: 12px; }
  .aiv-price-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px !important;
    margin-top: 8px !important;
    padding: 1px !important;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    background: #e2e8f0 !important;
  }
  .aiv-price-grid span {
    min-width: 0 !important;
    padding: 7px 8px;
    background: #f8fafc;
  }
  .aiv-price-grid em { font-size: 9px; }
  .aiv-price-grid strong { font-size: 12px; }
  .aiv-compact-contact { margin-top: 8px; }
  .aiv-compact-contact .aiv-detail-row { min-height: 38px; padding: 0 9px; }
  .aiv-compact-contact .aiv-detail-row span { font-size: 10px; }
  .aiv-compact-contact .aiv-detail-row strong { font-size: 11px; }
  .aiv-memo-box { margin-top: 8px; max-height: 40px; padding: 0 11px; }
  .aiv-memo-title { line-height: 39px; font-size: 11px; }
  .aiv-primary-actions { margin-top: 8px; }
  .aiv-primary-actions button { min-height: 42px; }
  .aiv-route-actions { margin-top: 7px !important; }
  .aiv-route-actions button { min-height: 40px !important; }
  .aiv-next-preview { margin-top: 7px; padding: 7px 9px; }
  .aiv-step-actions { margin-top: 7px; }
  .aiv-step-actions button { min-height: 38px; }
  .aiv-route-panel { display: none !important; }
}

/* =========================================================
   v6.0 STEP3.2 — 큰 동선지도 / 지도 제어 / 태블릿 로드뷰 실화면 맞춤
   ========================================================= */
.aiv-map-stage {
  position: relative;
  width: 100%;
  margin-bottom: 14px;
}
.aiv-map-stage .aiv-route-map {
  margin-bottom: 0 !important;
}
.aiv-map-controls {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 40;
  display: flex;
  gap: 6px;
}
.aiv-map-controls button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(23, 63, 120, .18);
  border-radius: 9px;
  background: rgba(255, 255, 255, .96);
  color: #1b4f99;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .16);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.aiv-map-controls button:active { transform: translateY(1px); }

.aiv-route-map {
  height: clamp(300px, 44vh, 520px) !important;
  min-height: 300px !important;
}

@media (max-width: 640px) {
  .aiv-route-map {
    height: clamp(230px, 35dvh, 340px) !important;
    min-height: 230px !important;
    margin-bottom: 0 !important;
  }
  .aiv-map-stage { margin-bottom: 8px; }
  .aiv-map-controls {
    top: 7px;
    right: 7px;
    gap: 5px;
  }
  .aiv-map-controls button {
    min-height: 31px;
    padding: 0 9px;
    border-radius: 8px;
    font-size: 11px;
  }
}

/* 태블릿 로드뷰는 CSS viewport가 아니라 visualViewport 실측값으로 맞춥니다. */
@media (min-width: 769px) and (max-width: 1366px) {
  #roadviewModal.roadview-modal {
    position: fixed !important;
    inset: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  #roadviewModal.roadview-modal .roadview-modal-dialog {
    position: fixed !important;
    top: calc(var(--aiv-roadview-offset-top, 0px) + 8px) !important;
    left: calc(var(--aiv-roadview-offset-left, 0px) + 8px) !important;
    right: auto !important;
    bottom: auto !important;
    width: calc(var(--aiv-roadview-visible-width, 100vw) - 16px) !important;
    height: calc(var(--aiv-roadview-visible-height, 100dvh) - 16px) !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }
  #roadviewModal.roadview-modal .roadview-modal-header {
    flex: 0 0 auto !important;
    min-height: 54px !important;
    max-height: 64px !important;
    padding: 7px 10px !important;
  }
  #roadviewModal.roadview-modal .roadview-tab-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
  }
}

/* =========================================================
   v6.0 STEP3.3 — 지도 제어버튼 제거 / 태블릿 가로 로드뷰 맞춤
   ========================================================= */
.aiv-map-controls {
  display: none !important;
}

/* 이전 보완판의 큰 비상 닫기 버튼은 모든 기기에서 제거 */
#aivRoadviewEmergencyClose,
.aiv-roadview-emergency-close,
.aiv-roadview-emergency-close.show {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (min-width: 769px) and (max-width: 1366px) {
  #roadviewModal.roadview-modal {
    position: fixed !important;
    inset: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  #roadviewModal.roadview-modal .roadview-modal-dialog {
    position: fixed !important;
    top: calc(var(--aiv-roadview-offset-top, 0px) + var(--aiv-roadview-outer-gap, 8px)) !important;
    left: calc(var(--aiv-roadview-offset-left, 0px) + var(--aiv-roadview-outer-gap, 8px)) !important;
    right: auto !important;
    bottom: auto !important;
    width: calc(var(--aiv-roadview-visible-width, 100vw) - (var(--aiv-roadview-outer-gap, 8px) * 2)) !important;
    height: calc(var(--aiv-roadview-visible-height, 100dvh) - (var(--aiv-roadview-outer-gap, 8px) * 2)) !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 12px !important;
  }

  #roadviewModal.roadview-modal .roadview-modal-header {
    flex: 0 0 auto !important;
    min-height: 50px !important;
    max-height: 56px !important;
    padding: 6px 9px !important;
    box-sizing: border-box !important;
  }

  #roadviewModal.roadview-modal .roadview-tab-content {
    position: relative !important;
    flex: 1 1 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  #roadviewModal.roadview-modal .roadview-pane,
  #roadviewModal.roadview-modal .roadview-container,
  #roadviewModal.roadview-modal .roadview-full-map {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  /* 가로모드에서는 헤더를 더 얇게 하여 위·아래 잘림을 방지 */
  #roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-modal-header {
    min-height: 44px !important;
    max-height: 48px !important;
    padding: 4px 8px !important;
    gap: 6px !important;
  }

  #roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-view-tab {
    height: 32px !important;
    min-width: 56px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
  }

  #roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-modal-close {
    width: 34px !important;
    height: 34px !important;
    font-size: 22px !important;
  }
}

/* =========================================================
   v6.0 STEP3.4 — 태블릿 가로 로드뷰 실측 크기 강제 보정
   ========================================================= */
@media (min-width: 769px) and (max-width: 1366px) {
  #roadviewModal.roadview-modal .roadview-modal-dialog {
    top: var(--aiv-roadview-dialog-top, 10px) !important;
    left: var(--aiv-roadview-dialog-left, 8px) !important;
    width: var(--aiv-roadview-dialog-width, calc(100vw - 16px)) !important;
    height: var(--aiv-roadview-dialog-height, calc(100dvh - 20px)) !important;
    max-width: none !important;
    max-height: none !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: none !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  #roadviewModal.roadview-modal .roadview-modal-header {
    flex: 0 0 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    box-sizing: border-box !important;
  }

  #roadviewModal.roadview-modal .roadview-tab-content {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  #roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-modal-header {
    flex-basis: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 3px 8px !important;
  }
}

/* =========================================================
   v6.0 STEP3.5 — 태블릿 가로 로드뷰 실제 표시영역 강제 고정
   JS 인라인 계산을 최우선으로 사용하며, 헤더/본문 비율만 보장합니다.
   ========================================================= */
@media (orientation: landscape) and (hover: none) and (pointer: coarse) {
  #roadviewModal.roadview-modal {
    position: fixed !important;
    inset: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  #roadviewModal.roadview-modal .roadview-modal-dialog {
    transform: none !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  #roadviewModal.roadview-modal .roadview-modal-header {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) 40px !important;
    flex: 0 0 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 4px 8px !important;
    position: relative !important;
    z-index: 100 !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }
  #roadviewModal.roadview-modal .roadview-tab-content {
    position: relative !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  #roadviewModal.roadview-modal .roadview-pane,
  #roadviewModal.roadview-modal .roadview-container,
  #roadviewModal.roadview-modal .roadview-full-map {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }
}

/* =========================================================
   v6.0 STEP3.6 — 태블릿 가로 로드뷰 헤더/본문 절대 분리
   태블릿이 데스크톱 폭(1366px 초과)으로 보고되어도 class 기준으로 적용합니다.
   ========================================================= */
#roadviewModal.roadview-modal.aiv-tablet-landscape {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-modal-dialog {
  display: block !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
}

#roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-modal-header {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) 40px !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 4px 8px !important;
  z-index: 2147483000 !important;
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  box-sizing: border-box !important;
}

#roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-tab-content {
  position: absolute !important;
  top: 48px !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  z-index: 1 !important;
}

#roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-pane,
#roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-container,
#roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-full-map {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

#roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-view-tabs,
#roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-modal-heading,
#roadviewModal.roadview-modal.aiv-tablet-landscape .roadview-modal-close {
  position: relative !important;
  z-index: 2147483001 !important;
}

/* =========================================================
   v6.0 STEP3.7 — 데스크탑·태블릿 로드뷰 실화면 완전 맞춤
   - 넓은 데스크탑의 94vw 제한 제거
   - 태블릿 브라우저 확대/PC모드에서도 우측·하단 잘림 방지
   ========================================================= */
@media (min-width: 769px) {
  #roadviewModal.roadview-modal.open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  #roadviewModal.roadview-modal.open .roadview-modal-dialog {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
}

/* =========================================================
   v6.0 STEP4 — 현장 완료/보류 UI
   ========================================================= */
.aiv-current-card {
  width: 100% !important;
  max-width: none !important;
}

.aiv-travel-strip,
.aiv-next-preview,
.aiv-route-actions,
.aiv-primary-actions,
.aiv-step-actions {
  display: none !important;
}

.aiv-memo-editor-wrap {
  display: block;
  margin-top: 18px;
}
.aiv-memo-editor-wrap .aiv-memo-title {
  display: block;
  margin-bottom: 8px;
  color: var(--aiv-muted);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
}
.aiv-memo-editor {
  width: 100%;
  min-height: 94px;
  resize: vertical;
  box-sizing: border-box;
  padding: 13px 14px;
  border: 1px solid var(--aiv-line);
  border-radius: 14px;
  background: #fff;
  color: var(--aiv-ink);
  font: inherit;
  font-size: 14px;
  line-height: 1.55;
  outline: none;
}
.aiv-memo-editor:focus {
  border-color: #8eb8f6;
  box-shadow: 0 0 0 3px rgba(23,105,232,.12);
}

.aiv-field-actions {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 14px;
}
.aiv-field-actions button {
  min-width: 0;
  min-height: 48px;
  border: 1px solid #dbe3ef;
  border-radius: 12px;
  background: #fff;
  color: #273449;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}
.aiv-field-actions .nav,
.aiv-field-actions .roadview {
  border-color: #b9d2f6;
  background: #edf5ff;
  color: #155fc2;
}
.aiv-field-actions .hold {
  border-color: #f1c56a;
  background: #fff7df;
  color: #965600;
}
.aiv-field-actions .hold.unhold {
  border-color: #d97706;
  background: #f59e0b;
  color: #fff;
}
.aiv-field-actions .complete {
  border-color: #1769e8;
  background: #1769e8;
  color: #fff;
}

.aiv-complete-confirm {
  width: min(92vw, 380px);
  padding: 26px 22px 20px;
  text-align: center;
}
.aiv-complete-message {
  color: var(--aiv-ink);
  font-size: 19px;
  font-weight: 900;
}
.aiv-complete-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 22px;
}

.aiv-route-item {
  position: relative;
}
.aiv-route-state-icon {
  width: 20px;
  flex: 0 0 20px;
  text-align: center;
  color: #667085;
  font-size: 14px;
  font-weight: 900;
}
.aiv-route-item.active .aiv-route-state-icon { color: #1769e8; }
.aiv-route-item.hold .aiv-route-state-icon { color: #e87800; }
.aiv-route-item.done .aiv-route-state-icon { color: #1769e8; }
.aiv-route-item.hold { background: #fff8e8; }
.aiv-route-item.hold .aiv-route-number { background: #f59e0b; color: #fff; }
.aiv-route-item.done { background: #f3f7fc; }
.aiv-route-item.done .aiv-route-number { background: #1769e8; color: #fff; }

/* 임장센터 지도 상태색: 예정 노랑 / 보류 주황 / 완료 파랑 */
.aiv-number-marker.pending {
  background: #f7c928 !important;
  color: #3c3300 !important;
}
.aiv-number-marker.current {
  width: 42px !important;
  height: 42px !important;
  background: #f7c928 !important;
  color: #302800 !important;
  border-color: #1769e8 !important;
  box-shadow: 0 0 0 5px rgba(23,105,232,.18), 0 6px 18px rgba(15,30,55,.32) !important;
}
.aiv-number-marker.hold {
  background: #f59e0b !important;
  color: #fff !important;
}
.aiv-number-marker.done {
  background: #1769e8 !important;
  color: #fff !important;
}

@media (max-width: 640px) {
  .aiv-memo-editor { min-height: 82px; }
  .aiv-field-actions { gap: 6px; }
  .aiv-field-actions button {
    min-height: 44px;
    padding: 0 4px;
    font-size: 12px;
  }
}

/* v6.4.31 - 모바일·태블릿 현장 작업 버튼 상시 노출 */
.aiv-current-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.aiv-section-kicker,
.aiv-map-stage,
.aiv-field-actions-dock {
  flex: 0 0 auto;
}
.aiv-current-card {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  max-width: none;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.aiv-field-actions-dock {
  position: relative;
  z-index: 8;
  margin-top: 10px;
  padding-top: 10px;
  padding-bottom: max(0px, env(safe-area-inset-bottom));
  border-top: 1px solid var(--aiv-line);
  background: #fff;
  box-shadow: 0 -10px 20px rgba(15, 30, 55, .04);
}

@media (max-width: 1180px) {
  .aiv-workspace-main {
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 10px;
    padding: 10px;
  }
  .aiv-current-panel {
    min-height: 0;
    padding: 14px;
  }
  .aiv-route-map {
    height: clamp(210px, 36dvh, 350px) !important;
    min-height: 210px !important;
  }
  .aiv-map-stage {
    margin-bottom: 8px;
  }
  .aiv-memo-editor-wrap {
    margin-top: 10px;
  }
  .aiv-memo-editor {
    min-height: 70px;
  }
}

@media (max-width: 900px) {
  .aiv-workspace-main {
    display: block;
    min-height: 0;
    overflow: hidden;
  }
  .aiv-current-panel {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  .aiv-route-panel {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .aiv-workspace {
    height: 100dvh;
  }
  .aiv-workspace-main {
    flex: 1 1 auto;
    height: auto;
    padding: 8px;
  }
  .aiv-current-panel {
    height: 100%;
    min-height: 0;
    padding: 10px !important;
  }
  .aiv-section-kicker {
    margin-bottom: 6px;
  }
  .aiv-route-map {
    height: clamp(145px, 25dvh, 220px) !important;
    min-height: 145px !important;
  }
  .aiv-current-card {
    padding-right: 2px;
  }
  .aiv-current-title-line {
    margin-top: 0;
  }
  .aiv-memo-editor-wrap {
    margin-top: 8px;
  }
  .aiv-memo-editor {
    min-height: 62px;
  }
  .aiv-field-actions-dock {
    margin-top: 7px;
    padding-top: 7px;
  }
}
\n\n/* v6.1 AI임장센터 임대조건/연락처 압축 */\n.aiv-condition-line {\n  display:flex; flex-wrap:wrap; gap:5px 10px; align-items:center;\n  padding:9px 11px; margin-top:8px; border:1px solid #e2e8f0; border-radius:10px;\n  background:#f8fafc; font-size:14px; font-weight:800; line-height:1.35;\n}\n.aiv-condition-line span:not(:last-child)::after { content:"·"; margin-left:10px; color:#cbd5e1; }\n.aiv-condition-line .deposit,.aiv-condition-line .rent { color:#1769aa; }\n.aiv-condition-line .fee { color:#1f2937; }\n.aiv-condition-line .premium { color:#d97706; }\n.aiv-condition-line .area { color:#16803c; }\n.aiv-contact-line { display:flex; flex-wrap:wrap; gap:6px 18px; padding:8px 2px 2px; font-size:13px; font-weight:750; }\n.aiv-contact-line a { color:#1d4ed8; text-decoration:none; }\n.aiv-contact-line a + a::before { content:"·"; color:#cbd5e1; margin-right:18px; }\n@media (max-width:767px) {\n .aiv-condition-line { font-size:12.5px; gap:4px 7px; padding:8px; }\n .aiv-condition-line span:not(:last-child)::after { margin-left:7px; }\n .aiv-contact-line { font-size:12px; gap:5px 12px; }\n}\n

/* =========================================================
   v6.1.1 AI임장센터 조건/연락처 최종 정렬
   ========================================================= */
.aiv-type-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 25px;
  padding: 4px 9px;
  border: 1px solid #b9d2f6;
  border-radius: 999px;
  background: #edf5ff;
  color: #155fc2;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.aiv-condition-line {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  gap: 6px 0 !important;
  padding: 11px 14px !important;
  margin-top: 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 11px !important;
  background: #f8fafc !important;
  text-align: left !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.4 !important;
}
.aiv-condition-line > span {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}
.aiv-condition-line > span:not(:last-child)::after {
  content: "·" !important;
  display: inline-block !important;
  margin: 0 10px !important;
  color: #cbd5e1 !important;
  font-weight: 900 !important;
}
.aiv-condition-line .price-main { color: #1769aa !important; }
.aiv-condition-line .fee { color: #1f2937 !important; }
.aiv-condition-line .premium { color: #d97706 !important; }
.aiv-condition-line .area { color: #16803c !important; }

.aiv-contact-line {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  gap: 5px 10px !important;
  padding: 9px 3px 2px !important;
  text-align: left !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
.aiv-contact-line a {
  color: #1d4ed8 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.aiv-contact-line a + a::before { content: none !important; }
.aiv-contact-dot {
  color: #cbd5e1 !important;
  font-weight: 900 !important;
}

@media (max-width: 640px) {
  .aiv-condition-line {
    padding: 9px 10px !important;
    font-size: 12.5px !important;
  }
  .aiv-condition-line > span:not(:last-child)::after {
    margin: 0 7px !important;
  }
  .aiv-contact-line {
    gap: 4px 7px !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   v6.4.32 — 데스크탑·태블릿 AI임장 작업 버튼 한 줄 배치
   모바일(767px 이하)은 기존 하단 고정 버튼을 유지합니다.
   ========================================================= */
.aiv-field-actions-inline {
  display: none;
}

@media (min-width: 768px) {
  .aiv-current-summary-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-height: 46px;
  }

  .aiv-current-summary-row .aiv-current-top {
    min-width: 0;
    padding-right: 0;
  }

  .aiv-current-summary-row .aiv-current-top > div {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 18px;
    overflow: hidden;
    white-space: nowrap;
  }

  .aiv-current-summary-row .aiv-current-title-line {
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    flex-wrap: nowrap;
    min-width: 0;
    margin: 0;
    white-space: nowrap;
  }

  .aiv-current-summary-row .aiv-current-title-line h2 {
    flex: 0 1 auto;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    font-size: clamp(22px, 2vw, 31px);
    line-height: 1.2;
    text-overflow: ellipsis;
  }

  .aiv-current-summary-row .aiv-current-address {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: #4e5b70;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .aiv-field-actions-inline {
    display: grid;
    grid-template-columns: repeat(4, minmax(70px, 84px));
    gap: 8px;
    width: auto;
    margin: 0;
  }

  .aiv-field-actions-inline button {
    min-height: 38px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: 13px;
    white-space: nowrap;
  }

  .aiv-current-summary-row .aiv-current-index {
    position: static;
    align-self: center;
    min-width: 64px;
    color: var(--aiv-blue);
    font-size: 30px;
    text-align: right;
    white-space: nowrap;
  }

  .aiv-field-actions-dock {
    display: none !important;
  }

  .aiv-current-card {
    overflow: hidden;
    scrollbar-gutter: auto;
  }
}

@media (min-width: 768px) and (max-width: 1180px) {
  .aiv-current-summary-row {
    gap: 10px;
  }

  .aiv-current-summary-row .aiv-current-top > div {
    gap: 10px;
  }

  .aiv-current-summary-row .aiv-current-title-line h2 {
    font-size: 19px !important;
  }

  .aiv-current-summary-row .aiv-current-address {
    font-size: 12px;
  }

  .aiv-field-actions-inline {
    grid-template-columns: repeat(4, minmax(54px, 66px));
    gap: 6px;
  }

  .aiv-field-actions-inline button {
    min-height: 34px;
    padding: 0 5px;
    font-size: 11.5px;
  }

  .aiv-current-summary-row .aiv-current-index {
    min-width: 52px;
    font-size: 25px;
  }
}
