@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css');

/* Custom SkyNet Worldwide Express Styles */
:root {
    --skynet-red: #F40E12;
    --skynet-dark-red: #F40E12;
    --skynet-light-gray: #f8f9fa;
    --skynet-gray: #6c757d;
    --skynet-dark: #343a40;
    --skynet-green: #01c401;
    --skynet-th-color: #fde7e7;
}

/* Global typography: Poppins Regular 400 */
html,
body {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    text-transform: capitalize !important;
}

/* Keep Font Awesome icons rendering correctly */
i.fa,
i.fas,
i.far,
i.fal {
    font-family: "Font Awesome 5 Free" !important;
}

i.fab {
    font-family: "Font Awesome 5 Brands" !important;
}

.text-danger {
    color: var(--skynet-red) !important;
}

.text-success {
    color: var(--skynet-green) !important;
}

.text-gray {
    color: var(--skynet-gray) !important;
}

.code_input {
    display: inline;
    float: left;
    width: 30%;
}

.name_input {
    display: inline;
    float: right;
    width: 70%;
}

.code_input_short {
    display: inline;
    float: left;
    width: 20%;
}

#map {
    height: 300px;
    /* set map height */
    width: 100%;
}

.name_input_long {
    display: inline;
    float: right;
    width: 80%;
}

.hidden {
    display: none;
}

.select2-container--default .select2-selection--single {
    border: 1px solid #e1e5e9 !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: 12px !important;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: #F3F4F6;
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
}

html {
    margin: 0;
    padding: 0;
    width: 100%;
}

#app {
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 100%;
}

/* Navigation Styles */
.navbar {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    background-color: white !important;
    font-family: 'Poppins', sans-serif;
    padding: 0.75rem 0;
}

.navbar .nav-icon {
    padding: 5px 7px;
    background: var(--skynet-red);
    color: #fff;
    text-align: center;
    border-radius: 50%;
    margin-right: 5px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Ensure all navigation icons have circular background */
.navbar {
    padding: 0px;
}

.nav-btn-secondary .nav-icon {
    background: var(--skynet-red);
    color: #fff;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 5px;
}

.navbar .container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
}

.dropdown-toggle::after {
    font-size: 19px;
    /* color: var(--skynet-red); */
}

.fixed-button {
    width: 150px;
}

.navbar-brand {
    padding: 0;
}

/* Logo Image Styling */
.logo-image {
    height: 70px;
    width: auto;
    max-width: 200px;
    object-fit: contain;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    filter: none;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Brand/Logo Styling */
.brand-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-family: 'Poppins', sans-serif;
}

.brand-main {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 2px;
    font-family: 'Poppins', sans-serif;
}

.brand-sub {
    background-color: var(--skynet-red);
    padding: 2px 8px;
    border-radius: 3px;
    margin-bottom: 2px;
}

.brand-sub span {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    font-family: 'Poppins', sans-serif;
}

.brand-tagline {
    font-size: 0.6rem;
    line-height: 1;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
}

/* Navigation Button Styles */
.nav-btn-primary {
    background-color: var(--skynet-red) !important;
    border-color: var(--skynet-red) !important;
    color: white !important;
    font-weight: 500;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    font-size: 0.7rem;
    font-family: 'Poppins', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    min-width: fit-content;
    font-size: 15px;
}

.nav-btn-primary:hover {
    background-color: var(--skynet-dark-red) !important;
    border-color: var(--skynet-dark-red) !important;
}

.nav-btn-secondary {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
    color: #495057 !important;
    font-weight: 600 !important;
    padding: 0.5rem 0.5rem !important;
    border-radius: 6px !important;
    font-size: 0.7rem !important;
    font-family: 'Poppins', sans-serif !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 32px !important;
    min-width: fit-content !important;
}

.nav-btn-secondary:hover {
    background-color: #e9ecef !important;
    border-color: #adb5bd !important;
}

.nav-btn-secondary .text-danger {
    color: var(--skynet-red) !important;
}

/* Wallet Button Styling - Same as International */
.btn-wallet {
    background-color: var(--skynet-red) !important;
    border-color: var(--skynet-red) !important;
    color: white !important;
    font-weight: 500;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    font-size: 0.7rem;
    font-family: 'Poppins', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    min-width: fit-content;
}

.btn-wallet:hover {
    background-color: var(--skynet-dark-red) !important;
    border-color: var(--skynet-dark-red) !important;
}

/* Modern Dropdown Styling */
.dropdown-menu {
    border: none;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 0.5rem 0;
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
    min-width: 200px;
}

.dropdown-item {
    padding: 0.5rem 1rem;
    font-weight: 400;
    color: #495057;
    transition: all 0.2s ease;
}

.dropdown-item:hover {
    background-color: #f8f9fa;
    color: var(--skynet-red);
    transform: translateX(2px);
}

.dropdown-item i {
    width: 16px;
    margin-right: 0.5rem;
    font-size: 0.75rem;
}

/* Match company sidebar fonts with customer v3 navbar */
.custom_navbar .nav-link,
.custom_navbar .nav-link span {
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

.custom_navbar .dropdown-menu,
.custom_navbar .dropdown-item {
    font-family: 'Poppins', sans-serif !important;
}

.custom_navbar .dropdown-item {
    font-size: 0.8rem !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
}

.dropdown-divider {
    margin: 0.25rem 0;
    border-color: #e9ecef;
}

/* User Profile Button */
.user-profile-btn {
    padding: 0.25rem 0.5rem;
    border: none;
    background: transparent;
}

.user-profile-btn:hover {
    background-color: rgba(220, 53, 69, 0.1);
}

/* Hamburger Menu Button */
#menu-toggle {
    border: 1px solid #dee2e6;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    font-family: 'Poppins', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
}

#menu-toggle:hover {
    background-color: #e9ecef;
}

/* Avatar Styles */
.avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--skynet-red);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.875rem;
}

/* Custom Button Styles */
.btn-outline-danger {
    border-color: var(--skynet-red);
    color: var(--skynet-red);
}

.btn-outline-danger:hover {
    background-color: var(--skynet-red);
    border-color: var(--skynet-red);
    color: white;
}

.btn-outline-secondary {
    border-color: var(--skynet-gray);
    color: var(--skynet-gray);
}

.btn-outline-secondary:hover {
    background-color: var(--skynet-gray);
    border-color: var(--skynet-gray);
    color: white;
}

/* KPI Cards */
.kpi-card {
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s;
}

.kpi-card:hover {
    transform: translateY(-2px);
}

.kpi-card .card-title {
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.kpi-card h2 {
    font-size: 2rem;
    margin-bottom: 0.25rem;
}

/* Chart Container */
.chart-container {
    position: relative;
    height: 300px;
    width: 100%;
    margin: 1rem 0;
}

/* News & Updates */
.news-image-container {
    position: relative;
    overflow: hidden;
    border-radius: 0.375rem;
}

.news-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #ff0000bd;
    padding: 1rem;
}

/* Table Styles */
.table {
    font-size: 0.875rem;
}

.table th {
    border-top: none;
    border-bottom: 2px solid #dee2e6;
    font-weight: 600;
    color: var(--skynet-dark);
}

.table td {
    vertical-align: middle;
    border-top: 1px solid #f8f9fa;
}

/* Flag Icons */
.flag-icon {
    width: 16px;
    height: 12px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
}

.flag-icon-us {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 480"><path fill="%23bd3d44" d="M0 0h640v480H0z"/><path stroke="%23fff" stroke-width="37" d="M0 55.3h640M0 129h640M0 202.7h640M0 276.3h640"/><rect fill="%23192370" width="247" height="259"/><g fill="%23fff"><g id="d"><g id="c"><path id="e" d="M24.8 25l-1.4 4.3h-4.5l3.6 2.6-1.4 4.3 3.6-2.6 3.6 2.6-1.4-4.3 3.6-2.6h-4.5z"/><use href="%23e" y="8.7"/></g><use href="%23c" y="17.4"/></g><use href="%23d" y="34.8"/></g><g fill="%23bd3d44"><use href="%23e" y="8.7"/><use href="%23c" y="17.4"/><use href="%23d" y="34.8"/></g></svg>');
}

.flag-icon-de {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 480"><path fill="%23ffce00" d="M0 320h640v160H0z"/><path d="M0 0h640v160H0z"/><path fill="%23d00" d="M0 160h640v160H0z"/></svg>');
}

/* Credit Limit Chart */
.credit-chart-container {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin: 1rem 0;
}

.credit-chart {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    position: relative;
    background: conic-gradient(var(--skynet-red) 0deg 270deg, #e9ecef 270deg 360deg);
    display: flex;
    align-items: center;
    justify-content: center;
}

.credit-chart::before {
    content: '';
    width: 80px;
    height: 80px;
    background: white;
    border-radius: 50%;
}

.credit-legend {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.legend-color {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.legend-color.balanced {
    background-color: #e9ecef;
}

.legend-color.used {
    background-color: var(--skynet-red);
}

/* Sign In Page Styles */
.signin-form {
    max-width: 400px;
    width: 100%;
    padding: 2rem;
}

.signin-form h2 {
    font-size: 2rem;
    font-weight: 600;
}

.form-control {
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    padding: 0.75rem;
}

.form-control:focus {
    border-color: var(--skynet-red);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-select {
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23F40E12' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 16px 12px !important;
}

.form-select:focus {
    border-color: var(--skynet-red);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* Carousel Controls */
.carousel-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: background-color 0.3s;
}

.dot.active {
    background-color: white;
}

/* Responsive Design */
@media (max-width: 768px) {
    .navbar-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .nav-item {
        margin-bottom: 0.5rem;
    }

    .kpi-card h2 {
        font-size: 1.5rem;
    }

    .chart-container {
        height: 200px;
    }

    .credit-chart {
        width: 80px;
        height: 80px;
    }

    .credit-chart::before {
        width: 50px;
        height: 50px;
    }
}

/* Main Content Area */
#dashboard-section,
#orders-section,
#new-order-section {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    margin: 0;
    max-width: 100%;
}

/* Override Bootstrap row margins */
.row {
    margin-left: 0;
    margin-right: 0;
}

/* Override Bootstrap col padding */
.col,
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col-sm,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-md,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-lg,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-xl,
.col-xl-1,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-10,
.col-xl-11,
.col-xl-12 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

/* Additional spacing controls */
.card {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.card-body {
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Ensure no horizontal scroll */
* {
    box-sizing: border-box;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: var(--skynet-gray);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--skynet-dark);
}


/* ========================================
     RESPONSIVE DESIGN - MEDIA QUERIES
     ======================================== */


/* ========================================
     LARGE DESKTOP (1400px and up)
     ======================================== */
@media (min-width: 1400px) {
    .container-fluid {
        max-width: 1320px;
        margin: 0 auto;
    }

    .navbar-brand {
        margin-right: 2rem;
    }

    .kpi-card h2 {
        font-size: 2.5rem;
    }

    .table-responsive {
        font-size: 0.95rem;
    }
}


/* ========================================
     DESKTOP (1200px to 1399px)
     ======================================== */
@media (min-width: 1200px) and (max-width: 1399px) {
    .navbar-nav {
        gap: 0.5rem;
    }

    .brand-main {
        font-size: 1.3rem;
    }

    .kpi-card h2 {
        font-size: 2.2rem;
    }
}


/* ========================================
     LAPTOP (992px to 1199px)
     ======================================== */
@media (min-width: 992px) and (max-width: 1199px) {
    .navbar-nav {
        gap: 0.25rem;
    }

    .brand-main {
        font-size: 1.2rem;
    }

    .brand-sub span {
        font-size: 0.65rem;
    }

    .kpi-card h2 {
        font-size: 2rem;
    }

    .sidebar {
        width: 260px;
    }
}


/* ========================================
     TABLET LANDSCAPE (768px to 991px)
     ======================================== */
@media (min-width: 768px) and (max-width: 991px) {
    .navbar-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.25rem;
        align-items: center;
    }

    .nav-btn-primary {
        font-size: 0.7rem;
        padding: 0.3rem 0.5rem;
    }

    .brand-main {
        font-size: 1.1rem;
    }

    .brand-sub span {
        font-size: 0.6rem;
    }

    .brand-tagline {
        font-size: 0.6rem;
    }

    .kpi-card h2 {
        font-size: 1.8rem;
    }

    /* Adjust table for tablet */
    .table-responsive {
        font-size: 0.85rem;
    }

    .table th,
    .table td {
        padding: 0.5rem 0.25rem;
    }

    /* Stack KPI cards in 2 columns */
    .kpi-card {
        margin-bottom: 1rem;
    }
}


/* ========================================
     TABLET PORTRAIT (576px to 767px)
     ======================================== */
@media (min-width: 576px) and (max-width: 767px) {
    .navbar-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.2rem;
        align-items: center;
    }

    .nav-btn-primary {
        font-size: 0.65rem;
        padding: 0.25rem 0.4rem;
    }

    .brand-main {
        font-size: 1rem;
    }

    .brand-sub span {
        font-size: 0.55rem;
    }

    .brand-tagline {
        font-size: 0.55rem;
    }

    .kpi-card h2 {
        font-size: 1.6rem;
    }

    /* Adjust table for small tablet */
    .table-responsive {
        font-size: 0.8rem;
    }

    .table th,
    .table td {
        padding: 0.4rem 0.2rem;
    }

    /* Hide less important columns on tablet */
    .table .d-none-tablet {
        display: none !important;
    }

    /* Stack KPI cards in 2 columns */
    .kpi-card {
        margin-bottom: 1rem;
    }

    /* Adjust form controls */
    .form-control,
    .form-select {
        font-size: 0.9rem;
    }

    /* Adjust buttons */
    .btn-sm {
        font-size: 0.8rem;
        padding: 0.25rem 0.5rem;
    }
}


/* ========================================
     MOBILE LARGE (480px to 575px)
     ======================================== */
@media (min-width: 480px) and (max-width: 575px) {
    .navbar-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.15rem;
        align-items: center;
    }

    .nav-btn-primary {
        font-size: 0.6rem;
        padding: 0.2rem 0.3rem;
    }

    .brand-main {
        font-size: 0.9rem;
    }

    .brand-sub span {
        font-size: 0.5rem;
    }

    .brand-tagline {
        font-size: 0.5rem;
    }

    .kpi-card h2 {
        font-size: 1.4rem;
    }

    .sidebar {
        width: 100%;
        left: -100%;
    }

    .sidebar.active {
        left: 0;
    }

    /* Show all navigation items in horizontal layout */
    .navbar-nav .nav-item {
        display: block;
    }

    /* Adjust table for mobile */
    .table-responsive {
        font-size: 0.75rem;
    }

    .table th,
    .table td {
        padding: 0.3rem 0.15rem;
    }

    /* Hide most columns on mobile */
    .table .d-none-mobile {
        display: none !important;
    }

    /* Stack KPI cards in single column */
    .kpi-card {
        margin-bottom: 1rem;
    }

    /* Adjust form controls */
    .form-control,
    .form-select {
        font-size: 0.85rem;
    }

    /* Adjust buttons */
    .btn-sm {
        font-size: 0.75rem;
        padding: 0.2rem 0.4rem;
    }

    /* Adjust card padding */
    .card-body {
        padding: 1rem 0.75rem;
    }
}


/* ========================================
     MOBILE MEDIUM (375px to 479px)
     ======================================== */
@media (min-width: 375px) and (max-width: 479px) {
    .navbar-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.1rem;
        align-items: center;
    }

    .nav-btn-primary {
        font-size: 0.55rem;
        padding: 0.15rem 0.25rem;
    }

    .brand-main {
        font-size: 0.8rem;
    }

    .brand-sub span {
        font-size: 0.45rem;
    }

    .brand-tagline {
        font-size: 0.45rem;
    }

    .kpi-card h2 {
        font-size: 1.2rem;
    }

    /* Show all navigation items in horizontal layout */
    .navbar-nav .nav-item {
        display: block;
    }

    /* Adjust table for small mobile */
    .table-responsive {
        font-size: 0.7rem;
    }

    .table th,
    .table td {
        padding: 0.25rem 0.1rem;
    }

    /* Hide most columns on small mobile */
    .table .d-none-mobile-small {
        display: none !important;
    }

    /* Stack KPI cards in single column */
    .kpi-card {
        margin-bottom: 0.75rem;
    }

    /* Adjust form controls */
    .form-control,
    .form-select {
        font-size: 0.8rem;
    }

    /* Adjust buttons */
    .btn-sm {
        font-size: 0.7rem;
        padding: 0.15rem 0.3rem;
    }

    /* Adjust card padding */
    .card-body {
        padding: 0.75rem 0.5rem;
    }

    /* Adjust container padding */
    .container-fluid {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    /* Ensure navbar has proper height for vertical nav */
    .navbar {
        min-height: auto;
        padding: 0.5rem 0;
    }
}


/* ========================================
     MOBILE SMALL (320px to 374px)
     ======================================== */
@media (min-width: 320px) and (max-width: 374px) {
    .navbar-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.05rem;
        align-items: center;
    }

    .nav-btn-primary {
        font-size: 0.5rem;
        padding: 0.1rem 0.2rem;
    }

    .brand-main {
        font-size: 0.75rem;
    }

    .brand-sub span {
        font-size: 0.4rem;
    }

    .brand-tagline {
        font-size: 0.4rem;
    }

    .kpi-card h2 {
        font-size: 1rem;
    }

    /* Show all navigation items in horizontal layout */
    .navbar-nav .nav-item {
        display: block;
    }

    /* Adjust table for very small mobile */
    .table-responsive {
        font-size: 0.65rem;
    }

    .table th,
    .table td {
        padding: 0.2rem 0.05rem;
    }

    /* Hide most columns on very small mobile */
    .table .d-none-mobile-xs {
        display: none !important;
    }

    /* Stack KPI cards in single column */
    .kpi-card {
        margin-bottom: 0.5rem;
    }

    /* Adjust form controls */
    .form-control,
    .form-select {
        font-size: 0.75rem;
    }

    /* Adjust buttons */
    .btn-sm {
        font-size: 0.65rem;
        padding: 0.1rem 0.25rem;
    }

    /* Adjust card padding */
    .card-body {
        padding: 0.5rem 0.25rem;
    }

    /* Adjust container padding */
    .container-fluid {
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }
}


/* ========================================
     EXTRA SMALL MOBILE (below 320px)
     ======================================== */
