a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
     margin: 0;
     padding: 0;
     border: 0;
     font-size: 100%;
     vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
     display: block;
}

* {
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
}

body {
     line-height: 1;
     font-family: Poppins, sans-serif;
}

ol,
ul {
     list-style: none;
}

blockquote,
q {
     quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
     content: "";
     content: none;
}

table {
     border-collapse: collapse;
     border-spacing: 0;
     width: 100%;
}

button:focus {
     outline: 0;
}

:focus {
     outline: 0;
}

a {
     text-decoration: none;
}

a:hover {
     text-decoration: none !important;
}

/* font*/
@font-face {
     font-family: 'poppins';
     src: url('../../assets/fonts/Poppins-Regular.ttf') format('ttf'),
          url('../../assets/fonts/Poppins-Medium.ttf') format('ttf'),
          url('../../assets/fonts/Poppins-SemiBold.ttf') format('ttf'),
          url('../../assets/fonts/Poppins-Bold.ttf') format('ttf'),
          url('../../assets/fonts/Poppins-ExtraBold.ttf') format('ttf'),
          url('../../assets/fonts/Poppins-Black.ttf') format('ttf');
     font-weight: normal;
     font-style: normal;
     font-display: swap;
}

/* @font-face {
  font-family: Ruberoid-Regular;
  src: url("../fonts/Ruberoid-Regular.otf") format("opentype");
} */
@font-face {
     font-family: "Roboto-Regular";
     src: url("../fonts/Roboto-Regular.ttf") format("truetype");
}

@font-face {
     font-family: Ruberoid-SemiBold;
     src: url("../fonts/Ruberoid-SemiBold.otf") format("opentype");
}

@font-face {
     font-family: Ruberoid-Bold;
     src: url("../fonts/Ruberoid-Bold.otf") format("opentype");
}

