﻿/* @import url("https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap"); */
:root {
    --tl-primary: #064cf2;
    --tl-primary-dark: #101b6a;
    --tl-primary2: #0031fe;
    --tl-success: #ddf3de;
    --tl-border: #e7eaf2;
    --tl-text: #4b5563;
    --tl-white: #fff;
    --tl-black: #000000;
    --tl-grey: #757575;
    --tl-red: #e53935;
    --tl-green: #027a48;
    --tl-orange: #c47f00;
    --tl-LightBlue: #eef3ff;
    --tl-LightGreen: #ecfdf3;
    --tl-LightOrange: #fff7e6;
    --tl-LightRed: #fdecec;
    --tl-DarkGrey: #2e2e2e;
    --tl-radiusSM: 0.5rem;
    --tl-radiusLG: 0.875rem;
    --tl-radiusXL: 1.5rem;
    --tl-text11: 11px;
    --tl-text12: 12px;
    --tl-text13: 13px;
    --tl-text14: 14px;
    --tl-text15: 15px;
    --tl-text16: 16px;
    --tl-text18: 18px;
    --tl-text20: 20px;
    --tl-text22: 22px;
    --tl-text24: 24px;
    --tl-text26: 26px;
}

html {
    font-size: var(--tl-text16);
    scroll-behavior: smooth;
    font-display: swap;
    letter-spacing: 0.05rem;
}

.text-base {
    font-size: 0.875rem;
    line-height: 1rem;
}

.text-sm {
    font-size: 0.775rem;
    line-height: 1rem;
}