@media (max-width: 319px) {
    .navbar-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.02rem;
        align-items: center;
    }

    .nav-btn-primary {
        font-size: 0.45rem;
        padding: 0.05rem 0.15rem;
    }

    .brand-main {
        font-size: 0.7rem;
    }

    .brand-sub span {
        font-size: 0.35rem;
    }

    .brand-tagline {
        font-size: 0.35rem;
    }

    .kpi-card h2 {
        font-size: 0.9rem;
    }

    /* Show all navigation items in horizontal layout */
    .navbar-nav .nav-item {
        display: block;
    }

    /* Adjust table for extra small mobile */
    .table-responsive {
        font-size: 0.6rem;
    }

    .table th,
    .table td {
        padding: 0.15rem 0.02rem;
    }

    /* Hide most columns on extra small mobile */
    .table .d-none-mobile-xxs {
        display: none !important;
    }

    /* Stack KPI cards in single column */
    .kpi-card {
        margin-bottom: 0.25rem;
    }

    /* Adjust form controls */
    .form-control,
    .form-select {
        font-size: 0.7rem;
    }

    /* Adjust buttons */
    .btn-sm {
        font-size: 0.6rem;
        padding: 0.05rem 0.2rem;
    }

    /* Adjust card padding */
    .card-body {
        padding: 0.25rem 0.1rem;
    }

    /* Adjust container padding */
    .container-fluid {
        padding-left: 0.1rem;
        padding-right: 0.1rem;
    }
}


/* ========================================
     LANDSCAPE ORIENTATION ADJUSTMENTS
     ======================================== */
@media (orientation: landscape) and (max-height: 600px) {
    .navbar {
        padding: 0.25rem 0;
    }

    .brand-main {
        font-size: 0.9rem;
    }

    .brand-sub span {
        font-size: 0.5rem;
    }

    .brand-tagline {
        font-size: 0.5rem;
    }

    .kpi-card h2 {
        font-size: 1.4rem;
    }

    .card-body {
        padding: 0.75rem;
    }
}