:root {
     --primary-bg-color: #2b5ce6;
     --secondary-bg-color: #F2F2F2;
     --gray: #C1BCBC;
     --yellow: #FEC813;
     --light: #ffffff;
     --dark: #000000;
     --bg-login-gradient: linear-gradient(206.37deg, #2b5ce6 10.35%, #63737E 51.14%, #FECB38 82.87%);
     --bg-footer-gradient: linear-gradient(194.19deg, #2b5ce6 2.39%, #63737E 66.44%, #FECB38 89.46%);
     --border-color: #D9E5FF;

     --dashboard-background: #f8fafc;
     --dashboard-surface: #ffffff;
     --dashboard-text: #111827;
     --dashboard-muted: #64748b;
     --dashboard-border: rgba(0, 0, 0, 0.08);
}

.w-full {
     width: 100%;
}

/* Login Page Starts */
.bg-gradient-wallet {
     position: fixed;
     inset: 0;
     z-index: 0;
     background: var(--bg-login-gradient);
}

.login-card-wrapper {
     position: relative;
     z-index: 2;
     width: 100%;
     max-width: 560px;
     padding: 2rem;
     margin: 10vh auto;
}

.logo-section {
     text-align: center;
     margin-bottom: 8rem;
}

.navbar-profile-picture {
     display: block;
     width: 42px;
     height: 42px;
     object-fit: cover;
}

.profile-header-details {
     overflow: hidden;
}

.profile-header-name {
     font-size: 0.92rem;
}

.profile-header-email {
     font-size: 0.78rem;
     opacity: 0.8;
}

.wallet-balance-row {
     border-color: rgba(0, 0, 0, 0.06) !important;
}

.wallet-balance-label {
     font-size: 0.78rem;
}

.wallet-balance-icon {
     width: 15px;
     height: 15px;
}

.wallet-balance-amount {
     font-size: 0.82rem;
}

.profile-dropdown-icon {
     width: 18px;
     font-size: 16px;
     text-align: center;
}

.profile-dropdown-image-icon {
     width: 18px;
     height: 18px;
     object-fit: contain;
}

.nav-dark-mode-item,
.nav-dark-mode-switch {
     cursor: pointer;
}

.wallet-footer-logo {
     height: 36px;
}

.django-messages-container {
     position: fixed;
     top: 80px;
     right: 20px;
     z-index: 9999;
     min-width: 320px;
     max-width: 420px;
}

.django-toast-msg {
     border-left: 4px solid;
}

.django-message-error {
     background: #fff0f0;
     border-color: #dc3545;
}

.django-message-success {
     background: #f0fff4;
     border-color: #28a745;
}

.django-message-warning {
     background: #fffbf0;
     border-color: #ffc107;
}

.django-message-info {
     background: #f0f4ff;
     border-color: #0d6efd;
}

.django-message-icon {
     font-size: 1.3rem;
}

.django-message-content {
     flex: 1;
     color: #333;
     font-size: 0.9rem;
}

.django-message-close {
     border: none;
     background: none;
     color: #888;
     cursor: pointer;
     font-size: 1.1rem;
     line-height: 1;
}

.login-error-toast {
     display: flex;
     align-items: flex-start;
     gap: 10px;
     margin-bottom: 16px;
     padding: 12px 16px;
     border-left: 4px solid #dc3545;
     border-radius: 8px;
     background: #fff0f0;
     color: #333;
     font-size: 0.875rem;
}

.login-error-toast-icon {
     flex-shrink: 0;
     font-size: 1.2rem;
}

/* Buttons */
.btn-signin {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 0.75rem;
     width: 100%;
     padding: 1rem 2rem;
     border-radius: 10px;
     border: none;
     background: #ffffff;
     color: #000000;
     font-family: 'Roboto', sans-serif;
     font-size: 1.25rem;
     font-weight: 600;
     cursor: pointer;
     transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
     box-shadow: 0px 4px 4px 0px #00000040;
     animation: fadeUp 0.8s 0.25s cubic-bezier(0.22, 1, 0.36, 1) both;
     margin-bottom: 1.1rem;
}

.btn-signin:hover {
     transform: translateY(-2px);
     box-shadow: 0 14px 40px rgba(0, 0, 0, 0.22), 0 1px 0 rgba(255, 255, 255, 0.8) inset;
     background: #f8f8f8;
}

.btn-signin:active {
     transform: translateY(0);
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.btn-create {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     padding: 1rem 2rem;
     border-radius: 10px;
     border: none;
     background: #DDCFA2;
     backdrop-filter: blur(12px);
     -webkit-backdrop-filter: blur(12px);
     color: #000000;
     font-family: 'Roboto', sans-serif;
     font-size: 1.25rem;
     font-weight: 600;
     cursor: pointer;
     transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
     box-shadow: 0px 4px 4px 0px #00000040;
     animation: fadeUp 0.8s 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.btn-create:hover {
     transform: translateY(-2px);
     box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18);
     background: rgba(220, 190, 130, 0.88);
}

.btn-create:active {
     transform: translateY(0);
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* Login Page Ends */

/* Header Starts */
.main-content-wrapper {
     height: 64px;
}

.main-content-wrapper .header .navbar {
     border-bottom: 1px solid #fff;
     padding: 0;
}

header .navbar-brand .logo-desktop {
     height: auto;
     width: 180px;
}

header .navbar-brand .logo-mobile {
     height: auto;
     width: 60px;
}

/* ===== Navbar profile picture circle ===== */
.rounded-img {
     width: 40px;
     height: 40px;
     border-radius: 50%;
     overflow: hidden;
     flex: 0 0 auto;
}

.rounded-img img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
}

.sign-in-btn {
     background: var(--yellow);
     line-height: 1.8;
     padding: 0.5rem;
     font-size: 1rem;
     font-weight: 500;
     border-radius: 25px;
     min-width: 6rem;
     text-align: center;
     color: var(--light);
}

.custom-header {
     background-color: var(--primary-bg-color);
}

.search-bar-wrapper {
     display: flex;
     flex-direction: row;
     align-items: center;
}

@media (min-width:1400px) {
     .search-bar-wrapper {
          min-width: 360px;
     }
}

.search-query-input {
     width: 100%;
     height: 2rem;
     background: #F2F2F280;
     outline: none;
     border: 1px solid #000;
     border-radius: 1.625rem;
     padding: 0 3.5rem 0 1.5rem;
     font-size: 14px;
     border: 2px solid #FFFFFF33;
     color: #000;
}

.dark .search-query-input {
     width: 100%;
     height: 2rem;
     background: #F2F2F280;
     outline: none;
     border: none;
     border-radius: 1.625rem;
     padding: 0 3.5rem 0 1.5rem;
     font-size: 14px;
     border: 2px solid #FFFFFF33;
     color: var(--light);
}

.search-query-input::placeholder {
     color: #0000005e;
}

.dark .search-query-input::placeholder {
     color: var(--light);
}

.search-query-submit {
     width: 3.5rem;
     height: 2rem;
     margin-left: -3.5rem;
     background: none;
     border: none;
     outline: none;
}

#searchQuerySubmit:hover {
     cursor: pointer;
}

.services-wrapper .search-query-input {
     height: 38px;
     background: #ffffff;
     border: 1px solid #ced4da;
     color: #212529;
     transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.services-wrapper .search-query-input::placeholder {
     color: #6c757d;
}

.services-wrapper .search-query-input:focus {
     border-color: #1967A8;
     box-shadow: 0 0 0 0.2rem rgba(25, 103, 168, 0.2);
}

.services-wrapper .search-query-submit {
     height: 38px;
     background: #1967A8;
     border-radius: 0 1.625rem 1.625rem 0;
}

:root[data-theme="dark"] .services-wrapper .search-query-input {
     background: var(--dashboard-surface);
     border-color: var(--dashboard-border);
     color: var(--dashboard-text);
}

:root[data-theme="dark"] .services-wrapper .search-query-input::placeholder {
     color: var(--dashboard-muted);
}

:root[data-theme="dark"] .services-wrapper .search-query-input:focus {
     border-color: #2b5ce6;
     box-shadow: 0 0 0 0.2rem rgba(43, 92, 230, 0.25);
}

:root[data-theme="dark"] .services-wrapper .search-query-submit {
     background: #2b5ce6;
}

.company-select {
     min-width: 210px;
}

.selected-company {
     background: #1967A8;
     color: white;
     padding: 10px 24px;
     border-radius: 30px;
     display: flex;
     align-items: center;
     gap: 15px;
     cursor: pointer;
     font-size: 14px;
     height: 2rem;
}

.company-dropdown {
     position: absolute;
     top: 110%;
     left: 0;
     width: 100%;
     background: white;
     border-radius: 10px;
     padding: 6px;
     z-index: 1000;
     max-height: 320px;
     overflow-y: auto;
}

.selected-company #selectedText {
     min-width: 0;
     max-width: 180px;
}

.selected-company.disabled {
     cursor: not-allowed;
     opacity: 0.6;
}

.company-option {
     padding: 8px 12px;
     margin-top: 5px;
     border-radius: 4px;
     cursor: pointer;
     font-size: 14px;
     text-align: center;
}

.company-option.active {
     background: #FFEDB3;
}

.company-option:hover {
     background: #FFEDB3;
}

.btn-rounded {
     background: #1967A8;
     outline: none;
     border: none;
     padding: 0.5rem;
     border-radius: 50%;
     width: 2.25rem;
     height: 2.25rem;
     display: flex;
     align-items: center;
     justify-content: center;
}

.rounded-img {
     width: 36px;
     height: 36px;
     border-radius: 50%;
     overflow: hidden;
}

/* Header Ends */

/* Notification & Chat Panel */
.notification-panel {
     min-width: 280px;
     border-radius: 12px;
     overflow: hidden;
     margin-top: 8px;
}

.notification-header {
     background: #f8f9fa;
     font-size: 0.9rem;
}

.notification-body {
     min-height: 100px;
}

/* Footer Starts */
.footer_wrapper {
     background: var(--bg-footer-gradient);
}

.footer-col-heading {
     color: #fff;
     font-size: 0.9rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     margin-bottom: 0.75rem;
}

.footer-links {
     font-size: 0.9rem;
     margin: 0;
}

.footer-links li {
     color: rgba(255, 255, 255, 0.55);
     margin-bottom: 0.5rem;
}

.footer-links a {
     color: rgba(255, 255, 255, 0.55);
     text-decoration: none;
     transition: color 0.2s;
}

.footer-links a:hover {
     color: #fff;
}

.footer-social {
     display: flex;
     gap: 0.75rem;
     flex-wrap: wrap;
}

.footer-social a {
     color: rgba(255, 255, 255, 0.55);
     font-size: 1.2rem;
     transition: color 0.2s;
}

.footer-social a:hover {
     color: #fff;
}

.footer-app-btn {
     display: inline-flex;
     align-items: center;
     font-size: 0.78rem;
     text-decoration: none;
     transition: border-color 0.2s, color 0.2s;
}

.footer-app-btn:hover {
     border-color: #fff;
     color: #fff;
}

.footer-divider {
     border-color: rgba(255, 255, 255, 0.1);
     margin: 0;
}

.footer-copy {
     color: rgba(255, 255, 255, 0.4);
     font-size: 0.8rem;
}

/* Footer Ends */

/* Hero Section */
.banner-wrapper .banner-content {
     /* position: absolute; */
     /* top: 45%; */
     /* left: 50%; */
     /* transform: translate(-50%, -50%); */
     color: #fff;
     text-align: left;
     width: 100%;
}

.banner-wrapper .banner-content h1 {
     font-size: 2rem;
}

.banner-wrapper .banner-content p {
     font-size: 1.125rem;
     line-height: 140%;
     letter-spacing: 1px;
     max-width: 65%;
     font-weight: 500;
     color: #E6E6E6;
}

.get-start-btn {
     background: #1D67A6;
     border: none;
     outline: none;
     color: #ffffff;
     padding: 0.75rem 2rem;
     border-radius: 50px;
     display: flex;
     align-items: center;
     gap: 10px;
}

.service-title {
     color: #373839;
     font-size: 1.5rem;
     font-weight: 600;
}

.service-thumbnail-wrapper {
     margin: 50px auto;
}

.service-thumbnail {
     background: var(--secondary-bg-color);
     min-width: 200px;
     height: 210px;
     padding: 1rem 1.5rem 1.2rem 1.5rem;
     border-radius: 1rem;
     text-align: center;
     display: flex !important;
     flex-direction: column;
     box-shadow: 3px 3px 10px 0px #0000001A;
     position: relative;
}

.service-lock-icon {
     position: absolute;
     top: 0.25rem;
     right: 0.25rem;
     width: 36px;
     height: 36px;
     background: rgb(43 92 230);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #ffffff;
     font-size: 1.2rem;
     pointer-events: none;
}

.service-thumbnail p {
     margin: 0.4rem 0 0 0;
     flex-grow: 1;
}

.service-thumbnail .service-btn {
     flex-shrink: 0;
     align-self: stretch;
}

.service-thumbnail img {
     height: 90px;
}

.service-btn {
     border: 1px solid #1967A8;
     outline: none;
     padding: 0.5rem 1rem;
     font-size: 0.875rem;
     border-radius: 12px;
     background: rgba(25, 103, 168, 0.12);
     color: #1967A8;
     font-weight: 500;
}

.home-service-shell {
     top: 60px;
     z-index: 1020;
}

header.header {
     position: relative;
     z-index: 1040;
}

.custom-header {
     z-index: 1040 !important;
}

.services-dropdown-menu {
     z-index: 1050 !important;
}

.service-btn.service-btn-soon {
     border: 1px solid #FEC813;
     background: rgba(254, 200, 19, 0.15);
     color: #b38a00;
}

.service-thumbnail.active .service-btn {
     background: rgba(25, 103, 168, 0.12);
     border-color: #1967A8;
     color: #1967A8;
}

.service-thumbnail-wrapper .slick-slide {
     padding: 16px 24px;
     margin-right: 24px;
     /* controls gap */
}

.service-thumbnail-wrapper.slick-slider .slick-prev {
     left: -4%;
}

.service-thumbnail-wrapper.slick-slider .slick-next {
     right: -3%;
}

.slick-prev,
.slick-next {
     display: block;
     opacity: 1;
     visibility: visible;
     z-index: 10;
     background: #1967A8;
     color: white;
     width: 40px;
     height: 40px;
     border: none;
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     border-radius: 50%;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
     background: #1967A8;
}

.service-thumbnail-wrapper.slick-slider .slick-prev.slick-disabled,
.service-thumbnail-wrapper.slick-slider .slick-next.slick-disabled {
     opacity: 0 !important;
}

.app-banner-content {
     position: absolute;
     display: flex;
     content: '';
     margin: 20px;
     top: 8%;
     left: 0;
     width: 65%;
     padding-left: 100px;
     flex-direction: column;
     gap: 40px;
}

.app-qrcodeWrapper {
     background: var(--light);
     border-radius: 12px;
     padding: 0.75rem;
     max-width: 25%;
     margin-right: 50px;
}

.app-qrcodeWrapper p {
     color: #000000;
     text-align: center;
     font-size: 1rem;
     line-height: 1;
     margin-bottom: 5px;
}

.qr-border {
     border-radius: 8px;
     border: 7px solid #195282;
}

.h-5 {
     height: 3.35rem;
}

/* ============================================================
   Profile Dropdown Menu UI Enhancement
   ============================================================ */
.profile-dropdown-menu {
     border-radius: 14px !important;
     border: 1px solid rgba(0, 0, 0, 0.08) !important;
     box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12) !important;
     padding: 10px !important;
     min-width: 250px !important;
}

.profile-dropdown-menu .dropdown-item {
     border-radius: 8px !important;
     font-size: 0.92rem !important;
     font-weight: 500 !important;
     transition: background-color 0.15s ease, color 0.15s ease !important;
}

.profile-dropdown-menu .dropdown-item:hover {
     background-color: rgba(43, 92, 230, 0.08) !important;
}

.profile-dropdown-menu .form-check-input {
     cursor: pointer;
}

/* ============================================================
   Dark Mode Theming for Home, Navbar, & Modals
   ============================================================ */
:root[data-theme="dark"] {
     --dashboard-background: #111827;
     --dashboard-surface: #1f2937;
     --dashboard-text: #f3f4f6;
     --dashboard-muted: #aab6ca;
     --dashboard-border: rgba(255, 255, 255, 0.12);
}

:root[data-theme="dark"] body,
:root[data-theme="dark"] .main-content-wrapper {
     background-color: var(--dashboard-background) !important;
     color: var(--dashboard-text) !important;
}

:root[data-theme="dark"] .services-wrapper {
     background-color: var(--dashboard-background) !important;
}

:root[data-theme="dark"] .service-title {
     color: var(--dashboard-text) !important;
}

:root[data-theme="dark"] #serviceCategoryFilter {
     background-color: var(--dashboard-surface) !important;
     color: var(--dashboard-text) !important;
     border-color: var(--dashboard-border) !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='%23e2e8f0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}

:root[data-theme="dark"] #serviceCategoryFilter:focus {
     border-color: #2b5ce6 !important;
     box-shadow: 0 0 0 0.2rem rgba(43, 92, 230, 0.25) !important;
}