/* Manrope font family */
@font-face {
    font-family: "manropebold";
    src: url("../Manrope-Bold.eot");
    src: url("../fonts/Manrope-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Manrope-Bold.woff2") format("woff2"), url("../fonts/Manrope-Bold.woff") format("woff"), url("../fonts/Manrope-Bold.ttf") format("truetype"), url("../fonts/Manrope-Bold.svg#Manrope-Bold") format("svg");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "manropeextrabold";
    src: url("../fonts/Manrope-ExtraBold.eot");
    src: url("../fonts/Manrope-ExtraBold.eot?#iefix") format("embedded-opentype"), url("../fonts/Manrope-ExtraBold.woff2") format("woff2"), url("../fonts/Manrope-ExtraBold.woff") format("woff"), url("../fonts/Manrope-ExtraBold.ttf") format("truetype"), url("../fonts/Manrope-ExtraBold.svg#Manrope-ExtraBold") format("svg");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "manropemedium";
    src: url("../fonts/Manrope-Medium.eot");
    src: url("../fonts/Manrope-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/Manrope-Medium.woff2") format("woff2"), url("../fonts/Manrope-Medium.woff") format("woff"), url("../fonts/Manrope-Medium.ttf") format("truetype"), url("../fonts/Manrope-Medium.svg#Manrope-Medium") format("svg");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "manropeextralight";
    src: url("../fonts/Manrope-ExtraLight.eot");
    src: url("../fonts/Manrope-ExtraLight.eot?#iefix") format("embedded-opentype"), url("../fonts/Manrope-ExtraLight.woff2") format("woff2"), url("../fonts/Manrope-ExtraLight.woff") format("woff"), url("../fonts/Manrope-ExtraLight.ttf") format("truetype"), url("../fonts/Manrope-ExtraLight.svg#Manrope-ExtraLight") format("svg");
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "manropesemibold";
    src: url("../fonts/Manrope-SemiBold.eot");
    src: url("../fonts/Manrope-SemiBold.eot?#iefix") format("embedded-opentype"), url("../fonts/Manrope-SemiBold.woff2") format("woff2"), url("../fonts/Manrope-SemiBold.woff") format("woff"), url("../fonts/Manrope-SemiBold.ttf") format("truetype"), url("../fonts/Manrope-SemiBold.svg#Manrope-SemiBold") format("svg");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "manroperegular";
    src: url("../fonts/Manrope-Regular.eot");
    src: url("../fonts/Manrope-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Manrope-Regular.woff2") format("woff2"), url("../fonts/Manrope-Regular.woff") format("woff"), url("../fonts/Manrope-Regular.ttf") format("truetype"), url("../fonts/Manrope-Regular.svg#Manrope-Regular") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "manropelight";
    src: url("../fonts/Manrope-Light.eot");
    src: url("../fonts/Manrope-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Manrope-Light.woff2") format("woff2"), url("../fonts/Manrope-Light.woff") format("woff"), url("../fonts/Manrope-Light.ttf") format("truetype"), url("../fonts/Manrope-Light.svg#Manrope-Light") format("svg");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/*...............common css.................*/
.font-regular {
    font-family: "manroperegular";
}

.font-medium {
    font-family: "manropemedium";
}

.font-semibold {
    font-family: "manropesemibold";
}

.font-light {
    font-family: "manropelight";
}

.font-bold {
    font-family: "manropebold";
}

.font-extrabold {
    font-family: "manropeextrabold";
}

body {
    font-family: "manroperegular", Arial, Helvetica, sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 0.875rem;
    color: #000;
    letter-spacing: 0.26px;
}

/* Custom Animation for Content */

.space-x-2 > :not([hidden]) ~ :not([hidden]) {
    background-color: #fff;
}

.animate-fade-in {
    animation: fadeInSlide 0.4s ease-out forwards;
}

@keyframes fadeInSlide {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.rounded-out-xl {
    --tw-rounded-out: 0.75rem;
}

    .rounded-out-xl::before {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 100% 100%;
        mask-position: 100% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        left: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

    .rounded-out-xl::after {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 0% 100%;
        mask-position: 0% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        right: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

.rounded-out-2xl {
    --tw-rounded-out: 1rem;
}

    .rounded-out-2xl::before {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 100% 100%;
        mask-position: 100% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        left: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

    .rounded-out-2xl::after {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 0% 100%;
        mask-position: 0% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        right: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

.rounded-out-3xl {
    --tw-rounded-out: 1.5rem;
}

    .rounded-out-3xl::before {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 100% 100%;
        mask-position: 100% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        left: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

    .rounded-out-3xl::after {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 0% 100%;
        mask-position: 0% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        right: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

.rounded-out-b-sm {
    --tw-rounded-out: 0.125rem;
}

    .rounded-out-b-sm::before {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 100% 100%;
        mask-position: 100% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        left: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

.rounded-out-b-md {
    --tw-rounded-out: 0.375rem;
}

    .rounded-out-b-md::before {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 100% 100%;
        mask-position: 100% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        left: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

    .rounded-out-b-md::after {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 0% 100%;
        mask-position: 0% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        right: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

.rounded-out-b-lg {
    --tw-rounded-out: 0.5rem;
}

    .rounded-out-b-lg::before {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 100% 100%;
        mask-position: 100% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        left: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

    .rounded-out-b-lg::after {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 0% 100%;
        mask-position: 0% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        right: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

.rounded-out-b-xl {
    --tw-rounded-out: 1.95rem;
}

    .rounded-out-b-xl::before {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 100% 100%;
        mask-position: 100% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        left: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

    .rounded-out-b-xl::after {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 0% 100%;
        mask-position: 0% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        right: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

.rounded-out-b-2xl {
    --tw-rounded-out: 1rem;
}

    .rounded-out-b-2xl::before {
        width: var(--tw-rounded-out);
        position: absolute;
        background: inherit;
        background-color: inherit;
        aspect-ratio: 1;
        -webkit-mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        mask-image: radial-gradient( 100% 100% at center, transparent calc(50% - 0.25px), black calc(50% + 0.25px) );
        -webkit-mask-size: 200% 200%;
        mask-size: 200% 200%;
        -webkit-mask-position: 100% 100%;
        mask-position: 100% 100%;
        pointer-events: none;
        display: block;
        overflow: hidden;
        top: auto;
        bottom: 0;
        left: calc(var(--tw-rounded-out) * -1);
        content: "";
    }

#myself-content .aria-selected\:to-\[\#111E6B\][aria-selected="true"] {
    --tw-gradient-to: #fff var(--tw-gradient-to-position) !important;
    z-index: 20;
}

#myself-content .aria-selected\:from-\[\#001488\][aria-selected="true"] {
    --tw-gradient-from: #fff var(--tw-gradient-from-position) !important;
    z-index: 20;
}

#myself-content .aria-selected\:text-white[aria-selected="true"] {
    --tw-text-opacity: 1;
    color: #031684 !important;
}

select:not([size]) {
    background-position: right 2rem center;
}

/* .step {
    @apply w-10 h-10 flex items-center justify-center rounded-full bg-gray-100 text-gray-600 
           transition-all duration-300;
  }
  input:checked + .step {
    @apply bg-stone-800 text-white;
  }
 */

.step {
    @apply w-10 h-10 flex items-center justify-center rounded-full bg-gray-100 text-gray-600 transition-all duration-300;
}

input:checked + .step {
    @apply bg-stone-800 text-white;
}

.connector {
    @apply relative w-16 h-3;
}

.connector-active {
    @apply absolute inset-0 origin-left scale-x-0 transition-transform duration-500 ease-out;
}

/* Outer circle */
.seat-radio {
    @apply relative w-4 h-4 rounded-full border-2 border-gray-400 transition-all duration-200;
}

[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 15px; /* Increased size for better visibility */
    height: 15px;
    border-radius: 50%;
    /* 1. Outer Border Stroke (Red) */
    border: 1px solid #505050;
    background-color: transparent;
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='6' fill='%23fff'/%3E%3C/svg%3E");
}

    [type="radio"]:checked {
        /* 2. Outer Part Fill Color (Green) */
        background-color: #fff !important;
        /* 3. Inner Fill (Blue) via SVG */
        /* We changed fill='%230000FF' (Blue) and removed the stroke */
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='6' fill='%232C2C2C'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100% 100%;
        border: 1px solid #505050;
    }

/* Container for the toggle */
.switch {
    position: relative;
    display: inline-block;
    width: 70px;
    height: 30px;
}

    /* Hide the default checkbox */
    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

/* The background track */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc; /* Off state color */
    transition: 0.4s;
    border-radius: 34px;
}

    /* The white circular knob */
    .slider:before {
        position: absolute;
        content: "";
        height: 22px;
        width: 22px;
        left: 4px;
        bottom: 4px;
        background-color: white;
        transition: 0.4s;
        border-radius: 50%;
        z-index: 2;
    }

/* Toggle switch Yes or No*/
input:checked + .slider {
    background-color: #13a203;
}

    input:checked + .slider:before {
        transform: translateX(40px);
    }

.labels::after {
    content: attr(data-off);
    position: absolute;
    right: 0.85rem;
    top: 0.5rem;
    color: white;
}

input:checked + .slider .labels::after {
    content: attr(data-on);
    left: 0.85rem;
    right: auto;
}

/* #onGoingTripWrapper .active {background-color:#111E6B !important ;color: #fff !important;}
.pill-active {
    background: #001488 !important;
    color: white !important;
  } */

.pill-active {
    background-color: #111e6b !important;
    color: #fff !important;
    border-radius: 1.125rem;
    padding: 0.25rem 1rem;
}

.sectorblock:last-child .border-dotted {
    border-style: none !important;
}

select:not([size]) {
    background-position: right 0.75rem center !important;
}

.danger-arrow-top {
    position: relative;
}

    .danger-arrow-top:before,
    .danger-arrow-top:after {
        content: "";
        position: absolute;
        left: 10px;
        top: -20px;
        border-top: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #fc8181;
        border-left: 10px solid transparent;
    }

    .danger-arrow-top:after {
        border-bottom: 10px solid #fed7d7;
        top: -19px;
    }

.danger-arrow-bottom {
    position: relative;
}

.blue-arrow-bottom[aria-selected="true"]:before,
.blue-arrow-bottom[aria-selected="true"]:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    width: 10px;
    margin: 0 auto;
    bottom: -14px;
    border-bottom: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #4a60fd;
    border-left: 10px solid transparent;
}

.blue-arrow-bottom[aria-selected="true"]:after {
    border-top: 10px solid #4a60fd;
    bottom: -16px;
}

.dark [type="checkbox"]:checked,
.dark [type="radio"]:checked,
[type="checkbox"]:checked,
[type="radio"]:checked {
    background-color: #2c2c2c;
}
/* .travelIconBg::before, .travelIconBg::after {  content: '';
    width: 21px;
    height: 20px;
    border-radius: 50%;
    position: absolute; right: -11px; z-index: 65;} */
/* .travelIconBg::before {top: -14px;z-index: 9999999;}
.travelIconBg::after {bottom: -14px;} */
.travelIconBg1::before,
.travelIconBg1::after {
    content: "";
    width: 21px;
    height: 22px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    left: -11px;
    z-index: 0;
}

.travelIconBg1::before {
    border-radius: 50%;
    width: 21px;
    height: 20px;
    background-color: #fff;
    top: -6px;
    left: -10px;
    box-shadow: 0px 0px 2px -1px rgba(0, 0, 0, 0.85) inset;
}

.travelIconBg1::after {
    bottom: -8px;
    box-shadow: 0px 0px 2px -1px rgba(0, 0, 0, 0.8) inset;
    width: 21px;
    height: 20px;
    border-radius: 50%;
}

.travelIconBg1 .smcirclestart:before {
    content: "";
    width: 21px;
    height: 22px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    left: -11px;
    z-index: 0;
    top: -9px;
}

.travelIconBg1 .smcircleend:before {
    content: "";
    width: 21px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    z-index: 0;
    bottom: -12px;
    right: -10px;
}

.tab-panel .hover\:border-gray-300:hover {
    color: #fff !important;
}

[data-dropdown-menu] {
    z-index: 9999 !important;
}

/* Add this to your button class */
.tab-curve {
    position: relative;
    /* Match this height to your design so the mask aligns with the bottom */
    height: 42px;
    padding-left: 30px !important;
    padding-right: 30px !important;
}

    .tab-curve::before,
    .tab-curve::after {
        content: "";
        position: absolute;
        bottom: 0;
        width: 60px; /* Adjust width to show just the 'scoop' part of your SVG */
        height: 42px;
        background-color: inherit;
        -webkit-mask-size: auto 100%;
        mask-size: auto 100%;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
    }

    /* Left Scoop */
    .tab-curve::before {
        left: -31px; /* Pulls the curve outside the button */
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='210' height='52' viewBox='0 0 210 52' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M26.6851 29.0588C19.7238 45.1177 6.96133 51.2353 0 52H210C199.326 52 186.215 43.5886 180.994 29.0588C175.773 14.529 167.072 0 151.409 0H56.0859C47.3843 0 35.4386 8.86555 26.6851 29.0588Z' fill='black'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg width='210' height='52' viewBox='0 0 210 52' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M26.6851 29.0588C19.7238 45.1177 6.96133 51.2353 0 52H210C199.326 52 186.215 43.5886 180.994 29.0588C175.773 14.529 167.072 0 151.409 0H56.0859C47.3843 0 35.4386 8.86555 26.6851 29.0588Z' fill='black'/%3E%3C/svg%3E");
        -webkit-mask-position: left center;
        mask-position: left center;
    }

    /* Right Scoop */
    .tab-curve::after {
        right: -31px;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='210' height='52' viewBox='0 0 210 52' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M26.6851 29.0588C19.7238 45.1177 6.96133 51.2353 0 52H210C199.326 52 186.215 43.5886 180.994 29.0588C175.773 14.529 167.072 0 151.409 0H56.0859C47.3843 0 35.4386 8.86555 26.6851 29.0588Z' fill='black'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg width='210' height='52' viewBox='0 0 210 52' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M26.6851 29.0588C19.7238 45.1177 6.96133 51.2353 0 52H210C199.326 52 186.215 43.5886 180.994 29.0588C175.773 14.529 167.072 0 151.409 0H56.0859C47.3843 0 35.4386 8.86555 26.6851 29.0588Z' fill='black'/%3E%3C/svg%3E");
        -webkit-mask-position: right center;
        mask-position: right center;
    }

body {
    overflow-x: hidden;
}

/* Custom utility if not using Tailwind 3.2+ */
.tab-btn[aria-selected="true"] {
    background-color: white !important;
    color: black !important;
}

/* Ensure the background for inactive tabs is transparent/glassy */
.tab-btn[aria-selected="false"] {
    background-color: rgba(241, 245, 249, 0.3) !important; /* slate-100/30 */
    backdrop-filter: blur(12px);
    color: white !important;
}

/* Ensure icons inside active tabs turn white */
.tab-btn[aria-selected="true"] .icon-circle {
    background-color: #000 !important;
    color: #fff !important;
}

[drawer-backdrop] {
    backdrop-filter: blur(4px);
}

/* Search Flights */

.fwDes {
    margin: 0 0 10px 0;
    background: #f7f6fb;
    border-radius: 18px;
    padding: 22px;
    width: 100%;
}

    .fwDes.max-h-0 {
        padding-top: 0;
        padding-bottom: 0;
    }

    .fwDes .section-box {
        background: #ffffff;
        border-radius: 18px;
        padding: 10px 20px;
        width: 100%;
    }

    .fwDes .section-title {
        font-size: var(--tl-text14);
        font-weight: 500;
        color: #000000;
        margin-bottom: 16px;
        display: flex;
        align-items: center;
        gap: 8px;
        margin-left: 5px;
    }

    .fwDes .flight-card {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 16px;
        padding: 14px 18px;
        cursor: pointer;
        transition: 0.25s;
        margin-bottom: 10px;
        box-sizing: border-box;
        transition: all 0.2s ease;
    }

        .fwDes .flight-card:last-child {
            margin-bottom: 0;
        }

        .fwDes .flight-card:hover {
            border-color: #8b5cf6;
            box-shadow: 0 6px 22px rgba(0, 0, 0, 0.08);
        }

    .fwDes input[type="radio"] {
        display: none;
    }

        .fwDes input[type="radio"]:checked + label {
            border: 1px solid #8b5cf6;
            background: #fcfbff;
        }

    .fwDes .custom-radio {
        width: 18px;
        height: 18px;
        border-radius: 50%;
        border: 2px solid #d1d5db;
        position: relative;
        flex-shrink: 0;
    }

    .fwDes input[type="radio"]:checked + label .custom-radio {
        border-color: #8b5cf6;
    }

        .fwDes input[type="radio"]:checked + label .custom-radio::after {
            content: "";
            position: absolute;
            width: 9px;
            height: 9px;
            background: #8b5cf6;
            border-radius: 50%;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

    .fwDes .badge {
        background: #efe7ff;
        color: #6d28d9;
        padding: 3px 8px;
        font-size: 10px;
        border-radius: 999px;
        font-weight: 700;
        margin-left: 8px;
    }

    .fwDes .price {
        font-size: var(--tl-text16);
        font-weight: 700;
        color: #111827;
    }

    .fwDes .time {
        font-size: var(--tl-text14);
        font-weight: 700;
        color: #111827;
    }

    .fwDes .middle {
        color: var(--tl-grey);
        font-size: var(--tl-text13);
        display: flex;
        align-items: center;
        gap: 5px;
        font-weight: normal;
    }

    .fwDes .airline {
        font-size: var(--tl-text13);
        color: #4b5563;
        font-weight: normal;
        display: flex;
        align-items: center;
        gap: 7px;
    }

    .fwDes .dashIcon {
        position: relative;
        display: flex;
        align-items: center;
        width: 15px;
        justify-content: center;
    }

        .fwDes .dashIcon:before {
            content: "";
            position: absolute;
            height: 1.5px;
            width: 15px;
            background: #111827;
            left: 0;
        }

@media (max-width: 768px) {
    .fwDes .flight-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }
}

/* custom datePicker */

.flight-datepicker {
    position: relative;
    display: inline-block;
}

.dp-trigger {
    width: 260px;
    background: #fff;
    border: 1px solid #d7d7d7;
    border-radius: 14px;
    padding: 12px;
    cursor: pointer;
}

.dp-popup {
    position: absolute;
    top: 40px;
    left: 0;
    width: 130%;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
    display: none;
    z-index: 50;
    overflow: hidden;
    color: #000;
    max-width: 500px;
}

    .dp-popup * {
        font-size: var(--tl-text13);
    }

    .dp-popup.open {
        display: flex;
    }

.DateLeft {
    flex: 1;
    background: linear-gradient(114deg, #e6f3fb 16.56%, #e2deed 82.17%);
    padding: 0px;
}

.DateRight {
    width: 120px;
    border-left: 1px solid #e5e5e5;
    background: #ffffff;
    padding: 10px 13px;
}

.DateGrid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}

.DateDay,
.DateBlank {
    height: 27px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
}

.DateDay {
    cursor: pointer;
}

    .DateDay:hover {
        background: #645ccd;
        color: #fff;
    }

.DateSelected {
    background: linear-gradient(270deg, #645ccd 0%, #37a7e1 100%);
    color: #fff;
}

.DateFilter {
    padding: 7px;
    margin-bottom: 7px;
    cursor: pointer;
    font-size: 0.725rem;
    border-radius: 10px;
    border: 1px solid #c9c9c9;
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(204, 204, 204, 0.25);
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    line-height: normal;
}

    .DateFilter.active {
        color: #fff;
        border-radius: 10px;
        background: linear-gradient(270deg, #37a7e1 0%, #645ccd 100%);
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    }

    .DateFilter svg {
        fill: #000000;
    }

    .DateFilter.active svg {
        fill: #ffffff;
    }

.searchFlightsSubmit {
    transition: opacity 0.3s ease;
}

.step {
    position: relative;
}
/* .purpose-dropdown-wrapper {
  top: -52px;
  left: 350px;
  position: absolute;
} */

.SectionHeading {
    color: var(--tl-primary);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    padding: 0 0 1rem 0;
}

.tab-curve {
    position: relative;
    z-index: 2;
}

    .tab-curve::before,
    .tab-curve::after {
        pointer-events: none;
    }

.StayReqBorder {
    padding-top: 8px;
    border-top: 2px dotted #d1d3d7;
    margin-top: 0px;
}

.FlightTimeline * {
    box-sizing: border-box;
}

.FlightTimeline .ft-line {
    position: absolute;
    left: 15px;
    top: 40px;
    bottom: 24px;
    border-left: 2px dashed #c7d2fe;
}

.FlightTimeline .ft-card {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    height: 120px;
    justify-content: space-between;
}

    .FlightTimeline .ft-card > div {
        height: 100%;
    }

.FlightTimeline .middle {
    color: var(--tl-grey);
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: normal;
}

.FlightTimeline .flighIcon {
    position: relative;
    display: flex;
    align-items: center;
    width: 100px;
    justify-content: center;
}

    .FlightTimeline .flighIcon svg {
        transform: rotate(45deg);
    }

    .FlightTimeline .flighIcon:before {
        content: "";
        position: absolute;
        height: 1px;
        width: 35px;
        background: #cccccc;
        left: 0;
    }

    .FlightTimeline .flighIcon:after {
        content: "";
        position: absolute;
        height: 1px;
        width: 35px;
        background: #cccccc;
        right: 0;
    }

.PurposeSummary * {
    box-sizing: border-box;
}

.PurposeSummary .ps-card {
    border: 1px solid #e5e7eb;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.PurposeSummary .ps-label {
    font-size: var(--tl-text13);
    font-weight: 600;
    color: var(--tl-primary);
    line-height: normal;
}

.PurposeSummary .ps-value {
    font-size: var(--tl-text12);
    color: var(--tl-DarkGrey);
    line-height: normal;
}

.PurposeSummary .ps-title {
    font-size: var(--tl-text16);
    font-weight: 700;
    color: var(--tl-DarkGrey);
    line-height: normal;
}

#timelineOneWay .ft-line {
    display: none;
}

.bookingFor {
    font-size: 1.8rem;
}

/* inner pages css */

/*.TravelutionHeader .nav-link {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--tl-text13);
    font-weight: 400;
    color: var(--tl-black);
    position: relative;
    transition: 0.3s;
    padding: 6px 7px;
    border-radius: 10px 10px 0 0;
    margin-bottom: -8px;
}*/

.TravelutionHeader .h-20 {
    height: 3rem;
}

.TravelutionHeader .nav-link:hover {
    color: #094EF1;
}

/*.TravelutionHeader .nav-link.active {
    color: #094EF1;
    border-color: #094EF1;
    background: #E7EAF7;
}*/

  /*  .TravelutionHeader .nav-link.active::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -12px;
        width: 100%;
        height: 3px;
        background: var(--tl-primary);
        border-radius: var(--tl-radiusXL);
    }*/

.TravelutionHeader .badge-red {
    position: absolute;
    top: -8px;
    right: -12px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--tl-red);
    color: #fff;
    font-size: var(--tl-text11);
    display: flex;
    align-items: center;
    justify-content: center;
}

.TravelutionHeader .mobile-link {
    display: block;
    padding: 15px 20px;
    border-bottom: 1px solid #ececec;
    font-weight: 500;
}

    .TravelutionHeader .mobile-link:hover {
        background: #f8fafc;
    }

.TravelutionHeader .dropdown-item {
    display: block;
    padding: 8px 18px;
    font-size: var(--tl-text13);
}

    .TravelutionHeader .dropdown-item:hover {
        background: rgb(239 246 255 / var(--tw-bg-opacity, 1));
    }

/* ---------- main ---------- */

.tl-container {
    max-width: 1600px;
    margin: auto;
}

.TravelutionHerolandingBG {
    position: relative;
    min-height: calc(100vh - 100px);
    background-image: url(../images/landing_bg.png);
    background-size: cover;
    background-position: 0 -130px;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* ---------- Hero Banner ---------- */
.TravelutionHero {
    width: 100%;
    padding: 0;
}

    .TravelutionHero .tl-hero-banner {
        position: relative;
        border-radius: 0;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 20px 20px 20px 50px;
        width: 100%;
    }

    .TravelutionHero .tl-hero-content {
        position: relative;
        z-index: 2;
        max-width: 550px;
    }

    .TravelutionHero .tl-hero-title {
        font-size: var(--tl-text26);
        font-weight: 800;
        line-height: 1.2;
        color: var(--tl-primary-dark);
    }

        .TravelutionHero .tl-hero-title span {
            color: var(--tl-primary);
        }

    .TravelutionHero .tl-hero-line {
        width: 120px;
        height: 4px;
        margin-top: 22px;
        border-radius: var(--tl-radiusXL);
        background: var(--tl-primary);
    }

    /* Plane */

    .TravelutionHero .tl-plane {
        position: absolute;
        right: 290px;
        top: 55px;
        width: 470px;
        z-index: 2;
        transition: 0.4s;
    }

    /* Book Card */

    .TravelutionHero .tl-book-card {
        position: relative;
        z-index: 2;
    }

    .TravelutionHero .tl-book-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 8px 15px;
        border-radius: var(--tl-radiusLG);
        background: linear-gradient(135deg, #064cf2, #7c3aed);
        color: #fff;
        font-size: var(--tl-text13);
        font-weight: 800;
        box-shadow: rgba(62, 97, 255, 0.35) 0px 18px 35px;
        transition: 0.3s;
        text-transform: uppercase;
    }

        .TravelutionHero .tl-book-btn:hover {
            transform: translateY(-3px);
        }

    .TravelutionHero .tl-book-card p {
        margin-top: 12px;
        color: var(--tl-DarkGrey);
        font-size: var(--tl-text12);
        font-weight: bold;
    }

/* ---------- Dashboard Layout ---------- */

.TravelutionDashboardContent .tl-dashboard-container {
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

/* ---------- Section Containers ---------- */

.UserTravelutioninfo {
    min-width: 0;
}

.tl-card {
    background: #fff;
    border-radius: var(--tl-radiusLG);
    border: 1px solid #eceff6;
    box-shadow: 0 4px 20px rgba(16, 24, 40, 0.04);
    min-height: 100%;
}

/* ---------- Card Header ---------- */

.UserTravelutioninfo .tl-heading {
    display: flex;
    align-items: center;
    gap: 14px;
}

.UserTravelutioninfo .tl-icon-box {
    width: 50px;
    height: 50px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.UserTravelutioninfo .tl-title {
    font-size: var(--tl-text16);
    color: var(--tl-primary-dark);
    line-height: 1.2;
    font-family: "manropesemibold";
}

.UserTravelutioninfo .tl-subtitle {
    margin-top: 4px;
    font-size: var(--tl-text13);
    color: var(--tl-grey);
}

/* ---------- View Toggle ---------- */

.UserTravelutioninfo .tl-view-toggle {
    display: flex;
    background: #f4f7fb;
    border-radius:10px;
    border: 1px solid #dee2e9;
}

    .UserTravelutioninfo .tl-view-toggle button {
        border: 1px solid transparent;
        background: transparent;
        padding: 8px;
        border-radius: 10px;
        font-size: var(--tl-text13);
        color: var(--tl-primary-dark);
        cursor: pointer;
        transition: all 0.25s ease;
        font-family: "manropemedium";
        display: flex;
        align-items: center;
        gap: 0.3rem;
    }

        .UserTravelutioninfo .tl-view-toggle button.active {
            background: #fff;
            color: var(--tl-primary);
            border: 1px solid var(--tl-primary);
        }

/* ---------- Card Body ---------- */

.UserTravelutioninfo .tl-card-body {
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ---------- Travel Card ---------- */

.UserTravelutioninfo .tl-request-card {
    border: 1px solid #edf1f7;
    border-radius: 16px;
    padding: 15px;
    transition: 0.25s;
    background: #fff;
    box-shadow: 0 0 5px 0px #ecebeb;
    display: flex;
    margin-bottom: 12px;
}

    .UserTravelutioninfo .tl-request-card:last-child {
        margin-bottom: 0px;
    }

    .UserTravelutioninfo .tl-request-card:hover {
        border-color: #dbe5ff;
        box-shadow: 0 10px 20px rgba(59, 91, 255, 0.08);
    }

.UserTravelutioninfo .tl-request-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.UserTravelutioninfo .tl-request-title {
    font-size: var(--tl-text16);
    color: #172554;
    font-family: "manropesemibold";
}

.UserTravelutioninfo .tl-request-date {
    margin-top: 4px;
    font-size: var(--tl-text13);
    color: var(--tl-grey);
}

/* ---------- Menu ---------- */

.UserTravelutioninfo .tl-menu-btn {
    width: 34px;
    height: 34px;
    border: 1px solid #e5e7eb;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: 0.25s;
}

    .UserTravelutioninfo .tl-menu-btn:hover {
        background: #f8fafc;
    }

/* ---------- Badge ---------- */

.tl-badge-group {
    display: flex;
    align-items: center;
}

    .tl-badge-group .tl-badge + .tl-badge {
        position: relative;
        margin-left: 28px;
    }

        .tl-badge-group .tl-badge + .tl-badge::before {
            content: "";
            position: absolute;
            left: -15px;
            top: 50%;
            transform: translateY(-50%);
            width: 1px;
            height: 26px;
            background: #d9dee8;
        }

.tl-badge {
    padding: 4px 8px;
    border-radius: 6px;
    font-size: var(--tl-text12);
    font-family: "manropemedium";
}

.tl-badge-blue {
    background: #e7efff;
    color: #2563eb;
}

.tl-badge-warning {
    background: #fff5d9;
    color: #c08400;
}

.tl-badge-success {
    background: #e6f7ec;
    color: #41723a;
}

.tl-badge-purple {
    background: #f2e9ff;
    color: #7c3aed;
}

.tl-badge-red {
    background: #fbf3f2;
    color: #c10007;
}

/* ---------- Links ---------- */

.UserTravelutioninfo td .tl-request-links {
    margin-top: 0px;
}

.UserTravelutioninfo .tl-request-links {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 0;
}

    .UserTravelutioninfo .tl-request-links a {
        position: relative;
        padding: 0 14px;
        color: var(--tl-primary-dark);
        font-size: var(--tl-text13);
        font-family: "manropemedium";
        line-height: 1;
        transition: color 0.25s ease;
    }

        .UserTravelutioninfo .tl-request-links a:hover {
            color: var(--tl-primary);
        }

        .UserTravelutioninfo .tl-request-links a:first-child {
            padding-left: 0;
        }

        .UserTravelutioninfo .tl-request-links a:last-child {
            padding-right: 0;
        }

        .UserTravelutioninfo .tl-request-links a:not(:last-child)::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 0;
            width: 1px;
            height: 14px;
            background: #cfd6e4;
            transform: translateY(-50%);
        }

/* ---------- Footer ---------- */

.UserTravelutioninfo .tl-card-footer {
    padding:0;
    text-align: center;
}

    .UserTravelutioninfo .tl-card-footer a {
        color: var(--tl-primary);
        text-decoration: none;
        font-size: var(--tl-text14);
        font-family: "manropesemibold";
        transition: 0.3s;
    }

        .UserTravelutioninfo .tl-card-footer a:hover {
            text-decoration: underline;
            gap: 16px;
        }

/* ---------- Table ---------- */

.tl-request-table {
    width: 100%;
    border-collapse: collapse;
}

    .tl-request-table th {
        padding: 14px 16px;
        background: #f8fafc;
        text-align: left;
        font-size: var(--tl-text13);
        color: var(--tl-primary-dark);
        font-family: "manropesemibold";
    }

    .tl-request-table td {
        padding: 16px;
        border-top: 1px solid #eceff6;
        font-size: var(--tl-text14);
    }

    .tl-request-table tbody tr:hover {
        background: #fafbff;
    }

/* ---------- Tabs ---------- */

.tl-tabs {
    border-bottom: 1px solid var(--tl-border);
}

.tl-tab-list {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tl-tab-btn {
    position: relative;
    padding: 0 0 13px;
    background: transparent;
    border: 0;
    cursor: pointer;
    color: var(--tl-grey);
    font-size: var(--tl-text14);
    font-family: "manropesemibold";
    transition: all 0.25s ease;
}

    .tl-tab-btn:hover {
        color: var(--tl-primary-dark);
    }

    .tl-tab-btn.active,
    .tl-tab-btn[aria-selected="true"] {
        color: var(--tl-primary-dark);
    }

        .tl-tab-btn.active::after,
        .tl-tab-btn[aria-selected="true"]::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -1px;
            width: 100%;
            height: 4px;
            border-radius: 999px;
            background: var(--tl-primary);
        }

/* ---------- Quick Start Card ---------- */

.TravelutionQuickStart .tl-quickstart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
}

.TravelutionQuickStart .tl-quick-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 16px 10px 40px;
    min-height: clamp(260px, 22vw, 290px);
    background: var(--tl-white);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radiusLG);
    transition: all 0.3s ease;
}

    .TravelutionQuickStart .tl-quick-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
    }

.TravelutionQuickStart .tl-quick-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    border-radius: 50%;
    background: var(--tl-LightBlue);
    color: var(--tl-primary);
}

    .TravelutionQuickStart .tl-quick-icon svg {
        width: 36px;
        height: 36px;
    }

.TravelutionQuickStart .tl-quick-card h3 {
    margin: 0 0 8px;
    color: var(--tl-black);
    font-size: var(--tl-text14);
    font-family: "manropesemibold";
    min-height: 35px;
}

.TravelutionQuickStart .tl-quick-card p {
    margin: 0;
    color: var(--tl-DarkGrey);
    font-size: var(--tl-text13);
}

.TravelutionQuickStart .tl-arrow-link {
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tl-primary);
    transition: all 0.3s ease;
}

    .TravelutionQuickStart .tl-arrow-link:hover {
        transform: translateX(5px);
    }

    .TravelutionQuickStart .tl-arrow-link svg {
        width: 24px;
        height: 24px;
    }

/* ---------- Complete Profile ---------- */

.TravelutionCompleteProfile .tl-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--tl-border);
}

.TravelutionCompleteProfile .tl-profile-progress {
    position: relative;
    width: 70px;
    height: 60px;
    flex-shrink: 0;
}

.TravelutionCompleteProfile .tl-progress-ring {
    width: 72px;
    height: 72px;
    transform: rotate(-90deg);
}

    .TravelutionCompleteProfile .tl-progress-ring circle {
        fill: none;
        stroke-width: 5;
    }

.TravelutionCompleteProfile .tl-progress-bg {
    stroke: #e9ecf5;
}

.TravelutionCompleteProfile .tl-progress-bar {
    stroke: var(--tl-primary);
    stroke-linecap: round;
    stroke-dasharray: 188.5;
    stroke-dashoffset: 188.5;
    transition: stroke-dashoffset 0.6s ease;
}

.TravelutionCompleteProfile .tl-progress-text {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-family: "manropebold";
    color: var(--tl-primary-dark);
    height: 70px;
}

/* ---------- Profile List ---------- */

.TravelutionCompleteProfile .tl-profile-list {
    display: flex;
    flex-direction: column;
}

.TravelutionCompleteProfile .tl-profile-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--tl-border);
}

    .TravelutionCompleteProfile .tl-profile-item:last-child {
        border-bottom: 0;
    }

.TravelutionCompleteProfile .tl-profile-left {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.TravelutionCompleteProfile .tl-profile-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--tl-LightBlue);
    color: var(--tl-primary);
    flex-shrink: 0;
}

    .TravelutionCompleteProfile .tl-profile-icon svg {
        width: 24px;
        height: 24px;
    }

.TravelutionCompleteProfile .tl-profile-left h3 {
    font-size: var(--tl-text14);
    color: var(--tl-black);
    font-family: "manropesemibold";
}

.TravelutionCompleteProfile .tl-profile-left p {
    margin: 0;
    font-size: var(--tl-text13);
    color: var(--tl-DarkGrey);
}

/* ---------- Status ---------- */

.TravelutionCompleteProfile .tl-status-complete,
.TravelutionCompleteProfile .tl-status-progress,
.TravelutionCompleteProfile .tl-status-pending {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.TravelutionCompleteProfile .tl-status-progress {
    color: var(--tl-primary);
}

    .TravelutionCompleteProfile .tl-status-complete svg,
    .TravelutionCompleteProfile .tl-status-progress svg {
        width: 26px;
        height: 26px;
    }

.TravelutionCompleteProfile .tl-status-pending {
    border: 3px solid #cfcfcf;
    border-radius: 50%;
    width: 26px;
    height: 26px;
}

/* ---------- Footer ---------- */

.TravelutionCompleteProfile .tl-card-footer {
    display: flex;
    justify-content: flex-end;
    padding-top: 10px;
    padding-bottom: 0;
}

.TravelutionCompleteProfile .tl-view-all {
    display: flex;
    align-items: center;
    gap: 10px;
    text-transform: uppercase;
    transition: 0.3s;
}

    .TravelutionCompleteProfile .tl-view-all:hover {
        gap: 16px;
    }

    .TravelutionCompleteProfile .tl-view-all svg {
        width: 22px;
        height: 22px;
    }

/* ---------- Popular Business Routes ---------- */

.TravelutionPopularRoutes .tl-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
}

.TravelutionPopularRoutes .tl-route-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

.TravelutionPopularRoutes .tl-route-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radiusLG);
    background: var(--tl-white);
    transition: 0.3s;
}

    .TravelutionPopularRoutes .tl-route-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
    }

