/* Norvia Booking Import V2 — premium, compact, responsive. */
body.nv-bi-modal-open { overflow: hidden !important; }
/* Above the desktop trip workspace (z-index 820), where "Import booking" is opened. */
#nv-booking-import-v2 { position: fixed; inset: 0; z-index: 10030; pointer-events: none; opacity: 0; transition: opacity .18s ease; font-family: Inter,system-ui,sans-serif; }
#nv-booking-import-v2.is-open { pointer-events: auto; opacity: 1; }
#nv-booking-import-v2 .nv-bi-backdrop { position: absolute; inset: 0; background: rgba(19,29,23,.48); backdrop-filter: blur(8px); }
#nv-booking-import-v2 .nv-bi-sheet { position: absolute; width: min(760px,calc(100vw - 32px)); max-height: min(820px,calc(100vh - 48px)); overflow: auto; left: 50%; top: 50%; transform: translate(-50%,-50%); background: #fffdf8; border: 1px solid rgba(42,61,46,.10); border-radius: 28px; box-shadow: 0 34px 100px rgba(19,29,23,.34); }
#nv-booking-import-v2 header { position: sticky; top: 0; z-index: 3; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:22px 24px 15px; background:rgba(255,253,248,.96); backdrop-filter:blur(16px); border-bottom:1px solid rgba(42,61,46,.07); }
#nv-booking-import-v2 header small { display:block; color:#899287; font-size:9px; font-weight:850; letter-spacing:.15em; }
#nv-booking-import-v2 header h2 { margin:4px 0 0; color:#203527; font:650 25px/1.05 Fraunces,Georgia,serif; letter-spacing:-.025em; }
#nv-booking-import-v2 header>button { width:38px; height:38px; border:1px solid rgba(42,61,46,.10); border-radius:50%; background:#fff; color:#526256; font-size:22px; line-height:1; cursor:pointer; }
#nv-booking-import-v2 .nv-bi-source,#nv-booking-import-v2 .nv-bi-review { padding:22px 24px 26px; }
#nv-booking-import-v2 .nv-bi-mode-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:5px; border-radius:15px; background:#eef2ec; margin-bottom:16px; }
#nv-booking-import-v2 .nv-bi-mode-tabs button { min-height:43px; border:0; border-radius:11px; background:transparent; color:#738078; font-size:11px; font-weight:780; cursor:pointer; }
#nv-booking-import-v2 .nv-bi-mode-tabs button.is-active { background:#fff; color:#2d4936; box-shadow:0 4px 14px rgba(42,61,46,.08); }
#nv-booking-import-v2 .nv-bi-mode-tabs span { margin-right:6px; }
#nv-booking-import-v2 .nv-bi-paste-wrap { padding:14px; border:1px solid rgba(42,61,46,.11); border-radius:18px; background:#fff; }
#nv-booking-import-v2 textarea { width:100%; min-height:180px; resize:vertical; box-sizing:border-box; border:0; outline:0; background:transparent; color:#263b2d; font:500 13px/1.6 Inter,sans-serif; }
#nv-booking-import-v2 textarea::placeholder { color:#a0a8a1; }
#nv-booking-import-v2 .nv-bi-source-hints { display:flex; gap:7px; flex-wrap:wrap; padding-top:10px; border-top:1px solid #eff1ed; }
#nv-booking-import-v2 .nv-bi-source-hints span { padding:5px 8px; border-radius:999px; background:#f3f5f1; color:#839085; font-size:8.5px; font-weight:700; }
#nv-booking-import-v2 .nv-bi-drop { min-height:210px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:20px; border:1.5px dashed #bcc9bc; border-radius:20px; background:radial-gradient(circle at 50% 0%,rgba(107,143,113,.13),transparent 40%),#fbfcf9; cursor:pointer; text-align:center; transition:.16s ease; }
#nv-booking-import-v2 .nv-bi-drop:hover,#nv-booking-import-v2 .nv-bi-drop.is-drag { border-color:#6b8f71; background:#f4f8f2; transform:translateY(-1px); }
#nv-booking-import-v2 .nv-bi-drop-orbit { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:#2f503b; color:#fff; font-size:19px; box-shadow:0 9px 25px rgba(47,80,59,.20); }
#nv-booking-import-v2 .nv-bi-drop strong { color:#2b4031; font-size:13px; }
#nv-booking-import-v2 .nv-bi-drop small { color:#8a948b; font-size:10px; }
#nv-booking-import-v2 .nv-bi-drop em { margin-top:5px; padding:8px 13px; border:1px solid rgba(42,61,46,.10); border-radius:999px; background:#fff; color:#3d5a47; font-size:9px; font-style:normal; font-weight:800; }
#nv-booking-import-v2 .nv-bi-privacy { display:grid; grid-template-columns:30px minmax(0,1fr); gap:9px; align-items:start; margin:14px 0 16px; padding:11px 12px; border-radius:14px; background:#f4f6f2; color:#69756b; }
#nv-booking-import-v2 .nv-bi-privacy>span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#fff; color:#55705d; }
#nv-booking-import-v2 .nv-bi-privacy strong,#nv-booking-import-v2 .nv-bi-privacy small { display:block; }
#nv-booking-import-v2 .nv-bi-privacy strong { color:#415545; font-size:9.5px; }
#nv-booking-import-v2 .nv-bi-privacy small { margin-top:2px; font-size:9px; line-height:1.45; }
#nv-booking-import-v2 .nv-bi-primary,#nv-booking-import-v2 .nv-bi-secondary { min-height:46px; border-radius:999px; padding:0 18px; font-size:11px; font-weight:820; cursor:pointer; border:0; }
#nv-booking-import-v2 .nv-bi-primary { width:100%; background:#2f503b; color:#fff; box-shadow:0 9px 22px rgba(47,80,59,.16); }
#nv-booking-import-v2 .nv-bi-primary:hover { background:#223e2c; }
#nv-booking-import-v2 .nv-bi-primary:disabled { opacity:.4; cursor:not-allowed; }
#nv-booking-import-v2 .nv-bi-primary i { margin-left:7px; font-style:normal; }
#nv-booking-import-v2 .nv-bi-secondary { background:#f2f4f0; color:#5e6f62; }
#nv-booking-import-v2 .nv-bi-error { margin:14px 24px 0; padding:10px 12px; border:1px solid #efd9cf; border-radius:12px; background:#fff5f0; color:#9b573e; font-size:10px; font-weight:650; }
#nv-booking-import-v2 .nv-bi-review-hero { position:relative; display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:12px; align-items:center; padding:16px; border-radius:19px; background:linear-gradient(135deg,#eaf1e7,#fbfaf6); border:1px solid rgba(42,61,46,.09); }
#nv-booking-import-v2 .nv-bi-scan-mark { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#2f503b; color:#fff; font-size:17px; }
#nv-booking-import-v2 .nv-bi-review-hero small { display:block; color:#7b897f; font-size:8px; font-weight:850; letter-spacing:.14em; }
#nv-booking-import-v2 .nv-bi-review-hero strong { display:block; margin-top:2px; color:#263b2d; font:650 19px/1.15 Fraunces,Georgia,serif; }
#nv-booking-import-v2 .nv-bi-review-hero p { margin:4px 0 0; color:#788279; font-size:9.5px; line-height:1.4; }
#nv-booking-import-v2 .nv-bi-engine { padding:6px 8px; border-radius:999px; background:rgba(255,255,255,.8); color:#66806d; font-size:8px; font-weight:800; white-space:nowrap; }
#nv-booking-import-v2 .nv-bi-truth { display:grid; grid-template-columns:30px minmax(0,1fr); gap:9px; margin:12px 0 16px; padding:11px 12px; border:1px solid #eadfc9; border-radius:14px; background:#fffaf0; }
#nv-booking-import-v2 .nv-bi-truth>span { color:#b18849; font-size:18px; }
#nv-booking-import-v2 .nv-bi-truth strong,#nv-booking-import-v2 .nv-bi-truth small { display:block; }
#nv-booking-import-v2 .nv-bi-truth strong { color:#6e5937; font-size:9.5px; }
#nv-booking-import-v2 .nv-bi-truth small { margin-top:2px; color:#8c7d65; font-size:9px; line-height:1.45; }
#nv-booking-import-v2 .nv-bi-fields { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
#nv-booking-import-v2 .nv-bi-field { min-width:0; }
#nv-booking-import-v2 .nv-bi-field.is-wide { grid-column:1 / -1; }
#nv-booking-import-v2 .nv-bi-field>span { min-height:20px; display:flex; align-items:center; justify-content:space-between; gap:7px; }
#nv-booking-import-v2 .nv-bi-field b { color:#68746a; font-size:8.5px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
#nv-booking-import-v2 .nv-bi-field em { padding:3px 5px; border-radius:999px; font-size:7px; font-style:normal; font-weight:850; }
#nv-booking-import-v2 .nv-bi-confidence-high { background:#e7f1e6; color:#4f7956; }
#nv-booking-import-v2 .nv-bi-confidence-mid { background:#fff2d8; color:#936d2f; }
#nv-booking-import-v2 .nv-bi-confidence-low { background:#f5ece9; color:#9a6857; }
#nv-booking-import-v2 .nv-bi-field input,#nv-booking-import-v2 .nv-bi-field select { box-sizing:border-box; width:100%; min-height:43px; padding:0 11px; border:1px solid #dfe5dd; border-radius:12px; outline:0; background:#fff; color:#263b2d; font:600 11px Inter,sans-serif; }
#nv-booking-import-v2 .nv-bi-field input:focus,#nv-booking-import-v2 .nv-bi-field select:focus { border-color:#78957f; box-shadow:0 0 0 3px rgba(107,143,113,.10); }
#nv-booking-import-v2 .nv-bi-money { display:grid; grid-template-columns:minmax(0,1fr) 70px; gap:6px; }
#nv-booking-import-v2 .nv-bi-review-actions { display:grid; grid-template-columns:auto minmax(200px,.65fr); justify-content:end; gap:8px; margin-top:18px; }
#nv-booking-import-v2 .nv-bi-review-actions .nv-bi-primary { width:auto; }
#nv-booking-import-v2 .nv-bi-role-note { margin:9px 0 0; color:#7e887f; font-size:8.5px; line-height:1.45; text-align:right; }
#nv-booking-import-v2 .nv-bi-loading,#nv-booking-import-v2 .nv-bi-success { min-height:430px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px; text-align:center; }
#nv-booking-import-v2 .nv-bi-radar { position:relative; width:94px; height:94px; display:grid; place-items:center; margin-bottom:19px; }
#nv-booking-import-v2 .nv-bi-radar i { position:absolute; inset:0; border:1px solid rgba(79,121,86,.32); border-radius:50%; animation:nvBiPulse 1.7s ease-out infinite; }
#nv-booking-import-v2 .nv-bi-radar i:nth-child(2) { inset:15px; animation-delay:.35s; }
#nv-booking-import-v2 .nv-bi-radar b { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#2f503b; color:#fff; font-size:18px; box-shadow:0 10px 30px rgba(47,80,59,.24); }
@keyframes nvBiPulse { 0%{transform:scale(.75);opacity:0} 35%{opacity:1} 100%{transform:scale(1.13);opacity:0} }
#nv-booking-import-v2 .nv-bi-loading>small,#nv-booking-import-v2 .nv-bi-success>small { color:#839086; font-size:8px; font-weight:850; letter-spacing:.15em; }
#nv-booking-import-v2 .nv-bi-loading h3,#nv-booking-import-v2 .nv-bi-success h3 { margin:5px 0 7px; color:#253a2c; font:650 25px/1.1 Fraunces,Georgia,serif; }
#nv-booking-import-v2 .nv-bi-loading p,#nv-booking-import-v2 .nv-bi-success p { max-width:440px; margin:0; color:#7d887f; font-size:10.5px; line-height:1.55; }
#nv-booking-import-v2 .nv-bi-loading-steps { display:flex; gap:6px; margin-top:19px; }
#nv-booking-import-v2 .nv-bi-loading-steps span { padding:5px 8px; border-radius:999px; background:#f0f2ee; color:#5f6b62; font-size:8px; font-weight:750; }
#nv-booking-import-v2 .nv-bi-loading-steps span.is-on { background:#e8f0e6; color:#5a775f; }
#nv-booking-import-v2 .nv-bi-success>span { width:62px; height:62px; display:grid; place-items:center; margin-bottom:15px; border-radius:50%; background:#2f503b; color:#fff; font-size:24px; box-shadow:0 12px 30px rgba(47,80,59,.22); }
#nv-booking-import-v2 .nv-bi-success .nv-bi-primary { width:auto; min-width:210px; margin-top:20px; }

