/* ===============================
   Google Fonts
================================= */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

/* ===============================
   Base Styles
================================= */
body {
    font-size: 0.875rem;
    font-family: "Inter", sans-serif;
    background-color: #fbfbfb;
}

/* ===============================
   Navbar
================================= */
.navbar {
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}
.navbar-brand .logo {
    width: 90%;
    transition: width 0.3s ease;
}
.hide-navbar {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-100%);
}

/* ===============================
   Hero Section
================================= */
.hero {
    height: 22.75rem;
    background-image: linear-gradient(
            350.97deg,
            rgba(0, 0, 0, 0) 24.02%,
            #000000 94.01%
        ),
        url("../images/banner.png");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.main-content-sec {
    margin-top: -70px;
}
/* ===============================
   Tabs
================================= */
.custom-tabs {
    gap: 0.75rem;
}
.custom-tabs .nav-link {
    gap: 0.5625rem;
    background: rgba(255, 255, 255, 0.8);
    color: #000000;
    border-radius: 0.5rem;
    min-width: 6.25rem;
    min-height: 3.75rem;
}
.custom-tabs .nav-link.active {
    background: #1699db;
    color: #fff;
}
.custom-tabs .nav-link.active img {
    filter: brightness(0) invert(1);
}

/* ===============================
   Card Wrapper
================================= */
.card-wrapper {
    background: #ffffff;
    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25);
    border-radius: 1.5rem;
    min-height: 10rem;
    position: relative;
}

/* ===============================
   Tables
================================= */
table {
    border-collapse: separate;
    border-spacing: 0 0.5rem;
}
table thead th {
    padding: 1rem 1rem 1rem 0px !important;
    vertical-align: middle;
    text-wrap: nowrap;
    font-weight: 500 !important;
    background-color: #349cd3 !important;
    color: #fff !important;
}
table tbody tr {
    border: 1px solid #e3e3e3 !important;
    /* box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.07); */
    border-radius: 0.75rem !important;
}
table tbody td {
    padding: 0.5rem 1rem 0.5rem 0px !important;
    vertical-align: middle;
    text-wrap: nowrap;
    border-top: 1px solid #edeff3;
    border-bottom: 1px solid #edeff3;
}
table tbody td:first-child {
    border-left: 1px solid #edeff3;
}
table tbody td:last-child {
    border-right: 1px solid #edeff3;
}
table td:first-child,
table th:first-child {
    padding-left: 1rem !important;
    border-top-left-radius: 0.75rem;
    border-bottom-left-radius: 0.75rem;
}
table td:last-child,
table th:last-child {
    padding-right: 1rem !important;
    border-top-right-radius: 0.75rem;
    border-bottom-right-radius: 0.75rem;
}

/* ===============================
   Buttons
================================= */
.btn {
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.375rem;
    border-radius: 0.25rem;
}

.btn-outline-primary {
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid #1699db !important;
    color: #000 !important;
}
.btn-outline-primary:active,
.btn-outline-primary:hover {
    background-color: #1699db !important;
    color: #fff !important;
}
.btn-outline-danger {
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid #fc0005 !important;
    color: #000 !important;
}
.btn-outline-danger:active,
.btn-outline-danger:hover {
    background-color: #fc0005 !important;
    color: #fff !important;
}
.btn-outline-danger:active img,
.btn-outline-danger:hover img,
.btn-outline-primary:active img,
.btn-outline-primary:hover img {
    filter: brightness(0) invert(1);
}
.btn-primary {
    background: #1699db !important;
    border: 1px solid #1699db !important;
    color: #fff !important;
}
.btn-primary:active,
.btn-primary:hover {
    background: #006da3 !important;
    border: 1px solid #006da3 !important;
}
.btn-outline-secondary {
    background: transparent !important;
    border: 1px solid #e3e3e3 !important;
    color: #000 !important;
}
.btn-outline-secondary:active,
.btn-outline-secondary:hover {
    background: transparent !important;
    border: 1px solid #000 !important;
}

/* ===============================
   Navigation Header
================================= */
.navigation-header {
    padding: 1rem 0px 0.5rem;
    border-bottom: 1px solid #e3e3e3;
}
.navigation-header h3 {
    font-weight: 600;
    font-size: 1.375rem;
    line-height: 120%;
    color: #000000;
}

/* ===============================
   User Details
================================= */
.user-name {
    font-size: 1rem;
    line-height: 120%;
    font-weight: 500;
}
.user-details-p {
    font-size: 0.875rem;
    line-height: 120%;
}