/* ========================================
     HIGH DPI DISPLAYS (Retina, 4K, etc.)
     ======================================== */
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {

    .brand-main,
    .brand-sub span,
    .brand-tagline {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    .nav-btn-secondary,
    .btn-sm {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}


/* ========================================
     PRINT STYLES
     ======================================== */
@media print {

    .navbar,
    .btn,
    .dropdown-menu {
        display: none !important;
    }

    .container-fluid {
        padding: 0 !important;
        margin: 0 !important;
    }

    .card {
        border: 1px solid #000 !important;
        box-shadow: none !important;
    }

    .table {
        border-collapse: collapse !important;
    }

    .table th,
    .table td {
        border: 1px solid #000 !important;
    }

    .kpi-card {
        border: 1px solid #000 !important;
        break-inside: avoid;
    }
}


/* ========================================
     ACCESSIBILITY IMPROVEMENTS
     ======================================== */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .kpi-card:hover {
        transform: none !important;
    }
}

@media (prefers-contrast: high) {
    .text-muted {
        color: #000 !important;
    }

    .bg-light {
        background-color: #fff !important;
    }

    .border {
        border-color: #000 !important;
    }
}


/* ========================================
     NEW ORDER PAGE STYLES
     ======================================== */

/* Section Number Styling */
.section-number {
    width: 30px;
    height: 30px;
    background-color: var(--skynet-red);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.9rem;
    position: relative;
    z-index: 2;
}

/* Vertical Stepper Styles */
.vertical-stepper {
    position: relative;
    padding-left: 60px;
}

.vertical-stepper::before {
    content: '';
    position: absolute;
    left: 30px;
    top: 45px;
    bottom: 125px;
    width: 2px;
    background: var(--skynet-red);
    z-index: 1;
}

.stepper-card {
    position: relative;
    margin-bottom: 2rem;
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.stepper-card .section-number {
    position: absolute;
    left: -45px;
    top: 20px;
    width: 30px;
    height: 30px;
    background-color: var(--skynet-red);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.9rem;
    z-index: 2;
}

.stepper-card:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-color: var(--skynet-red);
}

.stepper-card .card-header {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border-bottom: 1px solid #e9ecef;
    padding: 0.7rem 1rem;
}

.stepper-card .card-header h5 {
    color: var(--skynet-dark);
    margin: 0;
}

.stepper-card .card-body {
    padding: 1.5rem;
}



/* Right Column Normal Positioning */
.col-lg-4 {
    position: relative;
}

/* Responsive Stepper */
@media (max-width: 768px) {
    .col-lg-4 {
        margin-top: 2rem;
    }

    .vertical-stepper {
        padding-left: 40px;
    }

    .vertical-stepper::before {
        left: 20px;
    }

    .stepper-card .section-number {
        left: -30px;
        width: 24px;
        height: 24px;
        font-size: 0.8rem;
    }


}

/* Stepper Animation */
@keyframes stepComplete {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

.stepper-card.completed .section-number {
    animation: stepComplete 0.5s ease;
}

/* Form Styling for New Order */
.form-label {
    font-weight: 500;
    color: var(--skynet-dark);
    margin-bottom: 0.375rem;
    font-size: 0.875rem;
    letter-spacing: 0.025em;
}



.form-control,
.form-select {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    transition: all 0.2s ease;
    background-color: #ffffff;
    color: #495057;
}

.form-select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23F40E12' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 16px 12px !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--skynet-red);
    box-shadow: 0 0 0 0.15rem rgba(244, 14, 18, 0.15);
    background-color: #ffffff;
    outline: none;
}

.form-control::placeholder,
.form-select::placeholder {
    color: #adb5bd;
    font-size: 0.8rem;
}

/* Change cursor for disabled fields */
.form-control:disabled,
.form-select:disabled {
    cursor: no-drop;
}

/* Red asterisk for required fields */
.form-label.required::after {
    content: "*";
    color: var(--skynet-red);
    margin-left: 0.25rem;
}

/* KYC Upload Button Styling */
.btn-danger {
    background-color: var(--skynet-red);
    border-color: var(--skynet-red);
    font-weight: 600;
    /* text-transform: uppercase; */
    letter-spacing: 0.5px;
}

.btn-danger:hover {
    background-color: #d32f2f;
    border-color: #d32f2f;
}

/* Package Visual */
.package-visual {
    background-color: #ffffff;
    border-radius: 8px;
    padding: 1.5rem;
    border: 2px dashed #dee2e6;
}

/* AWB Input Container */
.awb-input-container {
    position: relative;
    display: flex;
    align-items: center;
}

.awb-edit-btn {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var(--skynet-red);
    border: 2px solid #ffffff;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.awb-edit-btn:hover {
    background-color: #d32f2f;
    transform: translateY(-50%) scale(1.1);
}

.awb-edit-btn i {
    font-size: 12px;
}

/* Adjust input padding to accommodate the button */
.awb-input-container .form-control {
    padding-right: 40px;
}

/* Sort By Bar */
.sort-by-bar {
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.sort-by-label {
    color: var(--skynet-red);
    font-weight: 500;
    font-size: 0.875rem;
}

.sort-by-value {
    color: var(--skynet-dark);
    font-weight: 600;
    font-size: 0.875rem;
}

/* Shipping Options - clean professional layout */
.shipping-options {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 8px !important;
    padding: 6px 4px !important;
}

.shipping-options .shipping-option,
.shipping-options .shipping-option.mb-3 {
    width: 100% !important;
    margin: 4px 0 !important;
}

.shipping-options .shipping-option>.shipping-radio,
.shipping-options .shipping-option>input[type="radio"] {
    display: none !important;
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

/* Force-hide native popup radios from external bootstrap rules */
.shipping-options input.popup_service_id[type="radio"] {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Hide any radio from nested wrappers too */
.shipping-options input[type="radio"] {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.shipping-options .shipping-option .shipping-option-label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 74px !important;
    padding: 12px 46px 12px 14px !important;
    border: 1px solid #e4e7eb !important;
    border-radius: 12px !important;
    background: #fff !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    position: relative !important;
}

.shipping-options .shipping-option .shipping-option-label:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(244, 14, 18, 0.12) !important;
    padding: 12px 46px 12px 14px !important;
    border-radius: 12px !important;
    background: #fff !important;
}

.shipping-options .shipping-option .shipping-radio-custom {
    display: none !important;
}

.shipping-options .shipping-option .shipping-option-label::before {
    content: "" !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid var(--skynet-red, #f40e12) !important;
    border-radius: 50% !important;
    background: #fff !important;
    position: absolute !important;
    left: auto !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    box-sizing: border-box !important;
    margin-right: 2px !important;
}

.shipping-options .shipping-option .shipping-icon {
    width: 50px !important;
    height: 50px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 50px !important;
    margin: 0 !important;
    background: #fff !important;
}

.shipping-options .shipping-option .shipping-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.shipping-options .shipping-option .shipping-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.shipping-options .shipping-option .shipping-title {
    margin: 0 0 4px 0 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    white-space: normal !important;
    word-break: normal !important;
}

.shipping-options .shipping-option .shipping-subtitle {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    color: #6b7280 !important;
    white-space: nowrap !important;
}

.shipping-options .shipping-option .shipping-radio:checked+.shipping-option-label {
    border-color: var(--skynet-red, #f40e12) !important;
    box-shadow: none !important;
    margin: 0 !important;
    top: 0 !important;
    transform: none !important;
}

.shipping-options .shipping-option .shipping-radio:checked+.shipping-option-label::before {
    border-color: var(--skynet-red, #f40e12) !important;
    box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 9px var(--skynet-red, #f40e12) !important;
}

/* Hide any external radio label pseudo-element (prevents extra dot on the left) */
.shipping-options input[type="radio"]:checked+.shipping-option-label::after,
.shipping-options .shipping-option-label::after {
    display: none !important;
    content: none !important;
}

.shipping-status {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Custom Calendar Styling */
.flatpickr-calendar {
    background: #ffffff;
    border: 1px solid #e1e5e9;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    font-family: 'Poppins', sans-serif;
    z-index: 9999;
}

.flatpickr-months {
    background: var(--skynet-red);
    border-radius: 8px 8px 0 0;
    padding: 4px 0;
}

.flatpickr-month {
    color: #ffffff;
    font-weight: 600;
}

.flatpickr-current-month {
    font-size: 1.1rem;
    color: #ffffff;
    font-weight: 700;
}

.flatpickr-monthDropdown-months {
    background: transparent;
    color: #ffffff;
    border: none;
    font-weight: 600;
    font-size: 1.1rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 12px 8px;
    padding-right: 30px;
}

.flatpickr-monthDropdown-months option {
    background: #ffffff;
    color: var(--skynet-dark);
}

/* Year dropdown styling */
.flatpickr-current-month .numInputWrapper {
    position: relative;
}

.flatpickr-current-month .numInputWrapper input {
    background: transparent;
    color: #ffffff;
    border: none;
    font-weight: 600;
    font-size: 1.1rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    box-shadow: none;
}

/* Basic year input styling */
.flatpickr-current-month .numInputWrapper input {
    background: transparent;
    color: #ffffff;
    border: none;
    font-weight: 600;
    font-size: 1.1rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    outline: none;
    box-shadow: none;
}

/* Use default Flatpickr year arrows */
.flatpickr-current-month .numInputWrapper .arrowUp,
.flatpickr-current-month .numInputWrapper .arrowDown {
    color: #ffffff;
    fill: #ffffff;
}

/* Target the specific Flatpickr arrow pseudo-elements */
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: #ffffff !important;
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: #ffffff !important;
}

.flatpickr-prev-month,
.flatpickr-next-month {
    color: #ffffff;
    fill: #ffffff;
    padding: 8px;
    border-radius: 4px;
    transition: all 0.2s ease;
    opacity: 1;
    filter: brightness(1);
}

.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
    background-color: rgba(255, 255, 255, 0.3);
    color: #ffffff;
    fill: #ffffff;
    transform: scale(1.1);
}

.flatpickr-prev-month svg,
.flatpickr-next-month svg {
    width: 16px;
    height: 16px;
    stroke-width: 2;
    stroke: #ffffff;
    fill: none;
}

/* Ensure navigation arrows are visible */
.flatpickr-prev-month,
.flatpickr-next-month {
    position: relative;
    z-index: 1;
}

.flatpickr-prev-month::before,
.flatpickr-next-month::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
    height: 24px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    z-index: -1;
}

/* Month and year text styling */
.flatpickr-current-month {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.flatpickr-monthDropdown-months {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.flatpickr-weekdays {
    background: #f8f9fa;
    border-bottom: 1px solid #e1e5e9;
}

.flatpickr-weekday {
    color: var(--skynet-dark);
    font-weight: 600;
    font-size: 0.9rem;
    padding: 8px 0;
}

.flatpickr-days {
    background: #ffffff;
}

.flatpickr-day {
    border-radius: 6px;
    margin: 2px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.flatpickr-day:hover {
    background: rgba(244, 14, 18, 0.1);
    border-color: var(--skynet-red);
}

.flatpickr-day.selected {
    background: var(--skynet-red);
    border-color: var(--skynet-red);
    color: #ffffff;
}

.flatpickr-day.today {
    background: rgba(244, 14, 18, 0.2);
    border-color: var(--skynet-red);
    color: var(--skynet-red);
    font-weight: 600;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: #adb5bd;
}

.flatpickr-day.disabled {
    color: #dee2e6;
    background: transparent;
}

.flatpickr-day.disabled:hover {
    background: transparent;
    border-color: transparent;
}

/* Calendar input styling */
.calendar-input {
    position: relative;
}

.calendar-input::after {
    content: '\f073';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--skynet-red);
    pointer-events: none;
    z-index: 1;
}

.calendar-input input {
    padding-right: 40px;
}

/* Time Picker Styling to match Date Picker */
.flatpickr-calendar.timepicker {
    background: #ffffff;
    border: 1px solid #e1e5e9;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    font-family: 'Poppins', sans-serif;
    z-index: 9999;
}

.flatpickr-calendar.timepicker .flatpickr-time {
    background: var(--skynet-red);
    border-radius: 8px 8px 0 0;
    padding: 8px 0;
}

.flatpickr-calendar.timepicker .flatpickr-time .numInputWrapper {
    background: transparent;
    border: none;
}

.flatpickr-calendar.timepicker .flatpickr-time .numInputWrapper input {
    background: transparent;
    color: #ffffff;
    border: none;
    font-weight: 600;
    font-size: 1.1rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    outline: none;
    box-shadow: none;
}

.flatpickr-calendar.timepicker .flatpickr-time .numInputWrapper .arrowUp,
.flatpickr-calendar.timepicker .flatpickr-time .numInputWrapper .arrowDown {
    color: #ffffff;
    fill: #ffffff;
}

.flatpickr-calendar.timepicker .flatpickr-time .numInputWrapper span.arrowUp:after {
    border-bottom-color: #ffffff !important;
}

.flatpickr-calendar.timepicker .flatpickr-time .numInputWrapper span.arrowDown:after {
    border-top-color: #ffffff !important;
}

.flatpickr-calendar.timepicker .flatpickr-am-pm {
    background: transparent;
    color: #ffffff;
    border: none;
    font-weight: 600;
    font-size: 1rem;
    padding: 4px 8px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.flatpickr-calendar.timepicker .flatpickr-am-pm:hover {
    background: rgba(255, 255, 255, 0.2);
}

.flatpickr-calendar.timepicker .flatpickr-am-pm.selected {
    background: rgba(255, 255, 255, 0.3);
    font-weight: 700;
}

/* Map Container */
.map-container {
    position: relative;
    background-color: #ffffff;
    overflow: hidden;
}

.map-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.map-marker {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.1);
        opacity: 0.7;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Form Check Styling */
.form-check-input:checked {
    background-color: var(--skynet-red);
    border-color: var(--skynet-red);
}

.form-check-input:focus {
    border-color: var(--skynet-red);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* Button Styling */
.btn-outline-danger {
    border-color: var(--skynet-red);
    color: var(--skynet-red);
    border-radius: 6px;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn-outline-danger:hover {
    background-color: var(--skynet-red);
    border-color: var(--skynet-red);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(244, 14, 18, 0.2);
}

.btn-danger {
    background-color: var(--skynet-red);
    border-radius: 6px;
    padding: 0.4rem 1.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(244, 14, 18, 0.2);
}

.btn-danger:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(244, 14, 18, 0.3);
}

.btn-lg {
    padding: 0.875rem 2rem;
    font-size: 1rem;
}

/* Card Styling */
.card {
    border: 1px solid #dee2e6;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.card-header {
    border-bottom: 1px solid #dee2e6;
    background-color: #ffffff;
    border-radius: 12px 12px 0 0 !important;
}

/* Form Group Spacing */
.form-group {
    margin-bottom: 1rem;
}

.mb-3 {
    margin-bottom: 0.875rem !important;
}

/* Modern Card Styling */
.card {
    border: 1px solid #e1e5e9;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.2s ease;
}

.card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.card-header {
    border-bottom: 1px solid #e1e5e9;
    background-color: #ffffff;
    border-radius: 10px 10px 0 0 !important;
    padding: 1rem 1.25rem;
}

.card-body {
    padding: 1.25rem;
}

/* Section Number Enhancement */
.section-number {
    width: 28px;
    height: 28px;
    background: linear-gradient(135deg, var(--skynet-red), #e63946);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.85rem;
    box-shadow: 0 2px 4px rgba(244, 14, 18, 0.2);
}

/* Responsive adjustments for new order page */
@media (max-width: 768px) {
    .logo-image {
        height: 40px;
        max-width: 150px;
    }
}

/* High DPI display optimization */
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
    .logo-image {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Responsive adjustments for new order page */
@media (max-width: 768px) {
    .navbar .container-fluid {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    #dashboard-section,
    #orders-section,
    #new-order-section {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .col,
    .col-1,
    .col-2,
    .col-3,
    .col-4,
    .col-5,
    .col-6,
    .col-7,
    .col-8,
    .col-9,
    .col-10,
    .col-11,
    .col-12,
    .col-sm,
    .col-sm-1,
    .col-sm-2,
    .col-sm-3,
    .col-sm-4,
    .col-sm-5,
    .col-sm-6,
    .col-sm-7,
    .col-sm-8,
    .col-sm-9,
    .col-sm-10,
    .col-sm-11,
    .col-sm-12,
    .col-md,
    .col-md-1,
    .col-md-2,
    .col-md-3,
    .col-md-4,
    .col-md-5,
    .col-md-6,
    .col-md-7,
    .col-md-8,
    .col-md-9,
    .col-md-10,
    .col-md-11,
    .col-md-12,
    .col-lg,
    .col-lg-1,
    .col-lg-2,
    .col-lg-3,
    .col-lg-4,
    .col-lg-5,
    .col-lg-6,
    .col-lg-7,
    .col-lg-8,
    .col-lg-9,
    .col-lg-10,
    .col-lg-11,
    .col-lg-12,
    .col-xl,
    .col-xl-1,
    .col-xl-2,
    .col-xl-3,
    .col-xl-4,
    .col-xl-5,
    .col-xl-6,
    .col-xl-7,
    .col-xl-8,
    .col-xl-9,
    .col-xl-10,
    .col-xl-11,
    .col-xl-12 {
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }

    .section-number {
        width: 24px;
        height: 24px;
        font-size: 0.75rem;
    }

    .form-control,
    .form-select {
        padding: 0.5rem 0.625rem;
        font-size: 0.8rem;
    }

    .form-label {
        font-size: 0.8rem;
        margin-bottom: 0.25rem;
    }

    .card-body {
        padding: 1rem;
    }

    .card-header {
        padding: 0.875rem 1rem;
    }

    .package-visual {
        padding: 1rem;
    }

    .cost-summary {
        padding: 1rem;
    }
}

/* Extra small screens */
@media (max-width: 576px) {
    .navbar .container-fluid {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    #dashboard-section,
    #orders-section,
    #new-order-section {
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }
}


/* ========================================
     LOGIN PAGE STYLES
     ======================================== */

/* Login Page Specific Styles */
body.login-page {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #ffffff;
    margin: 0;
    padding: 20px;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: auto;
    /* Ensure the body can handle zoom properly */
    position: relative;
}

/* Signup page styles are defined at the end of this file (SKYNET V3 - CUSTOMER PORTAL SIGNUP PAGE) */

/* Main Container */
.login-container {
    display: flex;
    width: 100%;
    max-width: 1200px;
    min-height: 600px;
    max-height: 90vh;
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    overflow: auto;
    position: relative;
    /* Ensure container adapts to zoom */
    box-sizing: border-box;
}

/* Left Panel - Sign In Form */
.login-form-panel {
    flex: 1;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    min-width: 0;
    overflow: hidden;
}

.form-content {
    width: 100%;
    max-width: 400px;
    min-width: 0;
}

/* Logo and Header */
.login-header {
    margin-bottom: 2rem;
    text-align: center;
}

.login-page .brand-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.brand-logo {
    width: 70%;
    max-width: 70%;
    height: auto;
    object-fit: contain;
}

.login-page .brand-main {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 0.5rem;
}

.login-page .brand-sub {
    background-color: var(--skynet-red);
    padding: 0.25rem 1rem;
    border-radius: 4px;
    margin-bottom: 0.5rem;
}

.login-page .brand-sub span {
    font-size: 0.9rem;
    font-weight: bold;
    letter-spacing: 0.5px;
}

.login-page .brand-tagline {
    font-size: 0.8rem;
    line-height: 1;
}

/* Sign In Title */
.signin-title {
    margin-bottom: 1rem;
}

.signin-title h1 {
    font-size: 2.5rem;
    margin: 0;
}

/* Account Link */
.account-link {
    margin-bottom: 2rem;
}

.account-link p {
    margin: 0;
    font-size: 0.95rem;
}

/* Form Styles */
.login-form {
    width: 100%;
}

.login-page .form-label {
    font-weight: 500;
    color: var(--skynet-dark);
    margin-bottom: 0.375rem;
    font-size: 0.875rem;
    letter-spacing: 0.025em;
}

.login-page .form-control {
    padding: 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    font-size: 1rem;
    transition: border-color 0.2s ease;
}

.login-page .form-control:focus {
    border-color: var(--skynet-red);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* Password Input Group */
.password-input-group {
    position: relative;
}

.password-toggle {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--skynet-gray);
    cursor: pointer;
    padding: 0.25rem;
    transition: color 0.2s ease;
}

.password-toggle:hover {
    color: var(--skynet-red);
}

/* Form Options */
.form-options {
    margin-bottom: 2rem;
}

.form-check-label {
    font-size: 0.9rem;
    color: var(--skynet-dark);
}

/* Sign In Button */
.signin-btn {
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: 8px;
    background-color: var(--skynet-red);
    border-color: var(--skynet-red);
    transition: all 0.2s ease;
}

.signin-btn:hover {
    background-color: var(--skynet-dark-red);
    border-color: var(--skynet-dark-red);
    transform: translateY(-1px);
}

/* Separator */
.separator {
    position: relative;
    text-align: center;
}

.separator::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #dee2e6;
}

.separator-text {
    background: white;
    padding: 0 1rem;
    color: var(--skynet-gray);
    font-size: 0.9rem;
    font-weight: 500;
}

/* Social Login Buttons */
.social-login {
    margin-bottom: 1rem;
}

.social-btn {
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    font-weight: 500;
    border: 2px solid #dee2e6;
    border-radius: 8px;
    background: white;
    color: var(--skynet-dark);
    transition: all 0.2s ease;
}

.social-btn:hover {
    border-color: var(--skynet-red);
    color: var(--skynet-red);
    background-color: rgba(220, 53, 69, 0.05);
}

/* Right Panel - Promotional Content */
.promo-panel {
    flex: 1;
    background: var(--skynet-red);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    position: relative;
    overflow: hidden;
    min-width: 0;
}

.promo-content {
    width: 100%;
    max-width: 500px;
    text-align: center;
    color: white;
    z-index: 2;
    position: relative;
    min-width: 0;
}

/* Promotional Image */
.promo-image {
    margin-bottom: 2rem;
}

.delivery-image {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    object-fit: cover;
    transition: opacity 0.3s ease-in-out;
}

/* Company Name */
.company-name {
    margin-bottom: 1.5rem;
}

.company-name h2 {
    font-size: 2rem;
    margin: 0;
    font-weight: bold;
}

/* Company Description */
.company-description {
    margin-bottom: 2rem;
}

.company-description p {
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
    opacity: 0.95;
}

/* Carousel Navigation */
.carousel-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    background: #F40E12;
    padding: 1rem 1.5rem;
    position: relative;
    box-shadow: 0 4px 15px rgba(244, 14, 18, 0.3);
}



.carousel-arrow {
    background: rgba(255, 255, 255, 0.15);
    border: none;
    color: rgba(255, 255, 255, 0.8);
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
    font-size: 14px;
    transform: rotate(-5deg);
}

.carousel-arrow:last-child {
    transform: rotate(5deg);
}

.carousel-arrow:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.1) rotate(-5deg);
    color: white;
}

.carousel-arrow:last-child:hover {
    transform: scale(1.1) rotate(5deg);
}

.carousel-arrow.clicked {
    background: rgba(255, 255, 255, 0.4);
    transform: scale(0.95) rotate(-5deg);
    color: white;
}

.carousel-arrow:last-child.clicked {
    transform: scale(0.95) rotate(5deg);
}

.carousel-dots {
    display: flex;
    gap: 0.8rem;
    position: relative;
    z-index: 2;
}

.dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.dot::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%);
    transition: all 0.3s ease;
}

.dot:hover {
    background: rgba(255, 255, 255, 0.6);
    transform: scale(1.2);
}

.dot.active {
    background: rgba(255, 255, 255, 0.9);
    transform: scale(1.3);
}

.dot.active::before {
    border-color: rgba(255, 255, 255, 0.4);
    transform: translate(-50%, -50%) scale(1.2);
}

/* Enhanced carousel nav positioning and effects */
.carousel-nav {
    margin-top: 2rem;
    backdrop-filter: blur(5px);
}

/* Add subtle glow effect to active elements */
.carousel-arrow:focus,
.dot:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}

/* Smooth animation for dot transitions */
.dot {
    animation: dotPulse 2s ease-in-out infinite;
}

.dot.active {
    animation: activeDotPulse 1.5s ease-in-out infinite;
}

@keyframes dotPulse {

    0%,
    100% {
        opacity: 0.4;
    }

    50% {
        opacity: 0.6;
    }
}

@keyframes activeDotPulse {

    0%,
    100% {
        opacity: 0.9;
    }

    50% {
        opacity: 1;
    }
}

@keyframes ripple {
    to {
        transform: scale(2);
        opacity: 0;
    }
}

.dot.active::before {
    border-color: rgba(255, 255, 255, 0.4);
    transform: translate(-50%, -50%) scale(1.2);
}

/* Enhanced carousel nav positioning and effects */
.carousel-nav {
    margin-top: 2rem;
    backdrop-filter: blur(5px);
}

/* Add subtle glow effect to active elements */
.carousel-arrow:focus,
.dot:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}

/* Smooth animation for dot transitions */
.dot {
    animation: dotPulse 2s ease-in-out infinite;
}

.dot.active {
    animation: activeDotPulse 1.5s ease-in-out infinite;
}

@keyframes dotPulse {

    0%,
    100% {
        opacity: 0.4;
    }

    50% {
        opacity: 0.6;
    }
}

@keyframes activeDotPulse {

    0%,
    100% {
        opacity: 0.9;
    }

    50% {
        opacity: 1;
    }
}

@keyframes ripple {
    to {
        transform: scale(2);
        opacity: 0;
    }
}

/* CSB Information Button Styling */
:root {
    --skynet-red: #F40E12;
    --skynet-red-dark: #D10000;
    --skynet-red-rgba: rgba(244, 14, 18, 0.3);
    --skynet-red-rgba-hover: rgba(244, 14, 18, 0.4);
    --skynet-red-rgba-focus: rgba(244, 14, 18, 0.3);
}

.csb-button-card {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 8px var(--skynet-red-rgba);
    transition: all 0.3s ease;
}

.csb-button-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px var(--skynet-red-rgba-hover);
}

.csb-button-card .card-header {
    background: var(--skynet-red);
    border: none;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.csb-button-card .card-body {
    display: none;
}

.csb-button-card .form-check-input {
    background-color: white;
    border: 2px solid white;
    width: 16px;
    height: 16px;
}

.csb-button-card .form-check-input:checked {
    background-color: white;
    border-color: white;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23F40E12' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.csb-button-card .form-check-input:focus {
    border-color: white;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.3);
}

.csb-button-card .form-check-inline {
    margin-right: 0;
    margin-left: 16px;
}

.csb-button-card .form-check-inline:first-child {
    margin-left: 0;
}



/* Login Page Responsive Design */
@media (max-width: 1024px) {
    body.login-page {
        padding: 15px;
    }

    .login-container {
        max-height: 85vh;
    }

    .login-form-panel,
    .promo-panel {
        padding: 1.5rem;
    }

    .login-page .brand-main {
        font-size: 1.8rem;
    }

    .signin-title h1 {
        font-size: 2.2rem;
    }

    .company-name h2 {
        font-size: 1.8rem;
    }
}

@media (max-width: 768px) {
    body.login-page {
        padding: 10px;
        min-height: auto;
        height: auto;
    }

    .login-container {
        flex-direction: column;
        height: auto;
        min-height: auto;
        border-radius: 0;
        width: 100%;
        max-height: none;
        overflow: visible;
    }

    .login-form-panel {
        order: 2;
        padding: 2rem 1.5rem;
        flex: 1;
    }

    /* Mobile carousel controls */
    .carousel-nav {
        padding: 0.8rem 1.2rem;
        gap: 1rem;
        margin-top: 1.5rem;
    }

    .carousel-arrow {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }

    .carousel-dots {
        gap: 0.6rem;
    }

    .dot {
        width: 6px;
        height: 6px;
    }

    .dot::before {
        width: 10px;
        height: 10px;
    }
}

.promo-panel {
    order: 1;
    padding: 2rem 1.5rem;
    min-height: 300px;
    flex: 1;
}

.form-content {
    max-width: 100%;
}

.login-page .brand-main {
    font-size: 1.6rem;
}

.signin-title h1 {
    font-size: 2rem;
}

.company-name h2 {
    font-size: 1.6rem;
}

.delivery-image {
    max-width: 100%;
}

@media (max-width: 480px) {
    body.login-page {
        padding: 5px;
        min-height: auto;
        height: auto;
    }

    .login-container {
        max-height: none;
        overflow: visible;
    }

    .login-form-panel,
    .promo-panel {
        padding: 1.5rem 1rem;
    }

    .login-page .brand-main {
        font-size: 1.4rem;
    }

    .signin-title h1 {
        font-size: 1.8rem;
    }

    .company-name h2 {
        font-size: 1.4rem;
    }
}

/* Handle zoom scenarios and high zoom levels */
@media screen and (max-height: 600px),
(max-width: 600px) {
    body.login-page {
        padding: 10px;
        min-height: auto;
        height: auto;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .login-container {
        max-height: none;
        min-height: auto;
        overflow: visible;
        margin: 10px 0;
    }

    .login-form-panel,
    .promo-panel {
        padding: 1rem;
    }
}

/* Handle 125% and 150% zoom levels specifically */
@media screen and (max-height: 700px) and (min-width: 1000px) {
    body.login-page {
        padding: 15px;
        min-height: auto;
        height: auto;
        align-items: flex-start;
        justify-content: flex-start;
        overflow-y: auto;
    }

    .login-container {
        max-height: none;
        min-height: auto;
        overflow: visible;
        margin: 15px 0;
        max-width: 95vw;
    }

    .login-form-panel,
    .promo-panel {
        padding: 1.5rem;
    }
}

/* Handle very high zoom levels */
@media screen and (max-height: 400px) {
    body.login-page {
        padding: 5px;
    }

    .login-container {
        margin: 5px 0;
    }

    .login-form-panel,
    .promo-panel {
        padding: 0.75rem;
    }
}

/* Additional zoom level handling using viewport units */
@media screen and (max-height: 80vh) and (min-width: 1200px) {
    body.login-page {
        min-height: auto;
        height: auto;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 10px;
    }

    .login-container {
        max-height: none;
        min-height: auto;
        overflow: visible;
        margin: 10px 0;
    }
}

/* Handle medium zoom levels (125%, 150%) */
@media screen and (max-height: 75vh) and (min-width: 1200px) {
    body.login-page {
        padding: 15px;
        min-height: auto;
        height: auto;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .login-container {
        max-height: none;
        min-height: auto;
        overflow: visible;
        margin: 15px 0;
        max-width: 95vw;
    }
}

.login-page .form-control {
    padding: 0.75rem;
}

.signin-btn {
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
}

.social-btn {
    padding: 0.625rem 1.25rem;
    font-size: 0.9rem;
}

/* Login Page Animation for form elements */
.login-page .form-control,
.signin-btn,
.social-btn {
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

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

/* Login Page Zoom handling and overflow prevention */
@media screen and (max-width: 100vw) {
    body.login-page {
        overflow-x: hidden;
    }

    .login-container {
        margin: 0 auto;
    }
}

/* Login Page High zoom level handling */
@media screen and (min-resolution: 2dppx) {
    .login-container {
        transform: scale(0.95);
        transform-origin: center center;
    }
}

/* Login Page Very high zoom level handling */
@media screen and (min-resolution: 3dppx) {
    .login-container {
        transform: scale(0.9);
        transform-origin: center center;
    }
}

/* Login Page Hover effects */
.login-page .form-control:hover {
    border-color: #adb5bd;
    box-shadow: 0 0 0 0.1rem rgba(173, 181, 189, 0.25);
}

.signin-btn:active {
    transform: translateY(0);
}

.social-btn:active {
    transform: scale(0.98);
}

.pr-0 {
    padding-right: 0 !important;
}

.pl-0 {
    padding-left: 0 !important;
}

.border-none {
    border: none !important;
}

/* Add Another Button Styling */
.btn-white {
    background-color: white !important;
    border: 1px solid #dc3545 !important;
    color: #dc3545 !important;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn-white:hover {
    background-color: #f8f9fa !important;
    border-color: #c82333 !important;
    color: #c82333 !important;
}

.btn-white .fas.fa-plus-circle {
    color: #dc3545 !important;
    font-size: 1.1rem;
}

/* Universal Editable Field Styling */
.editable-field-btn {
    background-color: var(--skynet-red);
    border: none;
    color: white;
    border-radius: 50%;
    width: 21px;
    height: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    font-size: 0.7rem;
}

.editable-field-btn:hover {
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 2px 8px rgba(244, 14, 18, 0.3);
}

.editable-field-btn.editing {
    background-color: #28a745;
}

.editable-field-btn.saved {
    background-color: var(--skynet-red);
}

.editable-field-container {
    position: relative;
}

.editable-field-container input:disabled {
    background-color: #e9ecef;
    color: #6c757d;
    cursor: not-allowed;
}

/* Remove Item Button Styling */
.remove-item-btn {
    background-color: var(--skynet-red);
    border: none;
    color: white;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 0.8rem;
}

.remove-item-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 2px 8px rgba(244, 14, 18, 0.3);
    background-color: #d10000;
}

/* Skynet Red Header Styling */
.skynet-red-header {
    background-color: var(--skynet-red) !important;
    color: white !important;
    border-radius: 0 !important;
    border-bottom: none !important;
}

/* Override stepper-card header for shipment invoice items */
.stepper-card .skynet-red-header {
    background: var(--skynet-red) !important;
    border-bottom: none !important;
}

/* ========================================
     COURIER BACKGROUND ANIMATIONS
     ======================================== */

/* Background Animation Container */
.background-animations {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(135deg, rgba(244, 14, 18, 0.02) 0%, rgba(255, 255, 255, 0.01) 100%);
}

/* Courier Animations Container */
.courier-animations {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

/* Delivery Truck Styles */
.delivery-truck {
    position: absolute;
    font-size: 3rem;
    color: rgba(244, 14, 18, 0.2);
    cursor: pointer;
    transition: all 0.3s ease;
    filter: drop-shadow(0 4px 8px rgba(244, 14, 18, 0.1));
}

.delivery-truck:hover {
    color: rgba(244, 14, 18, 0.4);
    transform: scale(1.1);
}

.truck-trail {
    position: absolute;
    top: 50%;
    left: -20px;
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(244, 14, 18, 0.3), transparent);
    transform: translateY(-50%);
    border-radius: 1px;
    opacity: 0;
}

/* Flying Plane Styles */
.flying-plane {
    position: absolute;
    font-size: 2.5rem;
    color: rgba(244, 14, 18, 0.15);
    cursor: pointer;
    transition: all 0.3s ease;
    filter: drop-shadow(0 4px 8px rgba(244, 14, 18, 0.08));
}

.flying-plane:hover {
    color: rgba(244, 14, 18, 0.3);
    transform: scale(1.15);
}

.plane-trail {
    position: absolute;
    top: 50%;
    left: -30px;
    width: 60px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(244, 14, 18, 0.2), transparent);
    transform: translateY(-50%);
    border-radius: 0.5px;
    opacity: 0;
}

/* Floating Package Styles */
.floating-package {
    position: absolute;
    font-size: 2rem;
    color: rgba(244, 14, 18, 0.12);
    cursor: pointer;
    transition: all 0.3s ease;
    filter: drop-shadow(0 4px 8px rgba(244, 14, 18, 0.06));
}

.floating-package:hover {
    color: rgba(244, 14, 18, 0.25);
    transform: scale(1.2);
}

.package-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    background: radial-gradient(circle, rgba(244, 14, 18, 0.1) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
}

/* Delivery Route Styles */
.delivery-route {
    position: absolute;
    height: 3px;
    background: linear-gradient(90deg, transparent, rgba(244, 14, 18, 0.1), transparent);
    border-radius: 2px;
    opacity: 0;
}

/* Floating Icon Styles */
.floating-icon {
    position: absolute;
    font-size: 1.8rem;
    color: rgba(244, 14, 18, 0.1);
    cursor: pointer;
    transition: all 0.3s ease;
    filter: drop-shadow(0 4px 8px rgba(244, 14, 18, 0.05));
}

.floating-icon:hover {
    color: rgba(244, 14, 18, 0.25);
    transform: scale(1.3);
}

.icon-pulse {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    background: radial-gradient(circle, rgba(244, 14, 18, 0.15) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
}

/* Ensure login container stays above animations */
.login-container {
    position: relative;
    z-index: 10;
}

/* Responsive adjustments for animations */
@media (max-width: 768px) {
    .delivery-truck {
        font-size: 2.2rem;
    }

    .flying-plane {
        font-size: 2rem;
    }

    .floating-package {
        font-size: 1.6rem;
    }

    .floating-icon {
        font-size: 1.4rem;
    }
}

@media (max-width: 480px) {
    .delivery-truck {
        font-size: 1.8rem;
    }

    .flying-plane {
        font-size: 1.6rem;
    }

    .floating-package {
        font-size: 1.3rem;
    }

    .floating-icon {
        font-size: 1.2rem;
    }
}

.shipper-db-container {
    border-radius: 8px;
    padding: 8px;
    background: #f8f9fa;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
    margin-left: auto;
    margin-right: auto;
}

.shipper-db-header {
    font-size: 1.2rem;
    font-weight: 400;
    color: #ffffff;
    border-radius: 6px;
    padding: 0px 7px;
    margin-bottom: 15px;
    letter-spacing: 1px;
    color: #5e17eb;
    background-color: #5e17eb17;
}

.shipper-form-label {
    font-size: 14px;
    font-weight: 500;
    color: #343a40;
    padding-top: 10px;
}

.shipper-db-container .form-control,
.shipper-db-container .select_search {
    border-radius: 5px;
    border: 1px solid #ced4da;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
    background: #fff;
    transition: border .2s;
}

.shipper-db-container .form-control:focus,
.shipper-db-container .select_search:focus {
    border-color: #007bff;
    box-shadow: 0 0 5px rgba(0, 123, 255, .1);
}

.shipper-db-container .form-group {
    margin-bottom: 22px;
}

@media (max-width: 600px) {
    .shipper-db-header {
        font-size: 1.2rem;
        padding: 8px 10px;
    }

    .shipper-db-container {
        padding: 18px 6px;
    }
}


td a:hover {
    outline: 0;
    text-decoration: none;
    color: #ef233c;
}

.invoice-modern-ui {
    background: #f6f7fb;
    padding: 30px;
    border-radius: 28px;
}

.invoice-modern-ui .box {
    background: #ffffff;
    border-radius: 5px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
    margin-bottom: 32px;
    overflow: hidden;
}

.invoice-modern-ui .box-header {
    padding: 24px 32px 8px;
    border-bottom: none;
}

/* .invoice-modern-ui .box-body {
    padding: 0 32px 32px;
  } */


.invoice-modern-ui .invoice-filters-grid .form-group {
    margin-top: 5px;
}

.invoice-modern-ui label {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.06em;
}

.invoice-modern-ui .form-control,
.invoice-modern-ui .select_search {
    height: 34px;
    border-radius: 3px;
    border: 1px solid #ddd;
    box-shadow: none;
}

.invoice-modern-ui .form-control:focus,
.invoice-modern-ui .select_search:focus {
    border-color: #f5001d;
}

.invoice-modern-ui .btn,
.invoice-modern-ui .btn-primary,
.invoice-modern-ui .btn-secondary {
    border-radius: 5px;
    padding: 4px 12px;
    font-weight: 500;
    /* text-transform: uppercase; */
    letter-spacing: 0.04em;
    border: none;
    background-color: #f40e12;
    color: white;
}

.invoice-modern-ui .btn-primary,
.invoice-modern-ui .btn-secondary,
.invoice-modern-ui .btn-danger {
    color: #fff;
}

.invoice-modern-ui .btn-default,
.invoice-modern-ui .btn-light,
.invoice-modern-ui .btn-outline-secondary {
    border: 1px solid #e2e8f0;
    color: #475569;
    background: #fff;
    box-shadow: none;
}

.invoice-modern-ui .invoice-toolbar {
    align-items: center;
    padding: 10px 0 18px;
    border-bottom: 1px solid #f1f5f9;
    margin-bottom: 8px;
}

.invoice-modern-ui .invoice-toolbar span {
    display: inline-block;
    margin-right: 18px;
    font-weight: 600;
    color: #475569;
}

.invoice-modern-ui table {
    border-collapse: separate;
    border-spacing: 0 12px;
}

.invoice-modern-ui #first tr:first-child th,
.invoice-modern-ui #second tr:first-child th {
    position: sticky;
    top: 0;
    color: var(--skynet-red) !important;
    z-index: 10;
    background: #fff;
    border-color: #fde7e7 !important;
    background: var(--skynet-th-color) !important;
    white-space: nowrap;
    font-weight: 600;
}

.link_highlight {
    color: #f50000;
    text-decoration: none;
}

.invoice-modern-ui #first tr:not(:first-child),
.invoice-modern-ui #second tr:not(:first-child) {
    background: #fff;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.invoice-modern-ui #first td,
.invoice-modern-ui #second td {
    padding: 16px 18px;
    border-top: none;
    border-bottom: 1px solid #f1f5f9;
    font-size: 13px;
    color: #1f2933;
}

.invoice-modern-ui #first tr.inactive_row td {
    background: #fff3cd;
}

.invoice-modern-ui #second td a,
.invoice-modern-ui #first td a {
    font-weight: 600;
    color: #ef233c;
}

.invoice-modern-ui .export_button,
.invoice-modern-ui .print_button,
.invoice-modern-ui .edit_button {
    border-radius: 999px;
    padding: 8px 16px;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 4px 0;
}

.invoice-modern-ui .export_button {
    background: #fff5f0;
    color: #d9480f;
    border-color: #ffd0be;
}

.invoice-modern-ui .print_button {
    background: #f1f5f9;
    color: #1e293b;
    border-color: #dbeafe;
}

td .export_button {
    background: #ffc107 !important;
    color: #483602 !important;
}


.invoice-modern-ui .edit_button {
    background: #ffe8ec;
    color: #b91c1c;
    border-color: #ffc9d4;
}

.invoice-modern-ui .table-responsive {
    border-radius: 20px;
}

.invoice-modern-ui #pagination_per_page_id {
    border-radius: 30px;
    background: #fff;
    border: 1px solid #e2e8f0;
    padding-left: 20px;
}