.TravelutionPopularRoutes .tl-route-city {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
    color: var(--tl-black);
    font-size: var(--tl-text14);
    line-height: 1.4;
    font-family: "manropesemibold";
}

    .TravelutionPopularRoutes .tl-route-city span {
        color: var(--tl-primary);
        font-size: var(--tl-text18);
        line-height: 1;
    }

.TravelutionPopularRoutes .tl-route-image {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin: 15px 0;
}

    .TravelutionPopularRoutes .tl-route-image img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        border-bottom: 2px solid var(--tl-primary);
        padding: 0 10px;
    }

.TravelutionTravelTips .tl-card-header {
    margin-bottom: 20px;
}

.TravelutionTravelTips .tl-tip-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex: 1;
    padding-left: 1.6rem;
}

.TravelutionTravelTips .tl-tip-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.TravelutionTravelTips .tl-tip-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

    .TravelutionTravelTips .tl-tip-icon svg {
        width: 22px;
        height: 22px;
    }

.TravelutionTravelTips .tl-tip-item p {
    margin: 0;
    color: var(--tl-DarkGrey);
    font-size: var(--tl-text13);
    line-height: 1.4;
    font-family: "manropemedium";
}

.TravelutionTravelTips .tl-card-footer {
    display: flex;
    justify-content: flex-end;
}

.TravelutionTravelTips .tl-view-all {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--tl-primary);
    font-family: "manropesemibold";
    text-transform: uppercase;
    transition: 0.3s;
}

    .TravelutionTravelTips .tl-view-all:hover {
        gap: 16px;
    }

.TravelutionTravelTips .tl-check-icon {
    width: 18px;
    height: 18px;
}

body.overflow-hidden header {
    z-index: 10 !important;
}

.NotificationsHeader {
    background-color: var(--tl-primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
}

.dropdownNotification {
    margin-top: 10px !important;
    border: 1px solid #ffffff;
}

    .dropdownNotification .bodyScroll {
        max-height: 80vh;
        overflow: auto;
        padding: 10px;
    }

        .dropdownNotification .bodyScroll a {
            padding: 4px 10px;
        }

.notification-card {
    transition: all 0.25s ease;
   /* padding-left: 1.8rem !important;*/
}

    .notification-card:hover {
        box-shadow: 0 10px 24px rgba(17, 30, 107, 0.12);
    }

.notification-accent {
    min-height: 72px;
}

.notification-card .messageText {
    font-size: var(--tl-text14);
    position: relative;
}

   /* .notification-card .messageText:before {
        content: "";
        position: absolute;
        height: 100%;
        width: 4px;
        background: #2f54eb;
        border-radius: 2px;
        left: -1rem;
    }*/

.notification-card .Time {
    font-size: var(--tl-text12);
    color: var(--tl-DarkGrey);
}

.notification-btn {
    display: flex;
    align-items: center;
    justify-content: center;
}

.notification-btn-approve:hover {
    transform: translateY(-1px);
}

.notification-btn-reject:hover {
    transform: translateY(-1px);
}

.dropdownNotification .tl-view-all {
    display: flex;
    align-items: center;
    gap: 10px;
    transition: 0.3s;
    color: var(--tl-primary);
    text-decoration: none;
    font-size: var(--tl-text14);
    font-family: "manropesemibold";
}

    .dropdownNotification .tl-view-all:hover {
        gap: 16px;
        text-decoration: underline;
    }

/* ---------- Approval Chain ---------- */

.TravelutionApprovalChain .tl-title {
    color: var(--tl-primary);
    font-size: var(--tl-text14);
    font-weight: 600;
    line-height: normal;
}

.TravelutionApprovalChain .tl-subtitle {
    color: var(--tl-DarkGrey);
    font-size: var(--tl-text13);
}

.TravelutionApprovalChain .tl-approval-chain {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 5px;
    margin-top: 10px;
}

.TravelutionApprovalChain .tl-approval-step {
    flex: 1;
    text-align: center;
}

.TravelutionApprovalChain .tl-step-number {
    width: 40px;
    height: 40px;
    margin: 0px auto 14px;
    border-radius: 50%;
    background: rgb(233, 236, 255);
    color: #254de7;
    font-size: 18px;
    font-family: "manropebold";
    display: flex;
    align-items: center;
    justify-content: center;
}

.TravelutionApprovalChain .tl-step-name {
    margin: 0;
    font-size: var(--tl-text13);
    color: var(--tl-black);
    font-family: "manropebold";
    line-height: normal;
}

.TravelutionApprovalChain .tl-step-role {
    margin-top: 4px;
    font-size: var(--tl-text12);
    color: var(--tl-grey);
    font-family: "manropemedium";
    line-height: normal;
}

.TravelutionApprovalChain .tl-step-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tl-primary);
    margin-top: 5px;
    flex-shrink: 0;
}

    .TravelutionApprovalChain .tl-step-arrow svg {
        display: block;
    }

.TravelutionClaimPolicy {
    font-size: var(--tl-text14);
}

.tl-policy-link {
    color: var(--tl-primary);
}

.tl-policy-desc {
    color: var(--tl-DarkGrey);
}

/* ---------- Travel Claim Popup ---------- */

.tl-radio-option {
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid var(--tl-border, #e5e7eb);
}

    .tl-radio-option:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }

.tl-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    margin-bottom: 10px;
}

    .tl-radio-label input[type="radio"] {
        width: 15px;
        height: 15px;
    }

.tl-radio-title {
    font-size: var(--tl-text15);
    font-family: "manropesemibold";
    color: var(--tl-black);
}

.tl-option-list {
    margin: 0 0 0 28px;
    padding-left: 18px;
    list-style: disc;
}

    .tl-option-list li {
        margin-bottom: 10px;
        color: var(--tl-DarkGrey);
        font-size: var(--tl-text13);
    }

/* ---------- Declaration ---------- */

.tl-declaration {
    margin-top: 20px;
    padding: 18px 20px;
    background: var(--tl-LightBlue);
    border-radius: var(--tl-radiusSM);
}

.tl-declaration-title {
    margin: 0 0 8px;
    font-size: var(--tl-text15);
    color: var(--tl-black);
    font-family: "manropesemibold";
}

.tl-declaration p {
    margin: 0;
    font-size: var(--tl-text13);
    color: var(--tl-DarkGrey);
}

/* ---------- Checkbox ---------- */

.tl-policy-check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 24px 0;
    cursor: pointer;
}

    .tl-policy-check input {
        display: none;
    }

.tl-checkmark {
    width: 18px;
    height: 18px;
    border: 2px solid var(--tl-primary);
    border-radius: 6px;
    flex-shrink: 0;
    position: relative;
    transition: 0.2s;
}