/* ===============================
   Form Elements
================================= */
.form-label {
    font-weight: 600;
    font-size: 14px;
    line-height: 22px;
    color: #000000;
}
.form-control,
.form-select {
    font-size: 0.875rem;
    /* padding: 0.75rem; */
    background-color: #ffffff;
    border: 1px solid #dce1e7;
    box-shadow: 0px 1px 1px rgba(24, 36, 51, 0.06);
    border-radius: 0.25rem;
}
.floating-form-control {
    margin-top: 0.6875rem;
}
.floating-label {
    background-color: white;
    position: absolute;
    top: -15px;
    margin-left: -3px;
    height: 0.875rem;
    font-size: 0.875rem;
    padding: 0px 5px 23px;
    border-radius: 8px;
}
.form-control:focus,
.form-select:focus {
    border-color: #1699db;
    box-shadow: 0 0 0 0.25rem rgba(22, 153, 219, 0.25);
    outline: none;
}

/* ===============================
   Form Highlight Area
================================= */
.form-highlight {
    padding: 1.5rem;
    gap: 1.5rem;
    background: #e2f5ff;
    border: 1px dashed #1699db;
    border-radius: 1.5rem;
}

/* ===============================
   Subheading
================================= */
.subheading {
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 120%;
}

/* ===============================
   Stepper Component
================================= */
.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: stretch;
    position: relative;
    width: 6.3125rem;
}
.step-circle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    font-size: 1.25rem;
    text-align: center;
    z-index: 1;
    background-color: #fff;
    color: #000;
    border: 1px solid #e3e3e3;
    transition: all 0.3s ease;
}
.step span {
    color: #000;
}
.step.active .step-circle {
    background-color: #1699db;
    color: #fff;
    border: 1px solid #1699db;
}
.step.active span {
    color: #1699db;
}
.step.completed span {
    color: #00bb06;
}
.step.completed .step-circle {
    background-color: #00bb06;
}
.step:not(.active):hover .step-circle {
    color: #1699db;
    border: 1px solid #1699db;
}
.step:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 25%;
    left: -50%;
    width: 100%;
    height: 2px;
    background-color: #e3e3e3;
    z-index: 0;
}

/* ===============================
   Footer
================================= */
.footer-text {
    font-size: 1.25rem;
    line-height: 120%;
    color: #fff;
    bottom: 25%;
}

/* ===============================
   Rounded Button
================================= */
.rounded-btn {
    height: 2.75rem;
    width: 2.75rem;
}

/* ===============================
   Floating Icons
================================= */
.floating-container {
    position: fixed;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    top: 12.5rem;
}
.floating-icons {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 60px;
    height: 6.25rem;
    width: 6.25rem;
}
.shadow-c {
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.25);
}

/* ===============================
   Responsive Styles
================================= */
@media (min-width: 768px) {
    .hero {
        height: 21.25rem !important;
    }
    .footer-image {
        padding: 0 6.25rem;
    }
    .main-content-sec {
        margin-top: -90px;
    }
}
@media (max-width: 992px) {
    .user-name,
    .user-details-p {
        display: none !important;
    }
    .footer-text {
        font-size: 1rem !important;
    }
}