:root[data-theme="dark"] #serviceCategoryFilter option {
     background-color: var(--dashboard-surface);
     color: var(--dashboard-text);
}

/* "Explore our services" category filter: long category names must not overflow on mobile */
.service-category-filter {
     max-width: 100%;
     min-width: 0;
     text-overflow: ellipsis;
}

/* "No services found" spans the whole grid row instead of one card cell */
.service-thumbnail-grid .service-no-results {
     grid-column: 1 / -1;
     text-align: center;
     margin: 24px 0;
}

:root[data-theme="dark"] .service-thumbnail {
     background-color: var(--dashboard-surface) !important;
     border: 1px solid var(--dashboard-border) !important;
     color: var(--dashboard-text) !important;
     box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
}

:root[data-theme="dark"] .service-thumbnail p {
     color: var(--dashboard-text) !important;
}

:root[data-theme="dark"] .service-thumbnail .service-btn {
     background-color: #2b5ce6 !important;
     color: #ffffff !important;
     border: none !important;
}

:root[data-theme="dark"] .service-thumbnail .service-btn:hover {
     background-color: #1e45b8 !important;
}

:root[data-theme="dark"] #lockedServiceModal .modal-content {
     background-color: var(--dashboard-surface);
     border: 1px solid var(--dashboard-border);
     color: var(--dashboard-text);
}