.tl-policy-check input:checked + .tl-checkmark {
    background: var(--tl-primary);
}

    .tl-policy-check input:checked + .tl-checkmark::after {
        content: "";
        position: absolute;
        left: 6px;
        top: 2px;
        width: 6px;
        height: 11px;
        border: solid #fff;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }

.tl-policy-text {
    font-size: var(--tl-text13);
    color: var(--tl-heading);
    font-family: "manropemedium";
}

/* ---------- Footer ---------- */

.tl-popup-footer {
    display: flex;
    justify-content: flex-end;
    gap: 16px;
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid var(--tl-border);
}

.TravelClaim-drawer h5 {
    font-size: var(--tl-text15);
    font-weight: 600;
    color: var(--tl-primary);
}

.customBorder {
    position: relative;
}

    .customBorder:before,
    .customBorder:after {
        content: "";
        position: absolute;
        height: 100%;
        width: 1px;
        background: var(--tl-border);
        top: 0;
    }

    .customBorder:before {
        left: -2.3rem;
    }

    .customBorder:after {
        right: -2.3rem;
    }

.dropdown {
    overflow: visible !important;
}

.step {
    overflow: visible !important;
}

.flightWrapper {
    overflow: visible !important;
}

/* ---------- Travel Claim Flexibility ---------- */

.TravelClaimFlexibility {
    width: 100%;
}

.TravelClaimFlexibilityHeader {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

    .TravelClaimFlexibilityHeader h3 {
        font-size: 18px;
        font-weight: 600;
        color: #1e3a8a;
        margin: 0;
    }

.TravelClaimDivider {
    width: 1px;
    height: 18px;
    background: #d7d7d7;
}

/* ---------- Policy Link ---------- */

.TravelClaimInfo {
    position: relative;
}

.TravelClaimInfoBtn {
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    font-size: var(--tl-text12);
    font-weight: 500;
    color: var(--tl-primary-dark);
}

    .TravelClaimInfoBtn:hover {
        text-decoration: underline;
    }

/* ---------- Popover ---------- */

.TravelClaimPopover {
    position: absolute;
    top: 32px;
    left: 0;
    width: 360px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: var(--tl-radiusLG);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
    padding: 18px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.25s ease;
    z-index: 999;
}

.TravelClaimInfo:hover .TravelClaimPopover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.TravelClaimPopover::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 28px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-left: 1px solid #e5e7eb;
    border-top: 1px solid #e5e7eb;
    transform: rotate(45deg);
}

.TravelClaimPopover h4 {
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 600;
    color: #111827;
}

.TravelClaimPopover ul {
    margin: 0;
    padding-left: 18px;
}

.TravelClaimPopover li {
    margin-bottom: 8px;
    font-size: var(--tl-text13);
    line-height: 1.6;
    color: var(--tl-DarkGrey);
}

/* ---------- Options ---------- */

.TravelClaimOptions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.TravelClaimOption {
    flex: 1;
    min-width: 100px;
    max-width: max-content;
}

    .TravelClaimOption input {
        display: none;
    }

.TravelClaimCard {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 10px;
    border: 1px solid #d9dce7;
    border-radius: var(--tl-radiusSM);
    background: #fff;
    cursor: pointer;
    transition: 0.25s;
}

    .TravelClaimCard:hover {
        border-color: #4f46e5;
    }

.TravelClaimCircle {
    width: 14px;
    min-width: 14px;
    height: 14px;
    border: 1px solid var(--tl-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .TravelClaimCircle::after {
        content: "";
        width: 7px;
        height: 7px;
        background: var(--tl-primary);
        border-radius: 50%;
        transform: scale(0);
        transition: 0.2s;
    }

.TravelClaimLabel {
    font-size: var(--tl-text12);
    font-weight: 600;
    color: var(--tl-DarkGrey);
    line-height: normal;
}

.TravelClaimOption input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

    .TravelClaimOption input:checked + .TravelClaimCard {
        border-color: var(--tl-primary);
    }

        .TravelClaimOption input:checked + .TravelClaimCard .TravelClaimCircle {
            border-color: var(--tl-primary);
        }

            .TravelClaimOption input:checked + .TravelClaimCard .TravelClaimCircle::after {
                transform: scale(1);
            }

        .TravelClaimOption input:checked + .TravelClaimCard .TravelClaimLabel {
            color: var(--tl-primary);
        }

.blueTitle {
    color: var(--tl-primary);
    font-size: var(--tl-text14);
    font-weight: 600;
    line-height: normal;
}

.TravelClaimInfo {
    position: relative;
    display: inline-block;
}

.TravelClaimPopover {
    position: absolute;
    top: 32px;
    left: 0;
    width: 360px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 12px 20px rgb(0 0 0 / 36%);
    padding: 18px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.25s ease;
    z-index: 9999;
}

.TravelClaimInfo:hover .TravelClaimPopover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Show on left */
.TravelClaimPopover.left {
    left: auto;
    right: 0;
}

.TravelClaimPopover::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 28px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-left: 1px solid #e5e7eb;
    border-top: 1px solid #e5e7eb;
    transform: rotate(45deg);
}

.TravelClaimPopover.left::before {
    left: auto;
    right: 28px;
}

/* congratulations Css */

.congratulationsBG {
    position: relative;
    min-height: calc(100vh - 65px);
    background-image: url(../images/congratsBG.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: 0 20px;
}

.TravelSuccessPage {
    padding-right: 16rem;
}

.congratulationsMessage {
    width: 50%;
}

.FrequentFlierlist #cloneblock svg,
.NomineeSection #cloneblock svg {
    height: 32px;
    width: 32px;
}

/* buttons */
.tl-btn-outline {
    border: 1px solid var(--tl-primary);
    border-radius: var(--tl-radiusLG);
    background: #fff;
    color: var(--tl-primary);
    font-size: var(--tl-text13);
    font-family: "manropesemibold";
    transition: 0.3s;
}

    .tl-btn-outline:hover {
        background: var(--tl-primary);
        color: #fff;
    }

.tl-btn-outlineGrey {
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radiusSM);
    background: #fff;
    color: var(--tl-primary);
    font-size: var(--tl-text13);
    font-family: "manropesemibold";
    transition: 0.3s;
}

    .tl-btn-outlineGrey:hover {
        background: var(--tl-primary);
        color: #fff;
    }

.tl-btn-primary {
    border: none;
    border-radius: var(--tl-radiusLG);
    background: var(--tl-primary);
    color: #fff;
    font-size: var(--tl-text13);
    font-family: "manropesemibold";
    transition: 0.3s;
}

    .tl-btn-primary:disabled {
        background: #d1d5db;
        color: #fff;
        cursor: not-allowed;
    }

/* ---------- Outline Primary Button ---------- */

.tl-btn-outline-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--tl-primary);
    border-radius: var(--tl-radiusSM);
    background: var(--tl-white);
    color: var(--tl-primary);
    line-height: 1;
    transition: all 0.25s ease;
}

    .tl-btn-outline-primary svg {
        width: 18px;
        height: 18px;
        flex-shrink: 0;
    }

    .tl-btn-outline-primary:hover {
        background: var(--tl-primary);
        color: var(--tl-white);
        box-shadow: 0 6px 18px rgba(62, 97, 255, 0.18);
    }

    .tl-btn-outline-primary:active {
        transform: scale(0.98);
    }

/* ---------- Gradient Button ---------- */
.tl-gradient-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem; /* px-6 py-3 */
    border: none;
    border-radius: 9999px; /* rounded-full */
    background: linear-gradient(to right, #03bbff, #7937e4);
    color: #fff; /* text-white */
    font-size: 0.875rem; /* text-sm */
    font-weight: 500; /* font-medium */
    line-height: 1.25rem; /* leading-5 */
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

    /* Hover */
    .tl-gradient-btn:hover {
        background: linear-gradient(to left, #03bbff, #7937e4);
    }

    /* Focus */
    .tl-gradient-btn:focus {
        outline: none;
        box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.35); /* focus:ring-blue-300 */
    }

    /* Disabled (Optional) */
    .tl-gradient-btn:disabled {
        opacity: 0.6;
        cursor: not-allowed;
    }

/* ---------- Visa Card ---------- */

.VisaCard {
    background: #ffffff;
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radiusLG);
    padding: 20px;
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
    transition: all 0.3s ease;
    position: relative;
    padding-bottom: 60px;
}

    .VisaCard:hover {
        box-shadow: 0 8px 24px rgba(99, 102, 241, 0.12);
    }

/* ---------- Visa Card Header ---------- */

.VisaCardHeader h3 {
    font-size: var(--tl-text16);
    line-height: var(--tl-text16);
    font-weight: 700;
    color: var(--tl-black);
}

.VisaCardHeader p {
    margin-top: 4px;
    font-size: var(--tl-text13);
    font-weight: 600;
    color: var(--tl-black);
}

.VisaCardHeader .status {
    display: inline-block;
    padding: 4px 12px;
    font-size: var(--tl-text12);
    font-weight: 600;
    border-radius: 6px;
}

    .VisaCardHeader .status.active {
        background: #e9f8e9;
        color: #3b9e43;
    }

    .VisaCardHeader .status.expired {
        background: #f8e9e9;
        color: var(--tl-red);
    }

/* ---------- Visa Card Body ---------- */

.VisaCradBody p {
    font-size: var(--tl-text13);
    color: var(--tl-DarkGrey);
    line-height: 20px;
}

.VisaCradBody h4,
.VisaCradBody a {
    margin-top: 4px;
    font-size: var(--tl-text13);
    line-height: var(--tl-text13);
    font-weight: 700;
    color: var(--tl-black);
    word-wrap: break-word;
}

/* ---------- Visa Card Footer ---------- */

.VisaCradFooter {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--tl-border);
    margin-top: 10px;
    padding-top: 10px;
    padding-bottom: 15px;
    position: absolute;
    bottom: 0;
    left: 0;
}

    .VisaCradFooter button {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        padding: 6px 8px;
        background: transparent;
        border: 0;
        color: var(--tl-primary);
        font-size: var(--tl-text13);
        font-weight: 600;
        cursor: pointer;
        transition: opacity 0.3s ease;
    }

        .VisaCradFooter button:hover {
            opacity: 0.8;
        }

        .VisaCradFooter button i {
            font-size: var(--tl-text13);
        }

        .VisaCradFooter button:not(:last-child) {
            border-right: 1px solid var(--tl-border);
        }

    .VisaCradFooter .delete-btn {
        color: var(--tl-red);
    }

.Card_C {
    background: #ffffff;
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radiusLG);
    padding: 20px;
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
    transition: all 0.3s ease;
}

    .Card_C:hover {
        box-shadow: 0 8px 24px rgba(99, 102, 241, 0.12);
    }

.addVisaFields .tl-icon-box {
    width: 32px;
    height: 32px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
}

.addVisaFields .SectionHeading {
    color: var(--tl-primary);
    font-size: var(--tl-text16);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    padding: 0;
    margin-bottom: 1.3rem;
}

.field-error {
    border: 1px solid #ef4444;
}

    .field-error:focus {
        border-color: #ef4444;
        box-shadow: 0 0 0 1px #ef4444;
    }

.error-message {
    margin-top: 4px;
    font-size: 13px;
    color: var(--tl-red);
}

.border-red-500 {
    border-color: var(--tl-red) !important;
}

.visa-edit-input {
    line-height: normal;
    width: 85%;
    border: 1px solid var(--tl-primary);
    border-radius: 6px;
    padding: 4px 7px;
    font-size: var(--tl-text12);
    outline: none;
}

    .visa-edit-input:focus {
        border-color: var(--tl-primary);
    }

/* ---------- Tabs ---------- */

.tl-tabs_c {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: -1px;
    white-space: nowrap;
    border-bottom: 1px solid #cfcfcf;
    width: 100%;
    padding: 0px 8px;
    background: transparent;
    color: var(--tl-primary);
    font-size: var(--tl-text13);
    font-weight: 600;
    cursor: pointer;
    max-width: 100%;
    overflow: auto;
    transition: opacity 0.3s ease;
}

.tl-tabs_c_new {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    white-space: nowrap;
    background: transparent;
    cursor: pointer;
    max-width: 100%;
    overflow: auto;
    transition: opacity 0.3s ease;
}

.tl-tab-item_new {
    position: relative;
    list-style: none;
}

.tl-tab-link_new {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 10px;
    border: none;
    border-radius: 8px;
    background: #fff;
    color: var(--tl-DarkGrey);
    font-size: var(--tl-text13);
    font-weight: normal;
    cursor: pointer;
    transition: 0.25s;
}

    .tl-tab-link_new.tl-tab-active {
        background: linear-gradient( 108deg, var(--color-azure-49, #064cf2) 0%, var(--color-violet-58, #7c3aed) 100% ), #000;
        color: #fff;
        box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05), 0 4px 4px 0 rgba(0, 0, 0, 0.05), 0 10px 10px 0 rgba(0, 0, 0, 0.1);
    }

    .tl-tab-link_new.tl-tab-inactive {
        color: var(--tl-DarkGrey);
    }

/* Modifier for tab rows that hold only a couple of tabs.
   .tl-tabs_c defaults to justify-content: space-between, which fills the row
   nicely with 4-6 tabs (Hotel, Facility POC, Trips) but pushes just two tabs to
   opposite ends of the row, leaving a large gap between them. Applying this
   modifier keeps them adjacent. Scoped deliberately: the base rule is shared by
   several screens and is left untouched. */
.tl-tabs_c.tl-tabs-start {
    justify-content: flex-start;
    gap: 2.5rem;
}

.tl-tab-item {
    position: relative;
    list-style: none;
}

.tl-tab-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 10px 10px 10px;
    min-height: 100%;
    text-decoration: none;
    cursor: pointer;
    border-bottom: 5px solid transparent;
    transition: all 0.25s ease;
}

    /* .tl-tabs_c li:not(:last-child):after {
  content: "";
  position: absolute;
  height: 70%;
  top: 15%;
  width: 1px;
  background: var(--tl-border);
  right: -20%;
} */

    .tl-tab-link:hover {
        border-bottom-color: var(--tl-primary);
    }

    .tl-tab-link svg {
        color: currentColor;
        width: var(--tl-text20);
        height: auto;
    }

    .tl-tab-link > div {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        color: var(--tl-black);
        font-size: var(--tl-text13);
        line-height: normal;
        text-transform: capitalize;
    }

    .tl-tab-link.tl-tab-active {
        color: var(--tl-primary);
        border-bottom-color: var(--tl-primary);
    }

    .tl-tab-active.tl-tab-link > div {
        color: var(--tl-black);
    }

.tl-tab-link > div.tl-badge-blue {
    border-radius: 999999px;
}

.tl-tab-inactive.tl-tab-link > div.tl-badge-blue {
    background: #f1f1f1;
}

.tl-tab-active.tl-tab-link > div.tl-badge-blue {
    background: #e7efff;
    color: var(--tl-primary);
}

.tl-tab-link > div .tabNum {
    font-size: var(--tl-text22);
    font-weight: 800;
}

.tl-tab-active.tl-tab-link > div .tabNum {
    color: var(--tl-primary);
}

.tl-tab-link.tl-tab-inactive {
    color: var(--tl-grey);
    border-bottom-color: transparent;
}

.customTable {
    border: 1px solid var(--tl-border);
}

    .customTable th,
    .customTable td {
        text-align: left;
        font-size: var(--tl-text13);
        padding: 0.5rem 0.5rem;
        border-bottom: 1px solid var(--tl-border);
    }

.TravelIDLink {
    color: var(--tl-primary);
}

    .TravelIDLink:hover {
        text-decoration: underline;
    }

.SuccessGradient {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 58.56%), linear-gradient(180deg, #e0ffc2 0%, #fff 48.36%), #fff;
}

.ErrorGradient {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 58.56%), linear-gradient(180deg, #ffe6e2 0%, #fff 48.36%), #fff;
}

.InfoGradient {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 58.56%), linear-gradient(180deg, #dde7ff 0%, #fff 48.36%), #fff;
}