/* ===============================
   Pagination
================================= */
.custom-pagination .page-link {
    font-size: 0.875rem;
    margin: 0rem 0.25rem;
    color: #6c7a91;
    border: none;
    background: transparent;
    transition: all 0.3s ease-in-out;
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.custom-pagination .page-link:hover {
    background-color: rgba(0, 0, 0, 0.04);
}
.custom-pagination .page-item.active .page-link {
    background: #349cd3;
    color: white;
    border-radius: 50%;
}
.custom-pagination .page-item:last-child .page-link {
    padding-right: 0.25rem;
}
.custom-pagination .page-item:first-child .page-link {
    padding-left: 0.25rem;
}
.custom-pagination .page-item:first-child .page-link,
.custom-pagination .page-item:last-child .page-link {
    border-radius: 1.5rem !important;
    width: max-content;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
}
/* ===============================
   File Upload
================================= */
.file-dropzone {
    border: 1px dashed #1699db;
    color: #1699db;
    border-radius: 1.5rem;
    transition: background 0.3s ease;
    position: relative;
    text-align: center;
    padding: 1.5rem;
    cursor: pointer;
}

.file-dropzone input[type="file"] {
    display: none;
}
/* ===============================
   Dropdown
================================= */
.dropdown-menu {
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.25);
}
.dropdown-menu li {
    margin: 0.5rem;
    border-bottom: 1px solid #e3e3e3;
}
.dropdown-menu li:last-child {
    border-bottom: none;
}
.dropdown-item {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    color: #000;
    transition: background-color 0.3s ease;
}
.dropdown-item.active,
.dropdown-item:hover {
    background-color: #1699db;
    color: #fff;
}
.dropdown-item.active,
.dropdown-item:hover img {
    filter: brightness(0) invert(1);
}
/* ===============================
   Drawer
================================= */
.offcanvas {
    border-radius: 12px;
    min-width: 30.0625rem;
}
.offcanvas-header {
    padding: 16px;
    min-height: 64px;
    background: #1699db;
    border-bottom: 1px solid #e3e3e3;
    color: #fff;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}
.offcanvas-header .offcanvas-title {
    font-weight: 500;
    font-size: 18px;
    line-height: 22px;
}
.offcanvas-footer {
    padding: 16px 16px 24px;
    border-top: 1px solid #e3e3e3;
}
/* ===============================
  Utilities
================================= */
.fs-18 {
    font-size: 18px !important;
}
.fs-16 {
    font-size: 16px !important;
}
.mw-100 {
    min-width: 100px !important;
}
.card-wrapper-details {
    padding: 16px;
    background: #ffffff;
    border: 1px solid #e3e3e3;
    box-shadow: 3px 2px 10px rgba(169, 169, 169, 0.28);
    border-radius: 12px;
}
.status {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.dot {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
}
.dot.active {
    background-color: #00bb06;
}
.dot.pending {
    background-color: #f2c96d;
}
.dot.inactive {
    background-color: #fc0005;
}
.user-avatar {
    width: 32px;
    height: 32px;
    display: inline-block;
    border-radius: 50%;
    background-color: #e3e3e3;
}
.form-check-input {
    margin-top: 0;
    width: 1.5em;
    height: 1.5em;
    margin-right: 0.5rem;
}
.text-primary {
    color: #1699db !important;
}
.link-underline-primary {
    text-decoration-color: #1699db !important;
}
.form-switch {
    margin-top: 1.5em;
}
.alert {
    position: absolute;
    right: 25px;
}
.split-container {
    min-height: 100vh;
}
.login-left {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa;
}
.login-right {
    background-image: url("../images/shipment.png");
    background-size: cover;
    background-position: center;
}
.card-wrapper {
    width: 100%;
    padding: 2rem;
    background-color: #fff;
    border-radius: 1rem;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.1);
}
.eye-icon {
    top: 18px;
    right: 10px;
    transform: translateY(-50%);
    cursor: pointer;
}
.password.form-control {
    padding-right: 2.5rem !important;
}
.show_confirm {
    cursor: pointer;
}

/*-- dashlets --*/
.dashlets-wrapper {
    box-shadow: 3px 2px 10px rgba(169, 169, 169, 0.28);
    border-radius: 8px;
    margin: 0px 0px 15px 0;
    border-width: 2px;
    border-style: solid;
    /* background: linear-gradient(white, white) padding-box,
    linear-gradient(to right, darkblue, #1699db) border-box; */
    border: 1px solid #e3e3e3;
}
.dashlets-wrapper > h1 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    padding: 15px;
    border-bottom: 1px solid #dddddd;
}
.dashlets-wrapper .dashlets-body {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 15px;
}
.dashlets-wrapper .dashlets-body p {
    margin: 0;
}
.dashlets-wrapper .dashlets-body > .counter {
    width: 60px;
    line-height: 60px;
    text-align: center;
    border-radius: 50%;
    font-size: 20px;
    font-weight: 600;
    background-color: #1699db;
    margin-left: 8px;
    color: #ffffff;
}
.counter.color-1 {
    color: #722323 !important;
}
.counter.color-2 {
    color: #093fb4 !important;
}

.counter.color-3 {
    color: #06923e !important;
}

.counter.color-4 {
    color: #b13bff !important;
}

.width-medium {
    width: 600px !important;
}

.modal-header {
    background-color: #1699db;
}

.btn-close.white-close {
    filter: brightness(0) invert(1); /* Makes the icon white */
    opacity: 1; /* Optional: ensures full visibility */
}

.custom-cyrser-pointer {
    cursor: pointer !important;
}

.login-box-alert .alert {
    position: absolute;
}

.permission-field {
    white-space: normal;
    max-width: 100%;
}

.permission-field span {
    background-color: transparent;
    font-size: 14px;
    font-weight: normal;
}

.card-opacity {
    border-radius: 8px;
    box-shadow: 3px 2px 10px rgba(169, 169, 169, 0.28);
  }