:root[data-theme="dark"] #lockedServiceModal .modal-title,
:root[data-theme="dark"] #lockedServiceModal #lockedServiceName {
     color: var(--dashboard-text);
}

:root[data-theme="dark"] #lockedServiceModal .modal-body p {
     color: var(--dashboard-muted) !important;
}

:root[data-theme="dark"] #lockedServiceModal .btn-close {
     filter: invert(1) grayscale(100%) brightness(200%);
}

:root[data-theme="dark"] #lockedServiceModal .btn-outline-secondary {
     border-color: var(--dashboard-border);
     color: var(--dashboard-text);
}

:root[data-theme="dark"] #lockedServiceModal .btn-outline-secondary:hover {
     background-color: rgba(255, 255, 255, 0.08);
}

:root[data-theme="dark"] #noAccessModal .modal-content {
     background-color: var(--dashboard-surface);
     border: 1px solid var(--dashboard-border);
     color: var(--dashboard-text);
}

:root[data-theme="dark"] #noAccessModal .modal-header,
:root[data-theme="dark"] #noAccessModal .modal-footer {
     border-color: var(--dashboard-border) !important;
}

:root[data-theme="dark"] #noAccessModal .modal-title,
:root[data-theme="dark"] #noAccessModal #noAccessServiceName {
     color: var(--dashboard-text);
}

:root[data-theme="dark"] #noAccessModal .modal-body p {
     color: var(--dashboard-muted) !important;
}

:root[data-theme="dark"] #noAccessModal .btn-close {
     filter: invert(1) grayscale(100%) brightness(200%);
}

:root[data-theme="dark"] .profile-dropdown-menu {
     background-color: var(--dashboard-surface) !important;
     border: 1px solid var(--dashboard-border) !important;
     box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5) !important;
}

:root[data-theme="dark"] .profile-dropdown-menu .primary-text,
:root[data-theme="dark"] .profile-dropdown-menu .dropdown-item {
     color: var(--dashboard-text);
}

:root[data-theme="dark"] .profile-dropdown-menu .dropdown-item img {
     filter: brightness(0) invert(1);
     opacity: 0.85;
}

:root[data-theme="dark"] .profile-dropdown-menu .dropdown-item:hover,
:root[data-theme="dark"] .profile-dropdown-menu .dropdown-item:focus,
:root[data-theme="dark"] .profile-dropdown-menu .dropdown-item:active {
     background-color: rgba(255, 255, 255, 0.08) !important;
     color: #f3f4f6 !important;
}

:root[data-theme="dark"] .profile-dropdown-menu .dropdown-item:hover i,
:root[data-theme="dark"] .profile-dropdown-menu .dropdown-item:focus i,
:root[data-theme="dark"] .profile-dropdown-menu .dropdown-item:active i {
     color: #38bdf8 !important;
}

:root[data-theme="dark"] .profile-dropdown-menu .secondary-text {
     color: var(--dashboard-muted) !important;
}

/* :root[data-theme="dark"] .profile-dropdown-menu .dropdown-divider {
     border-color: var(--dashboard-border) !important;
} */

:root[data-theme="dark"] .company-dropdown {
     background-color: var(--dashboard-surface) !important;
     border: 1px solid var(--dashboard-border) !important;
     color: var(--dashboard-text) !important;
}

:root[data-theme="dark"] .company-option {
     color: var(--dashboard-text) !important;
}

:root[data-theme="dark"] .company-option:hover {
     background-color: rgba(255, 255, 255, 0.08) !important;
}

:root[data-theme="dark"] .footer_wrapper {
     background: #0b111e !important;
     border-top: 1px solid var(--dashboard-border) !important;
}

/* Unified Profile Card Header */
.profile-header-box {
     background: #f8fafc;
     border: 1px solid rgba(0, 0, 0, 0.05);
}

.wallet-balance-badge {
     background: rgba(43, 92, 230, 0.08);
     padding: 4px 8px;
     border-radius: 8px;
     flex-shrink: 0;
}

:root[data-theme="dark"] .profile-header-box {
     background: rgba(255, 255, 255, 0.04);
     border: 1px solid var(--dashboard-border);
}

:root[data-theme="dark"] .wallet-balance-row {
     border-color: var(--dashboard-border) !important;
}

:root[data-theme="dark"] .wallet-balance-row .text-muted {
     color: #aab6ca !important;
}

:root[data-theme="dark"] .wallet-balance-row img {
     filter: brightness(0) invert(1);
     opacity: 0.85;
}

.w-52 {
     width: 13rem;
     min-width: 13rem;
}

.w-64 {
     width: 17.5rem;
     min-width: 17.5rem;
}

.services-dropdown-search {
     font-size: 0.825rem;
     border-radius: 6px;
     border: 1px solid #e2e8f0;
     background-color: #f8fafc;
     color: #1e293b;
     padding: 6px 10px 6px 28px;
     transition: all 0.2s ease;
}

.services-dropdown-search:focus {
     border-color: #3b82f6;
     background-color: #ffffff;
     box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
     outline: none;
}

.services-dropdown-btn {
     background: #F2F2F280;
     color: #ffffff;
     border: 2px solid #FFFFFF33;
     border-radius: 1.625rem;
     padding: 5px 14px;
     font-size: 0.875rem;
     font-weight: 500;
     display: inline-flex;
     align-items: center;
     justify-content: space-between;
     gap: 8px;
     cursor: pointer;
     transition: background-color 0.2s ease, border-color 0.2s ease;
}

.services-dropdown-btn:hover,
.services-dropdown-btn:focus,
.services-dropdown-btn[aria-expanded="true"] {
     background: #F2F2F2A6;
     border-color: #FFFFFF66;
     color: #ffffff;
     outline: none;
}