.invoice-modern-ui .select_invoice_td,
.invoice-modern-ui .auto_email_td {
    width: 80px;
}

.invoice-modern-ui .form-check-input {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.invoice-modern-ui .modal-content {
    border-radius: 24px;
    border: none;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.15);
}

@media (max-width: 991px) {
    .invoice-modern-ui {
        padding: 18px;
    }

    .invoice-modern-ui .box {
        padding: 12px;
    }

    .invoice-modern-ui .box-body {
        padding: 0 12px 20px;
    }

    .invoice-modern-ui table {
        border-spacing: 0 8px;
    }
}

:root {
    --ledger-primary: #ff0011;
    --ledger-primary-dark: #ff0011;
    --ledger-muted: #8c8fa0;
    --ledger-border: #e6e8ef;
    --ledger-soft-bg: #fff5f5;
}

.ledger-card {
    background: #ffffff;
    border: 1px solid var(--ledger-border);
    border-radius: 16px;
    padding: 24px 28px;
    margin: 10px 0 25px;
    box-shadow: 0 12px 30px rgba(20, 20, 43, 0.08);
}

.ledger-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ledger-border);
    margin-bottom: 18px;
}

.ledger-card__title {
    margin: 0;
    font-size: 22px;
    font-weight: 400;
    color: #1b1c1f;
}

.ledger-card__subtitle {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--ledger-muted);
}

.ledger-card__actions {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.btn-pill {
    border-radius: 5px;
    font-weight: 500;
    padding: 3px 8px;
    border: none;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
}

.btn-pill i {
    font-size: 14px;
}

.btn-soft {
    background: var(--ledger-soft-bg);
    color: var(--ledger-primary);
    border: 1px solid rgba(244, 63, 75, 0.25);
}

.btn-soft:hover {
    background: rgba(244, 63, 75, 0.12);
    border-color: var(--ledger-primary);
}

.btn-solid {
    background: var(--ledger-primary);
    color: #fff;
    border: 1px solid transparent;
}

.btn-solid:hover {
    background: var(--ledger-primary-dark);
    color: #fff;
}

.order-search {
    position: relative;
}

.order-search input {
    padding-left: 36px !important;
}

.order-search:before {
    content: "\f002";
    font-family: FontAwesome;
    position: absolute;
    left: 16px;
    top: 46px;
    transform: translateY(-50%);
    color: #b5b8c6;
    font-size: 13px;
}

.ledger-card__footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.ledger-table {
    background: #fff;
    border-radius: 16px;
    border: 1px solid var(--ledger-border);
    padding: 0 18px 18px;
    box-shadow: 0 8px 26px rgba(18, 18, 43, 0.06);
}

.ledger-table table thead th,
.ledger-table table tr:first-child th {
    background: #fde7e7 !important;
    color: #ff0011 !important;
    /* text-transform: uppercase; */
    font-size: 15px;
    letter-spacing: 0.03em;
}

.ledger-table table td,
.ledger-table table th {
    vertical-align: middle !important;
}

.ledger-table table tbody tr:hover {
    background: rgba(244, 63, 75, 0.04);
}

.ledger_print {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.section_head {
    background: none !important;
    color: black !important;
    padding: 3px;
}

/* Users > Edit (v3/skynet): lock permission table header and keep scroll inside grid */
#user_form #nav-permissions.permissions-tab-pane {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
}

#user_form #nav-permissions.permissions-tab-pane .row {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
}

#user_form #nav-permissions.permissions-tab-pane .col-12 {
    min-width: 0;
    max-width: 100%;
}

#user_form #nav-permissions.permissions-tab-pane .wrapper2 {
    position: relative;
    overflow: auto !important;
    max-height: min(68vh, 560px);
}

#user_form #permi_table {
    border-collapse: separate;
    border-spacing: 0;
}

#user_form #permi_table thead .section_head td {
    position: sticky !important;
    top: 0;
    z-index: 20;
    vertical-align: middle;
}

#user_form #permi_table thead .section_head td:first-child {
    left: 0;
    z-index: 22;
    background: #eef3fb !important;
    color: #111 !important;
}

#user_form #permi_table thead .section_head td:not(:first-child) {
    background: #184d87 !important;
    color: #fff !important;
}

#user_form #permi_table tr > th:first-child,
#user_form #permi_table tr > td:first-child {
    position: sticky;
    left: 0;
    z-index: 18;
    background: #eef3fb !important;
}

.credit_msg {

    font-size: 13px;
    font-weight: 700;
    color: #065a20 !important;
}

@media print {
    body {
        margin: 5px;
    }

    .layout-top-nav .content-wrapper {
        margin-top: 0px;
    }

    .no-print,
    .no-print * {
        display: none !important;
    }

    ::-webkit-scrollbar {
        display: none;
    }
}

.manifest-main-box {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(6px);
    border: 1px solid #eef0f4;
    border-radius: 14px;
    box-shadow: 0 6px 28px rgba(44, 62, 80, 0.12);
    margin: 15px 4px;
}

.manifest-filters {
    background: rgba(248, 250, 255, 0.9);
    backdrop-filter: blur(4px);
    border-radius: 12px;
    border: 1px solid #e6e9f2;
    box-shadow: 0 4px 18px rgba(44, 62, 80, 0.10);
    padding: 15px;
    width: 200vh;
}

.manifest-filters .form-control {
    border-radius: 5px;
    border: 1px solid #dce1eb;
    height: 30px;
}

.manifest-filters .form-group {
    font-size: 15px;
}

.manifest-filters .form-control:focus {
    border-color: #0162e8;
    box-shadow: 0 0 0 4px rgba(1, 98, 232, 0.12);
}

.manifest-header {
    font-size: 30px;
    font-weight: 500;
    color: #f40e12;
    padding: 9px;
}

.manifest-table-box {
    border-radius: 14px;
    border: 1px solid #e6e9f2;
    box-shadow: 0 8px 30px rgba(44, 62, 80, 0.12);
}

.manifest-table thead th {
    background: linear-gradient(to bottom, #f5f7fb, #edeff5);
    font-size: 15px;
    border-bottom-width: 3px;
}

.manifest-table tbody tr {
    transition: background 0.20s, box-shadow 0.20s;
}

.manifest-table tbody tr:hover {
    background: #f5f7ff !important;
    box-shadow: 0 2px 12px rgba(44, 62, 80, 0.10);
}

.manifest-table .btn-action {
    border-radius: 10px;
    background: #e8efff;
}

.manifest-table .btn-action:hover {
    background: #d7e3ff;
    transform: translateY(-1px);
}

.btn-primary,
.btn-success,
.btn-warning {
    border-radius: 8px !important;
    padding: 7px 16px;
    font-weight: 600;
}

.btn-primary:hover {
    background: #014ec0;
}

.btn-success:hover {
    background: #1eaa36;
}

.btn-warning:hover {
    background: #e5a307;
}

/* Checkbox modern look */
.manifest-table input[type=checkbox] {
    width: 18px;
    height: 18px;
    accent-color: #0162e8;
    border-radius: 4px;
}

/* Table input modern feel */
.table_input {
    border-radius: 6px;
    border: 1px solid #dce1eb;
    padding: 4px 6px;
}

.table_input:focus {
    border-color: #0162e8;
    box-shadow: 0 0 0 3px rgba(1, 98, 232, 0.15);
}

.dropdown-button {
    background: var(--skynet-red, #f40e12);
    font-size: 13px;
    color: #fff;
    border-radius: 6px;
    border: none;
    padding: 8px 20px;
    font-weight: 500;
    letter-spacing: .3px;
    transition: background-color .15s ease, box-shadow .15s ease, transform .12s ease;
}

.dropdown-button:hover,
.dropdown-button:focus {
    background: #c4162f;
    color: #fff;
    box-shadow: 0 0 0 3px rgba(244, 14, 18, 0.18);
    transform: translateY(-1px);
    text-decoration: none;
    outline: none;
}

footer.no-print {
    text-align: center;
    margin: 10px
}

.fixing {
    padding-left: 20px;
}

.fixing1 {
    margin-right: -16px;
}

.col-form-label {
    padding-top: calc(.375rem + var(--bs-border-width));
    padding-bottom: calc(.375rem + var(--bs-border-width));
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5;
}

.table-wrapper {
    background: #fff;
    padding: 20px 25px;
    border-radius: 3px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
    margin: 30px 0
}

.table-title {
    border-bottom: 1px solid #e9e9e9
}

.table-title h2 {
    font-size: 20px;
    margin: 5px 0
}

.table-filter {
    padding: 5px 0 15px;
    border-bottom: 1px solid #e9e9e9;
    margin-bottom: 5px
}

.table-filter input,
.table-filter select,
.table-filter .btn {
    height: 34px;
    border-radius: 3px;
    border: 1px solid #ddd;
    box-shadow: none
}

.table-filter label {
    font-weight: 400;
    margin-left: 10px
}

.filter-icon i {
    font-size: 18px;
    opacity: .7
}

.table-responsive {
    /* height: calc(100vh - 400px); */
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: #a3aebb #f1f1f1
}

.table-responsive::-webkit-scrollbar {
    width: 6px;
    height: 6px
}

.table-responsive::-webkit-scrollbar-thumb {
    background: #a3aebb;
    border-radius: 10px
}

.table-responsive::-webkit-scrollbar-track {
    background: #f1f1f1
}

.table {
    white-space: nowrap;
    height: 10px !important;
}

.table th,
.table td {
    border-color: #fde7e7 !important;
    padding: 12px 15px;
    vertical-align: middle;
    text-transform: none;
    height: 43px !important;
}

.table th:first-child {
    width: 60px
}

.table th:last-child,
.table td:last-child {
    /* position: sticky !important; */
    right: 0;
    z-index: 9
}

.table thead {
    vertical-align: bottom;
    border-color: #fde7e7 !important;
}

.table thead th,
.table tbody tr th {
    position: sticky;
    top: 0;
    color: var(--skynet-red) !important;
    z-index: 10;
    background: #fff;
    border-color: #fde7e7 !important;
    background: var(--skynet-th-color) !important;
    text-transform: capitalize !important;
    height: 10px !important;
    font-weight: 500 !important;
}

/* 
.table thead th a,
.table tbody tr th a {
    color: var(--skynet-red) !important;
} */

.table thead th:last-child {
    z-index: 11
}

.table td a {
    color: #212529;
    text-decoration: none;
    font-weight: 200 !important;
}

.table td a:hover {
    color: #2196F3
}

.table td a.view {
    width: 30px;
    height: 30px;
    color: #2196F3;
    border: 2px solid;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.status {
    font-size: 30px;
    line-height: 10px;
    margin: 2px;
    display: inline-block
}

.pagination {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    flex-wrap: wrap
}

.pagination li a {
    border: none;
    font-size: 13px;
    min-width: 30px;
    min-height: 30px;
    color: #999;
    margin: 0 2px;
    line-height: 30px;
    border-radius: 2px !important;
    padding: 0 6px
}

.pagination li a:hover {
    color: #666
}

.pagination li.active a {
    background: #03A9F4;
    color: #fff
}

.pagination li.disabled i {
    color: #ccc
}

.pagination li i {
    font-size: 16px;
    padding-top: 6px
}

.hint-text {
    font-size: 13px;
    margin-top: 10px
}

.bg-primary {
    background: var(--skynet-red) !important;
    color: #fff !important
}

footer.footer.no-print {
    display: none !important
}

.pagination .page-link {
    min-width: 38px;
    height: 38px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-weight: 500;
    transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
    border: 1px solid #e6e9ee;
    color: #333;
    background: #fff;
    box-shadow: none
}

.pagination .page-link:hover,
.pagination .page-link:focus {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(20, 40, 80, .06);
    text-decoration: none;
    z-index: 2
}

.pagination .page-item.active .page-link {
    background: var(--skynet-red) !important;
    color: #fff;
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(13, 110, 253, .18);
    transform: scale(1.06);
    font-weight: 600
}

.pagination .page-item.disabled .page-link {
    opacity: .5;
    cursor: not-allowed;
    transform: none
}

@media(max-width:420px) {
    .pagination .page-item {
        display: none
    }

    .pagination .page-item.disabled,
    .pagination .page-item.active,
    .pagination .page-item:last-child {
        display: inline-flex
    }

    .pagination .page-link {
        min-width: 44px;
        height: 44px;
        border-radius: 10px
    }
}

.pagination .page-link:focus-visible {
    outline: 3px solid rgba(13, 110, 253, .18);
    outline-offset: 3px
}

.pagination .page-item.ellipsis .page-link {
    background: transparent;
    border: none;
    color: #888;
    cursor: default;
    transform: none;
    box-shadow: none
}

@media(max-width:768px) {
    .table-responsive {
        height: calc(100vh - 200px)
    }
}

.pagination-custom-new span a {
    min-width: 38px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    border: 1px solid #e6e9ee;
    color: #333;
    background: #fff;
    box-shadow: none;
    font-size: 13px;
    border-radius: 2px !important;
    padding: 8px 10px;
    text-decoration: none;
}

.pagination-custom-new span a:hover {
    background: var(--skynet-red) !important;
    color: #fff !important
}

.pagination-custom-new span a i {
    font-size: 8px;
}

.bg-danger-list {
    border-radius: 10px !important;
}

.modal-content {
    border-radius: 14px;
}

.btn-danger {
    background-color: var(--skynet-red) !important;
    border-color: var(--skynet-red) !important;
    border-radius: 8px;
}

.btn-light {
    background: #f3f3f3;
    border-radius: 8px;
}

.form-label {
    font-size: 14px;
}

.form-control {
    border-radius: 6px;
}

.form-control,
.form-select {
    padding: 5px !important;
    font-size: 12px !important;
}

.form-select {
    width: 100% !important;
}

/* -------------------------------------------------------------------------
   Flight Master list (show_list) ? AWB List Report style, scoped to page root
   ------------------------------------------------------------------------- */
.tm-flight-master-page {
    font-family: 'Poppins', sans-serif;
    padding-bottom: 1.5rem;
}

.tm-flight-master-page__title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #333;
    margin: 0 0 1rem;
}

.tm-flight-master-page__card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    margin-bottom: 1rem;
    overflow: hidden;
}

.tm-flight-master-page__card-body {
    padding: 1rem 1.25rem 1.25rem;
}

.tm-flight-master-page__filters {
    margin-bottom: 0.75rem;
}

.tm-flight-master-page__field {
    margin-bottom: 1rem;
}

.tm-flight-master-page__label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: #555;
    margin-bottom: 0.35rem;
}

