/* ViraWise Experience v5 — dark destination loader + functional profile modules. */
/* Profile-only local widgets are decorative until their separate script initializes. */

/* ── Dark travel studio loader: no white flash while routing ── */
#loading-view {
  background:radial-gradient(ellipse 62% 65% at 53% 36%,#12465a 0%,#071e32 58%,#041221 100%)!important;
  color:#f6fbff!important;
}
#loading-view::before {
  background-image:radial-gradient(rgba(128,211,217,.4) .7px,transparent .7px)!important;
  opacity:.36!important;
  background-size:23px 23px!important;
  mask-image:radial-gradient(ellipse at center,transparent 9%,#000 100%)!important;
}
#loading-view .v4-loading-ambient-left {background:#0d887f!important;opacity:.37!important;filter:blur(90px)!important;}
#loading-view .v4-loading-ambient-right {background:#235b9a!important;opacity:.40!important;filter:blur(90px)!important;}
#loading-view .v4-loading-card {
  width:min(100%,590px)!important;
  background:linear-gradient(140deg,rgba(16,49,68,.96),rgba(6,27,45,.98) 70%)!important;
  border:1px solid rgba(155,218,224,.23)!important;
  box-shadow:0 42px 105px rgba(0,10,26,.49),inset 0 1px rgba(255,255,255,.055)!important;
  color:#f4fbff!important;
  padding-top:28px!important;
}
#loading-view .v4-loading-card::before {left:26%!important;right:26%!important;height:2px!important;background:linear-gradient(90deg,transparent,#62ebcd,transparent)!important;}
#loading-view .v4-loading-brand {color:#f8ffff!important;font-size:21px!important;text-shadow:none!important;letter-spacing:-.065em;}
#loading-view .v4-loading-brand-icon {
  background:linear-gradient(135deg,#5bebc4,#249fa9)!important;
  color:#052736!important;box-shadow:0 8px 22px rgba(55,221,181,.17)!important;
}
#loading-view .v4-loading-brand-tag {
  background:rgba(87,219,187,.11)!important;
  border:1px solid rgba(124,239,205,.26)!important;color:#a4f5dd!important;
}
#loading-view .v4-loading-art {margin-top:14px!important;margin-bottom:7px!important;}
#loading-view .v4-loading-orbit-one {border-color:rgba(146,232,226,.23)!important;}
#loading-view .v4-loading-orbit-two {border-color:rgba(129,233,206,.54)!important;}
#loading-view .v4-loading-sweep {
  background:conic-gradient(from 10deg,transparent 0deg 250deg,rgba(75,241,194,.10) 312deg,rgba(75,241,194,.40) 359deg)!important;
}
#loading-view .v4-loading-globe {
  border:1px solid rgba(177,242,219,.32)!important;
  background:linear-gradient(135deg,#175867,#0a374d)!important;
  color:#94f9dd!important;
  box-shadow:0 0 54px rgba(61,208,171,.12),inset 0 1px rgba(255,255,255,.10)!important;
}
#loading-view .v4-loading-pin {
  background:#0d3b4d!important;
  border:1px solid rgba(149,233,219,.38)!important;
  box-shadow:0 7px 28px rgba(0,10,24,.30)!important;
}
#loading-view .v4-loading-pin-one {color:#75ebc7!important;}
#loading-view .v4-loading-pin-two {color:#9ac7ff!important;}
#loading-view .v4-loading-eyebrow {
  background:rgba(49,205,163,.10)!important;
  border-color:rgba(112,236,201,.28)!important;
  color:#a9f6dd!important;
}
#loading-view .v4-loading-eyebrow > span {background:#67ebc3!important;}
#loading-view .v4-loading-title {
  color:#f8fdff!important;
  text-shadow:none!important;
  opacity:1!important;
  font-size:clamp(25px,4.8vw,34px)!important;
  margin-top:17px!important;
}
#loading-view .v4-loading-desc {
  color:#c8dce6!important;opacity:1!important;
  font-size:13px!important;
}
#loading-view .v4-loading-journey {
  background:rgba(2,20,35,.47)!important;
  border-color:rgba(153,216,224,.22)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05)!important;
}
#loading-view .v4-loading-journey small {color:#9cbdcc!important;}
#loading-view .v4-loading-journey strong {color:#f2faff!important;}
#loading-view .v4-loading-journey-arrow {color:#75f1cf!important;}
#loading-view .v4-loading-progress {background:rgba(153,212,215,.18)!important;height:7px!important;}
#loading-view .v4-loading-progress span {
  background:linear-gradient(90deg,#64eaca,#58bded)!important;
  box-shadow:0 0 16px rgba(104,238,205,.26)!important;
}
.v5-loading-steps {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;gap:8px;max-width:445px;margin:4px auto 17px;
}
.v5-loading-steps span {
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  min-width:0;white-space:nowrap;
  color:#b1cdda!important;font-size:10px;font-weight:750;
}
.v5-loading-steps i {color:#76e5c8!important;font-size:11px;}
#loading-view .v4-loading-note {color:#b5ceda!important;opacity:1!important;font-size:11px!important;}
#loading-view .v4-loading-note i {color:#80ead2!important;}
/* ── Functional profile travel widgets ── */
#profile-modal .v5-next-trip,
#profile-modal .v5-prep-card,
#profile-modal .v5-notes-card {
  background:#fff!important;
  border:1px solid #dfeaf0!important;
  border-radius:16px!important;
  box-shadow:0 8px 25px rgba(24,65,86,.045)!important;
  color:#254254!important;
  min-width:0;
}
#profile-modal .v5-next-trip {padding:15px;margin-bottom:17px;background:linear-gradient(140deg,#eefaf6,#f7fbff)!important;border-color:#d4eae6!important;}
#profile-modal .v5-prep-card {padding:15px;margin-top:14px;}
#profile-modal .v5-notes-card {padding:15px;margin-top:17px;}
.v5-card-header {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.v5-card-header h3 {font-family:Manrope,sans-serif;font-size:14px!important;font-weight:850;color:#1b3e4c!important;letter-spacing:-.03em;margin:3px 0 0!important;}
.v5-card-header h3 i {color:#168d80!important;margin-right:6px;}
.v5-mini-kicker {
  color:#148175!important;letter-spacing:.12em;font-size:9px;font-weight:900;
}
.v5-local-pill {
  display:inline-block;padding:6px 9px;flex-shrink:0;
  background:#e3f3ee;color:#256a65!important;border-radius:20px;
  font-size:9px;font-weight:750;white-space:nowrap;
}
.v5-trip-form {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.94fr) auto;gap:9px;align-items:end;}
.v5-trip-form label {
  display:grid;gap:5px;min-width:0;color:#546c7d!important;
  font-size:10px;font-weight:800;
}
#profile-modal .v5-trip-form input,
#profile-modal #v5-note-input {
  width:100%;min-width:0;background:#fff!important;color:#234358!important;
  border:1px solid #cfdfE6!important;box-shadow:none!important;
  border-radius:10px;padding:10px 11px;min-height:39px;
  font-size:12px;font-family:'DM Sans',sans-serif;
}
#profile-modal .v5-trip-form input::placeholder,
#profile-modal #v5-note-input::placeholder {color:#657f90!important;opacity:1!important;}
#profile-modal .v5-save-button {
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  flex-shrink:0;border:0;border-radius:10px;
  background:#087c74!important;color:#fff!important;
  font-size:11px;font-weight:850;padding:10px 12px;
  min-height:39px;line-height:1.2;
}
#profile-modal .v5-save-button:hover {background:#086c68!important;}
.v5-trip-status {
  padding:11px 12px;margin-top:11px;border:1px solid #d9eae5;
  background:rgba(255,255,255,.70)!important;border-radius:10px;
  color:#496576!important;font-size:11px;line-height:1.55;
}
.v5-trip-status strong {font-size:13px;color:#154b4b!important;}
.v5-trip-status[data-saved="true"] {border-color:#b7dbce;background:#e4f7ee!important;}
.v5-check-count {
  color:#086c65!important;font-size:11px;font-weight:900;padding:5px 8px;
  border-radius:15px;background:#e7f7f3;
}
.v5-check-track {height:6px;width:100%;background:#e9f1f2;border-radius:100px;overflow:hidden;margin-bottom:13px;}
.v5-check-track span {display:block;height:100%;width:0;background:linear-gradient(90deg,#0ca28c,#62d3bd);border-radius:100px;transition:width .25s ease;}
.v5-check-list {display:grid;gap:8px;}
#profile-modal .v5-check-list label {
  display:flex;align-items:center;gap:9px;padding:9px 10px;
  border-radius:10px;border:1px solid #e6eef1;background:#f8fafb!important;
  cursor:pointer;color:#315265!important;font-size:11px;font-weight:700;
}
#profile-modal .v5-check-list input[type="checkbox"] {
  width:16px;height:16px;flex:0 0 16px;accent-color:#0b8d81;
}
#profile-modal .v5-check-list label:has(input:checked) {
  background:#edf9f3!important;border-color:#cde8dd;
}
#profile-modal .v5-check-list input:checked + span {color:#608477!important;text-decoration:line-through;}
.v5-note-label {display:block;color:#5c7382!important;font-size:11px;font-weight:650;margin-bottom:7px;}
#profile-modal #v5-note-input {resize:vertical;max-height:145px;min-height:73px;line-height:1.6;}
.v5-note-footer {display:flex;justify-content:space-between;align-items:center;gap:11px;margin-top:9px;}
.v5-note-footer span {color:#697c8d!important;font-size:10px;}
.v5-note-status {min-height:16px;color:#4e687a!important;font-size:10px;margin-top:6px;line-height:1.5;}
#profile-modal .v5-disabled-msg {color:#8a5a29!important;font-size:11px;}
/* Compact but useful side column with all modules aligned. */
@media(max-width:760px){
  .v5-trip-form {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .v5-trip-form .v5-save-button {grid-column:1/-1;}
}
@media(max-width:460px){
  .v5-trip-form {grid-template-columns:1fr;}
  .v5-trip-form .v5-save-button {grid-column:1;}
  .v5-loading-steps {gap:4px;}
  .v5-loading-steps span {font-size:9px;gap:3px;}
  .v5-loading-steps i {font-size:10px;}
  #profile-modal .v5-next-trip,#profile-modal .v5-notes-card,#profile-modal .v5-prep-card {padding:12px;}
}
@media(prefers-reduced-motion:reduce){
  #profile-modal .v5-check-track span {transition:none!important;}
}

/* Critical safeguard: the historic decorative-layer rule must not dim an entire screen. */
body > #loading-view.fixed.inset-0.overflow-hidden {opacity:1!important;filter:none!important;}