.services-dropdown-menu,
.dropdown-menu.services-dropdown-menu {
     position: absolute;
     top: 100%;
     left: 0;
     width: 17.5rem;
     min-width: 17.5rem;
     background-color: #ffffff;
     border: 1px solid #e5e7eb;
     border-radius: 10px;
     padding: 2px 0;
     margin-top: 4px;
     box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.08);
     z-index: 1050;
}

.services-dropdown-list {
     margin: 0;
     padding: 0;
     list-style: none;
     max-height: 250px;
     overflow-y: auto;
}

.services-dropdown-list::-webkit-scrollbar {
     width: 5px;
}

.services-dropdown-list::-webkit-scrollbar-track {
     background: #f1f5f9;
     border-radius: 4px;
}

.services-dropdown-list::-webkit-scrollbar-thumb {
     background: #cbd5e1;
     border-radius: 4px;
}

.services-dropdown-list::-webkit-scrollbar-thumb:hover {
     background: #94a3b8;
}

.services-dropdown-item {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 6px 10px;
     color: #1f2937;
     font-size: 0.875rem;
     font-weight: 500;
     text-decoration: none;
     border-radius: 6px;
     margin: 1px 4px;
     width: calc(100% - 8px);
     transition: background-color 0.15s ease, color 0.15s ease;
}

.services-dropdown-item:hover,
.services-dropdown-item:focus {
     background-color: #eff6ff;
     color: #2563eb;
     text-decoration: none;
}

.services-dropdown-item.disabled {
     opacity: 0.55;
     cursor: not-allowed;
     pointer-events: none;
}

.badge-coming-soon {
     display: inline-block;
     font-size: 0.68rem;
     font-weight: 500;
     color: #475569;
     background-color: #f1f5f9;
     border: 1px solid #cbd5e1;
     border-radius: 12px;
     padding: 1px 8px;
     line-height: 1.3;
     min-width: 5.25rem;
}

:root[data-theme="dark"] .header .services-dropdown-menu {
     background-color: var(--dashboard-surface);
     border-color: var(--dashboard-border);
     box-shadow: 0 16px 32px rgba(0, 0, 0, 0.4);
}

:root[data-theme="dark"] .header .services-dropdown-menu > div.border-bottom {
     border-color: var(--dashboard-border) !important;
}

:root[data-theme="dark"] .header .services-dropdown-search,
:root[data-theme="dark"] .header .services-dropdown-search:focus {
     background-color: #273449;
     border-color: var(--dashboard-border);
     color: var(--dashboard-text);
}

:root[data-theme="dark"] .header .services-dropdown-search::placeholder,
:root[data-theme="dark"] .header .services-dropdown-menu .text-muted {
     color: var(--dashboard-muted) !important;
}

:root[data-theme="dark"] .header .services-dropdown-item {
     color: var(--dashboard-text);
}

:root[data-theme="dark"] .header .services-dropdown-item:hover,
:root[data-theme="dark"] .header .services-dropdown-item:focus {
     background-color: rgba(255, 255, 255, 0.08);
     color: #93c5fd;
}

:root[data-theme="dark"] .header .services-dropdown-item.disabled {
     color: var(--dashboard-muted);
}

:root[data-theme="dark"] .header .services-dropdown-menu .badge-coming-soon {
     background-color: #273449;
     border-color: var(--dashboard-border);
     color: var(--dashboard-muted);
}

:root[data-theme="dark"] .header .services-dropdown-list::-webkit-scrollbar-track {
     background: #111827;
}

:root[data-theme="dark"] .header .services-dropdown-list::-webkit-scrollbar-thumb {
     background: #475569;
}


/* Global responsive safeguards */
img,
svg,
video,
iframe {
     max-width: 100%;
}

html,
body {
     width: 100%;
     max-width: 100%;
}

body {
     overflow-x: hidden;
}



/* ==========================================================
   Responsive homepage styles
   Append this section after the existing wallet stylesheet.
   ========================================================== */

.banner-wrapper,
.landing-banner {
     position: relative;
     width: 100%;
}

.main-banner-img {
     display: block;
     width: 100%;
     height: auto;
     object-fit: cover;
}

/* .banner-wrapper .banner-content {
    box-sizing: border-box;
    padding-left: max(12px, calc((100% - 1140px) / 2));
    padding-right: max(12px, calc((100% - 1140px) / 2));
} */

.banner-wrapper .banner-content h1 {
     line-height: 1.18;
     margin-bottom: 0.75rem;
}

.banner-wrapper .banner-content p {
     line-height: 1.5;
     max-width: 620px;
     letter-spacing: 0.2px;
}

.banner-cta-link {
     display: inline-block;
}

.get-start-btn {
     min-height: 44px;
     justify-content: center;
}

.get-start-btn img {
     width: 18px;
     height: auto;
}

.services-wrapper {
     padding-bottom: clamp(1.5rem, 4vw, 3.5rem);
}

.service-title {
     line-height: 1.3;
}

.service-thumbnail-wrapper {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
     gap: 24px;
     width: 100%;
     margin: 28px auto 0;
}

.service-thumbnail {
     box-sizing: border-box;
     width: 100%;
     min-width: 0;
     min-height: 210px;
     height: auto;
     padding: 1.25rem;
     align-items: stretch;
}

/* .service-thumbnail-image,
.service-thumbnail img {
    width: auto;
    max-width: 100%;
    height: 76px;
    object-fit: contain;
    align-self: center;
} */

/* .service-thumbnail p {
    line-height: 1.4;
    overflow-wrap: anywhere;
    margin: 0.65rem 0 1rem;
} */

/* .service-btn {
    min-height: 42px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
} */

.service-btn:focus-visible,
.get-start-btn:focus-visible,
.service-lock-icon:focus-visible {
     outline: 3px solid rgba(25, 103, 168, 0.35);
     outline-offset: 3px;
}

.service-lock-icon {
     pointer-events: auto;
     cursor: pointer;
}

.modal-status-icon {
     font-size: 64px;
     color: #FEC813;
}

#app-banner-section {
     isolation: isolate;
     min-height: 320px;
}

.app-banner-background {
     display: block;
     width: 100%;
     height: auto;
     object-fit: cover;
}

.app-banner-content {
     box-sizing: border-box;
     position: absolute;
     inset: 0;
     width: 100%;
     max-width: 1320px;
     margin: 0 auto;
     padding: clamp(24px, 4vw, 64px) clamp(16px, 5vw, 72px);
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     gap: 24px;
}

.app-static-content {
     display: block;
     width: min(50%, 560px);
     max-width: 100%;
     height: auto;
     object-fit: contain;
     object-position: left top;
}