.tm-flight-master-page__control {
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    font-size: 12px !important;
    padding: 10px 0.65rem !important;
    min-height: 42px;
    box-sizing: border-box;
    line-height: 1.45;
}

.tm-flight-master-page__select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23c41e3a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.65rem center;
    /* Fixed height keeps select aligned with text/date inputs; padding fits 12px text without clipping */
    height: 42px;
    min-height: 42px;
    padding: 10px 2rem 10px 0.65rem !important;
    line-height: 1.45 !important;
    box-sizing: border-box;
    color: #333;
    background-color: #fff;
}

.tm-flight-master-page__select option {
    color: #333;
    background-color: #fff;
}

.tm-flight-master-page__date-row {
    margin-left: 0;
    margin-right: 0;
}

.tm-flight-master-page__date-col {
    padding-left: 0;
    padding-right: 0.35rem;
}

.tm-flight-master-page__date-col--to {
    padding-left: 0.35rem;
    padding-right: 0;
}

.tm-flight-master-page__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding-top: 0.25rem;
}

/* Vendor mapping: buttons column lines up with Status <select> (sibling col has label + field) */
.tm-flight-master-page__actions-col {
    align-self: stretch;
}

.tm-flight-master-page__actions-col>.tm-flight-master-page__actions {
    padding-top: 0;
    width: 100%;
}

.tm-flight-master-page__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    box-sizing: border-box;
    height: var(--tm-v3-action-btn-h);
    min-height: var(--tm-v3-action-btn-h);
    max-height: var(--tm-v3-action-btn-h);
    padding: 0 var(--tm-v3-action-btn-px) !important;
    font-family: 'Poppins', sans-serif;
    font-size: var(--tm-v3-action-btn-fs);
    font-weight: var(--tm-v3-action-btn-fw);
    line-height: 1;
    border-radius: var(--tm-v3-action-btn-radius);
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.15s ease, filter 0.15s ease;
    vertical-align: middle;
}

.tm-flight-master-page__btn:hover {
    opacity: 0.92;
    filter: brightness(0.98);
    color: #fff;
}

.tm-flight-master-page__btn--primary {
    background-color: var(--skynet-red, #f40e12);
    color: #fff !important;
}

.tm-flight-master-page__btn--primary i {
    font-size: 14px;
    font-weight: 900;
}

.tm-flight-master-page__card--table {
    margin-bottom: 0;
}

.tm-flight-master-page__table-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #eee;
    background: #fafafa;
    font-size: 12px;
    color: #444;
}

.tm-flight-master-page__meta {
    white-space: nowrap;
}

.tm-flight-master-page__pagination {
    margin-left: auto;
}

.tm-flight-master-page__pagination .pagination {
    margin-bottom: 0;
}

.tm-flight-master-page__table-wrap {
    max-height: min(70vh, 560px);
    overflow: auto;
    border-radius: 0 0 8px 8px;
}

.tm-flight-master-page__table {
    margin-bottom: 0;
    font-size: 12px;
    border-collapse: separate;
    border-spacing: 0;
}

/* AWB List Report style: pale pink header bar + bold red/maroon header text */
.tm-flight-master-page__table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fce9e9 !important;
    color: var(--skynet-red, #d90429) !important;
    font-weight: 600;
    font-size: 11px;
    line-height: 1.25;
    padding: 0.45rem 0.7rem !important;
    border-bottom: 1px solid #f0d0d4;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    vertical-align: middle;
}

.tm-flight-master-page__table thead th a i,
.tm-flight-master-page__table thead th i {
    color: var(--skynet-red, #d90429) !important;
}

.tm-flight-master-page__th-link {
    color: var(--skynet-red, #d90429) !important;
    text-decoration: none;
}

.tm-flight-master-page__th-link:hover {
    color: #a00c20 !important;
    text-decoration: underline;
    opacity: 1;
}

.tm-flight-master-page__table tbody td {
    padding: 0.6rem 0.75rem;
    vertical-align: middle;
    border-bottom: 1px solid #eee;
    color: #333;
}

.tm-flight-master-page__table tbody tr:last-child td {
    border-bottom: none;
}

.tm-flight-master-page__table tbody tr.inactive_row td {
    opacity: 0.75;
}

/* Override .table td a { color: #000 } ? action pills must stay white on dark bg */
.tm-flight-master-page__table td a.edit_button,
.tm-flight-master-page__table td a.delete_button {
    color: #fff !important;
}

.tm-flight-master-page__table td a.edit_button:hover,
.tm-flight-master-page__table td a.delete_button:hover {
    color: #fff !important;
    opacity: 0.92;
}

/* -------------------------------------------------------------------------
   Forwarder add/edit form (show_form) ? v3 card layout, styles scoped to root
   ------------------------------------------------------------------------- */
.tm-forwarder-form-page {
    font-family: 'Poppins', sans-serif;
    padding-bottom: 1.5rem;
}

.tm-forwarder-form-page__card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 1rem;
}

.tm-forwarder-form-page__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #eee;
    background: #fafafa;
}

.tm-forwarder-form-page__title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #333;
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
}

.tm-forwarder-form-page__header-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.tm-forwarder-form-page__body {
    padding: 1.25rem 1.25rem 1.5rem;
}

.tm-forwarder-form-page__row {
    margin-bottom: 1rem;
}

.tm-forwarder-form-page__label {
    font-size: 12px;
    font-weight: 500;
    color: #555;
    padding-top: 0.5rem;
}

.tm-forwarder-form-page__label .required {
    color: var(--skynet-red, #f40e12);
}

.tm-forwarder-form-page__control {
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    font-size: 12px !important;
    padding: 10px 0.65rem !important;
    min-height: 42px;
    box-sizing: border-box;
    line-height: 1.45;
}

.tm-forwarder-form-page textarea.tm-forwarder-form-page__control {
    min-height: 88px;
    height: auto;
}

.tm-forwarder-form-page__textarea--api {
    min-height: 100px;
}

.tm-forwarder-form-page__select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23F40E12' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.65rem center;
    background-color: #fff;
    height: 42px;
    min-height: 42px;
    padding: 10px 2rem 10px 0.65rem !important;
    line-height: 1.45 !important;
    box-sizing: border-box;
    color: #333;
}

.tm-forwarder-form-page__select option {
    color: #333;
    background-color: #fff;
}

.tm-forwarder-form-page__radios {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem;
    padding-top: 0.35rem;
}

.tm-forwarder-form-page__radio {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.tm-forwarder-form-page__radio input[type="radio"] {
    margin: 0;
    accent-color: var(--skynet-red, #f40e12);
}

.tm-forwarder-form-page__radio label {
    margin: 0;
    font-size: 12px;
    color: #333;
    font-weight: 500;
    cursor: pointer;
}

.tm-forwarder-form-page__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    padding-top: 0.5rem;
    margin-top: 0.5rem;
    border-top: 1px solid #eee;
}

.tm-forwarder-form-page__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    box-sizing: border-box;
    height: var(--tm-v3-action-btn-h);
    min-height: var(--tm-v3-action-btn-h);
    max-height: var(--tm-v3-action-btn-h);
    padding: 0 var(--tm-v3-action-btn-px) !important;
    font-family: 'Poppins', sans-serif;
    font-size: var(--tm-v3-action-btn-fs);
    font-weight: var(--tm-v3-action-btn-fw);
    line-height: 1;
    border-radius: var(--tm-v3-action-btn-radius);
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.15s ease, filter 0.15s ease;
    vertical-align: middle;
}

.tm-forwarder-form-page__btn i {
    font-size: 14px;
    font-weight: 900;
}

.tm-forwarder-form-page__btn--primary {
    background-color: var(--skynet-red, #f40e12);
    color: #fff !important;
}

.tm-forwarder-form-page__btn--primary:hover {
    opacity: 0.92;
    color: #fff !important;
}

.tm-forwarder-form-page__btn--secondary {
    background: #6c757d;
    color: #fff !important;
}

.tm-forwarder-form-page__btn--secondary:hover {
    opacity: 0.92;
    color: #fff !important;
}

.tm-forwarder-form-page__btn--outline {
    background: #fff;
    color: #b8860b !important;
    border: 1px solid #e6c200;
}

.tm-forwarder-form-page__btn--outline:hover {
    background: #fffbeb;
    color: #9a7209 !important;
}

.tm-forwarder-form-page__import-row {
    margin-bottom: 0;
}

.tm-forwarder-form-page .form-group p {
    margin: 0.25rem 0 0;
    font-size: 12px;
    color: var(--skynet-red, #f40e12);
}

.gap-2 {
    gap: .5rem !important;
}

.skin-blue .content {
    background: #F3F4F6 !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
button.btn-primary:hover,
button.btn-primary:focus,
button.btn-primary:active,
button.btn-info:hover,
button.btn-info:focus,
button.btn-info:active,
a.btn-primary:hover,
a.btn-primary:focus,
a.btn-primary:active,
a.btn-info:hover,
a.btn-info:focus,
a.btn-info:active,
.print_button,
.pagination-custom-new a,
.skin-blue.layout-top-nav .content_header .navbar .container-fluid .collapse .navbar-nav>li.active>a {
    background-color: #f0d1d1 !important;
    border-color: #c41e15 !important;
    color: #c41e15 !important;
}

.dropdown-menu-end {
    right: 0;
    left: auto;
}

#btn-search,
.btn-info,
.btn-danger,
.btn-secondary,
.btn-export,
.btn-primary,
.bg-olive,
.export_btn {
    height: 34px;
    border-radius: 10px;
    border: 1px solid #ddd;
    box-shadow: none;
    background-color: var(--skynet-red) !important;
    border-color: var(--skynet-red) !important;
    color: #fff !important;
    font-size: 0.8rem;
    font-weight: 600;
    transition: all 0.2s ease;
    padding: 8px 15px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-left: 5px !important;
}

#btn-search:hover,
.btn-info:hover,
.btn-danger:hover,
.btn-secondary:hover,
.btn-export:hover,
.btn-primary:hover {
    opacity: 0.9;
    filter: brightness(0.95);
    color: #fff !important;
}

.hold-queue-toggle {
    background: var(--skynet-red) !important;
    padding: 0 15px !important;
    color: #fff !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 11px;
    cursor: pointer;
    vertical-align: middle;
    height: 34px;
    border: 1px solid var(--skynet-red);
    text-transform: uppercase;
}

.hold-queue-toggle input[type="checkbox"] {
    margin: 0 !important;
    width: 15px;
    height: 15px;
    cursor: pointer;
    filter: invert(1);
    /* Make checkbox light to match white text if needed, or just let it be */
}


.hold-queue-toggle label {
    margin: 0 !important;
    cursor: pointer;
    line-height: 1;
}


/* Premium Dropdown Styling */
/* Ensure the active row stays on top of subsequent rows when its dropdown is open */
/* Both :has and :hover/:focus-within fallbacks to ensure compatibility */
.table td:last-child:hover,
.table td:last-child:focus-within,
.table td:has([aria-expanded="true"]),
.dropdown.show {
    z-index: 9999 !important;
    position: relative !important;
}


.dropdown-menu {
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
    padding: 10px !important;
    min-width: 220px !important;
    margin-top: 10px !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    z-index: 9999 !important;
}

.dropdown-item {
    font-family: 'Poppins', sans-serif !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #4b4b4b !important;
    background-color: #ffffff !important;
    border-radius: 8px !important;
    transition: all 0.25s ease !important;
    display: flex !important;
    align-items: center !important;
    margin-bottom: 2px !important;
}

.dropdown-item:last-child {
    margin-bottom: 0 !important;
}

.dropdown-item:hover {
    background-color: #fff5f5 !important;
    color: var(--skynet-red, #f40e12) !important;
    transform: translateX(5px);
}

.dropdown-item img {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain !important;
    transition: transform 0.2s ease !important;
}

.dropdown-item:hover img {
    transform: scale(1.15);
}

/* Spacer for icons */
.dropdown-item .me-2,
.dropdown-item i {
    margin-right: 12px !important;
}

.dropdown-menu-end {
    right: 0 !important;
    left: auto !important;
}

/* Hide trigger dots when menu is open for a cleaner look */
.dropdown [aria-expanded="true"] img[src*="store-action"] {
    opacity: 0 !important;
    visibility: hidden !important;
}

.table>thead>tr>th {
    padding: 12px 15px !important;
    font-weight: 600 !important;
}

.border-none {
    background: none !important;
}

.table-no-borders thead th,
.table-no-border thead th {
    border: none !important;
    background: white !important;
    color: #000 !important;
}

.skin-blue .content-header {
    background: #fff !important;
    color: black !important;
    border-bottom: none !important;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    background-color: #ee2e24 !important;
}

.nav-like-tab .nav-link.active,
.show>.nav-like-tab .nav-link {

    background-color: #ee2e24 !important;
}

.btn-warning {
    background-color: #fde7e7 !important;
    border-color: var(--skynet-red) !important;
    color: var(--skynet-red) !important;
}

.edit_button,
.delete_button,
.other_button {
    padding: 5px 10px;
    font-size: 12px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #e7f1ff;
    color: #0d6efd !important;
    border: 1px solid #b6d4fe;

}

.scrollable_table {
    display: unset !important;
}

.secttion_box .table-striped tbody tr.light_tr {
    background-color: white !important;
}

/* -------------------------------------------------------------------------
   Manifest Bagging (bagging_manifest.php) - prevent digit clipping
   Root cause: some global `.table` rules force tiny header/cell heights.
   Scope this override ONLY to this page/form.
   ------------------------------------------------------------------------- */
#zone_form .table {
    height: auto !important;
    white-space: normal !important;
}

#zone_form .table th,
#zone_form .table td {
    height: auto !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    white-space: normal !important;
}

#zone_form .table_input {
    height: auto !important;
    line-height: 1.2 !important;
}

/* Weight bagging dynamic edit input */
#zone_form .wt_edit {
    box-sizing: border-box !important;
    height: 30px !important;
    line-height: 1.2 !important;
    padding: 2px 6px !important;
    font-size: 12px !important;
}

/* Keep numeric inputs inside table cells */
#zone_form input.table_input,
#zone_form input.wt_edit {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Make the check action a proper red circle */
#zone_form .wt_change_save {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: var(--skynet-red, #f40e12) !important;
    color: #fff !important;
    text-decoration: none !important;
    vertical-align: middle !important;
}

#zone_form .wt_change_save i {
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

/* Total red boxes alignment (bottom section) */
#zone_form .statics_cnt {
    margin: 2px !important;
    padding: 4px !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    background: #ff0000 !important;
}

#zone_form .statics_cnt a {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

#zone_form .cnt_data {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.0 !important;
}

/* Manifest details + totals strip spacing lock (avoid overlap/collapse) */
#zone_form .manifest-meta-table {
    table-layout: fixed !important;
    margin: 0 0 16px 0 !important;
}