@media(max-width:640px){
  #nv-booking-import-v2 .nv-bi-sheet { width:100%; max-height:92dvh; left:0; right:0; top:auto; bottom:0; transform:none; border-radius:26px 26px 0 0; border-bottom:0; }
  #nv-booking-import-v2 header { padding:18px 18px 13px; }
  #nv-booking-import-v2 header h2 { font-size:22px; }
  #nv-booking-import-v2 .nv-bi-source,#nv-booking-import-v2 .nv-bi-review { padding:16px 18px 24px; }
  #nv-booking-import-v2 .nv-bi-fields { grid-template-columns:1fr; }
  #nv-booking-import-v2 .nv-bi-field.is-wide { grid-column:auto; }
  #nv-booking-import-v2 .nv-bi-review-hero { grid-template-columns:42px minmax(0,1fr); }
  #nv-booking-import-v2 .nv-bi-engine { grid-column:2; justify-self:start; }
  #nv-booking-import-v2 .nv-bi-review-actions { grid-template-columns:1fr; }
  #nv-booking-import-v2 .nv-bi-review-actions .nv-bi-primary,#nv-booking-import-v2 .nv-bi-review-actions .nv-bi-secondary { width:100%; }
  #nv-booking-import-v2 .nv-bi-role-note { text-align:left; }
  #nv-booking-import-v2 .nv-bi-loading,#nv-booking-import-v2 .nv-bi-success { min-height:390px; padding:26px 18px; }
}