.app-banner-bottom {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 24px;
}

.app-store-buttons {
     display: block;
     width: min(55%, 520px);
     max-width: 100%;
     height: auto;
     object-fit: contain;
     object-position: left center;
}

.app-qrcodeWrapper {
     box-sizing: border-box;
     width: min(220px, 32%);
     max-width: 100%;
     margin: 0;
     padding: 12px;
     flex: 0 0 auto;
}

.app-qrcodeWrapper p {
     line-height: 1.35;
     margin-bottom: 10px;
}

.traders-qrcodeWrapper {
     width: min(100%, 180px);
     margin: 0 auto;
}

.qr-border {
     padding: 4px;
}

.qr-border img {
     display: block;
     width: 100%;
     height: auto;
}

.home-service-shell {
     top: 60px;
     height: calc(100dvh - 60px);
     max-height: calc(100dvh - 60px);
     z-index: 1020;
}

.home-service-toolbar {
     min-height: 52px;
     gap: 12px;
}

#home-service-title {
     min-width: 0;
     overflow-wrap: anywhere;
}

#home-service-iframe {
     min-height: 0;
}

.service-thumbnail-grid {
     display: grid;
     grid-template-columns: repeat(5, 1fr);
     grid-template-rows: repeat(5, 1fr);
     gap: 20px;
     margin-top: 20px;
     height: auto;
     max-height: 57rem;
     overflow-y: auto;
}

.service-thumbnail-grid {
     scrollbar-width: thin;
     scrollbar-color: #fff #fff;
     overflow-y: auto;
}

[data-theme="dark"] .service-thumbnail-grid {
     scrollbar-width: thin;
     scrollbar-color: #111827 #111827;
     overflow-y: auto;
}

.service-thumbnail-grid::-webkit-scrollbar {
     width: 10px;
     height: 10px;
}

.service-thumbnail-grid::-webkit-scrollbar-track {
     background: #fff;
     border-radius: 8px;
}

[data-theme="dark"] .service-thumbnail-grid::-webkit-scrollbar-track {
     background: #111827;
     border-radius: 8px;
}

.service-thumbnail-grid::-webkit-scrollbar-thumb {
     background: #fff;
     border-radius: 8px;
     border: 2px solid #fff;
}

[data-theme="dark"] .service-thumbnail-grid::-webkit-scrollbar-thumb {
     background: #111827;
     border-radius: 8px;
     border: 2px solid #111827;
}

.service-thumbnail-grid::-webkit-scrollbar-thumb:hover {
     background: #fff;
}

[data-theme="dark"] .service-thumbnail-grid::-webkit-scrollbar-thumb:hover {
     background: #111827;
}

/* Large tablets and smaller laptops */
@media (max-width: 1199.98px) {
     .banner-wrapper .banner-content {
          padding-left: 24px;
          padding-right: 24px;
     }

     .banner-wrapper .banner-content h1 {
          font-size: clamp(1.65rem, 3vw, 2rem);
     }

     .banner-wrapper .banner-content p {
          max-width: 70%;
          font-size: 1rem;
     }

     .service-thumbnail-wrapper {
          gap: 20px;
     }

     .app-banner-content {
          padding: 32px;
     }

     .service-thumbnail-grid {
          grid-template-columns: repeat(5, 1fr);
     }
}

/* Tablets */
@media (max-width: 991.98px) {
     .banner-wrapper .banner-content {
          top: 50%;
          padding-left: 24px;
          padding-right: 24px;
     }

     .banner-wrapper .banner-content h1 {
          font-size: clamp(1.45rem, 3.4vw, 1.8rem);
     }

     .banner-wrapper .banner-content p {
          max-width: 68%;
          font-size: 0.95rem;
     }

     .get-start-btn {
          padding: 0.65rem 1.4rem;
     }

     .service-thumbnail-wrapper {
          /* grid-template-columns: repeat(3, minmax(0, 1fr)); */
          gap: 18px;
     }

     #app-banner-section {
          min-height: 260px;
     }

     .app-banner-content {
          padding: 24px;
          gap: 18px;
     }

     .app-static-content {
          width: 55%;
     }

     .app-banner-bottom {
          gap: 16px;
     }

     .app-qrcodeWrapper {
          width: 190px;
     }

     .service-thumbnail-grid {
          grid-template-columns: repeat(3, 1fr);
     }
}

/* Mobile phones */
@media (max-width: 767.98px) {
     .banner-wrapper .banner-content {
          top: 50%;
          left: 0;
          transform: translateY(-50%);
          width: 100%;
          padding: 16px 20px;
     }

     .banner-wrapper .banner-content h1 {
          font-size: clamp(1.25rem, 5.2vw, 1.75rem);
          line-height: 1.15;
          margin-bottom: 0.5rem;
     }

     .banner-wrapper .banner-content p {
          max-width: 72%;
          font-size: clamp(0.75rem, 2.8vw, 0.95rem);
          line-height: 1.35;
          margin: 0.4rem 0 !important;
          letter-spacing: 0;
     }

     .get-start-btn {
          min-height: 38px;
          margin-top: 0.6rem !important;
          padding: 0.5rem 1rem;
          font-size: 0.875rem;
     }

     .get-start-btn img {
          width: 15px;
     }

     .services-wrapper {
          margin-top: 2rem !important;
     }

     .service-title {
          font-size: 1.3rem;
     }

     .service-thumbnail-wrapper {
          grid-template-columns: repeat(1, minmax(0, 1fr));
          gap: 14px;
          margin-top: 22px;
     }

     .service-thumbnail {
          min-height: 190px;
          padding: 1rem 0.75rem;
          border-radius: 0.85rem;
     }

     .service-thumbnail-image,
     .service-thumbnail img {
          height: 64px;
     }

     .service-thumbnail p {
          font-size: 0.9rem;
          margin: 0.55rem 0 0.8rem;
     }

     .service-btn {
          padding: 0.55rem 0.5rem;
          font-size: 0.8rem;
          border-radius: 10px;
     }

     .service-lock-icon {
          width: 30px;
          height: 30px;
          font-size: 1rem;
     }

     #app-banner-section {
          min-height: 0;
          /* padding: 28px 0; */
          background: linear-gradient(135deg, #1182DF, #63737E 65%, #FECB38);
          /* border-radius: 16px; */
          overflow: hidden;
     }

     .app-banner-content {
          position: relative;
          inset: auto;
          width: 100%;
          padding: 20px;
          gap: 24px;
     }

     .app-static-content {
          width: 100%;
          max-width: 520px;
          margin: 0 auto;
     }

     .app-banner-bottom {
          flex-direction: column;
          align-items: center;
          gap: 20px;
     }

     .app-store-buttons {
          width: min(100%, 420px);
          margin: 0 auto;
     }

     .app-qrcodeWrapper {
          width: min(100%, 230px);
          margin: 0 auto;
          padding: 14px;
     }

     .traders-qrcodeWrapper {
          width: min(100%, 190px);
     }

     .home-service-shell {
          top: 56px;
          height: calc(100dvh - 56px);
          max-height: calc(100dvh - 56px);
     }

     .home-service-toolbar {
          padding: 10px 12px !important;
     }

     .home-service-toolbar .btn {
          flex-shrink: 0;
          padding-left: 0.8rem !important;
          padding-right: 0.8rem !important;
     }

     .modal-dialog {
          margin: 1rem;
     }

     .service-thumbnail-grid {
          grid-template-columns: repeat(2, 1fr);
     }
}