#zone_form .manifest-meta-table tr {
    height: 44px !important;
}

#zone_form .manifest-meta-table th,
#zone_form .manifest-meta-table td {
    vertical-align: middle !important;
}

#zone_form .manifest-meta-table td {
    padding: 0 !important;
    overflow: hidden !important;
}

#zone_form .manifest-meta-table .form-control {
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    border-radius: 3px !important;
}

#zone_form .manifest-meta-table+.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#zone_form .bag-stats-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 6px !important;
    /* 44px row height + 14px gap to ensure it clears metadata row */
    margin: 58px 0 0 0 !important;
    clear: both !important;
    position: static !important;
    z-index: auto !important;
}

#zone_form .bag-stats-row .bag-stat-col {
    padding: 0 !important;
    min-width: 0 !important;
}

#zone_form .bag-stats-row .bag-stat-col.sm {
    flex: 0 0 16.5% !important;
}

#zone_form .bag-stats-row .bag-stat-col.lg {
    flex: 0 0 25.25% !important;
}

#zone_form .bag-stats-row .statics_cnt {
    margin: 0 !important;
    min-height: 72px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* Make the check circle smaller + red */
#zone_form .wt_change_save {
    width: 24px !important;
    height: 24px !important;
    background: var(--skynet-red, #f40e12) !important;
    border-radius: 50% !important;
}

/* Bagging row action buttons - keep inside table cell */
#zone_form #docket_body tr td:last-child {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 4px !important;
    min-width: 110px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

#zone_form button[id^="submitForm"],
#zone_form button[id^="submitFormLock"] {
    padding: 2px 6px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
    width: 78px !important;
    max-width: 78px !important;
}

/* Replace blue shades with neutral grey on bagging screen */
#zone_form button[id^="submitForm_"],
#zone_form #weightForm {
    background: #6c757d !important;
    border-color: #5f6368 !important;
    color: #fff !important;
}

#zone_form .fixTableHead,
#zone_form .fixTableHead_large,
#zone_form .table-bordered,
#zone_form .table-bordered>tbody>tr>td,
#zone_form .table-bordered>tbody>tr>th,
#zone_form .table-bordered>thead>tr>td,
#zone_form .table-bordered>thead>tr>th {
    border-color: #b8bfc7 !important;
}

.table-wrapper .table {
    height: auto !important;
}

.table-wrapper .table thead th,
.table-wrapper .table tbody tr th {
    height: auto !important;
    text-transform: inherit !important;
}

.table-wrapper .table-responsive {
    height: auto !important;
    max-height: calc(100vh - 400px) !important;
    overflow: auto !important;
}

/* Manifest show_list filter row alignment */
#docket_filter .form-group label {
    font-size: 14px !important;
    font-weight: 200 !important;
    color: #222 !important;
    margin-bottom: 6px !important;
}

#docket_filter .form-control {
    height: 34px !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: 12px !important;
    color: #333 !important;
    background-color: #fff !important;
    padding: 6px 10px !important;
}

#docket_filter select.form-control {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    height: 36px !important;
    line-height: 20px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23F40E12' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m3 6 5 5 5-5'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 14px 10px !important;
    padding-right: 30px !important;
}

#docket_filter .form-control::placeholder {
    color: #9aa0a6 !important;
    opacity: 1 !important;
}

/* -------------------------------------------------------------------------
   Invoice Show List (invoice/show_list) - align with docket new UI
   Scoped to existing wrappers only.
   ------------------------------------------------------------------------- */
#demo-form2 .form-group label,
#demo-form2 .checkbox label,
#demo-form2 .dropdown-item,
#demo-form2 .btn,
#auto_email_form th,
#auto_email_form td,
#auto_email_form .btn,
#auto_email_form .dropdown-item {
    text-transform: capitalize !important;
}


#demo-form2 .form-control,
#demo-form2 select.form-control {
    height: 34px !important;
    border-radius: 8px !important;
    border: 1px solid #e1e5ea !important;
    font-size: 12px !important;
    box-shadow: none !important;
}

#demo-form2 .form-control::placeholder {
    color: #9aa0a6 !important;
}

#demo-form2 .btn-group .dropdown-menu,
#auto_email_form .dropdown-menu {
    border-radius: 10px !important;
    border: none !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}

#auto_email_form .table,
#auto_email_form #first,
#auto_email_form #second {
    white-space: nowrap !important;
}

#auto_email_form .table th {
    font-size: 12px !important;
    font-weight: 600 !important;
    background: #fde7e7 !important;
    color: var(--skynet-red, #f40e12) !important;
}

#auto_email_form .table td {
    font-size: 12px !important;
    color: #2d333b !important;
}

.form-group label {
    font-weight: 400 !important;
    font-size: 14px !important;
    margin-bottom: 2px !important;
}

.w-100,
select,
input {
    border-radius: 6px !important;
    border: 1px solid #e1e5e9 !important;
}

.input_border {
    border: 1px solid #e1e5e9 !important;
}

/* Users - Company User Form permissions UI cleanup */
#user_form #nav-tab.user_nav {
    border: 1px solid #e8ecf2 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 10px !important;
}

#user_form #nav-tab.user_nav .nav-link {
    border: 0 !important;
    border-right: 1px solid #edf1f6 !important;
    background: #fff !important;
    color: #4c5768 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 8px 10px !important;
}

#user_form #nav-tab.user_nav .nav-link.active {
    background: #f40e12 !important;
    color: #fff !important;
}

#user_form #nav-permissions {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    border: 1px solid #e6ebf1 !important;
    border-radius: 8px !important;
    padding: 10px !important;
    background: #fff !important;
}

#user_form #nav-permissions .wrapper1 {
    display: none !important;
}

#user_form #nav-permissions .wrapper2 {
    border: 1px solid #edf1f6 !important;
    border-radius: 8px !important;
    background: #fff !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
}

.btn.btn-header-link.text-white {
    color: #000 !important;
}

#user_form #permi_table {
    width: max-content !important;
    min-width: 1250px !important;
    margin-bottom: 0 !important;
    table-layout: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

#user_form #permi_table thead tr td,
#user_form #permi_table thead tr th {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    background: #fff6f6 !important;
    color: #d51b20 !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    padding: 7px 8px !important;
    border-color: #e6ebf1 !important;
    text-align: center !important;
}

#user_form #permi_table tbody td {
    font-size: 11px !important;
    color: #2f3a4a !important;
    padding: 9px 10px !important;
    min-height: 42px !important;
    line-height: 1.25 !important;
    border-color: #edf1f6 !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

#user_form #permi_table tbody tr {
    border-bottom: 1px solid #edf1f6 !important;
}

#user_form #permi_table tbody tr:nth-child(even) td {
    background: #fbfdff !important;
}

#user_form #permi_table tbody tr:hover td {
    background: #f3f8ff !important;
}

#user_form #permi_table tbody tr:hover td:first-child {
    background: #eaf2fb !important;
}

#user_form #permi_table tr>td:first-child,
#user_form #permi_table tr>th:first-child {
    position: sticky !important;
    left: 0 !important;
    z-index: 6 !important;
    background: #f5f8fc !important;
    color: #1f2b3d !important;
    width: 150px !important;
    min-width: 150px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    border-right: 1px solid #dbe3ec !important;
}

#user_form #permi_table tbody td:not(.inp_style):not(:first-child),
#user_form #permi_table thead td:not(:first-child),
#user_form #permi_table thead th:not(:first-child) {
    width: 72px !important;
    min-width: 72px !important;
    text-align: center !important;
}

/* Extra permission cells: wrapPermissionExtraPairs() in company_user_form wraps each chk+label in .perm-extra-pair */
#user_form #permi_table tbody td.inp_style {
    white-space: normal !important;
    vertical-align: top !important;
}

/* Do not set display:flex on <td> ? it breaks table row height and makes cells overlap. Flex is on .perm-extra-wrap. */
#user_form #permi_table td.inp_style {
    width: auto !important;
    min-width: 720px !important;
    max-width: 1180px !important;
    padding: 12px 14px !important;
    background: #fcfdff !important;
    line-height: 1.35 !important;
    box-sizing: border-box !important;
}

#user_form #permi_table td.inp_style .perm-extra-wrap {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

#user_form #permi_table td.inp_style .perm-extra-pair {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    min-width: 0 !important;
    min-height: auto !important;
    padding: 10px 8px !important;
    margin: 0 !important;
    border: 1px solid #cfd8e6 !important;
    border-radius: 8px !important;
    background: #f4f8fc !important;
    box-sizing: border-box !important;
    position: relative !important;
    isolation: isolate !important;
}

#user_form #permi_table td.inp_style .perm-extra-pair input[type="checkbox"] {
    margin: 0 !important;
    flex: 0 0 auto !important;
    width: 16px !important;
    height: 16px !important;
    align-self: center !important;
}

#user_form #permi_table td.inp_style .perm-extra-pair label {
    display: block !important;
    flex: 0 1 auto !important;
    width: 100% !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 1.25em !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    text-transform: none !important;
}

span.btn-primary {
    height: max-content !important;
}

.border_heading {
    height: max-content !important;
}

/* -------------------------------------------------------------------------
   Masters mega dropdown (company_sidebar_v3) ? aligned layout for sparse permissions
   ------------------------------------------------------------------------- */
.navbar.skynet-v3-topbar .lite-nav-item #master_menu.master-menu-dropdown,
.navbar.skynet-v3-topbar .lite-nav-item #master_menu.dropdown-menu {
    min-width: 220px !important;
    width: max-content !important;
    max-width: min(96vw, 920px) !important;
    padding: 10px 12px !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(21, 40, 62, 0.14) !important;
}

#master_menu > .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    margin: 0 !important;
    gap: 0 !important;
    width: 100% !important;
}

#master_menu .master-menu-col {
    flex: 1 1 200px !important;
    width: auto !important;
    max-width: 260px !important;
    min-width: 180px !important;
    padding: 6px 10px !important;
    border-right: 1px solid #eef1f5 !important;
}

#master_menu .master-menu-col:last-child {
    border-right: 0 !important;
}

/* Hide columns with no menu links (limited master_permission) */
#master_menu .master-menu-col:not(:has(a.dropdown-item)) {
    display: none !important;
}

#master_menu .master-menu-col:only-child,
#master_menu .master-menu-col:first-child:last-child {
    flex: 0 1 auto !important;
    max-width: 300px !important;
    min-width: 200px !important;
}

#master_menu .master-menu-col:nth-last-child(2):first-child,
#master_menu .master-menu-col:first-child:nth-last-child(2) {
    max-width: 320px !important;
}

.custom_navbar .navbar-nav #master_menu h3,
.navbar.skynet-v3-topbar #master_menu h3 {
    margin: 0 0 4px !important;
    padding: 6px 4px 4px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #1e293b !important;
    border-bottom: 1px solid #eef1f5 !important;
    white-space: normal !important;
    word-break: break-word !important;
}

/* Hide section titles that have no links beneath them */
#master_menu h3:not(:has(~ a.dropdown-item)) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.navbar.skynet-v3-topbar .lite-nav-item #master_menu .dropdown-item,
.navbar.skynet-v3-topbar .lite-nav-item #master_menu .dropdown-item.lite-dd-item,
.custom_navbar .navbar-nav #master_menu .dropdown-item {
    display: block !important;
    width: 100% !important;
    padding: 7px 8px !important;
    margin: 0 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #475569 !important;
    white-space: normal !important;
    word-break: break-word !important;
    border-radius: 4px !important;
    gap: 0 !important;
}

.navbar.skynet-v3-topbar .lite-nav-item #master_menu .dropdown-item:hover,
.navbar.skynet-v3-topbar .lite-nav-item #master_menu .dropdown-item:focus,
.navbar.skynet-v3-topbar .lite-nav-item #master_menu .dropdown-item.lite-dd-item:hover,
.navbar.skynet-v3-topbar .lite-nav-item #master_menu .dropdown-item.lite-dd-item:focus {
    background: #f6f8fb !important;
    color: #0f172a !important;
    transform: none !important;
}

@media (max-width: 767.98px) {
    .navbar.skynet-v3-topbar .lite-nav-item #master_menu.master-menu-dropdown,
    .navbar.skynet-v3-topbar .lite-nav-item #master_menu.dropdown-menu {
        max-width: calc(100vw - 24px) !important;
    }

    #master_menu .master-menu-col {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid #eef1f5 !important;
        padding: 8px 6px !important;
    }

    #master_menu .master-menu-col:last-child {
        border-bottom: 0 !important;
    }
}

.pagination-custom .current-page {
    background-color: var(--skynet-red) !important;
    border-color: var(--skynet-red) !important;
}

.pagination-custom a {
    color: var(--skynet-red) !important;
}

* {
    scrollbar-width: thin;
    scrollbar-color: #888 #f1f1f1;
}


.table#first th:last-child,
.table#first td:last-child {
    position: static !important;
}

/* -------------------------------------------------------------------------
   Manifest Show Form (show_form.php)
   Match visual language with docket/order-details UI
   ------------------------------------------------------------------------- */
.form_content_div #nav-tab {
    border: 1px solid #eceff3 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
}

.form_content_div #nav-tab .nav-item {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #4e5968 !important;
    border: 0 !important;
    border-right: 1px solid #eef1f5 !important;
    background: #ffffff !important;
    padding: 9px 10px !important;
    line-height: 1.2 !important;
}

.form_content_div #nav-tab .nav-item:last-child {
    border-right: 0 !important;
}

.form_content_div #nav-tab .nav-item.active {
    background: #f40e12 !important;
    color: #ffffff !important;
}

#manifest_form .validation_field {
    margin-bottom: 6px !important;
    align-items: center !important;
}

/* 
#manifest_form .text_label,
#manifest_form .col-form-label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #2f3a4a !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
} */

#manifest_form .form-control,
#manifest_form textarea.form-control {
    height: 34px !important;
    min-height: 34px !important;
    border: 1px solid #e4e9f0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: #2f3a4a !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 6px 10px !important;
}

#manifest_form textarea.form-control {
    min-height: 58px !important;
    height: auto !important;
    resize: vertical !important;
}

#manifest_form .form-control[disabled],
#manifest_form .form-control[readonly] {
    background: #f7f9fc !important;
    color: #5f6b7a !important;
    opacity: 1 !important;
}

#manifest_form .checkbox label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #2f3a4a !important;
}

#manifest_form .manifest_btn,
#top_submit .btn {
    height: 32px !important;
    border-radius: 8px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 30px !important;
}

#manifest_form .manifest_btn {
    background: #f40e12 !important;
    border-color: #e10d11 !important;
    color: #ffffff !important;
}

#manifest_form table.table th {
    background: #fdf1f1 !important;
    color: #d2161b !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-color: #eceff3 !important;
    text-transform: capitalize !important;
}

#manifest_form table.table td {
    font-size: 12px !important;
    color: #2f3a4a !important;
    border-color: #eceff3 !important;
}

/* Manifest lower section polish (buttons + filter row + grid) */
#manifest_form .form-group>.btn,
#manifest_form .btn.btn-export,
#manifest_form #search_awb,
#manifest_form #search_parcel,
#manifest_form #search_transfer_manifest,
#manifest_form #transfer_manifest_item {
    height: 30px !important;
    min-height: 30px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 0 12px !important;
    line-height: 28px !important;
    margin-right: 6px !important;
}

#manifest_form .col-sm-12.p-0.pt-2 {
    border-top: 1px solid #d8deea !important;
    margin-top: 6px !important;
    padding-top: 10px !important;
}

#manifest_form #selectAllCheckbox {
    width: 14px !important;
    height: 14px !important;
}

#manifest_form table.table thead th {
    white-space: nowrap !important;
    vertical-align: middle !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

#manifest_form table.table tbody td {
    vertical-align: middle !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

/* Service contracts show_list grid: horizontal scroll + fixed header/action */
div.col-12:has(#search_form)+div.col-12 .box-body.no-padding {
    overflow-x: auto !important;
    overflow-y: auto !important;
    width: 100% !important;
    max-width: 100% !important;
}