.WarningGradient {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 58.56%), linear-gradient(180deg, #fff6c9 0%, #fffeef 48.36%), #fff;
}

/* Tabulator Table */

.tabulator {
    border: none !important;
    background-color: #ffffff;
}

    .tabulator .tabulator-header,
    .tabulator .tabulator-header .tabulator-col .tabulator-col-content,
    .tabulator .tabulator-footer .tabulator-footer-contents,
    .tabulator-table .tabulator-row,
    .tabulator-table .tabulator-cell,
    .tabulator-table .tabulator-header,
    .tabulator-table .tabulator-col,
    .tabulator-table .tabulator-footer,
    .tabulator-table .tabulator-col-content,
    .tabulator-table .tabulator-cell[role="gridcell"],
    .tabulator-table .tabulator-col[role="columnheader"] {
        font-size: var(--tl-text13) !important;
        color: var(--tl-black) !important;
    }

.tabulator-table .tabulator-cell,
.tabulator-table .tabulator-col,
.tabulator-table .tabulator-row,
.tabulator-table .tabulator-footer,
.tabulator-table .tabulator-header {
    border: none !important;
    border-bottom: 1px solid var(--tl-border) !important;
}

.tabulator-table .tabulator-cell {
    height: 40px;
    line-height: 32px;
}

.tabulator .tabulator-header .tabulator-col {
    background-color: #ffffff !important;
    border: none !important;
    border-bottom: 1px solid var(--tl-border) !important;
}

/* .tabulator-table .tabulator-row .tabulator-cell:last-child,
.tabulator-table .tabulator-row .tabulator-cell:last-child[role="gridcell"] {
  border-right: none !important;
} */
.tabulator .tabulator-footer {
    background-color: #ffffff !important;
    border: none !important;
}

    .tabulator .tabulator-footer .tabulator-paginator {
        margin: 0 auto !important;
        display: flex;
        align-items: center;
        justify-content: start;
        gap: 8px;
    }
        .tabulator .tabulator-footer .tabulator-paginator{padding-left:20px;}

        .tabulator .tabulator-footer .tabulator-footer-contents {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between !important;
        }

    .tabulator .tabulator-footer .tabulator-page-size {
        min-width: 50px;
    }

.tabulator .tabulator-tableholder {
    background-color: #ffffff !important;
}
/* tabulator end */
.RequestTypeChange {
    color: var(--tl-primary);
}

.RequestTypeNew {
    color: var(--tl-primary-dark);
}

/* ---------- Tabulator Pagination ---------- */

.tabulator .tabulator-page {
    padding: 2px 8px !important;
    border: 0px !important;
    border-radius: 8px;
    background: #fff;
    color: #374151;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .tabulator .tabulator-page:hover {
        background: var(--tl-LightBlue);
        color: var(--tl-primary);
    }

    .tabulator .tabulator-page.active,
    .tabulator .tabulator-footer .tabulator-page.active {
        background: var(--tl-LightBlue);
        color: var(--tl-primary) !important;
        color: #fff;
    }

    .tabulator .tabulator-page[disabled] {
        opacity: 0.45;
        cursor: not-allowed;
    }

    .tabulator .tabulator-page[data-page="prev"] {
        margin-left: auto!important;
    }

    .tabulator .tabulator-page[data-page="first"],
    .tabulator .tabulator-page[data-page="last"] {
        display: none;
    }

    .tabulator .tabulator-page[data-page="prev"],
    .tabulator .tabulator-page[data-page="next"] {
        font-size: 0;
        position: relative;
        padding: 0;
    }

        .tabulator .tabulator-page[data-page="prev"]::before {
            content: "<";
            font-size: 16px;
            font-weight: 600;
            color: #374151;
        }

        .tabulator .tabulator-page[data-page="next"]::before {
            content: ">";
            font-size: 16px;
            font-weight: 600;
            color: #374151;
        }

        .tabulator .tabulator-page[data-page="prev"]:hover::before,
        .tabulator .tabulator-page[data-page="next"]:hover::before {
            color: #0067ce;
        }

/* ---------- Tabulator Footer Layout ---------- */

/* ---------- Tabulator Footer ---------- */

/* Left */
.tabulator .tabulator-page-counter {
    margin-right: auto;
}

/* Move label & select to end */



.tabulator .tabulator-paginator label {
    order: 1;
    font-weight: normal;
    color: #000;
}
.tabulator .tabulator-page-size {
    order: 2;
    margin-right: auto;
}

/* Pagination buttons */

.tabulator .tabulator-pages,
.tabulator .tabulator-page[data-page="first"],
.tabulator .tabulator-page[data-page="prev"],
.tabulator .tabulator-page[data-page="next"],
.tabulator .tabulator-page[data-page="last"] {
    order: 3;
}
.tabulator .tabulator-page[data-page="first"],
.tabulator .tabulator-page[data-page="last"] {
    display:none!important
}
    /* ------------------- */
    /* ---------- Travel Request Profile ---------- */
    .TravelEmployeeName {
    font-size: var(--tl-text15);
    font-weight: 700;
    color: var(--tl-black);
    line-height: 1.2;
}

.TravelEmployeeID {
    font-weight: 600;
}

.TravelEmployeeDesignation,
.TravelEmployeeEmail,
.TravelSummaryLabel {
    font-size: var(--tl-text12);
    color: var(--tl-DarkGrey);
}

.TravelEmployeeEmail {
    text-decoration: none;
}

    .TravelEmployeeEmail:hover {
        color: #2563eb;
    }

.TravelSummaryItem,
.TravelDetailItem {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 24px;
}

.TravelRequestDetails {
    padding: 10px 0px;
}

.TravelDetailItem {
    padding: 0 14px;
    border-right: 1px solid #e5e7eb;
}

    .TravelDetailItem:last-child {
        border-right: 0;
    }

.TravelSummaryDivider {
    width: 1px;
    height: 48px;
    background: #e5e7eb;
}

.TravelSummaryIcon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: var(--tl-LightBlue);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tl-primary);
    font-size: 18px;
    flex-shrink: 0;
}

.TravelSummaryLabel {
    margin-bottom: 2px;
}

.TravelSummaryValue {
    font-size: var(--tl-text12);
    font-weight: 700;
}

.TravelBillableBadge {
    margin-left: 24px;
    padding: 6px 14px;
    border-radius: var(--tl-radiusSM);
    background: var(--tl-LightGreen);
    color: var(--tl-green);
    font-size: var(--tl-text13);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

    .TravelBillableBadge::before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #46a06d;
    }

/*------------ */

/* ==========================================================
   Travel Journey Accordion
========================================================== */

.TravelJourneyAccordion {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ==========================================================
   Journey Card
========================================================== */

.TravelJourneyCard {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    transition: 0.3s ease;
}

    .TravelJourneyCard:hover {
        box-shadow: 0 8px 30px rgba(15, 23, 42, 0.08);
    }

    .TravelJourneyCard.active {
        border-color: #3558f5;
    }

/* Header */

.TravelJourneyHeader {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 15px;
    background: #fff;
    cursor: pointer;
    text-align: left;
}

/* Left */

.TravelJourneyLeft {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
}

.TravelJourneyIcon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--tl-grey);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.TravelJourneyCard.active .TravelJourneyIcon {
    background: var(--tl-primary);
}

.TravelJourneyIcon.Pending {
    background: #fff6e5;
    color: #e8a317;
}

.TravelJourneyIcon.Cancelled {
    background: var(--tl-LightRed);
    color: var(--tl-red);
}

.TravelJourneyNumber {
    width: 25px;
    height: 25px;
    border-radius: 4px;
    background: #efefef;
    color: var(--tl-grey);
    font-size: var(--tl-text13);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.TravelJourneyCard.active .TravelJourneyNumber {
    background: var(--tl-LightBlue);
    color: var(--tl-primary);
}

/* Route */

.TravelJourneyRoute {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.TravelJourneyCity {
    min-width: 250px;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

    .TravelJourneyCity h4 {
        font-size: var(--tl-text14);
        font-weight: 700;
        color: var(--tl-black);
    }

    .TravelJourneyCity p {
        margin-top: 0px;
        display: flex;
        align-items: center;
        gap: 8px;
        color: var(--tl-DarkGrey);
        font-size: var(--tl-text13);
    }

    .TravelJourneyCity.text-right {
        text-align: right;
    }

        .TravelJourneyCity.text-right p {
            justify-content: flex-end;
        }

.dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #d1d5db;
}

/* Flight Path */

.TravelJourneyFlightPath {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 300px;
}

.TravelJourneyLine {
    width: 100%;
    border-top: 2px dashed #cbd5e1;
}

.TravelJourneyCard.active .TravelJourneyLine {
    border-color: var(--tl-primary);
}

.TravelJourneyPlane {
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    color: #3558f5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.TravelJourneyCard .TravelJourneyPlane svg {
    stroke: var(--tl-grey);
    fill: #ffffff;
}

.TravelJourneyCard.active .TravelJourneyPlane svg {
    stroke: var(--tl-primary);
    fill: #ffffff;
}

/* Right */

.TravelJourneyRight {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
}

/* Status Badge */

.TravelJourneyStatus {
    padding: 7px 14px;
    border-radius: var(--tl-radiusSM);
    font-size: var(--tl-text11);
    font-weight: 600;
    white-space: nowrap;
}

    .TravelJourneyStatus.Completed {
        background: var(--tl-LightGreen);
        color: var(--tl-green);
    }

    .TravelJourneyStatus.Pending {
        background: var(--tl-LightOrange);
        color: var(--tl-orange);
    }

    .TravelJourneyStatus.Cancelled {
        background: var(--tl-LightRed);
        color: var(--tl-red);
    }

/* Arrow */

.TravelJourneyArrow {
    font-size: var(--tl-text14);
    color: #64748b;
    transition: 0.3s ease;
}

[aria-expanded="true"] .TravelJourneyArrow {
    transform: rotate(180deg);
}

/* Body */

.TravelJourneyBody {
    border-top: 1px solid #eef2f7;
    padding: 24px 30px 24px 66px;
}

/* Detail Grid  */

.TravelJourneyDetails {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.TravelJourneyColumn {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
}

    .TravelJourneyColumn:not(:last-child):after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 1px;
        height: 100%;
        background: var(--tl-border);
        transform: translateY(-50%);
    }

/* Detail Item */

.TravelJourneyItem {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.TravelJourneyItemIcon {
    display: flex;
    align-items: start;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
    margin-top: 4px;
}

.TravelJourneyItemLabel {
    margin-bottom: 4px;
    color: var(--tl-DarkGrey);
    font-size: var(--tl-text12);
    font-weight: 500;
}

.TravelJourneyItemLValue {
    font-size: var(--tl-text12);
    font-weight: 600;
    line-height: normal;
}

/* ---------- Travel Approval ---------- */

.TravelCommentCard,
.TravelApprovalCard {
    background: #fff;
    border: 1px solid var(--tl-border);
    border-radius: 12px;
    padding: 10px 15px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.TravelApprovalCard {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;
    flex-wrap: wrap;
}

.TravelApprovalForm {
    flex: 1;
    display: flex;
    flex-flow: column;
}

.TravelApprovalHeading {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: var(--tl-text13);
    font-weight: 600;
}

    .TravelApprovalHeading i {
        color: var(--tl-primary);
    }

.TravelCommentText {
    font-size: var(--tl-text13);
    font-weight: 600;
    color: var(--tl-DarkGrey);
}

.TravelCommentTextarea {
    width: 100%;
    min-height: 50px;
    padding: 10px 12px;
    border: 1px solid var(--tl-border);
    border-radius: 10px;
    resize: none;
    outline: none;
    transition: 0.2s;
    font-size: var(--tl-text13);
}

    .TravelCommentTextarea:focus {
        border-color: var(--tl-primary);
        box-shadow: 0 0 0 3px rgba(53, 91, 255, 0.15);
    }

.TravelApprovalActions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.TravelButton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 120px;
    height: 42px;
    padding: 0 15px;
    border-radius: 10px;
    font-size: var(--tl-text14);
    transition: 0.2s;
}

.TravelButtonDecline {
    background: #fff;
    color: var(--tl-red);
    border: 1px solid var(--tl-red);
}

    .TravelButtonDecline:hover {
        background: var(--tl-LightRed);
    }

.TravelButtonApprove {
    background: var(--tl-green);
    color: #fff;
    border: 1px solid var(--tl-green);
}

    .TravelButtonApprove:hover {
        background: #3e9e5f;
        border-color: #3e9e5f;
    }

@media (max-width: 767px) {
    .TravelApprovalCard {
        flex-direction: column;
        align-items: stretch;
    }

    .TravelApprovalActions {
        width: 100%;
        justify-content: flex-end;
    }
}

.IDModal {
    width: 80%;
}

.verDivider {
    margin: 3px 0px 10px 0px;
    width: 1px;
    height: auto;
    background: var(--tl-border);
    border: 1px solid var(--tl-border);
    min-height: 10px;
}

.tabulator-table .tabulator-cell {
    display: inline-flex;
    gap: 0.3rem;
}

/* table for documents dashboard */
/* ---------- Document Name ---------- */

.document-name {
    display: flex;
    align-items: center;
    gap: 12px;
}

    .document-name img {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
    }

    .document-name span {
        font-weight: 600;
        color: #23307c;
    }

/* ---------- Category Badge ---------- */

.doc-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: var(--tl-text12);
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    height: 30px;
    margin-top: 5px;
}

.badge-flight {
    background: #eef3ff;
    color: #4f6ef7;
}

.badge-accommodation {
    background: #f5edff;
    color: #8c56e9;
}

.badge-passport {
    background: #eaf8f7;
    color: #54808e;
}

.badge-identity {
    background: #fff1e8;
    color: #e88832;
}

.badge-insurance {
    background: #ffecec;
    color: #f04e45;
}

.badge-invoice {
    background: #eef3ff;
    color: #4f6ef7;
}

.badge-other {
    background: #eef0fa;
    color: #56639e;
}

/* ---------- Valid Date ---------- */

.valid-date {
    color: #5aa66a;
    font-weight: 600;
}

/* ---------- Actions ---------- */

.table-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: none;
    background: transparent;
    color: #4f6ef7;
    cursor: pointer;
    transition: 0.2s;
}

    .action-btn:hover {
        color: #23307c;
    }

    .action-btn svg {
        width: 17px;
        height: 17px;
    }

#AllDocumentsTable .tabulator-table .tabulator-cell {
    height: 50px;
    line-height: 42px;
}

/* Mega menu */
/* ---------- Travel Mega Menu ---------- */
/*
.TravelMegaMenu {
    display: flex;
    flex-wrap: wrap;
    background: #fff;
}

.TravelMegaMenuColumn {
    flex: 0 0 20%;
    max-width: 20%;
    padding: 22px 30px;
    border-right: 1px solid #e7eaf4;
}

    .TravelMegaMenuColumn:last-child {
        border-right: 0;
    }

.TravelMegaMenuTitle {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.TravelMegaMenuIcon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

.TravelMegaMenuTitle h3 {
    font-size: var(--tl-text14);
    font-weight: 700;
}

.TravelMegaMenuGroup {
    margin-bottom: 15px;
}

    .TravelMegaMenuGroup:last-child {
        margin-bottom: 0;
    }

    .TravelMegaMenuGroup h4 {
        font-size: var(--tl-text13);
        font-weight: 700;
        margin-bottom: 8px;
    }

    .TravelMegaMenuGroup ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .TravelMegaMenuGroup li + li {
        margin-top: 6px;
    }

    .TravelMegaMenuGroup a {
        font-size: var(--tl-text13);
        font-weight: 500;
        color: var(--tl-DarkGrey);
        text-decoration: none;
        transition: 0.2s;
    }

        .TravelMegaMenuGroup a:hover {
            color: var(--tl-primary);
        }*/