/* Very narrow phones */
@media (max-width: 380px) {
     .banner-wrapper .banner-content {
          padding: 12px 14px;
     }

     .banner-wrapper .banner-content h1 {
          font-size: 1.15rem;
     }

     .banner-wrapper .banner-content p {
          max-width: 78%;
          font-size: 0.72rem;
     }

     .service-thumbnail-wrapper {
          gap: 10px;
     }

     .service-thumbnail {
          padding: 0.85rem 0.6rem;
     }

     .service-thumbnail p {
          font-size: 0.82rem;
     }

     .service-btn {
          font-size: 0.75rem;
     }

     .service-thumbnail-grid {
          grid-template-columns: repeat(1, 1fr);
     }

     .services-dropdown-menu,
     .dropdown-menu.services-dropdown-menu {
          width: 14.5rem;
          min-width: 14.5rem;
     }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {

     .service-btn,
     .get-start-btn {
          transition: none;
          animation: none;
     }
}

.hero-img-height {
     max-height: 21rem;
}

/* Shared header layout polish */
.main-content-wrapper .header {
     height: 64px;
     z-index: 1040;
}

.main-content-wrapper .header .navbar {
     min-height: 64px;
     border-bottom: 2px solid #ffc52b;
     padding: 0;
     background: #0c1b43;
     box-shadow: 0 8px 24px rgba(12, 27, 67, 0.16);
}

.main-content-wrapper .header .navbar .container {
     min-height: 64px;
     gap: 20px;
}

.main-content-wrapper .header,
.main-content-wrapper .header .navbar,
.main-content-wrapper .header #collapsibleNavbar,
.main-content-wrapper .header .profile-dropdown {
     overflow: visible !important;
}

.main-content-wrapper .header .profile-dropdown {
     position: relative;
}

.main-content-wrapper .header .profile-dropdown-menu {
     position: absolute;
     top: calc(100% + 8px);
     right: 0;
     left: auto;
     z-index: 1060;
     max-height: calc(100vh - 88px);
     overflow-y: auto;
     margin-top: 0;
}

.main-content-wrapper .header .header-services-button {
     display: inline-flex;
     min-height: 40px;
     align-items: center;
     justify-content: center;
     gap: 8px;
     padding: 0 13px;
     border: 1px solid rgba(255, 255, 255, 0.2);
     border-radius: 8px;
     background: transparent;
     color: #fff;
     cursor: pointer;
     font-size: 0.875rem;
     font-weight: 600;
     transition: background-color 160ms ease, border-color 160ms ease;
}

.main-content-wrapper .header .header-services-button:hover,
.main-content-wrapper .header .header-services-button:focus-visible {
     border-color: rgba(255, 255, 255, 0.42);
     background: rgba(255, 255, 255, 0.1);
     color: #fff;
}

.header-services-modal {
     z-index: 1060;
}

.header-services-dialog {
     width: min(480px, calc(100% - 24px));
     max-width: none;
}

.header-services-modal .modal-content {
     overflow: hidden;
     border: 0;
     border-radius: 12px;
     box-shadow: 0 24px 72px rgba(12, 27, 67, 0.3);
}

.header-services-modal .modal-header {
     padding: 22px 24px 18px;
     border-bottom: 0;
     background: #0c1b43;
     color: #fff;
}

.header-services-modal .modal-title {
     margin: 0;
     font-size: 1.2rem;
     font-weight: 700;
}

.header-services-eyebrow {
     margin: 0 0 4px;
     color: #ffc52b;
     font-size: 0.66rem;
     font-weight: 700;
}

.header-services-modal .btn-close {
     filter: invert(1) grayscale(100%) brightness(200%);
}

.header-services-search-wrap {
     position: relative;
     margin: 16px 20px 12px;
}

.header-services-search-wrap .fa-search {
     position: absolute;
     top: 50%;
     left: 13px;
     color: #7280a7;
     transform: translateY(-50%);
}

.header-services-search {
     width: 100%;
     min-height: 42px;
     padding: 9px 12px 9px 38px;
     border: 1px solid #d8deea;
     border-radius: 8px;
     background: #f8fafc;
     color: #0b1531;
}

.header-services-search:focus {
     border-color: #2b5ce6;
     outline: 3px solid rgba(43, 92, 230, 0.14);
}

.header-services-modal .modal-body {
     padding: 0 12px 16px;
}

.header-company-modal {
     z-index: 1060;
}

.header-company-dialog {
     width: min(480px, calc(100% - 24px));
     max-width: none;
}

.header-company-modal .modal-content {
     overflow: hidden;
     border: 0;
     border-radius: 12px;
     box-shadow: 0 24px 72px rgba(12, 27, 67, 0.3);
}

.header-company-modal .modal-header {
     padding: 22px 24px 18px;
     border-bottom: 0;
     background: #0c1b43;
     color: #fff;
}

.header-company-modal .modal-title {
     margin: 0;
     font-size: 1.2rem;
     font-weight: 700;
}

.header-company-modal .btn-close {
     filter: invert(1) grayscale(100%) brightness(200%);
}

.header-company-modal .modal-body {
     padding: 12px;
}

.header-company-list .company-option {
     margin: 0;
     padding: 12px;
     border: 1px solid transparent;
     border-radius: 7px;
     color: #1f2937;
     cursor: pointer;
     text-align: left;
}

.header-company-list .company-option:hover,
.header-company-list .company-option:focus-visible,
.header-company-list .company-option.active {
     border-color: rgba(43, 92, 230, 0.12);
     background: #eef3fa;
     color: #0b1531;
     outline: none;
}

:root[data-theme="dark"] .header-company-modal .modal-content {
     background: var(--dashboard-surface);
     color: var(--dashboard-text);
}

:root[data-theme="dark"] .header-company-list .company-option {
     color: var(--dashboard-text);
}

:root[data-theme="dark"] .header-company-list .company-option:hover,
:root[data-theme="dark"] .header-company-list .company-option:focus-visible,
:root[data-theme="dark"] .header-company-list .company-option.active {
     background: rgba(255, 255, 255, 0.08);
     color: var(--dashboard-text);
}

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

.header-services-item {
     display: flex;
     min-height: 46px;
     align-items: center;
     justify-content: space-between;
     gap: 12px;
     margin: 2px 0;
     padding: 10px 12px;
     border-radius: 7px;
     color: #1f2937;
     font-size: 0.9rem;
     font-weight: 500;
     text-decoration: none;
}

.header-services-item:hover,
.header-services-item:focus-visible {
     background: #eef3fa;
     color: #1967a8;
     outline: none;
}

.header-services-item.disabled {
     color: #7280a7;
     cursor: not-allowed;
     opacity: 0.7;
     pointer-events: none;
}

.header-services-empty {
     padding: 14px 12px;
     color: #7280a7;
     font-size: 0.875rem;
}

.main-content-wrapper .header .navbar-brand {
     display: inline-flex;
     align-items: center;
}

.main-content-wrapper .header .navbar-nav {
     flex-direction: row;
     align-items: center;
     gap: 12px;
}

.main-content-wrapper .header .navbar-brand img {
     display: block;
     object-fit: contain;
}

.main-content-wrapper .header .services-dropdown-btn {
     min-height: 40px;
     padding: 0 13px;
     border: 1px solid rgba(255, 255, 255, 0.2);
     border-radius: 8px;
     background: transparent;
     font-weight: 600;
     transition: background-color 160ms ease, border-color 160ms ease;
}

.main-content-wrapper .header .services-dropdown-btn:hover,
.main-content-wrapper .header .services-dropdown-btn:focus-visible,
.main-content-wrapper .header .services-dropdown-btn[aria-expanded="true"] {
     border-color: rgba(255, 255, 255, 0.42);
     background: rgba(255, 255, 255, 0.1);
}

.main-content-wrapper .header .selected-company {
     width: auto;
     height: 40px;
     gap: 9px;
     padding: 0 12px;
     border: 1px solid rgba(255, 255, 255, 0.18);
     border-radius: 8px;
     background: rgba(255, 255, 255, 0.08);
     transition: background-color 160ms ease, border-color 160ms ease;
}

.main-content-wrapper .header .selected-company:hover,
.main-content-wrapper .header .selected-company:focus-visible,
.main-content-wrapper .header .selected-company[aria-expanded="true"] {
     border-color: rgba(255, 255, 255, 0.4);
     background: rgba(255, 255, 255, 0.14);
     outline: none;
}

.main-content-wrapper .header .selected-company img {
     width: 18px;
     height: 18px;
     flex: 0 0 auto;
}

.main-content-wrapper .header .selected-company #selectedText {
     flex: 1 1 auto;
     max-width: none;
     text-align: left;
}