div.col-12:has(#search_form)+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive {
    display: table !important;
    width: max-content !important;
    min-width: 1750px !important;
    margin-bottom: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

div.col-12:has(#search_form)+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive th,
div.col-12:has(#search_form)+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive td {
    white-space: nowrap !important;
}

div.col-12:has(#search_form)+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive tr:first-child>th {
    position: sticky !important;
    top: 0 !important;
    right: auto !important;
    left: auto !important;
    z-index: 6 !important;
    background: #fde7e7 !important;
    color: #f40e12 !important;
}

div.col-12:has(#search_form)+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive tr:first-child>th a,
div.col-12:has(#search_form)+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive tr:first-child>th i {
    color: #f40e12 !important;
}

div.col-12:has(#search_form)+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive th:last-child,
div.col-12:has(#search_form)+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive td:last-child {
    position: sticky !important;
    right: 0 !important;
    background: #fff !important;
    box-shadow: -1px 0 0 #e6ebf1 !important;
    min-width: 140px !important;
}

div.col-12:has(#search_form)+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive th:last-child {
    z-index: 7 !important;
    background: #fde7e7 !important;
    color: #f40e12 !important;
}

/* Manifest contracts show_list: same fixed/scroll behavior */
div.col-12:has(#search_form[action*="manifest_contracts/advance_search"])+div.col-12 .box-body.no-padding {
    overflow-x: auto !important;
    overflow-y: auto !important;
    width: 100% !important;
    max-width: 100% !important;
}

div.col-12:has(#search_form[action*="manifest_contracts/advance_search"])+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive {
    display: table !important;
    width: max-content !important;
    min-width: 1400px !important;
    margin-bottom: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

div.col-12:has(#search_form[action*="manifest_contracts/advance_search"])+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive th,
div.col-12:has(#search_form[action*="manifest_contracts/advance_search"])+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive td {
    white-space: nowrap !important;
}

div.col-12:has(#search_form[action*="manifest_contracts/advance_search"])+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive tr:first-child>th {
    position: sticky !important;
    top: 0 !important;
    right: auto !important;
    left: auto !important;
    z-index: 6 !important;
    background: #fde7e7 !important;
    color: #f40e12 !important;
}

div.col-12:has(#search_form[action*="manifest_contracts/advance_search"])+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive tr:first-child>th a,
div.col-12:has(#search_form[action*="manifest_contracts/advance_search"])+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive tr:first-child>th i {
    color: #f40e12 !important;
}

div.col-12:has(#search_form[action*="manifest_contracts/advance_search"])+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive th:last-child,
div.col-12:has(#search_form[action*="manifest_contracts/advance_search"])+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive td:last-child {
    position: sticky !important;
    right: 0 !important;
    background: #fff !important;
    box-shadow: -1px 0 0 #e6ebf1 !important;
    min-width: 140px !important;
}

div.col-12:has(#search_form[action*="manifest_contracts/advance_search"])+div.col-12 .box-body.no-padding>table.table.table-striped.table-responsive th:last-child {
    z-index: 7 !important;
    background: #fde7e7 !important;
    color: #f40e12 !important;
}

/* Custom report show_list (custom_master_statement_list / report_list): horizontal scroll */
div.col-12:has(form#docket_filter[action*="custom_report/advance_search"])+div.col-12 .box-body.no-padding {
    overflow-x: auto !important;
    overflow-y: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #a3aebb #f1f1f1;
}

div.col-12:has(form#docket_filter[action*="custom_report/advance_search"])+div.col-12 .box-body.no-padding>table.table.scrollable_table {
    display: table !important;
    width: max-content !important;
    min-width: 100% !important;
    margin-bottom: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

div.col-12:has(form#docket_filter[action*="custom_report/advance_search"])+div.col-12 .box-body.no-padding>table.table.scrollable_table th,
div.col-12:has(form#docket_filter[action*="custom_report/advance_search"])+div.col-12 .box-body.no-padding>table.table.scrollable_table td {
    white-space: nowrap !important;
}

div.col-12:has(form#docket_filter[action*="custom_report/advance_search"])+div.col-12 .box-body.no-padding>table.table.scrollable_table tr:first-child>th {
    position: sticky !important;
    top: 0 !important;
    right: auto !important;
    left: auto !important;
    z-index: 6 !important;
    background: #fde7e7 !important;
    color: #f40e12 !important;
}

div.col-12:has(form#docket_filter[action*="custom_report/advance_search"])+div.col-12 .box-body.no-padding>table.table.scrollable_table tr:first-child>th a,
div.col-12:has(form#docket_filter[action*="custom_report/advance_search"])+div.col-12 .box-body.no-padding>table.table.scrollable_table tr:first-child>th i {
    color: #f40e12 !important;
}
/* Custom report: do not pin last column ? all body cells scroll horizontally */
div.col-12:has(form#docket_filter[action*="custom_report/advance_search"])+div.col-12 .box-body.no-padding>table.table.scrollable_table th:last-child,
div.col-12:has(form#docket_filter[action*="custom_report/advance_search"])+div.col-12 .box-body.no-padding>table.table.scrollable_table td:last-child {
    position: static !important;
    right: auto !important;
    left: auto !important;
    box-shadow: none !important;
    min-width: 0 !important;
    z-index: auto !important;
}

div.col-12:has(form#docket_filter[action*="custom_report/advance_search"])+div.col-12 .box-body.no-padding>table.table.scrollable_table tbody tr:not(:first-child) th {
    position: static !important;
    top: auto !important;
}

div.col-12:has(form#docket_filter[action*="custom_report/advance_search"])+div.col-12 .box-body.no-padding>table.table.scrollable_table tbody td {
    position: static !important;
}


/* Ticket System ITD show_list: keep Action column fixed on right */
div.col-12:has(#demo-form2[action*="ticket_system_itd/show_list"])+div.col-12 .box-body.no-padding.row {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

div.col-12:has(#demo-form2[action*="ticket_system_itd/show_list"])+div.col-12 .box-body.no-padding.row>div:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow-x: auto !important;
}

div.col-12:has(#demo-form2[action*="ticket_system_itd/show_list"])+div.col-12 .box-body.no-padding.row>div:first-child table#first {
    width: max-content !important;
    min-width: 1100px !important;
}

div.col-12:has(#demo-form2[action*="ticket_system_itd/show_list"])+div.col-12 .box-body.no-padding.row>div:last-child {
    flex: 0 0 auto !important;
    position: sticky !important;
    right: 0 !important;
    z-index: 12 !important;
    background: #fff !important;
    box-shadow: -2px 0 8px rgba(0, 0, 0, .08) !important;
}

div.col-12:has(#demo-form2[action*="ticket_system_itd/show_list"])+div.col-12 .box-body.no-padding.row>div:last-child table#second th:last-child,
div.col-12:has(#demo-form2[action*="ticket_system_itd/show_list"])+div.col-12 .box-body.no-padding.row>div:last-child table#second td:last-child {
    position: sticky !important;
    right: 0 !important;
    min-width: 120px !important;
    background: #fff !important;
    z-index: 13 !important;
}

div.col-12:has(#demo-form2[action*="ticket_system_itd/show_list"])+div.col-12 .box-body.no-padding.row>div:last-child table#second tr:first-child>th {
    background: #fde7e7 !important;
    color: #f40e12 !important;
}

/* AWB show list import modal/button polish */
.awb-import-btn {
    min-height: 34px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
}

#staticBackdrop .modal-content {
    border-radius: 12px !important;
}

#staticBackdrop .modal-body form {
    padding: 8px 0;
    border-bottom: 1px solid #f1f1f1;
}

#staticBackdrop .modal-body form:last-of-type {
    border-bottom: 0;
    padding-bottom: 0;
}

#full_width {
    max-width: 100% !important;
}

/* =============================================================================
   SkyNet V3 admin ? mobile top bar (hamburger left, search mid, logo centered,
   options + close right) and dashboard strip polish
   ============================================================================= */
@media (max-width: 991.98px) {
    /*
     * Logo was position:absolute + top:50% on .container-fluid, so when the menu opened
     * the fluid grew tall and 50% became the middle of header+menu → logo overlapped items.
     * Header row is the positioning context so the logo stays in the top bar only.
     */
    .navbar.skynet-v3-topbar .container-fluid {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .navbar.skynet-v3-topbar .skynet-v3-mobile-header-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        position: relative !important;
        width: 100% !important;
        min-height: 56px !important;
        flex: 0 0 auto !important;
    }

    .navbar.skynet-v3-topbar .skynet-v3-mobile-header-row .navbar-brand {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
        z-index: 2;
        pointer-events: auto;
    }

    .navbar.skynet-v3-topbar .skynet-v3-mobile-header-row .navbar-brand .logo-image {
        height: 44px !important;
        max-width: 168px !important;
        width: auto !important;
    }

    .navbar.skynet-v3-topbar .skynet-v3-nav-toggle {
        flex-shrink: 0;
        z-index: 3;
        padding: 0.35rem 0.5rem !important;
        border-radius: 10px !important;
        border: 1px solid #e2e8ef !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    }

    .navbar.skynet-v3-topbar .skynet-v3-mobile-track-btn {
        flex-shrink: 0;
        z-index: 3;
    }

    .navbar.skynet-v3-topbar .skynet-v3-mobile-end-actions {
        margin-left: auto !important;
        display: inline-flex !important;
        align-items: center;
        gap: 6px;
        z-index: 3;
        position: relative;
    }

    .navbar.skynet-v3-topbar #navbar {
        width: 100% !important;
        flex: 1 1 auto !important;
    }

    .navbar.skynet-v3-topbar .skynet-v3-mobile-track-btn,
    .navbar.skynet-v3-topbar .skynet-v3-mobile-icon-btn {
        width: 40px;
        height: 40px;
        padding: 0;
        border-radius: 10px;
        border: 1px solid #e2e8ef;
        background: #ffffff;
        color: #3e4b5b;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
        transition: border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, background 0.15s ease;
    }

    .navbar.skynet-v3-topbar .skynet-v3-mobile-track-btn i,
    .navbar.skynet-v3-topbar .skynet-v3-mobile-icon-btn i {
        font-size: 14px;
        line-height: 1;
    }

    .navbar.skynet-v3-topbar .skynet-v3-mobile-track-btn:hover,
    .navbar.skynet-v3-topbar .skynet-v3-mobile-track-btn:focus,
    .navbar.skynet-v3-topbar .skynet-v3-mobile-icon-btn:hover,
    .navbar.skynet-v3-topbar .skynet-v3-mobile-icon-btn:focus {
        outline: none;
        border-color: var(--skynet-red, #f40e12);
        color: var(--skynet-red, #f40e12);
        box-shadow: 0 2px 8px rgba(244, 14, 18, 0.12);
        background: #fffafa;
    }

    .navbar.skynet-v3-topbar .skynet-mobile-header-close {
        display: none !important;
    }

    .navbar.skynet-v3-topbar.nav-drawer-open .skynet-mobile-header-close {
        display: inline-flex !important;
    }

    .navbar.skynet-v3-topbar.nav-drawer-open .skynet-v3-nav-toggle {
        opacity: 0;
        visibility: hidden;
        width: 0 !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border-width: 0 !important;
        overflow: hidden;
        pointer-events: none;
    }

    .navbar.skynet-v3-topbar #navbar.collapsing {
        margin-top: 10px !important;
        overflow: hidden !important;
    }

    .navbar.skynet-v3-topbar #navbar.collapse.show {
        margin-top: 10px !important;
        padding: 10px 6px 14px !important;
        border-radius: 14px !important;
        border: 1px solid #e8edf3 !important;
        background: #ffffff !important;
        box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12) !important;
        overflow: visible !important;
    }

    .navbar.skynet-v3-topbar #navbar.collapse.show .navbar-nav {
        max-height: none;
        overflow: visible !important;
    }

    .navbar.skynet-v3-topbar .navbar-collapse .navbar-nav {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }

    .navbar.skynet-v3-topbar .navbar-nav .nav-item {
        white-space: normal !important;
    }

    .navbar.skynet-v3-topbar .navbar-nav .nav-link {
        width: 100%;
        justify-content: flex-start;
    }

    .navbar.skynet-v3-topbar .nav-search-item .awb-search-group {
        flex-wrap: wrap !important;
        gap: 6px !important;
    }

    .navbar.skynet-v3-topbar .nav-search-item #docket_tracking_no {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Dashboard date / action strip: horizontal scroll instead of clipping */
    .info_bar .container-fluid .row {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        gap: 8px;
        padding-bottom: 6px;
        scrollbar-width: thin;
    }

    .info_bar .container-fluid .row::-webkit-scrollbar {
        height: 4px;
    }

    .info_bar .custom_col {
        flex: 0 0 auto !important;
        margin-bottom: 0 !important;
        max-width: none !important;
    }

    .info_bar .btn.btn-warning {
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
    }

    .content-wrapper .content {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }

    .card {
        border-radius: 12px !important;
        box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06) !important;
        border: 1px solid #eceff3 !important;
    }
}

/* AWB entry tabs - new UI header styling */
.awb-entry-tabs-v3 {
    border: 0;
    border-radius: 0;
    background: transparent;
    gap: 8px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.awb-entry-tabs-v3 .nav-link {
    color: #444;
    border: 1px solid #e3e3e3 !important;
    border-radius: 8px !important;
    background: #f7f7f7;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 14px;
    line-height: 1.1;
    margin-right: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
    min-height: 34px;
    width: 170px !important;
}

.awb-entry-tabs-v3 .nav-link i {
    width: 20px;
    height: 20px;
    min-width: 20px;
    border-radius: 999px;
    background: #ff1d1d;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}

.awb-entry-tabs-v3 .nav-link.active,
.awb-entry-tabs-v3 .nav-item.show .nav-link {
    width: 170px !important;
    background: #ffe8e8 !important;
    color: #c72222 !important;
    border-color: #f3c2c2 !important;
}

.awb-entry-tabs-v3 .nav-link:hover {
    color: #222;
    background: #fff;
}

.awb-entry-tabs-v3 .awb-entry-extra-tab {
    position: relative;
}

.awb-entry-tabs-v3 .awb-entry-extra-tab .dropdown-menu {
    min-width: 160px;
    border-radius: 8px;
    border: 1px solid #e3e3e3;
    z-index: 1060;
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    left: auto !important;
    right: 0 !important;
    transform: none !important;
    will-change: auto !important;
}

.awb-entry-tabs-v3 .awb-entry-extra-tab .dropdown-item {
    font-size: 12px;
    font-weight: 500;
    padding: 8px 12px;
}

@media (min-width: 992px) {
    .navbar.skynet-v3-topbar .skynet-v3-mobile-header-row {
        display: contents !important;
    }

    .navbar.skynet-v3-topbar .skynet-v3-mobile-track-btn,
    .navbar.skynet-v3-topbar .skynet-v3-mobile-end-actions {
        display: none !important;
    }
}

/* Docket form mobile: keep CSB/Document radios inside card */
@media (max-width: 767.98px) {
    .docket-mobile-csb-row {
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 8px 12px;
    }

    .docket-mobile-csb-row .form-check-inline {
        margin-right: 0 !important;
        margin-left: 0 !important;
        display: inline-flex !important;
        align-items: center;
        flex: 0 0 auto;
        max-width: 100%;
    }

    .docket-mobile-csb-row .form-check-label {
        font-size: 13px !important;
        line-height: 1.2;
        white-space: nowrap;
    }

    .docket-mobile-csb-row .docket-mobile-inscan-option {
        margin-left: 0 !important;
        width: 100%;
        border-top: 1px dashed #e5e7eb;
        padding-top: 6px;
    }
}

/* iPad/tablet: keep new docket list filters/actions inside card */
@media (min-width: 768px) and (max-width: 1024px) {
    .table-wrapper .table-title {
        margin-bottom: 12px !important;
        padding-bottom: 12px !important;
    }

    .table-wrapper .table-title .row.g-2.align-items-center {
        row-gap: 8px;
    }

    .table-wrapper .table-title .col-12.col-md-4,
    .table-wrapper .table-title .col-12.col-md-8 {
        display: flex !important;
        align-items: center !important;
    }

    .table-wrapper .table-title .col-12.col-md-8 {
        justify-content: flex-end !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .table-wrapper .table-title .fixed-button {
        width: auto !important;
        min-width: 0 !important;
        height: 38px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
    }

    .table-wrapper .table-title .btn .nav-icon {
        margin-right: 0 !important;
    }

    #docket_filter .row.g-3.align-items-end {
        row-gap: 10px !important;
    }

    #docket_filter .row.g-3.align-items-end > .col-12.col-md-2 {
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
    }

    #docket_filter .form-label {
        min-height: 18px;
        margin-bottom: 4px !important;
    }

    #docket_filter .form-control,
    #docket_filter .form-select {
        height: 36px !important;
        font-size: 12px !important;
    }

    #docket_filter .col-12.col-md-2.d-flex.align-items-end.gap-2 {
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        padding-top: 0 !important;
    }

    #docket_filter .col-12.col-md-2.d-flex.align-items-end.gap-2 .dropdown,
    #docket_filter .col-12.col-md-2.d-flex.align-items-end.gap-2 button[type="submit"] {
        flex: 0 0 auto;
        min-width: 94px;
        height: 36px !important;
    }
}

/* Dashboard run performance cards (v3) */
.dashboard-v3-run-performance-header {
    background: var(--skynet-red) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 14px;
    padding: 6px 5px;
}

.dashboard-v3-run-performance-stat {
    background: var(--skynet-red) !important;
    color: #fff !important;
    font-size: 19px;
    font-weight: 700;
    padding: 4px 17px;
    border-radius: 6px;
}

/* Dashboard mobile: prevent date filters from clipping */
@media (max-width: 767.98px) {
    .dashboard-v3-top-row {
        row-gap: 10px;
    }

    .dashboard-v3-greeting .box-title {
        font-size: 15px !important;
        line-height: 1.2;
        margin: 0 0 4px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .dashboard-v3-filters {
        text-align: left !important;
    }

    .dashboard-v3-day-filter {
        width: 100%;
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        gap: 4px;
        padding-bottom: 4px;
    }

    .dashboard-v3-day-filter > a.btn {
        flex: 0 0 auto;
        min-height: 34px;
        white-space: nowrap;
    }

    .dashboard-v3-day-filter .dashboard-v3-date-range {
        margin-left: 6px !important;
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .dashboard-v3-date-range form {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

    .dashboard-v3-date-range input[type="date"] {
        min-width: 120px;
    }
}

/* Manifest show_list (legacy grid) - fix crooked filter header + squeezed table */
form#docket_filter[action*="manifest/advance_search"] .row {
    row-gap: 6px;
}

form#docket_filter[action*="manifest/advance_search"] .form-group {
    margin-bottom: 6px !important;
}

form#docket_filter[action*="manifest/advance_search"] .form-group > label {
    display: block;
    min-height: 18px;
    margin-bottom: 4px !important;
    font-size: 12px !important;
    line-height: 1.2;
}

/* Tablet cleanup for filter grid and action buttons */
@media (min-width: 768px) and (max-width: 1199.98px) {
    form#docket_filter[action*="manifest/advance_search"] > .row > .col-sm-2 {
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }

    form#docket_filter[action*="manifest/advance_search"] > .row > .col-sm-8 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    form#docket_filter[action*="manifest/advance_search"] .col-sm-8 .form-group.mt-3 {
        margin-top: 4px !important;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    form#docket_filter[action*="manifest/advance_search"] .col-sm-8 .form-group.mt-3 .btn {
        margin: 0 !important;
    }
}

/* AWB Wise Ledger report (new UI) */
.awb-wise-ledger-v3 {
    --awb-v3-red: #f40e12;
    --awb-v3-red-dark: #cc1212;
    --awb-v3-head-bg: #fff2f2;
    --awb-v3-border: #e5e9ef;
    --awb-v3-text: #1f2937;
    --awb-v3-muted: #64748b;
}

.awb-wise-ledger-v3 .box {
    border: 1px solid var(--awb-v3-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 22px -18px rgba(15, 23, 42, 0.35) !important;
    background: #fff !important;
}

.awb-wise-ledger-v3 .box-body {
    padding: 14px !important;
}

.awb-wise-ledger-v3 .form-group > label {
    color: var(--awb-v3-text) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    letter-spacing: .2px !important;
}

.awb-wise-ledger-v3 .form-control {
    border: 1px solid #d9e0e8 !important;
    border-radius: 8px !important;
    min-height: 36px !important;
    color: var(--awb-v3-text) !important;
    box-shadow: none !important;
}

.awb-wise-ledger-v3 .form-control:focus {
    border-color: #b7c0cb !important;
    box-shadow: 0 0 0 3px rgba(244, 14, 18, 0.1) !important;
}

.awb-wise-ledger-v3 .btn.bg-olive,
.awb-wise-ledger-v3 #btn-search {
    background: var(--awb-v3-red) !important;
    border-color: var(--awb-v3-red) !important;
    color: #fff !important;
    border-radius: 8px !important;
    min-width: 96px !important;
    font-weight: 600 !important;
}

.awb-wise-ledger-v3 .btn.bg-olive:hover,
.awb-wise-ledger-v3 #btn-search:hover {
    background: var(--awb-v3-red-dark) !important;
    border-color: var(--awb-v3-red-dark) !important;
}

.awb-wise-ledger-v3 .btn.btn-info,
.awb-wise-ledger-v3 .export_btn {
    border-radius: 8px !important;
    font-weight: 600 !important;
}

.awb-wise-ledger-v3 .awb-table-wrap {
    overflow-x: auto !important;
    padding-right: 0 !important;
    border: 1px solid var(--awb-v3-border) !important;
    border-radius: 10px !important;
}

.awb-wise-ledger-v3 .pro-table {
    width: 100% !important;
    min-width: 1750px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin-bottom: 0 !important;
    font-size: 12px !important;
    color: var(--awb-v3-text) !important;
    background: #fff !important;
}

.awb-wise-ledger-v3 .pro-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 1 !important;
    background: var(--awb-v3-head-bg) !important;
    color: #8d1111 !important;
    border-bottom: 1px solid #f2cdcd !important;
    padding: 10px 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .2px !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.awb-wise-ledger-v3 .pro-table tbody td {
    padding: 8px !important;
    border-bottom: 1px solid #eef2f6 !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.awb-wise-ledger-v3 .pro-table tbody tr:hover td {
    background: #f8fbff !important;
}

.awb-wise-ledger-v3 .pro-table tbody tr.awb-account-row td {
    background: #111827 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .2px !important;
    text-align: center !important;
}

/* Requested: remove yellow, use red with white text */
.awb-wise-ledger-v3 .pro-table tbody tr.awb-balance-row td {
    background: var(--awb-v3-red) !important;
    color: #fff !important;
    font-weight: 600 !important;
}

.awb-wise-ledger-v3 .pro-table tbody tr.awb-closing-row td {
    background: var(--awb-v3-red-dark) !important;
    color: #fff !important;
    font-weight: 700 !important;
}

.awb-wise-ledger-v3 .pro-table tbody tr.awb-credit-row td {
    background: #e8f1ff !important;
    color: #0b3f91 !important;
    font-weight: 600 !important;
}

.awb-wise-ledger-v3 .pro-table tbody tr.awb-debit-row td {
    background: #ebfaee !important;
    color: #116a31 !important;
    font-weight: 600 !important;
}

.awb-wise-ledger-v3 .pro-table tbody tr.awb-entry-row td {
    background: #f7f9fc !important;
}

.awb-wise-ledger-v3 .pro-table tbody tr.awb-charge-row td {
    background: #fff !important;
    color: var(--awb-v3-muted) !important;
}

/* Better professional alignment: text columns left, numeric columns right */
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(3),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(4),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(5),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(7),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(13) {
    text-align: left !important;
}

.awb-wise-ledger-v3 .pro-table tbody td:nth-child(2),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(6),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(8),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(9),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(10),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(11),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(12),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(14),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(15),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(16),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(17),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(18),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(19),
.awb-wise-ledger-v3 .pro-table tbody td:nth-child(20) {
    text-align: right !important;
}

/* ========================================
   SKYNET DASHBOARD - FOLDABLE/TABLET FIXES
   ======================================== */
@media (max-width: 1180px) {
    .skynet-dashboard {
        padding: 16px !important;
    }

    .skynet-dashboard>.row {
        flex-wrap: wrap !important;
    }

    .skynet-dashboard>.row>[class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

@media (max-width: 767px) {
    .skynet-dashboard {
        padding: 12px !important;
    }

    .skynet-dashboard .skynet-section-header {
        font-size: 14px !important;
    }

    .skynet-dashboard .skynet-card-header {
        font-size: 13px !important;
        padding: 10px 12px !important;
    }

    .skynet-dashboard .skynet-table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
    }
}

@media (horizontal-viewport-segments: 2),
(vertical-viewport-segments: 2) {
    .skynet-dashboard {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* ========================================
   SKYNET V3 - UNIFIED INPUT BORDER RADIUS (8px)
   Applies across new UI pages using v3_style.css
   ======================================== */
body:not(.signup-page) .form-control:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
body:not(.signup-page) .form-select,
body:not(.signup-page) textarea.form-control,
body:not(.signup-page) input.form-control,
body:not(.signup-page) select.form-select,
body .form-control-sm,
body .form-select-sm,
body .form-control-lg,
body .form-select-lg,
body .table_input,
body .datepicker_text,
body .flatpickr-input.form-control,
body .tm-flight-master-page__control,
body .tm-forwarder-form-page__control,
body .input_border {
    border-radius: 8px !important;
}

body .select2-container--default .select2-selection--single,
body .select2-container--default .select2-selection--multiple {
    border-radius: 8px !important;
}

/* AWB entry header tabs */
body .awb-entry-tabs-v3 .nav-link {
    border-radius: 8px !important;
}

/* Keep drag-and-drop KYC upload pill shape */
body .tm-file-dropzone-label {
    border-radius: 999px !important;
}

/* ========================================
   SKYNET V3 - CUSTOMER PORTAL SIGNUP PAGE
   Cross-platform (Mac / Windows) layout
   ======================================== */
body.signup-page {
    --signup-brand-red: #e82828;
    --signup-brand-dark: #8b0f0f;
    --signup-panel-gradient: linear-gradient(165deg, #ef2f2a 0%, #c41e18 42%, #7a0e0a 100%);
    --signup-text-on-red: #ffffff;
    --signup-text-muted-on-red: #ffffff;
    --signup-input-border: rgba(255, 255, 255, 0.85);
    --signup-btn-coral: #f4847a;
    --signup-btn-coral-hover: #ff9a90;
    --signup-success: #86efac;
    --signup-error-light: #fecaca;
    --signup-input-height: 38px;
    --signup-action-btn-height: 38px;
    --signup-submit-height: 48px;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400 !important;
    text-transform: none !important;
    background: #ffffff !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body.signup-page *:not(i):not(.fa):not(.fas):not(.far):not(.fab) {
    text-transform: none !important;
}

@media (min-width: 992px) {
    html.signup-html,
    html.signup-html body.signup-page {
        height: 100%;
        min-height: 100%;
        overflow: hidden !important;
    }
}

body.signup-page .signup-page-layout {
    display: flex;
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}

body.signup-page .signup-visual-panel {
    flex: 1 1 52%;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    padding: 2rem 2.5rem 2rem 3rem;
    position: relative;
    z-index: 1;
    min-width: 0;
}

body.signup-page .signup-visual-header {
    margin-bottom: 1.5rem;
}

body.signup-page .signup-brand-logo {
    height: 42px;
    width: auto;
    max-width: 220px;
    object-fit: contain;
}

body.signup-page .signup-illustration-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1rem 2rem;
}

body.signup-page .signup-illustration {
    width: 100%;
    max-width: 680px;
    height: auto;
    object-fit: contain;
    display: block;
}

body.signup-page .signup-form-panel {
    flex: 0 0 50%;
    max-width: 52%;
    background: var(--signup-panel-gradient);
    position: relative;
    z-index: 2;
    margin-left: -6%;
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
    display: flex;
    align-items: stretch;
    justify-content: center;
    padding: 2rem 2.25rem 2rem 4.5rem;
    box-sizing: border-box;
    overflow-y: hidden;
    max-height: 100vh;
}

body.signup-page .signup-form-panel::before {
    content: '';
    position: absolute;
    bottom: 1.5rem;
    right: 1.5rem;
    width: 28px;
    height: 28px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' opacity='0.35'%3E%3Cpath d='M12 0l2.4 7.2L22 9.6l-5.6 4.8L18.4 22 12 17.6 5.6 22l2-7.6L2 9.6l7.6-2.4z'/%3E%3C/svg%3E") center/contain no-repeat;
    pointer-events: none;
}

body.signup-page .form-card {
    width: 100%;
    max-width: 560px;
    animation: signupSlideInUp 0.6s ease;
    color: var(--signup-text-on-red);
    display: flex;
    flex-direction: column;
    min-height: 100%;
    box-sizing: border-box;
}

body.signup-page .signup-form-top {
    flex-shrink: 0;
}

body.signup-page .signup-form-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

body.signup-page .signup-form-bottom {
    flex-shrink: 0;
    padding-top: 0.75rem;
}

body.signup-page #section_gst.flow-section.active {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
    min-height: 0;
}

body.signup-page .signup-fields-2col {
    display: flex;
    flex-direction: column;
    gap: -0.75rem;
    flex: 1;
    min-height: 0;
}

body.signup-page .signup-field-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
    margin-top: 20px;
}

body.signup-page .signup-field-row:first-child {
    margin-top: 0;
}

body.signup-page .field-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

body.signup-page .input-action-row {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

body.signup-page .input-action-row .form-control {
    flex: 1;
    min-width: 0;
}

body.signup-page .input-action-row .action-btn {
    flex: 0 0 auto;
    min-width: 108px;
    max-width: 130px;
}

body.signup-page .otp-inline-row {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

body.signup-page .otp-inline-row .form-control {
    flex: 1;
    min-width: 0;
}

body.signup-page .otp-inline-row .action-btn {
    flex: 0 0 76px;
    min-width: 76px;
    font-size: 0.8rem;
    padding: 0 8px;
}

body.signup-page .field-stack .action-btn--wide {
    width: 100%;
    max-width: none;
}

body.signup-page .signup-form-actions {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

@keyframes signupSlideInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

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

body.signup-page .header-section {
    margin-bottom: 1.1rem;
}

body.signup-page .title-h2 {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--signup-text-on-red);
    margin: 0 0 0.25rem;
    letter-spacing: -0.02em;
}

body.signup-page .signup-login-link {
    margin-top: 0;
    text-align: center;
    font-size: 0.9rem;
    color: #ffffff;
}

body.signup-page .signup-login-link a {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

body.signup-page .signup-login-link a:hover {
    text-decoration: underline;
}

body.signup-page .form-row {
    display: grid;
    grid-template-columns: 1fr 130px 160px;
    gap: 12px;
    margin-bottom: 1.1rem;
    align-items: flex-end;
}

body.signup-page .form-row.two-col {
    grid-template-columns: 1fr 150px;
}

body.signup-page .field-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

body.signup-page .label-text {
    font-weight: 500;
    font-size: 0.78rem;
    color: #ffffff;
    letter-spacing: 0.02em;
}

body.signup-page .signup-form-panel .form-card .form-control,
body.signup-page .signup-form-panel .form-card select.form-control,
body.signup-page .signup-form-panel .form-card input.form-control {
    width: 100%;
    height: var(--signup-input-height);
    min-height: var(--signup-input-height);
    max-height: var(--signup-input-height);
    padding: 6px 0 4px;
    border: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid var(--signup-input-border) !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    font-size: 0.9rem;
    line-height: 1.35;
    box-shadow: none !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}

body.signup-page .signup-form-panel .form-card .form-control::placeholder {
    color: rgba(255, 255, 255, 0.55);
    opacity: 1;
}

body.signup-page .signup-form-panel .form-card .form-control:focus {
    outline: none;
    border-bottom-color: #fff !important;
    box-shadow: 0 1px 0 0 #fff !important;
    background: transparent !important;
    color: #ffffff !important;
}

body.signup-page .signup-form-panel .form-card .form-control:-webkit-autofill,
body.signup-page .signup-form-panel .form-card .form-control:-webkit-autofill:hover,
body.signup-page .signup-form-panel .form-card .form-control:-webkit-autofill:focus {
    -webkit-text-fill-color: #ffffff !important;
    -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
    box-shadow: 0 0 0 1000px transparent inset !important;
    transition: background-color 99999s ease-in-out 0s;
    caret-color: #ffffff;
}

body.signup-page .signup-form-panel .form-card select.form-control {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='white' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 4px center !important;
    background-color: transparent !important;
    padding-right: 22px;
}

body.signup-page select.form-control option {
    color: #1e293b;
    background: #fff;
}

body.signup-page .signup-form-panel .action-btn {
    height: var(--signup-action-btn-height);
    min-height: var(--signup-action-btn-height);
    max-height: var(--signup-action-btn-height);
    background: rgba(255, 255, 255, 0.18) !important;
    background-color: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    border-radius: 8px !important;
    font-weight: 600;
    font-size: 0.85rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    box-sizing: border-box;
    width: 100%;
    padding: 0 12px;
    -webkit-appearance: none;
    appearance: none;
    font-family: inherit;
}

body.signup-page .signup-form-panel .action-btn:hover {
    background: rgba(255, 255, 255, 0.28) !important;
    background-color: rgba(255, 255, 255, 0.28) !important;
    border-color: #fff !important;
    color: #fff !important;
}

body.signup-page .signup-form-panel .action-btn:disabled {
    background: rgba(255, 255, 255, 0.08) !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: rgba(255, 255, 255, 0.5) !important;
    cursor: not-allowed;
}

body.signup-page .toggle-btn {
    color: #fff;
    text-decoration: underline;
    font-size: 0.85rem;
    cursor: pointer;
    display: inline-block;
    margin-top: 5px;
    opacity: 0.9;
}

body.signup-page .toggle-btn:hover {
    opacity: 1;
}

body.signup-page .flow-section {
    display: none;
}

body.signup-page .flow-section.active {
    display: block;
}

body.signup-page .landing-box {
    text-align: center;
    padding: 10px 0;
}

body.signup-page .info-text {
    font-size: 0.9rem;
    color: var(--signup-text-muted-on-red);
    margin: 20px 0;
    line-height: 1.6;
}

body.signup-page .signup-form-panel .proceed-btn,
body.signup-page .signup-form-panel .submit-bar,
body.signup-page .signup-form-panel button.proceed-btn,
body.signup-page .signup-form-panel button.submit-bar,
body.signup-page .signup-form-panel button[type="submit"].submit-bar {
    width: 100%;
    height: var(--signup-submit-height);
    min-height: var(--signup-submit-height);
    max-height: var(--signup-submit-height);
    background: var(--signup-btn-coral) !important;
    background-color: var(--signup-btn-coral) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
    padding: 0 16px;
    -webkit-appearance: none;
    appearance: none;
    font-family: inherit;
}

body.signup-page .signup-form-panel .proceed-btn:hover,
body.signup-page .signup-form-panel .submit-bar:hover {
    background: var(--signup-btn-coral-hover) !important;
    background-color: var(--signup-btn-coral-hover) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

body.signup-page .signup-form-panel .submit-bar {
    margin-top: 0;
}

body.signup-page .verified-status {
    color: var(--signup-success);
    font-weight: 600;
    font-size: 0.85rem;
    display: none;
    margin-top: 5px;
}

body.signup-page .error-status {
    color: var(--signup-error-light);
    font-weight: 600;
    font-size: 0.85rem;
    display: none;
    margin-top: 5px;
}

body.signup-page .form-card label[for],
body.signup-page .form-card label:not([for]) {
    color: #ffffff;
    font-size: 0.85rem;
}

body.signup-page .form-card a {
    color: #fff;
    font-weight: 600;
}

body.signup-page .form-card input[type="checkbox"] {
    accent-color: var(--signup-btn-coral);
    margin-right: 6px;
}

body.signup-page #gst_whatsapp_resend_row p,
body.signup-page #dl_btn_container p {
    color: var(--signup-text-muted-on-red) !important;
}

body.signup-page #dl_post_verify > div:first-child,
body.signup-page #section_success > div {
    border-radius: 10px;
}

body.signup-page #section_success .title-h2 {
    color: #166534 !important;
}

body.signup-page #section_success p {
    color: #444 !important;
}

body.signup-page #btn_dl_reset {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
}

body.signup-page .data-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.08);
}