.TravelTableWrapper {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.TravelTableWrapper th{
    text-align: left;
}
    .TravelTableWrapper th, .TravelTableWrapper td {
    border-bottom: 1px solid #ccc;
    padding: 10px;
    font-size: 12px;
}
/*        .TravelTableWrapper td:last-child {
            border-bottom: 0px solid #ccc;
        }*/


/* added New Css 8-7-26 */
.TravelutionInnerPageBG {
    position: relative;
    min-height: calc(100vh - 100px);
    background-image: url(../images/InnerpagesBG.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* ---------- Travel Request Header ---------- */
.PageHeaderSection {
    padding: 16px 0;
}

.TravelRequestHeaderLeft {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* ---------- Breadcrumb ---------- */
.TravelBreadcrumb ol {
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.TravelBreadcrumbLink {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #667085;
    font-size: var(--tl-text12);
    font-weight: 500;
    text-decoration: none;
    transition: 0.25s;
}

    .TravelBreadcrumbLink:hover {
        color: var(--tl-primary);
    }

.TravelBreadcrumbHomeIcon {
    width: 14px;
    height: 14px;
}

.TravelBreadcrumbDivider {
    color: var(--tl-DarkGrey);
    font-size: var(--tl-text12);
}

/* ---------- Title ---------- */
.TravelRequestTitle {
    margin: 0;
    font-size: var(--tl-text15);
    font-weight: 700;
    color: #111e6b;
}

/* ---------- Right Section ---------- */
.TravelRequestHeaderRight {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* ---------- View Switch ---------- */
.TravelViewSwitcher {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.TravelViewButton {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 10px;
    border: none;
    border-radius: 8px;
    background: #fff;
    color: var(--tl-DarkGrey);
    font-size: var(--tl-text13);
    cursor: pointer;
    transition: 0.25s;
}

    .TravelViewButton svg {
        width: 16px;
        height: 16px;
        fill: #000;
    }

    .TravelViewButton:hover {
        background: #f5f7ff;
    }

    .TravelViewButton.active {
        background: linear-gradient( 108deg, var(--color-azure-49, #064cf2) 0%, var(--color-violet-58, #7c3aed) 100% ), #000;
        color: #fff;
        box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05), 0 4px 4px 0 rgba(0, 0, 0, 0.05), 0 10px 10px 0 rgba(0, 0, 0, 0.1);
    }

        .TravelViewButton.active svg {
            color: #fff;
            fill: #fff;
        }

.tl-tab-inactive.tl-tab-link > div.tl-badge-blue {
    color: #a0a0a0;
}

.tl-tab-link > div {
    font-size: var(--tl-text14);
    font-weight: normal;
}

    .tl-tab-link > div .tabNum {
        font-weight: normal;
    }

.bgOuter {
    background: linear-gradient( to bottom, #ffffff 0%, #ffffff 40%, rgba(255, 255, 255, 0) 100% );
}

.tl-badge-blue {
    background: #e7efff;
    color: #053de6;
}

.TravelItinerary {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.TravelItineraryTop {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.TravelRoute {
    display: flex;
    align-items: center;
    gap: 4px;
}

.TravelSeparator {
    color: #94a3b8;
}

.TravelItineraryHidden {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.TravelChip {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #eef3ff;
    color: #053de6;
}

.TravelMoreBtn {
    background: none;
    border: none;
    cursor: pointer;
    color: #111827;
    font-weight: 600;
}


.badge-num {
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: var(--tl-radiusSM);
    background: #fff;
    color: #736F9E;
    border: 1px solid #E9E8EB;
    font-size: var(--tl-text11);
    display: flex;
    align-items: center;
    justify-content: center;
}
/* ---------- Itinerary Horizontal Scroll ---------- */
/* ---------- Itinerary Scroll ---------- */
.tl-itinerary-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    position:relative;
    bottom:0px;
}

    .tl-itinerary-scroll::-webkit-scrollbar {
        
        height: 3px;
        position:absolute;
        bottom:0;
        left:0;
    }

    .tl-itinerary-scroll::-webkit-scrollbar-track {
        background: transparent;
    }

    .tl-itinerary-scroll::-webkit-scrollbar-thumb {
        background: transparent;
        border-radius: 10px;
    }

    .tl-itinerary-scroll:hover {
        scrollbar-color: #999 transparent;
    }

        .tl-itinerary-scroll:hover::-webkit-scrollbar-thumb {
            background: #999;
        }
/* ---------- Travel Type Badge ---------- */
.travel-type-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 95px;
    max-width: 100%;
    height: 22px;
    padding: 3px 14px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid #2d6bff;
    color: #2d6bff;
    white-space: nowrap;
    font-size: 11px;
    margin-top: 3px;
}

.tabulator-row .tabulator-cell.route-col {
    overflow: visible;
    text-overflow: initial;
    white-space: normal;
}

.tabulator-row .tabulator-cell.route-col .tl-itinerary-scroll {
    height: 36px;
}

.tabulator-row .tabulator-cell.route-col .tl-itinerary-scroll {
    height: 36px;
}

#user-menu-button {
    position: relative;
    padding-left: 15px;
}
    #user-menu-button:before {
        content: "";
        position: absolute;
        left: 5px;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 20px;
        background: #d9dee8;
    }


/* ---------- New Tabbing Style ---------- */
/* ---------- Tabs ---------- */
.TravelTableWrapper {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.tl-tabs_c_new {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    white-space: nowrap;
    background: transparent;
    cursor: pointer;
    max-width: 100%;
    overflow: auto;
    transition: opacity 0.3s ease;
}

.tl-tab-item_new {
    position: relative;
    list-style: none;
}

.tl-tab-link_new {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 10px;
    border: none;
    border-radius: 8px;
    background: #fff;
    color: var(--tl-DarkGrey);
    font-size: var(--tl-text13);
    font-weight: normal;
    cursor: pointer;
    transition: 0.25s;
}

    .tl-tab-link_new.tl-tab-active {
        background: linear-gradient( 108deg, var(--color-azure-49, #064cf2) 0%, var(--color-violet-58, #7c3aed) 100% ), #000;
        color: #fff;
        box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05), 0 4px 4px 0 rgba(0, 0, 0, 0.05), 0 10px 10px 0 rgba(0, 0, 0, 0.1);
    }

    .tl-tab-link_new.tl-tab-inactive {
        color: var(--tl-DarkGrey);
    }

/* ---------- Flight Badge ---------- */

.flight-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 95px;
    max-width: 100%;
    height: 22px;
    padding: 3px 14px;
    border-radius: 20px;
    background: #fff;
    white-space: nowrap;
    margin-top: 3px;
}

.round-trip {
    border: 1px solid #2d6bff;
}

.multiple-trip {
    border: 1px solid #8f0ac3;
}

.tabulator-cell a {
    color: var(--tl-primary);
}

.tabulator .tabulator-footer .tabulator-footer-contents {
    padding: 0;
}

.tabulator .tabulator-header {
    border-bottom: 1px solid #e7eaf2 !important;
}

    .tabulator .tabulator-header .tabulator-col .tabulator-col-content {
        padding-top: 0px !important;
        padding-bottom: 7px !important;
    }

.tabulator .tabulator-footer .tabulator-page-size {
    min-width: 50px;
    order: 1;
    margin: 0;
}

.tabulator .tabulator-paginator label {
    order: 2;
}

.tabulator .tabulator-footer .tabulator-page-counter {
    position: absolute;
    left: 160px;
}

.tabulator .tabulator-footer .tabulator-page-counter {
    margin-right: auto;
}

.tabulator .tabulator-footer .tabulator-paginator {
    padding-left: 0;
}

/* ---------- Booking Page ---------- */

/* ---------- Booking Header ---------- */
.tl-booking-header {
    width: 100%;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    background: #fff;
    border: 1px solid #e1e5ed;
    border-radius: 18px;
    box-shadow: 0 1px 3px rgba(20, 30, 60, 0.04);
}

.tl-booking-info {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1;
}

.tl-booking-item {
    min-width: 0;
    padding: 0 20px;
    border-right: 1px solid #e1e5ed;
}

    .tl-booking-item:first-child {
        padding-left: 0;
    }

    .tl-booking-item:last-child {
        border-right: 0;
    }

.tl-booking-title {
    color: #171717;
    font-size: var(--tl-text14);
    font-weight: 800;
    line-height: 1.3;
}

.tl-booking-subtitle {
    margin-top: 4px;
    color: #252525;
    font-size: var(--tl-text13);
    font-weight: 500;
}

.tl-booking-name {
    color: var(--tl-primary);
    font-size: var(--tl-text14);
    font-weight: 600;
    line-height: 1.3;
}

    .tl-booking-name span {
        color: var(--tl-primary-dark);
    }

.tl-booking-id {
    margin-top: 4px;
    color: #777;
    font-size: var(--tl-text13);
    font-weight: 500;
}

.tl-booking-label {
    color: #858585;
    font-size: var(--tl-text13);
    line-height: 1.3;
}

.tl-booking-value {
    margin-top: 4px;
    color: #16246d;
    font-size: var(--tl-text13);
    font-weight: 500;
    white-space: nowrap;
}

.tl-booking-email {
    border-right: 0;
}

.tl-booking-back {
    flex: 0 0 auto;
    padding: 10px 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #000000;
    font-size: var(--tl-text13);
    font-weight: 600;
    border-radius: 10px;
    border: 1px solid #d9e0e9;
    background: #fff;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

    .tl-booking-back:hover {
        background: #f7f8ff;
    }

/* ---------- Booking Main Layout ---------- */
.tl-booking-layout {
    width: 100%;
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

    .tl-booking-layout > * {
        min-width: 0;
    }

/* ---------- Sector Details ---------- */
.tl-sector-card {
    width: 100%;
    background: #fff;
    border: 1px solid #dee4eb;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(20, 30, 60, 0.04);
}

.tl-sector-header {
    padding: 10px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f7fafe;
    border-bottom: 1px solid #dee4eb;
}

    .tl-sector-header h2 {
        margin: 0;
        color: #17213f;
        font-size: var(--tl-text16);
        font-family: "manropesemibold";
    }

.tl-select-all {
    padding: 0;
    color: #17213f;
    background: transparent;
    border: 0;
    font-size: var(--tl-text13);
    font-family: "manropesemibold";
    cursor: pointer;
}

    .tl-select-all:hover {
        color: var(--tl-primary);
    }

.tl-sector-list {
    width: 100%;
}

.tl-sector-item {
    min-height: 66px;
    border-bottom: 1px solid #e7eaf2;
    transition: background-color 0.2s ease, color 0.2s ease;
}

    .tl-sector-item:last-child {
        border-bottom: 0;
    }

    .tl-sector-item:not(.tl-sector-selected):hover {
        background: #f8faff;
    }

.tl-sector-selected {
    background: var(--tl-primary2) !important;
    color: #fff !important;
}

.tl-sector-number {
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e9ebef;
    color: #687080;
    font-size: var(--tl-text12);
    font-family: "manropesemibold";
    padding: 3px 8px;
}

.tl-sector-selected .tl-sector-number {
    background: #0725a3;
    color: #fff;
}

.tl-sector-route {
    display: block;
    color: #17213f;
    font-size: var(--tl-text15);
    font-family: "manropesemibold";
    line-height: 1.4;
}

.tl-sector-selected .tl-sector-route {
    color: #fff;
}

.tl-sector-date {
    display: block;
    margin-top: 4px;
    color: #757575;
    font-size: var(--tl-text12);
    font-family: "manropemedium";
}

.tl-sector-selected .tl-sector-date {
    color: rgba(255, 255, 255, 0.9);
}

.tl-sector-checkbox {
    width: 16px;
    height: 16px;
    min-width: 16px;
    cursor: pointer;
    background: #fff;
    border: 1px solid #999999;
    border-radius: 3px;
}

.tl-sector-selected .tl-sector-checkbox[type="checkbox"]:checked {
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230031fe' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-size: 0.85em 0.85em;
}

.tl-sector-selected .tl-sector-checkbox {
    border: 1px solid #fff;
}
/* ---------- Traveller Comments ---------- */
.tl-traveller-comments {
    width: 100%;
    margin-top: 18px;
    padding: 18px;
    background: #fff;
    border: 1px solid #dee4eb;
    border-radius: 18px;
    box-shadow: 0 1px 3px rgba(20, 30, 60, 0.04);
}

.tl-comment-box {
    width: 100%;
    min-height: 82px;
    padding: 16px;
    display: flex;
    align-items: flex-start;
    gap: 3px;
    background: #f7fafe;
    border-radius: 14px;
    color: #17213f;
    font-size: var(--tl-text13);
    line-height: 1.5;
}

.tl-comment-title {
    flex: 0 0 auto;
    font-family: "manropesemibold";
    font-size: var(--tl-text13);
}

.tl-comment-text strong {
    color: #141f35;
}

.tl-comment-text {
    color: #657386;
    font-family: "manropemedium";
}

.tl-document-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
}

.tl-document-btn {
    min-height: 36px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #141f35;
    font-size: var(--tl-text13);
    font-family: "manropemedium";
    cursor: pointer;
    border-radius: 10px;
    border: 1px solid #d9e0e9;
    background: #f4f7fb;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

    .tl-document-btn:hover {
        border-color: var(--tl-primary);
        color: var(--tl-primary);
    }

    .tl-document-btn svg {
        flex-shrink: 0;
    }

/* ---------- Upload Card ---------- */
.tl-upload-card {
    width: 100%;
    padding: 10px;
    background: #e4f1ff;
    border: 1px solid #dee4eb;
    border-radius: 18px;
}

.tl-upload-inner {
    min-height: 60px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1.5px dashed #a6bad4;
    border-radius: 14px;
}

.tl-upload-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--tl-primary);
    background: #fff;
    border: 1px solid #d7e1f2;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(20, 30, 60, 0.08);
}

.tl-upload-content {
    min-width: 0;
    flex: 1;
}

.tl-upload-title {
    color: #17213f;
    font-size: var(--tl-text13);
    font-family: "manropesemibold";
}

.tl-upload-file {
    color: #657386;
    font-size: var(--tl-text12);
    font-family: "manropemedium";
}

.tl-upload-button {
    min-width: 105px;
    height: 40px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #17213f;
    background: #fff;
    border: 1px solid #d9e0eb;
    border-radius: 11px;
    font-size: var(--tl-text13);
    font-family: "manropesemibold";
    box-shadow: 0 1px 3px rgba(20, 30, 60, 0.12);
    cursor: pointer;
}

    .tl-upload-button:hover {
        color: var(--tl-primary);
        border-color: var(--tl-primary);
    }

.tl-upload-card-small {
    margin-top: 12px;
    padding: 10px;
}

.tl-upload-card-billing {
    margin: 0;
    padding: 9px;
}

    .tl-upload-card-billing .tl-upload-inner {
        min-height: 50px;
    }

.tl-upload-icon-button {
    width: 42px;
    min-width: 42px;
    padding: 0;
}
/* ---------- Common Inner Card ---------- */
.tl-booking-details-card,
.tl-selected-sector-card,
.tl-comments-upload-card,
.tl-billing-card {
    width: 100%;
    background: #fff;
    border: 1px solid #dee4eb;
    border-radius: 18px;
    box-shadow: 0 1px 3px rgba(20, 30, 60, 0.04);
}

.tl-inner-card-header {
    min-height: 43px;
    padding: 0 22px;
    display: flex;
    align-items: center;
    background: #f7fafe;
    border-bottom: 1px solid #dee4eb;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
}

    .tl-inner-card-header h2 {
        margin: 0;
        color: #17213f;
        font-size: var(--tl-text16);
        font-family: "manropesemibold";
    }
/* ---------- Booking Fields ---------- */
.tl-booking-fields {
    padding: 22px;
    display: grid;
    grid-template-columns: 1fr 1.3fr 1.4fr;
    gap: 12px;
}

.tl-floating-field {
    position: relative;
    min-width: 0;
}

    .tl-floating-field label {
        position: absolute;
        z-index: 1;
        top: -7px;
        left: 15px;
        padding: 0 5px;
        color: #414141;
        background: #fff;
        font-size: var(--tl-text12);
        font-family: "manropemedium";
        line-height: 1;
    }

        .tl-floating-field label span {
            color: #e32626;
        }

    .tl-floating-field input,
    .tl-floating-field select,
    .tl-input-style {
        width: 100%;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        padding: 0.75rem 1rem;
        font-size: 0.775rem;
        line-height: 1rem;
        font-weight: 800;
        color: #000;
        background: #fff;
        border: 1px solid #c5c5c5;
        border-radius: 0.75rem;
    }

        .tl-floating-field input::placeholder {
            color: #171717;
            opacity: 1;
        }

        .tl-floating-field input:focus,
        .tl-floating-field select:focus {
            border-color: var(--tl-primary);
        }

.tl-select-field select {
    appearance: none;
    padding-right: 42px;
    cursor: pointer;
}

.tl-select-arrow {
    position: absolute;
    right: 15px;
    top: 14px;
    pointer-events: none;
    color: #171717;
}
/* ---------- Selected Sector ---------- */
.tl-selected-sector-list {
    padding: 8px 22px;
}

.tl-selected-sector {
    min-height: 65px;
    padding: 13px 0;
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 15px;
}

    .tl-selected-sector + .tl-selected-sector {
        border-top: 1px solid #edf0f5;
    }

.tl-sector-info {
    min-width: 0;
    display: flex;
    align-items: start;
    gap: 10px;
}

.tl-selected-sector-number {
    width: 28px;
    height: 28px;
    min-width: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--tl-primary2);
    border-radius: 50%;
    font-size: var(--tl-text12);
    font-family: "manropesemibold";
    margin-top: 5px;
}

.tl-selected-route {
    color: #000;
    font-size: var(--tl-text14);
    font-family: "manropesemibold";
}

.tl-selected-date {
    margin-top: 3px;
    color: #757575;
    font-size: var(--tl-text12);
}

.tl-sector-controls {
    min-width: 260px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
/* ---------- Comments ---------- */
.tl-comments-upload-card {
    padding: 12px;
}

.tl-comments-field {
    position: relative;
}

    .tl-comments-field label {
        position: absolute;
        z-index: 1;
        top: -7px;
        left: 15px;
        padding: 0 5px;
        color: #414141;
        background: #fff;
        font-size: var(--tl-text12);
    }

        .tl-comments-field label span,
        .tl-mandatory-field span {
            color: #e32626;
        }

    .tl-comments-field textarea {
        width: 100%;
        min-height: 92px;
        padding: 14px 17px;
        resize: vertical;
        color: #171717;
        background: #fff;
        border: 1px solid #c7c7c7;
        border-radius: 16px;
        outline: none;
        font-size: var(--tl-text13);
        font-family: "manropesemibold";
    }

        .tl-comments-field textarea::placeholder {
            color: #171717;
            opacity: 1;
        }
/* ---------- Billing ---------- */
.tl-billing-content {
    padding: 22px 16px 12px;
}

.tl-billing-divider {
    width: 100%;
    height: 1px;
    margin: 15px 0;
    background: #e3e7ee;
}

.tl-book-ticket-label {
    margin-bottom: 9px;
    color: #17213f;
    font-size: var(--tl-text13);
    font-family: "manropesemibold";
}

    .tl-book-ticket-label span {
        color: #e32626;
    }

.tl-fare-options {
    display: flex;
    gap: 8px;
}

.tl-fare-option {
    min-height: 38px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #a4a9b3;
    background: #fff;
    border: 1px solid #e4e7ed;
    border-radius: 11px;
    font-size: var(--tl-text12);
    font-family: "manropemedium";
    cursor: pointer;
}

    .tl-fare-option input {
        display: none;
    }

.tl-fare-active {
    color: var(--tl-primary2);
    background: #e4f1ff;
    border-color: var(--tl-primary2);
}

.tl-total-fare {
    min-height: 45px;
    margin-top: 12px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #17213f;
    background: #eaf3ff;
    border-radius: 12px;
    font-size: var(--tl-text14);
    font-family: "manropesemibold";
}

    .tl-total-fare strong {
        color: var(--tl-primary2);
        font-size: var(--tl-text16);
    }

/* ---------- Booking Right Layout ---------- */
.tl-booking-right {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 325px;
    gap: 16px;
    align-items: start;
}

    .tl-booking-right.col1 {
        grid-template-columns: minmax(0, 1fr);
    }

.tl-booking-form {
    min-width: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tl-booking-billing {
    min-width: 0;
    width: 100%;
}

.combined-billing-details {
    width: 100%;
}

:focus-visible {
    outline: none;
}

.tl-booking-footer {
    width: 100%;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    background: #fff;
    border: 1px solid #e1e5ed;
    border-radius: 18px;
    box-shadow: 0 1px 3px rgba(20, 30, 60, 0.04);
}

.btn-gradient-2 {
    width: -moz-max-content;
    width: max-content;
    border-radius: 999999px;
    background-image: linear-gradient( 108deg, var(--color-azure-49, #064cf2) 0%, var(--color-violet-58, #7c3aed) 100% ), linear-gradient(108deg, #65b01a 0%, #04842e 100%);
    --tw-gradient-from: #03bbff var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(3 187 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: #7937e4 var(--tw-gradient-to-position);
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

    .btn-gradient-2:hover {
        background-image: linear-gradient(to left, var(--tw-gradient-stops));
    }

.btn-cancel {
    width: -moz-max-content;
    width: max-content;
    border-radius: 999999px;
    background-image: #fff;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border: 1px solid #e2e8f0;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: #064cf2;
}

    .btn-cancel:hover {
        color: var(--tl-primary2);
        background: #e4f1ff;
        border-color: var(--tl-primary2);
    }

/* ---------- File Upload ---------- */
.tl-file-upload-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.tl-file-upload-name {
    font-size: 14px;
    color: #6b7280;
    margin-top: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

    .tl-file-upload-name.has-file {
        color: #2c2c2c;
        font-weight: 500;
    }

.tl-file-remove {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    color: #dc2626;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .tl-file-remove:hover {
        background: #fef2f2;
        border-color: #fca5a5;
    }

.tl-file-browse {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 140px;
    padding: 14px 24px;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 16px;
    color: #2c2c2c;
    cursor: pointer;
}

/* ---------- PNR Details ---------- */
.tl-pnr-details {
    width: 100%;
    border: 1px solid #d8dee8;
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.tl-pnr-details-header {
    padding: 14px 12px;
    border-bottom: 1px solid #d8dee8;
    background: #f7f9fc;
}

    .tl-pnr-details-header h2 {
        margin: 0;
        font-size: 14px;
        font-weight: 700;
        color: #2c2c2c;
    }

.tl-pnr-accordion {
    border-bottom: 1px solid #d8dee8;
}

    .tl-pnr-accordion:last-child {
        border-bottom: 0;
    }

.tl-pnr-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px;
    border: 0;
    background: #e4f1ff;
    color: #141f35;
    cursor: pointer;
    text-align: left;
}

.tl-pnr-accordion.is-open > .tl-pnr-toggle {
    background: var(--tl-primary2);
    color: #fff;
}

.tl-pnr-code {
    font-size: 12px;
    font-weight: 700;
}

.tl-pnr-toggle-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tl-pnr-count {
    padding: 3px 8px;
    border-radius: 10px;
    background: #ffffff;
    color: #657386;
    font-size: 8px;
    font-weight: 600;
    line-height: 1;
}

.tl-pnr-arrow {
    width: 14px;
    height: 14px;
    transition: transform 0.25s ease;
}

.tl-pnr-accordion.is-open .tl-pnr-arrow {
    transform: rotate(180deg);
}

.tl-pnr-select-all {
    width: 100%;
    padding: 4px 12px;
    border: 0;
    border-bottom: 1px solid #e4e8ef;
    text-align: right;
    font-size: 8px;
    font-weight: 600;
    color: #3c3c3c;
    background: #fff;
    cursor: pointer;
}

.tl-pnr-body {
    display: none;
    background: #fff;
}

.tl-pnr-accordion.is-open .tl-pnr-body {
    display: block;
}

.tl-pnr-sector {
    position: relative;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 12px;
    border-bottom: 1px solid #e4e8ef;
    cursor: pointer;
}

    .tl-pnr-sector:last-child {
        border-bottom: 0;
    }

.tl-pnr-checkbox {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tl-pnr-checkmark {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    border: 1px solid #999999;
    border-radius: 3px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tl-pnr-checkbox:checked + .tl-pnr-checkmark {
    background: var(--tl-primary2);
    border-color: var(--tl-primary2);
}

    .tl-pnr-checkbox:checked + .tl-pnr-checkmark:after {
        content: "✓";
        color: #fff;
        font-size: 9px;
        font-weight: 700;
        line-height: 1;
    }

.tl-pnr-sector-number {
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--tl-primary2);
    color: #fff;
    font-size: var(--tl-text12);
    font-family: "manropesemibold";
    padding: 3px 8px;
}
/* .tl-pnr-checkbox:checked ~ .tl-pnr-sector-number {
  background: var(--tl-primary2);
  color: #fff;
} */
.tl-pnr-sector-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.tl-pnr-route {
    font-size: 11px;
    font-weight: 600;
    color: #303744;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tl-pnr-date {
    font-size: 8px;
    font-weight: 500;
    color: #6b7280;
}

@media (max-width: 640px) {
    .tl-pnr-toggle {
        padding: 10px;
    }

    .tl-pnr-sector {
        padding: 10px;
    }

    .tl-pnr-route {
        font-size: 10px;
    }
}

.bookingPNRInfo-header {
    width: 100%;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    background: #fff;
    border: 1px solid #e1e5ed;
    border-radius: 18px;
    box-shadow: 0 1px 3px rgba(20, 30, 60, 0.04);
}

.SelectAction {
    padding: 18px 0 15px 15px;
    border-left: 1px solid rgba(6, 76, 242, 0.09);
}

.T_modeIcon svg{width:20px; height:20px;}

/* Booking page changes*/
.pref-card {
    display: flex;
    align-items: center;
    gap: 2px;
}

.pref-card-label {
    font-family: "manropemedium";
    color: #2c2c2c;
    font-weight: 500;
    padding-right: 3px;
    font-size: 0.75rem;
    line-height: 1rem;
}

.FlightTimeline .text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}

#myself-content .aria-selected\:from-\[\#001488\][aria-selected="true"] {
    z-index: 10;
}

.TravelSuccessPage {
    padding-right: 13rem;
}

/* ---------- Travel Mega Menu ---------- */
.mega-menu-full-dropdown {
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient( 290deg, var(--color-azure-49, rgba(6, 76, 242, 0.08)) -2.09%, var(--color-violet-58, rgba(124, 58, 237, 0.08)) 92.9% ), #fff;
    box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05), 0 4px 4px 0 rgba(0, 0, 0, 0.05), 0 10px 10px 0 rgba(0, 0, 0, 0.1), -1px 17px 30.3px 0 rgba(159, 169, 192, 0.41);
    backdrop-filter: blur(10px);
}

.TravelMegaMenu {
    display: flex;
   /* grid-template-columns: repeat(5, minmax(0, 1fr));*/
    gap: 28px;
    width: 100%;
    padding: 20px;
    border-radius: 16px;
    background: #fff;
}

.TravelMegaMenuColumn {
    min-width: 18%;
    max-width: 100%;
   width: 100%;
}

.TravelMegaMenuTitle {
    margin: 0px 0px 10px;
    padding: 0px 0px 10px;
    color: #064cf2;
    font-size: var(--tl-text13);
    font-weight: 700;
    border-bottom: 1px solid #d8d8da;
}

.TravelMegaMenuList {
    padding: 0;
    margin: 0;
    list-style: none;
}

    .TravelMegaMenuList li {
        border-bottom: 1px solid #d6d6d6;
    }

    .TravelMegaMenuList a, .TravelMegaMenuList span.cursor-default {
        display: flex;
        align-items: center;
        gap: 8px;
        min-height: 36px;
        padding: 6px 8px;
        color: #3e3e3e;
        font-size: var(--tl-text12);
        font-weight: 400;
        text-decoration: none;
        transition: all 0.2s ease;
    }

        .TravelMegaMenuList a:hover .TravelMegaMenuItemIcon {
            color: #000000;
        }

        .TravelMegaMenuList a:hover {
            font-weight: 700;
            background: linear-gradient( 87deg, var(--color-azure-49, rgba(6, 76, 242, 0.07)) 2.15%, var(--color-violet-58, rgba(124, 58, 237, 0.07)) 96.91% );
        }

            .TravelMegaMenuList a:hover span.TravelMegaMenuItemIcon {
                color: #000000;
            }

            .TravelMegaMenuList a:hover span {
                background: linear-gradient( 87deg, var(--color-azure-49, #064cf2) 2.15%, var(--color-violet-58, #7c3aed) 96.91% );
                -webkit-background-clip: text;
                background-clip: text;
                -webkit-text-fill-color: transparent;
                color: transparent;
            }

.TravelMegaMenuItemIcon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    min-width: 20px;
    color: #9099a8;
}

    .TravelMegaMenuItemIcon svg {
        width: 17px;
        height: 17px;
    }

.step .FlightTimeline .ft-line {
    top: 10px;
    height: calc(100% - 172px);
}

.TravelModeInfo svg{width:14px; height:14px;}
.sectorOuter {
    margin-top: -50px;
    height: 40px;
    margin-bottom: 10px;
}
.sectorBtn {
    border-radius: 20px;
    border: 2px solid var(--tl-primary);
    background: #FFF;
    color: var(--tl-primary);
    font-size: var(--tl-text13);
    display: flex;
    align-items: center;
    padding: 2px 10px;
    gap:5px;
    position:absolute;
}


.tl-sector-wrapper {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-left: 0;
}

    .tl-sector-wrapper:before {
        content: "";
        position: absolute;
        top: 28px;
        bottom: -14px;
        left: 15px;
        border-left: 1.4px dashed #064CF2;
    }

    .tl-sector-wrapper:last-child:before {
        display: none;
    }

/* ---------- Sector Number ---------- */

.tl-booking-sector-number {
    position: relative;
    z-index: 2;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;    
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #365cc7;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    margin-top:5px;
    display:none;
}

    .tl-booking-sector-item {
    position: relative;
    flex: 1;
    min-width: 0;
    padding-right: 0px;
}


#multiCity .tl-booking-sector-number {
    display: flex;
}
#multiCity .tl-booking-sector-item {
    padding-right: 36px;
}

.tl-sector-wrapper .delete-sector-btn {
    position: absolute;
    right: 0;
    top: 5px;
    display: flex;
    width: 26.726px;
    height: 28.063px;
    padding: 6.063px 5px 6px 5.727px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 5.345px;
    border: 0.668px solid #D70000;
    color: #D70000;
}

#multiCity .tl-sector-wrapper:last-child .tl-booking-sector-item .border-gray-300.rounded-xl {
    border: 2px solid var(--tl-primary) !important;
}


/*.....................new css praveen..................*/

.place-name .tl-sector-route {
    font-size: 16px;
}

.tl-btn-outlineGrey.danger {
    color: var(--tl-red);
}

    .tl-btn-outlineGrey.danger:hover {
        background: var(--tl-red);
        color: #fff;
    }

.last-value span {
    border-radius: 40px;
    background: #EAF3FF;
    padding: 5px 10px;
}

.last-value {
    margin: 5px 10px 0;
    display: flex;
}

.tl-hotel-toggle-slider {
    position: absolute;
    inset: 0;
    background: #c9ced8; /* grey by default */
    border-radius: 34px;
    transition: 0.3s;
}

    .tl-hotel-toggle-slider::before {
        content: "";
        position: absolute;
        height: 16px;
        width: 16px;
        left: 3px;
        top: 3px;
        background: #fff;
        border-radius: 50%;
        transition: 0.3s;
    }

/* turns red only when checked */
.tl-hotel-toggle input:checked + .tl-hotel-toggle-slider {
    background: var(--tl-red);
}

    .tl-hotel-toggle input:checked + .tl-hotel-toggle-slider::before {
        transform: translateX(20px);
    }

.tl-hotel-toggle-label {
    color: #7c8390; /* grey label by default */
    font-size: var(--tl-text13);
    font-family: "manropesemibold";
    white-space: nowrap;
    transition: color 0.3s;
}

.tl-hotel-toggle-wrap.active .tl-hotel-toggle-label {
    color: var(--tl-red); /* red label once active */
}

.tl-hotel-request-card {
    width: 100%;
    background: #fff;
    border: 1px solid #e1e5ed;
    border-radius: 18px;
    box-shadow: 0 1px 3px rgba(20, 30, 60, 0.04);
    overflow: hidden;
}

.tl-hotel-request-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding: 18px 20px;
}

.tl-hotel-request-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex: 1;
    min-width: 0;
}

.tl-hotel-request-item {
    padding: 0 24px;
    border-right: 1px solid #e2e6ed;
}

    .tl-hotel-request-item:first-child {
        padding-left: 0;
    }

.tl-hotel-address {
    line-height: 1.5;
}

.tl-hotel-request-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid #e2e6ed;
}

.tl-hotel-request-cell {
    padding: 14px 20px;
    border-right: 1px solid #e2e6ed;
}

    .tl-hotel-request-cell:last-child {
        border-right: 0;
    }

    .tl-hotel-request-cell.is-new {
        background: #eaf9ee;
    }

.tl-badge-new {
    display: inline-flex;
    align-items: center;
    margin-left: 4px;
    padding: 1px 10px;
    color: #1f9254;
    font-size: 11px;
    font-family: "manropesemibold";
    background: #fff;
    border: 1px solid #8fd6a8;
    border-radius: 999px;
    vertical-align: middle;
}

.tl-booking-billing .tl-hotel-request-cell {
    padding: 0;
}

.tl-billing-content {
    padding: 16px;
}

input.disabled-form-field, select.disabled-form-field {
    background: #F3F4F7;
    border-color: #8991A4;
    pointer-events: none;
    color: #8991A4;
}

.tl-hotel-request-grid.addflex {
    display: flex;
    justify-content: space-between;
}

    .tl-hotel-request-grid.addflex > div {
        flex: 1;
    }

/* Opaque by default, and deliberately so: the Flight, Visa and User Preference
   screens raise this overlay from an inline script at the top of <body>, before
   their own markup is parsed, and rely on it to cover a grid that is still being
   wired up. There is nothing worth showing through at that point.
   See .loaderWrap.is-blurred below for the case where there is. */
.loaderWrap {
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: rgba(51, 51, 51, .9);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
}

.loaderImgWrapper {
    position: relative;
    width: 95px;
    height: 95px;
}

    .loaderImgWrapper img {
        border-radius: 50%;
        box-shadow: 0px 0px 30px #333;
        width: 95px;
        height: auto;
        position: absolute;
        left: 0;
        top: 0;
        padding: 5px;
        background: #8b59c7;
    }

    .loaderImgWrapper:after {
        content: url(/images/loader_new.gif);
        width: 40px;
        height: 40px;
        position: absolute;
        left: 30%;
        top: 30%;
        z-index: 9999999;
    }

/*
   AJAX / post-load overlay. tv-loader.js adds this class when the overlay is
   raised after document.readyState === 'complete'. Keeps the same dark
   background as the page-load cover so every loader looks identical.

   z-index is raised above the base 99999 to clear every layer the application
   uses — the highest is z-[999999] on the purpose popup in
   Booking/Partials/_JourneyTabs.cshtml.

   tv-loader.js adds this class; it is never in the markup. Elements that carry
   .loaderWrap without going through TvLoader (the Hotel screens) are unaffected.
*/
.loaderWrap.is-blurred {
    background: rgba(51, 51, 51, .9);
    z-index: 1000050;
    cursor: wait;
}

.leftFixed.is-stuck {
    position: fixed;
    top: 56px;
}

.leftFixed {
    position: relative;
    transition: transform 0.5s ease, opacity 0.5s ease, box-shadow 0.5s ease;
}

.tl-hotel-address[data-hvb-summary-hotel] {
    white-space: wrap
}
.tl-booking-right .flex.gap-3 > div:first-child {
    width: 50%;
}
.ring-red-400 {
    box-shadow: none !important;
}
.TravelutionInnerPageBG {
 
    padding-top: 10px !important;
}
.div-reached-top .leftFixed {
    position: fixed;
    top: 56px;
    transform: translateY(0);
    width: 280px;
    z-index: 99;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
}

.div-reached-top .rightPart {
    margin-left: 300px;
}



.TravelTableSearch {
    padding: 10px;
    background: #D3D3F0;
    border-radius: 0.875rem 0.875rem 0 0;
}
.TravelTableWrapper {
    border-radius: 0;
}
/* ---------- Info icon + hover tooltip panel (traveller details) ---------- */
.tl-info-tooltip-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 6px;
}

.tl-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: #fff;
    background: var(--tl-primary);
    border-radius: 50%;
    cursor: pointer;
    flex: 0 0 auto;
}

.tl-info-tooltip-panel {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    z-index: 40;
    display: flex;
    align-items: flex-start;
    gap: 28px;
    min-width: 480px;
    padding: 14px 20px;
    background: #fff;
    border: 1px solid #e1e5ed;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(20, 30, 60, 0.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
}

.tl-info-tooltip-wrap:hover .tl-info-tooltip-panel,
.tl-info-tooltip-wrap:focus-within .tl-info-tooltip-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.tl-info-tooltip-item {
    white-space: nowrap;
}

@media (max-width: 767px) {
    .tl-info-tooltip-panel {
        left: auto;
        right: 0;
        min-width: 320px;
        flex-wrap: wrap;
        gap: 14px 24px;
    }
}
/* ---------- Read-only detail grid (Visa Appointment page) ---------- */
.tl-detail-grid {
    display: grid;
    border-top: 1px solid #e2e6ed;
}

.tl-detail-cell {
    padding: 14px 20px;
    border-right: 1px solid #e2e6ed;
}

    .tl-detail-cell:last-child {
        border-right: 0;
    }

@media (max-width: 767px) {
    .tl-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .tl-detail-cell:nth-child(2n) {
        border-right: 0;
    }
}

/* ---------- Checklist checkbox item ---------- */
.tl-checklist-item {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.tl-checklist-checkbox {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    border: 1.5px solid #c9ced8;
    border-radius: 4px;
    accent-color: var(--tl-primary);
    cursor: pointer;
}

.tl-checklist-checkbox:disabled {
    cursor: not-allowed;
}

.tl-checklist-item:has(input:disabled) {
    cursor: not-allowed;
}

/* ---------- Last value hint text (Updated Billing Details) ---------- */
.last-value {
    margin: -2px 0 2px;
    padding: 0 2px;
}

    .last-value span {
        font-size: 11px;
        color: #6b83c9;
        font-family: "manropesemibold";
    }

/* ---------- Disabled/derived billing fields ---------- */
.tl-floating-field input.disabled-form-field {
    background: #f7f8fb;
    color: #475569;
    cursor: not-allowed;
}

/* ---------- Final Amount Paid (detailed total-fare variant) ---------- */
.tl-total-fare-detailed {
    height: auto;
    padding: 12px 14px;
    align-items: flex-start;
}

.tl-total-fare-subnote {
    color: #5c6b8a;
    font-size: 11px;
    font-family: "manropemedium", sans-serif;
    font-weight: 400;
}

.tl-total-fare-amount {
    text-align: right;
}

.content-box {
    display: none;
}

.tl-info-tooltip-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 6px;
}

.tl-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: #fff;
    background: var(--tl-primary);
    border-radius: 50%;
    cursor: pointer;
    flex: 0 0 auto;
}

.tl-info-tooltip-panel {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    z-index: 40;
    display: flex;
    align-items: flex-start;
    gap: 28px;
    min-width: 480px;
    padding: 14px 20px;
    background: #fff;
    border: 1px solid #e1e5ed;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(20, 30, 60, 0.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
}

.tl-info-tooltip-wrap:hover .tl-info-tooltip-panel,
.tl-info-tooltip-wrap:focus-within .tl-info-tooltip-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}
.FlightTimeline .ft-card > div {
    height: auto;
}
.tl-info-tooltip-item {
    white-space: nowrap;
}
.tl-billing-card .tl-upload-file {
    max-width: 200px;
    word-break: break-all;
    overflow: hidden;
    line-height: normal;
}
@media (max-width: 767px) {
    .tl-info-tooltip-panel {
        left: auto;
        right: 0;
        min-width: 320px;
        flex-wrap: wrap;
        gap: 14px 24px;
    }
}


/* ---------- Hotel Sold Out confirmation modal ---------- */





/* ---------- Hotel Change Request / Cancel Hotel Details (hotel.html right form) ---------- */
.tl-hotel-request-card {
    width: 100%;
    background: #fff;
    border: 1px solid #e1e5ed;
    border-radius: 18px;
    box-shadow: 0 1px 3px rgba(20, 30, 60, 0.04);
    overflow: hidden;
}

.tl-hotel-request-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding: 18px 20px;
}

.tl-hotel-request-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex: 1;
    min-width: 0;
}

.tl-hotel-request-item {
    padding: 0 24px;
    border-right: 1px solid #e2e6ed;
}

    .tl-hotel-request-item:first-child {
        padding-left: 0;
    }

.tl-hotel-address {
    line-height: 1.5;
}

.tl-hotel-toggle-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    flex: 0 0 auto;
}