.main-content-wrapper .header .company-dropdown {
     top: calc(100% + 8px);
     min-width: 220px;
     border: 1px solid #e5e7eb;
     box-shadow: 0 16px 32px rgba(12, 27, 67, 0.18);
}

.main-content-wrapper .header .company-option {
     text-align: left;
}

.main-content-wrapper .header .company-option:focus-visible,
.main-content-wrapper .header .profile-dropdown-menu .dropdown-item:focus-visible {
     outline: 2px solid #2b5ce6;
     outline-offset: -2px;
}

.main-content-wrapper .header .profile-dropdown .nav-link {
     display: inline-flex;
     min-height: 44px;
     align-items: center;
     gap: 8px;
     padding: 3px 6px 3px 10px !important;
     border-radius: 8px;
     transition: background-color 160ms ease;
}

.main-content-wrapper .header .profile-dropdown .nav-link:hover,
.main-content-wrapper .header .profile-dropdown .nav-link:focus-visible,
.main-content-wrapper .header .profile-dropdown .nav-link[aria-expanded="true"] {
     background: rgba(255, 255, 255, 0.1);
}

.main-content-wrapper .header .user-wrapper {
     gap: 10px !important;
}

.main-content-wrapper .header .header-greeting-label,
.main-content-wrapper .header .header-greeting-name {
     display: block;
}

.main-content-wrapper .header .header-greeting-label {
     color: rgba(255, 255, 255, 0.68);
     font-size: 0.7rem;
     line-height: 1.25;
}

.main-content-wrapper .header .header-greeting-name {
     max-width: 190px;
     overflow: hidden;
     font-size: 0.82rem;
     font-weight: 600;
     line-height: 1.25;
     text-overflow: ellipsis;
     white-space: nowrap;
}

.main-content-wrapper .header .rounded-img {
     width: 38px;
     height: 38px;
     border: 2px solid rgba(255, 255, 255, 0.5);
}

.main-content-wrapper .header .sign-in-btn {
     min-width: 0;
     padding: 0;
     border-radius: 8px;
     background: #ffc52b;
     line-height: normal;
}

.main-content-wrapper .header .sign-in-btn a {
     display: block;
     padding: 10px 16px;
     color: #14213d !important;
     font-size: 0.875rem;
     font-weight: 700;
     text-decoration: none;
}

@media (max-width: 767.98px) {
     .main-content-wrapper .header .navbar .container {
          gap: 8px;
          padding-right: 12px;
          padding-left: 12px;
     }

     .main-content-wrapper .header .navbar-nav {
          gap: 6px;
     }

     .main-content-wrapper .header .company-select {
          width: clamp(112px, 34vw, 180px);
          min-width: 0;
     }

     .main-content-wrapper .header .selected-company {
          width: 100%;
          gap: 7px;
          padding: 0 9px;
     }

     .main-content-wrapper .header .header-greeting-label,
     .main-content-wrapper .header .header-greeting-name {
          display: none;
     }

     .main-content-wrapper .header .profile-dropdown .nav-link {
          padding: 3px !important;
     }
}

@media (max-width: 380px) {
     .main-content-wrapper .header .selected-company {
          width: 108px;
          gap: 5px;
          padding: 0 7px;
          font-size: 0.75rem;
     }

     .main-content-wrapper .header .selected-company img {
          width: 15px;
          height: 15px;
     }

     .main-content-wrapper .header .services-dropdown-btn {
          gap: 4px;
          padding: 0 8px;
     }

     .main-content-wrapper .header .header-services-button {
          gap: 4px;
          padding: 0 8px;
     }
}

.text-danger{
     color: #dc3545 !important;
}