body.signup-page .data-table th,
body.signup-page .data-table td {
    padding: 10px 14px;
    text-align: left;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 0.88rem;
    color: var(--signup-text-on-red);
}

body.signup-page .data-table th {
    background: rgba(0, 0, 0, 0.15);
    font-weight: 600;
    width: 35%;
    color: var(--signup-text-muted-on-red);
}

body.signup-page .data-table tr:last-child th,
body.signup-page .data-table tr:last-child td {
    border-bottom: none;
}

body.signup-page #commonLocation {
    margin-bottom: 0 !important;
}

body.signup-page .gst-flow-meta {
    margin-top: 4px;
    margin-bottom: 0;
}

body.signup-page .gst-auth-row {
    margin-top: 0;
    line-height: 1.45;
}

body.signup-page #gst_email_success {
    background: transparent !important;
    color: var(--signup-success) !important;
    border: none !important;
}

@media (min-width: 992px) {
    body.signup-page {
        overflow: hidden !important;
    }

    body.signup-page .signup-page-layout {
        height: 100vh;
        max-height: 100vh;
        overflow: hidden;
    }

    body.signup-page .signup-form-panel {
        padding: 3rem 1rem 1rem 9.25rem;
    }

    body.signup-page .form-card {
        max-width: 580px;
        padding: 0.75rem 0;
    }

    body.signup-page .title-h2 {
        font-size: 1.75rem;
    }

    body.signup-page .header-section {
        margin-bottom: 1rem;
    }

    body.signup-page .label-text {
        font-size: 0.8rem;
    }
}

@media (max-width: 991px) {
    body.signup-page .signup-page-layout {
        flex-direction: column;
    }

    body.signup-page .signup-visual-panel {
        flex: none;
        padding: 1.5rem;
    }

    body.signup-page .signup-illustration-wrap {
        padding-bottom: 1rem;
    }

    body.signup-page .signup-illustration {
        max-width: 720px;
    }

    body.signup-page .signup-form-panel {
        flex: 1;
        max-width: 100%;
        margin-left: 0;
        clip-path: none;
        padding: 2rem 1.5rem 2.5rem;
        max-height: none;
        overflow-y: auto;
        align-items: flex-start;
    }

    body.signup-page .signup-field-row {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    body.signup-page .form-row {
        grid-template-columns: 1fr;
    }

    body.signup-page .form-row[style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
    }

    body.signup-page #section_gst.flow-section.active {
        gap: 1.25rem;
        justify-content: flex-start;
    }

    body.signup-page .form-card {
        min-height: auto;
    }
}