.tl-hotel-toggle {
    position: relative;
    display: inline-block;
    width: 42px;
    height: 22px;
    flex: 0 0 auto;
}

    .tl-hotel-toggle input {
        position: absolute;
        opacity: 0;
        width: 0;
        height: 0;
    }

.tl-hotel-request-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid #e2e6ed;
}

.tl-hotel-request-cell {
    padding: 14px 20px;
    border-right: 1px solid #e2e6ed;
}

    .tl-hotel-request-cell:last-child {
        border-right: 0;
    }

    .tl-hotel-request-cell.is-new {
        background: #eaf9ee;
    }

.tl-badge-new {
    display: inline-flex;
    align-items: center;
    margin-left: 4px;
    padding: 1px 10px;
    color: #1f9254;
    font-size: 11px;
    font-family: "manropesemibold";
    background: #fff;
    border: 1px solid #8fd6a8;
    border-radius: 999px;
    vertical-align: middle;
}

.tl-floating-field.has-arrow input {
    padding-right: 40px;
}

.tl-traveller-comments.mt-0 {
    margin-top: 0;
}

.tl-new-booking-form:not(.hidden) {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media (max-width: 991px) {
    .tl-hotel-request-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tl-hotel-request-cell:nth-child(2n) {
        border-right: 0;
    }

    .tl-hotel-request-item {
        border-right: 0;
        padding: 0 16px 0 0;
    }
}


.freedom-popover {
    top: 55px !important;
    left: 0 !important;
    transform: translateY(8px) !important;
    font-size: var(--tl-text13)!important;
    line-height:normal;
    border-radius: var(--tl-radiusSM);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);

}
/*
.TravelutionHeader {
    border-bottom: 1px solid #094EF1;
}*/

.InsightLogo {
    height: 34px;
    position:relative;
}

.InsightLogo:before{
    content: "";
    position: absolute;
    left: -14px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 20px;
    background: #d9dee8;
}
.InsightLogo img{height:100%; width:auto;}

.DateDay.DateDisabled{
    cursor: not-allowed;
    opacity: 0.5;
}
/* ================================
   Active Navigation Menu
   Curved Bottom Corners
================================ */
.TravelutionHeader .nav-link {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--tl-text13);
    font-weight: 400;
    color: var(--tl-black);
    position: relative;
    transition: 0.3s;
    padding: 8px 7px;
    border-radius: 12px 7px 8px 7px;
    margin-bottom: 0px;
}

.TravelutionHeader .nav-link {
    position: relative;
    text-decoration: none;
    background: transparent;
    border: 0;
    z-index: 1;
    
}

    /* Active Navigation */
    .TravelutionHeader .nav-link.active {
        position: relative;
        z-index: 5;
        color: #094EF1;
        padding: 12px 10px 8px 10px;
    }
   /* .TravelutionHeader .nav-link.active {
        position: relative;
        color: #094EF1;
        background: #E7EAF7;
        border-radius: 10px 10px 0 0;
        z-index: 5;
        margin-bottom: -6px;
        padding: 4px 10px 7px 10px;
        border: 1px solid #094EF1;
        border-bottom: 0;
    }*/


        /* LEFT CONCAVE CURVE */
      /*  .TravelutionHeader .nav-link.active::before {
            content: "";
            position: absolute;
            left: -7px;
            bottom: 3px;
            width: 6px;
            height: 10px;
            background: transparent;
            border-bottom-right-radius: 10px;
            box-shadow: 0.3px 0.3px 0 0.3px #094EF1;
            z-index: -1;
        }*/


        /* RIGHT CONCAVE CURVE */
    /*    .TravelutionHeader .nav-link.active::after {
            content: "";
            position: absolute;
            right: -7px;
            bottom: 3px;
            width: 6px;
            height: 10px;
            background: transparent;
            border-bottom-left-radius: 10px;
            box-shadow: -0.3px 0.3px 0 0.3px #094EF1;
            z-index: -1;
        }*/

/* ---------- Active tab outline (drawn by SVG) ---------- */
#navOutline {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    top:2px;
}
.sectorOuter {
    margin-top: -44px;

}
#multiCity .tl-sector-wrapper:last-child .tl-booking-sector-item .border-gray-300.rounded-xl {
   
    padding-bottom: 26px; 
}
@media (max-width: 1023px) {
    #navOutline {
        display: none;
    }
}

.mega-menu-full-dropdown{margin-top:2px!important;}

.purposePolicy {
    max-width: calc(100% - 750px);
}