@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
    --color-primary: #004354;
    --color-secondary: #6168c1;
    --color-white: #ffffff;
    --color-black: #171a1b;
    --color-lightGray: #f5f5f5;
    --color-lightGray2: #d3eaf1;
    --color-lightGray3: #d5d5d5;
    --color-darkGray: #4b4b4b;
    --color-border: #e4e4e7;
    --color-soft: #ebf4f6;
    --color-error: #dc2626;
    --color-success: #059669;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html,
body{
    width: 100%;
    min-height: 100%;
}
body{
    font-family: "Poppins", sans-serif;
    background: #f6f6f7;
    color: var(--color-black);
    font-size: 14px;
}
input.is-invalid {
    border: 1px solid var(--color-error)!important;
}
.invalid-feedback{
    color: var(--color-error);
    font-size: 12px;
}

button[disabled] {
    opacity: 0.7;
    cursor: default;
}
button[disabled]:hover svg {
    transform: translateX(0px);
    -webkit-transform: translateX(0px);
}
img {
    max-width: 100%;
}
.page-wrapper{
    width: 100%;
    min-height: 100vh;
}
/* =========================================
   HEADER
========================================= */
.top-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
    color: var(--color-white);
    padding: 10px 50px;
    position: sticky;
    gap: 10px;
    top: 0;
    z-index: 6;
}

.header-left{
    display: flex;
    align-items: center;
    gap: 20px;
}
.header-toggle{
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    -webkit-flex: 0 0 30px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.header-toggle svg{
    width: 24px;
    height: 24px;
}
.sidebar-toggle .header-toggle svg{
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}
.header-title{
    font-size: 15px;
    line-height: 19px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}
.header-title>span{
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white);
    border-radius: 50%;
    font-size: 14px;
    color: var(--color-primary);
}
.mobile-search{
    display: none;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    background-color: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    transition: all 350ms ease-in-out;
}
.mobile-search svg{
    width: 14px;
    height: auto;
}
.mobile-search.search-open{
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}

.header-right{
    display: flex;
    align-items: center;
    gap: 12px;
}
.ecosystem-selector select{
    background-color: var(--color-white);
    border: 1px solid rgba(255,255,255,0.2);
    padding: 8px 14px;
    min-height: 38px;
    color: var(--color-black);
    border-radius: 50px;
    outline: none !important;
    box-shadow: none !important;
    min-width: 200px;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M8.62432 12.4449L15.7444 5.32473C15.9092 5.16005 16 4.94021 16 4.70581C16 4.47141 15.9092 4.25157 15.7444 4.08689L15.2202 3.56253C14.8786 3.22133 14.3234 3.22133 13.9823 3.56253L8.00332 9.54154L2.01767 3.5559C1.85286 3.39122 1.63316 3.30029 1.39888 3.30029C1.16435 3.30029 0.944643 3.39122 0.779701 3.5559L0.255608 4.08025C0.0907955 4.24507 0 4.46477 0 4.69918C0 4.93358 0.0907955 5.15342 0.255608 5.3181L7.38218 12.4449C7.54752 12.61 7.76826 12.7007 8.00293 12.7002C8.2385 12.7007 8.45912 12.61 8.62432 12.4449Z" fill="%23171a1b"/></svg>');
    background-position: calc(100% - 14px) center;
    background-repeat: no-repeat;
    background-size: 10px;
    padding-right: 30px;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
}

.select2-container--default .select2-selection--single{
    background-color: var(--color-white);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 8px 14px 7px;
    padding-right: 30px;
    min-height: 38px;
    color: var(--color-black);
    border-radius: 25px;
    border: 1px solid #dedee5;
    outline: none !important;
    box-shadow: none !important;
    min-width: 200px;
    height: auto;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
}
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, 
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{
    border-radius: 20px 20px 0 0;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height: 20px;
    padding-left: 0;
    padding-right: 0;
    padding-top: 1px;
    color: var(--color-black);
}
.select2-container--default .select2-selection--single .select2-selection__placeholder{
    color: var(--color-black);
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M8.62432 12.4449L15.7444 5.32473C15.9092 5.16005 16 4.94021 16 4.70581C16 4.47141 15.9092 4.25157 15.7444 4.08689L15.2202 3.56253C14.8786 3.22133 14.3234 3.22133 13.9823 3.56253L8.00332 9.54154L2.01767 3.5559C1.85286 3.39122 1.63316 3.30029 1.39888 3.30029C1.16435 3.30029 0.944643 3.39122 0.779701 3.5559L0.255608 4.08025C0.0907955 4.24507 0 4.46477 0 4.69918C0 4.93358 0.0907955 5.15342 0.255608 5.3181L7.38218 12.4449C7.54752 12.61 7.76826 12.7007 8.00293 12.7002C8.2385 12.7007 8.45912 12.61 8.62432 12.4449Z" fill="%23171a1b"/></svg>');
    background-repeat: no-repeat;
    background-size: 10px;
    background-position: center;
    top: 6px;
    right: 9px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b{
    display: none;
}
.select2-container--default .select2-selection--single .select2-selection__clear{
    margin-right: 5px;
    margin-top: -3px;
}
.select2-container--open .select2-dropdown--below{
    border-color: var(--color-border);
    border-radius: 0 0 16px 16px;
    overflow: hidden;
}
.select2-search--dropdown{
    padding: 4px 10px;
}
.select2-container--default .select2-search--dropdown .select2-search__field{
    border-color: var(--color-border);
    border-radius: 50px;
    padding: 8px 12px;
    background-color: #f6f7f5;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus{
    outline: none;
}
.select2-results__option{
    font-size: 12px;
    color: var(--color-black);
    padding: 6px 12px;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
    background-color: var(--color-primary);
}


.theme-button,
.theme-button-style{
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    background-color: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50%;
}
.theme-icon{
    height: 16px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}
.theme-icon svg{
    width: 16px;
    height: 16px;
}
.for-light,
.dark-mode .for-dark{
    display: none;
}
.dark-mode .for-light{
    display: block;
}

/* =========================================
   Sidebar
========================================= */
.sidebar-toggle{
    overflow: hidden;
}
.sidebar{
    transform: translateX(-420px);
    -webkit-transform: translateX(-420px);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 340px;
    height: 100%;
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    z-index: 9;
    border-radius: 0 16px 16px 0;
    padding: 20px;
    transition: all 350ms ease-in-out;
}
.sidebar-toggle .sidebar{
    transform: translateX(0);
    -webkit-transform: translateX(0);
}
.close-button{
    width: 34px;
    height: 34px;
    padding: 0;
    background-color: #ebf4f6;
    border-radius: 8px;
    border: none;
    display: block;
    cursor: pointer;
}
.sidebar-top{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 20px;
}
.sidebar-top h2{
    font-weight: 600;
    font-size: 17px;
    line-height: 21px;
    color: var(--color-black);
}

.user-details{
    background-color: #fdfcfa;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 14px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}
.user-pic{
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    border-radius: 50%;
    overflow: hidden;
    background-color: var(--color-primary);
}
.user-more{
    flex: 1;
}
.user-more>span{
    font-size: 14px;
    line-height: 16px;
    font-weight: 500;
    color: var(--color-black);
    display: block;
    margin-bottom: 6px;
}
.user-more>p{
    font-size: 11px;
    line-height: 15px;
    color: var(--color-black);
    opacity: 0.7;
    display: flex;
    align-items: center;
    gap: 4px;
}
.user-more>p svg{
    width: 12px;
}

.sidebar-overlay{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 8;
}
.sidebar-toggle .sidebar-overlay{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.menus ul{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.menus li{
    display: block;
}
.nav-link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    padding: 12px;
    border-radius: 12px;
    color: var(--color-black);
    font-size: 14px;
    line-height: 16px;
    font-weight: 400;
    position: relative;
    opacity: 0.9;
    border: none;
    width: 100%;
    background: transparent;
    cursor: pointer;
}
.nav-link::after{
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    width: 4px;
    height: 32px;
    background-color: var(--color-white);
    border-radius: 5px 0 0 5px;
    opacity: 0;
}
.nav-link.active::after{
    opacity: 1;
}
.nav-icon{
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    background: #ebf4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
}
.nav-icon svg path{
    stroke: var(--color-primary);
}
.nav-link.active{
    background: var(--color-primary);
    color: var(--color-white);
    opacity: 1;
    font-weight: 500;
}
.nav-link.active .nav-icon{
    background: rgba(255, 255, 255, 0.15);
}
.nav-link.active .nav-icon svg path{
    stroke: #fff;
}
.nav-link:not(.active):hover{
    background: #fafafa;
}
.user-sidebar-details {
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    padding-left: 5px;
    padding-right: 5px;
    margin-left: -5px;
    margin-right: -5px;
    
}
.user-sidebar-details.login-user{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
/* ==============================
   USER PROFILE + LOGOUT
   LIGHT MODE ONLY
================================ */

.logout-option {
    width: 100%;
    padding-top: 15px;
    border-top: solid 1px var(--color-border);
    box-sizing: border-box;
}

.logout-option button#logout_btn {
    padding: 0;
    border-radius: 6px;
    justify-content: end;
}
.logout-option .nav-link::after {
    display: none;
}
.logout-option button#logout_btn span.nav-icon {
    background: #d505051f;
}

.logout-option button#logout_btn span.nav-icon svg path{
    stroke: #d50505;
}

/* User Profile */

.logout-option .user-menu {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    transition: background 0.2s ease;
    box-sizing: border-box;
}



/* User Avatar */

.logout-option .user-menu-btn {
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    background:var(--color-primary);
    color: var(--color-white);
}

/* User Information */

.logout-option .user-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    flex: 1;
    min-width: 0;
    text-align: left;
}

.logout-option .user-name {
    display: block;
    color: #171a1b;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.logout-option .user-role {
    color: #858b98;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
}





/* Focus */



/* ==============================
   MOBILE RESPONSIVE
================================ */

@media (max-width: 767px) {
    .logout-option .user-name {
        font-size: 13px;
    }

}

.login-user .logout-option {
    display: flex;
    align-items: center;
}
/* =========================================
   MAIN
========================================= */
.main-container {
    display: grid;
    align-items: flex-start;
    grid-template-columns: 356px minmax(0, 1fr);
    gap: 12px;
    padding: 20px 50px 66px 42px;
    min-height: calc(100% - 66px);
    transition: all 350ms ease-in-out;
}
.left-column{
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: all 350ms ease-in-out;
    position: sticky;
    top: 79px;
    width: 356px;
}
.search-wrapper{
    position: relative;
}
.search-wrapper input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;

    /* custom icon */
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 5l10 10M15 5L5 15' stroke='%23ff0000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")
        no-repeat center;
    background-size: 16px 16px;

    width: 16px;
    height: 16px;
    cursor: pointer;
}
.search-area,
.owner-search-empty{
    padding: 12px;
    background-color: var(--color-white);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
    border: 1px solid var(--color-border);
    margin-bottom: 14px;
    margin-left: 8px;
    margin-right: 8px;
}
.owner-search-empty{
    text-align: center;
    margin: 0;
}
.owner-search-empty>span{
    font-weight: 500;
    font-size: 13px;
    line-height: 15px;
    color: var(--color-black);
    margin-bottom: 6px;
    display: block;
}
.owner-search-empty>p{
    font-size: 11px;
    line-height: 15px;
    color: var(--color-black);
    opacity: 0.8;
}
.search-area>label{
    font-size: 12px;
    margin-bottom: 8px;
    color: var(--color-black);
    display: block;
    opacity: 0.9;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    font-weight: 500;
}
.search-input{
    width: 100%;
    height: 42px;
    background-color: #f6f7f5;
    border: 1px solid var(--color-border);
    padding: 0 14px 0 37px;
    outline: none;
    border-radius: 50px;
    text-overflow: ellipsis;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
}
.search-input::placeholder{
    color: #797979;
    opacity: 1;
}
.search-button{
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 14px;
    top: 14px;
}
.search-icon{
    position: relative;
    width: 12px;
    height: 12px;
    border: 2px solid #5d6670;
    border-radius: 50%;
    opacity: 0.5;
}
.search-icon::after{
    content: "";
    position: absolute;
    width: 5px;
    height: 2px;
    background: #5d6670;
    right: -4px;
    bottom: -3px;
    transform: rotate(45deg);
}

.portal-count{
    padding: 0 8px 8px;
    font-size: 12px;
    color: var(--color-black);
    letter-spacing: 0.3px;
    text-transform: uppercase;
    font-weight: 500;
}

.owner-list{
    overflow-y: auto;
    max-height: calc(100vh - 286px);
    padding: 0 8px;
}
.owner-card{
    min-height: 60px;
    display: flex;
    align-items: center;
    padding: 14px 12px;
    margin-bottom: 10px;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    cursor: pointer;
    transition: background 0.15s ease;
    border-radius: 16px;
}
.owner-card:hover{
    border-color: #d4d4d8;
}
.owner-card:last-child{
    margin-bottom: 0;
}
.owner-card.active{
    box-shadow: 0 4px 16px rgba(0,67,84,.14);
    border-color: rgba(0,67,84,.6);
    background-color: #ebf4f6;
}
.owner-image{
    width: 40px;
    min-width: 40px;
    height: 40px;
    margin-right: 8px;
    flex: 0 0 40px;
    -webkit-flex: 0 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 50%;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: 12px;
    font-weight: 600;
}
.owner-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.owner-content{
    width: 100%;
}
.owner-name{
    font-weight: 500;
    font-size: 13px;
    line-height: 15px;
    color: var(--color-black);
    margin-bottom: 2px;
    text-overflow: ellipsis;
    overflow: hidden;
    word-break: break-word;
    display: -webkit-box;   
    -webkit-line-clamp: 2;   
    -webkit-box-orient: vertical;
}
.owner-meta{
    display: flex;
    gap: 4px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.owner-meta span{
    background-color: #fafafa;
    color: #71717a;
    padding: 3px 8px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 500;
    display: flex;
    gap: 5px;
    align-items: center;
}
.owner-meta span svg{
    margin-top: -2px;
}
.owner-card.active .owner-meta span{
    background-color: #fff;
    color: #3f3f46;
}
.owner-description{
    font-size: 11px;
    line-height: 15px;
    color: var(--color-black);
    opacity: 0.6;
    margin: 6px 0 0;
    display: flex;
    align-items: center;
    gap: 4px;
}
.owner-description svg{
    flex-shrink: 0;
}
.owner-card.active .owner-description{
    opacity: 0.8;
}
/* =========================================
   Right COLUMN
========================================= */
.right-column{
    transition: all 350ms ease-in-out;
    position: relative;
    min-height: 100%;
}
.right-column-inner{
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    /* align-items: flex-start; */
    gap: 20px;
    min-height: 100%;
}

.profile-heading{
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: #fdfdfc;
    border-bottom: 1px solid #f4f4f5;
    padding: 14px 24px;
}
.heading-text{
    flex: 1;
}
.heading-text h3{
    font-weight: 600;
    font-size: 17px;
    line-height: 21px;
    color: var(--color-black);
    margin: 0;
    word-break: break-word;
}
.heading-text p{
    font-size: 11px;
    line-height: 15px;
    color: var(--color-black);
    opacity: 0.7;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    word-break: break-word;
    margin-top: 6px;
}
.heading-text p span>svg{
    margin-top: 1px;
    flex-shrink: 0;
}
.heading-text p>span:first-child{
    display: flex;
    gap: 5px;
}

.user-imgArea{
    display: flex;
    align-items: center;
    gap: 12px;
}
.user-info{
    text-align: right;
}
.user-info>span{
    font-size: 11px;
    color: var(--color-black);
    display: block;
}
.user-info>span{
    text-transform: capitalize;
}
.heading-image{
    width: 40px;
    min-width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 50%;
    background-color: var(--color-primary);
    color: var(--color-white);
}
.heading-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mobile-back-button{
    display: none;
}

.rl-column{
    padding: 14px;
    background-color: var(--color-white);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
    border: 1px solid var(--color-border);
    position: sticky;
    top: 80px;
    align-self: flex-start;
}
.por-nav-imgArea{
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.por-nav-imgArea>p{
    font-size: 12px;
    color: var(--color-black);
    display: block;
    opacity: 0.9;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    font-weight: 500;
    margin: 0;
    flex: 1;
}
.por-img{
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    background-color: var(--color-primary);
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden;
}
.por-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.middle-column{
    max-height: calc(100vh - 214px);
    overflow-y: auto;
    padding-left: 5px;
    padding-right: 5px;
    margin-left: -5px;
    margin-right: -5px;
}
.navigation-menu{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.nav-item{
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    text-decoration: none;
    border-radius: 12px;
    position: relative;
    border: none;
    text-align: left;
    cursor: pointer; 
    font-family: "Poppins", sans-serif;
    background-color: transparent;
    transition: all 350ms ease-in-out;
}
.nav-item:hover{
    background-color: #C0C0C0;
}
.nav-item::after{
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    width: 4px;
    height: 26px;
    background-color: var(--color-white);
    border-radius: 5px 0 0 5px;
    opacity: 0; 
}
.nav-item.active::after{
    opacity: 1;
}
.function-icon{
    width: 28px;
    height: 28px;
    overflow: hidden;
}
.function-icon>svg{
    flex-shrink: 0;
    opacity: 0.7;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.function-icon>img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* .nav-item>span:not(.function-icon){
    flex: 1 1 0%;
} */
.mobile-right-arrow{
    display: none;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}
.dark-mode .mobile-right-arrow svg path,
.dark-mode .outline-btn svg path{
    fill: var(--color-black);
}
.nav-title{
    font-weight: 500;
    font-size: 13px;
    line-height: 17px;
    color: var(--color-black);
    margin: 0;
    display: block;
    opacity: 0.9;
}
.nav-subtitle{
    font-size: 11px;
    line-height: 15px;
    color: var(--color-black);
    opacity: 0.7;
    display: block;
    margin-top: 6px;
    display: -webkit-box;   
    -webkit-line-clamp: 2;   
    -webkit-box-orient: vertical;     
    overflow: hidden;
}
.nav-item:hover .nav-title{
    opacity: 1;
}
.nav-item.active{
    background: var(--color-primary);
    box-shadow: 0 4px 16px rgba(0,67,84,.14);
}
.nav-item.active > svg{
    stroke: var(--color-white);
}

.nav-item.active .nav-title{
    color: var(--color-white);
    opacity: 1;
}
.nav-item.active .nav-subtitle{
    color: var(--color-white);
    opacity: 0.9;
}
.nav-item.active .function-icon>svg{
    stroke: var(--color-white);
    opacity: 1;
}

.rr-column-inner{
    background-color: var(--color-white);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
    border: 1px solid var(--color-border);
    overflow: hidden;
}
.info-item{
    padding: 24px;
    overflow-y: auto;
}

.wide-image-box{
    padding: 30px;
    border-radius: 16px;
    background: radial-gradient(circle,rgba(0, 67, 84, 0.7) 0%, rgba(0, 67, 84, 1) 100%);
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 24px;
}
.wImage-top{
    width: 80px;
    height: 80px;
    flex: 0 0 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 67, 84, 0.1);
    border: 1px solid rgba(255,255,255,0.15);
    font-size: 26px;
    color: var(--color-white);
    font-weight: 600;
    overflow: hidden;
}
.image-cover{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.wImage-right{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.wImage-info>p{
    font-size: 14px;
    line-height: 18px;
    color: var(--color-white);
    font-weight: 500;
    margin: 0 0 10px;
    word-break: break-word;
}
.wImage-info>span{
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--color-white);
    opacity: 0.9;
    font-weight: 300;
}
.wImage-info>span svg{
    width: 14px;
    height: 14px;
}
.bg-shape{
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    opacity: 0.3;
}
.optional-img{
    background-color: #28616f;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--color-white);
    font-size: 12px;
    padding: 4px 16px;
    border-radius: 50px;
}

.summary-box-inner{
    margin: 24px 0;
    background-color: #fdfcfa;
    border: 1px solid var(--color-border);
    padding: 20px;
    border-radius: 16px;
}
.box-inner-top{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f0f0f1;
}
.box-inner-tRight>span{
    font-size: 12px;
    line-height: 14px;
    display: inline-block;
    color: var(--color-black);
    opacity: 0.8;
}

.box-inner-top h4{
    font-size: 14px;
    font-weight: 500;
    color: var(--color-black);
    display: flex;
    align-items:center;
    gap: 8px;
    word-break: break-word;
}
.box-inner-top h4>span{
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    background-color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden;
}
.box-inner-top h4>span svg{
    width: 18px;
    height: 18px;
}
.box-inner-top h4>span img{
    object-fit: contain;
    object-position: center;
}

.summary-content-inner{
    display: flex;
    flex-wrap: wrap;
    gap: 24px 16px;
}
.summary-row{
    color: var(--color-black);
    flex: 0 0 calc(50% - 8px);
    -webkit-flex: 0 0 calc(50% - 8px);
    max-width: calc(50% - 8px);
    font-size: 13px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.summary-row:nth-last-of-type(2),
.summary-row:last-child{
    flex: 0 0 100%;
    -webkit-flex: 0 0 100%;
    max-width: 100%;
}
.summary-row:last-child{
    border: 1px solid var(--color-border);
    padding: 20px;
    border-radius: 16px;
    background-color: #FBFCFC;
}
.summary-row:last-child .summary-info{
    flex: 0 0 calc(100% - 40px);
    -webkit-flex: 0 0 calc(100% - 40px);
    max-width: calc(100% - 40px);
}
.summary-row:last-child .summary-icon svg path{
    stroke: var(--color-primary);
}
.summary-icon{
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    background: #ebf4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
}
.summary-label{
    font-size: 12px;
    line-height: 14px;
    font-weight: 400;
    display: block;
    color: var(--color-black);
    opacity: 0.7;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}
.summary-info>div{
    word-break: break-word;
}
.summary-row:last-child .summary-info>div{
    display: flex;
    gap: 8px;
}
.page-url-left{
    background-color: var(--color-primary);
    flex: 0 0 calc(100% - 52px);
    max-width: calc(100% - 52px);
    padding: 6px 12px;
    padding-right: 4px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.globe-icon,
.url-redirect{
    flex-shrink: 0;
}
.globe-icon svg{
    vertical-align: middle;
    opacity: 0.9;
}
.page-url{
    color: var(--color-white);
    font-size: 12px;
    line-height: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.url-redirect{
    margin-left: auto;
    display: flex;
    padding: 8px;
}
.url-copy{
    width: 44px;
    flex: 0 0 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background-color: transparent;
    cursor: pointer;
}
.url-copy>span{
    display: none;
}

.summary-row svg{
    width: 16px;
    height: auto;
    color: var(--color-primary);
    opacity: 0.9;
}
.summary-info{
    flex: 1;
}
.summary-info>div a{
    color: var(--color-primary);
}

.action-area{
    background-color: #ebf4f6;
    border: 1px solid #ebf4f6;
    border-radius: 16px;
    padding: 20px;
}
.action-area>h4{
    font-size: 14px;
    font-weight: 500;
    color: var(--color-black);
    margin-bottom: 14px;
}
.action-buttons{
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.action-buttons button{
    background: var(--color-white);
    border: 1px solid var(--color-border);
    color: var(--color-black);
    text-align: left;
    padding: 14px 18px;
    cursor: pointer;
    border-radius: 50px;
    transition: all 350ms ease-in-out;
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
}
.action-buttons button:hover,
.action-buttons button.active{
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
}
.action-buttons button.active .action-icon,
.action-buttons button:hover .action-icon{
    background-color: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.action-buttons button.active .action-icon svg,
.action-buttons button:hover .action-icon svg,
.action-buttons button:hover .action-icon svg line{
    stroke: #fff;
}
.action-right{
    font-size: 13px;
    line-height: 18px;
    font-weight: 500;
    font-family: "Poppins", sans-serif;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.action-rleft{
    width: 100%;
}
.action-rleft>span{
    display: block;
    font-weight: 400;
    font-size: 11px;
    opacity: 0.8;
}
.action-buttons button .right-arrow{
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    transition: all 350ms ease-in-out;
}
.action-buttons button:not(.active) span>svg path{
    fill: var(--color-black);
}

.action-buttons button:hover span>svg path{
    fill: var(--color-white);
}
.action-buttons button:hover .right-arrow{
    transform: translateX(5px);
    -webkit-transform: translateX(5px);
}
.action-buttons button .action-icon{
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    background: #ebf4f6;
    border: 1px solid #ebf4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 350ms ease-in-out;
}
.wide-image-box>.optional-img{
    display: none;
}

.poll-box{
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    margin-top: 12px;
    padding: 12px;
    display: none;
}
.poll-box>p{
    font-size: 12px;
    color: var(--color-black);
    margin-bottom: 6px;
}
.poll-box>p span{
    font-weight: 500;
}
.poll-box-btns{
    display: flex;
    gap: 6px;
}
.poll-box-btns .yes_btn{
    background-color: #0d9801;
    border-color: #0d9801;
    color: var(--color-white);
}
.poll-box-btns>*{
    font-size: 11px;
    line-height: 13px;
    padding: 6px 12px;
    border: 1px solid var(--color-border);
    border-radius: 50px;
    background-color: transparent;
    cursor: pointer;
    font-family: "Poppins", sans-serif;
}

/* =========================================
   FOOTER
========================================= */
.footer{
    background: var(--color-white);
    padding: 14px 50px; 
    border-top: 1px solid var(--color-border);
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;
}
.footer>div{
    color: var(--color-black);
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    opacity: 0.6;
}
.footer a{
    color: var(--color-black);
    text-decoration: none;
    font-size: 13px;
}
.footer a:hover{
    color: var(--color-secondary);
}


.custom-scrollbar::-webkit-scrollbar{
    width: 4px;
}
.custom-scrollbar::-webkit-scrollbar-track{
    background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb{
    background: var(--color-border);
    border-radius: 10px;
}

/* Profile Details Tab */
.profile-detail{
    display: flex;
    gap: 16px;
}
.profile-left{
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    border-radius: 12px;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: 22px;
    font-weight: 600;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
}
.profile-right>h3{
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
    color: var(--color-black);
}
.profile-right>p{
    font-size: 13px;
    color: var(--color-black);
    opacity: 0.8;
    margin: 6px 0;
}
.pro-info{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}
.pro-info>span{
    background-color: #28616f;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--color-white);
    font-size: 11px;
    padding: 4px 16px;
    border-radius: 50px;
}
.pro-bottom-info{
    display: flex;
    gap: 12px;
    margin-top: 20px;
}
.pro-box{
    flex: 1;
    background-color: #fdfcfa;
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.pro-box-icon{
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    background: #ebf4f6;
    border: 1px solid #ebf4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.pro-box-content{
    width: 100%;
}
.pro-box-content>span{
    font-size: 12px;
    color: var(--color-black);
    display: block;
    opacity: 0.9;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}
.pro-box-content>div{
    font-size: 14px;
    line-height: 16px;
    margin-top: 6px;
    color: var(--color-black);
    font-weight: 500;
}
.pro-note{
    margin-top: 20px;
    color: #78350f;
    padding: 14px;
    border: 1px solid #fde68a;
    background-color: #fffbeb;
    border-radius: 12px;
}
.pro-note>p{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    font-size: 12px;
}
.pro-note>p span,
.live-info>p span{
    font-weight: 600;
}

.live-info{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px;
    border: 1px solid #a7f3d0;
    background-color: #ecfdf5;
    border-radius: 12px;
    margin-bottom: 16px;
}
.live-info>p{
    color: var(--color-black);
    font-size: 12px;
}
.live-info>span{
    font-size: 10px;
    line-height: 13px;
    background-color: #059669;
    color: var(--color-white);
    border-radius: 50px;
    padding: 2px 8px;
    display: inline-block;
}

.form-row{
    display: flex;
    flex-wrap: wrap;
    column-gap: 24px;
    row-gap: 14px;
}
.w-50{
    flex: 0 0 calc(50% - 12px);
    max-width: calc(50% - 12px);
}
.w-100{
    flex: 0 0 100%;
    max-width: 100%;
}
.form-group>label{
    font-size: 12px;
    line-height: 16px;
    display: block;
    width: 100%;
    color: var(--color-black);
    font-weight: 500;
    margin-bottom: 4px;
}
.form-group>input,
.form-group>select,
.form-group>textarea{
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    width: 100%;
    padding: 10px 12px;
    font-size: 13px;
    border-radius: 10px;
    min-height: 42px;
    font-family: "Poppins", sans-serif;
}
.form-group>input:focus,
.form-group>select:focus,
.form-group>textarea:focus{
    outline: none;
}
.form-group>textarea{
    height: 100px;
    resize: none;
}
.form-group>select{
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M8.62432 12.4449L15.7444 5.32473C15.9092 5.16005 16 4.94021 16 4.70581C16 4.47141 15.9092 4.25157 15.7444 4.08689L15.2202 3.56253C14.8786 3.22133 14.3234 3.22133 13.9823 3.56253L8.00332 9.54154L2.01767 3.5559C1.85286 3.39122 1.63316 3.30029 1.39888 3.30029C1.16435 3.30029 0.944643 3.39122 0.779701 3.5559L0.255608 4.08025C0.0907955 4.24507 0 4.46477 0 4.69918C0 4.93358 0.0907955 5.15342 0.255608 5.3181L7.38218 12.4449C7.54752 12.61 7.76826 12.7007 8.00293 12.7002C8.2385 12.7007 8.45912 12.61 8.62432 12.4449Z" fill="%23171a1b"/></svg>');
    background-position: calc(100% - 14px) center;
    background-repeat: no-repeat;
    background-size: 10px;
    padding-right: 30px;
}
.form-btns{
    margin-top: 20px;
    display: flex;
    gap: 8px;
}
.form-btns>button{
    font-size: 13px;
    line-height: 20px;
    font-weight: 500;
    padding: 10px 20px;
    border: 1px solid var(--color-border);
    border-radius: 100px;
    background-color: transparent;
    cursor: pointer;
    font-family: "Poppins", sans-serif;
}
.form-btns>.submit_btn{
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
}


/* =========================================================
   AI CHAT
========================================================= */

/* ---------- Layout: header fixed, messages scroll, composer fixed ---------- */
.ai-chat-item{
    padding: 0 !important;
    overflow: hidden;                         /* only .chat-messages scrolls */
    height: calc(100vh - 214px);
    min-height: 460px;
}
.ai-chat-inner{
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* ---------- FROZEN AGENT HEADER ---------- */
.chat-header{
    flex: 0 0 auto;                           /* never shrinks / never scrolls */
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 24px;
    background-color: var(--color-white);
    border-bottom: 1px solid var(--color-border);
}
.chat-agent{
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}
.agent-avatar{
    position: relative;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 50%;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}
.agent-avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}
.agent-avatar::after{                         /* online dot */
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background-color: var(--color-success);
    border: 2px solid var(--color-white);
}
.agent-text{
    min-width: 0;
}
.agent-name{                                  /* line 1 */
    font-size: 14px;
    line-height: 18px;
    font-weight: 600;
    color: var(--color-black);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.agent-caption{                               /* line 2 */
    font-size: 11px;
    line-height: 15px;
    margin-top: 2px;
    color: var(--color-black);
    opacity: 0.7;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---------- Header: online badge + "Chatting as" line ---------- */
.agent-name-row{
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.agent-name-row .agent-name{
    flex: 0 1 auto;
    min-width: 0;
}
.agent-status{
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 10px 2px 8px;
    font-size: 11px;
    line-height: 15px;
    font-weight: 500;
    color: #047857;
    background-color: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 50px;
}
.agent-status::before{
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--color-success);
}
.agent-chatting-as{
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-size: 11px;
    line-height: 15px;
    color: var(--color-black);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.agent-chatting-as>span:not(.chatting-avatar){
    opacity: 0.7;
    overflow: hidden;
    text-overflow: ellipsis;
}
.agent-chatting-as b{
    font-weight: 600;
    opacity: 1;
}
.chatting-avatar{
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    font-weight: 600;
    color: var(--color-darkGray);
    background-color: var(--color-lightGray3);
}
.chatting-avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------- Agent selector (right side of header) ---------- */
.agent-selector{
    position: relative;
    flex: 0 0 auto;
}
.agent-selector-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-black);
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 500;
    background: transparent;
    cursor: pointer;
    transition: all 250ms ease;
    border: none;
    outline: none;
    box-shadow: none !important;
}
.agent-selector-btn:hover,
.agent-selector.open .agent-selector-btn{
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(0, 67, 84, 0.12);
}
.agent-selector-btn svg{
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    transition: transform 250ms ease;
}
.agent-selector.open .agent-selector-btn svg{
    transform: rotate(180deg);
}
.agent-menu{
    position: absolute;
    left: -50px;
    top: calc(100% + 8px);
    max-width: 240px;
    min-width: 240px;
    width: 100%;
    max-height: 240px;
    overflow-y: auto;
    padding: 8px;
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 16px;
    z-index: 99;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px) scale(.96);
    transform-origin: top right;
    transition: opacity 220ms ease, transform 260ms cubic-bezier(.2, .8, .2, 1), visibility 0s linear 260ms;
}
.agent-selector.open .agent-menu{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    transition-delay: 0s;
}
.agent-option{
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: transparent;
    border: none;
    border-radius: 12px;
    text-align: left;
    cursor: pointer;
    font-family: "Poppins", sans-serif;
    color: var(--color-black);
    transition: background-color 200ms ease;
}
.agent-option:hover{
    background-color: var(--color-lightGray);
}
.agent-option.active{
    background-color: var(--color-soft);
}
.agent-option .agent-avatar {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    font-size: 10px;
}
.agent-option .agent-avatar::after{
    display: none;
}
.agent-option-name{
    font-size: 13px;
    line-height: 17px;
    font-weight: 500;
}
.agent-option-caption{
    font-size: 10px;
    line-height: 14px;
    opacity: 0.65;
}

/* ---------- Scrollable messages ---------- */
.chat-messages{
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.msg-date{
    text-align: center;
}
.msg-date>span{
    font-size: 11px;
    line-height: 13px;
    padding: 5px 8px;
    border: 1px solid var(--color-border);
    border-radius: 50px;
    background-color: #fafafa;
    display: inline-block;
}

/* ---------- MESSAGE WITH NAME / IMAGE / DATE-TIME ---------- */
.chat-msg{
    display: flex;
    align-items: flex-end;
    gap: 10px;
    max-width: 82%;
}
.chat-msg.portal{
    align-self: flex-start;
}
.chat-msg.customer,
.chat-msg.loggedIn{
    align-self: flex-end;
    flex-direction: row-reverse;
}
.chat-msg.agent .msg-bubble .msg-file.pdf {
    background-color: rgb(0 0 0 / 18%);
    border: 1px solid rgb(0 0 0 / 15%);
}
.chat-msg.agent .msg-bubble .msg-file.pdf .chat-attachment-file .pdf-icon{
 filter: brightness(0);
}
.chat-msg.agent .msg-bubble {
    align-self: flex-start;
}
.msg-avatar{
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    background-color: var(--color-primary);
}
.chat-msg.customer .msg-avatar,
.chat-msg.loggedIn .msg-avatar{
    background-color: var(--color-lightGray2);
    color: var(--color-primary);
}
.msg-avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.msg-body{
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.chat-msg.customer .msg-body,
.chat-msg.loggedIn .msg-body{
    align-items: flex-end;
}

.text-danger {
    color: #F64E60 !important;
}
.msg-meta{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    line-height: 14px;
    color: var(--color-black);
}
.chat-msg.customer .msg-meta,
.chat-msg.loggedIn .msg-meta{
    flex-direction: row-reverse;
}
.msg-sender{
    font-weight: 600;
    font-size: 12px;
}
.msg-role{
    font-size: 10px;
    padding: 1px 8px;
    border-radius: 50px;
    background-color: var(--color-soft);
    border: 1px solid var(--color-lightGray2);
    color: var(--color-darkGray);
}
.msg-time{
    opacity: 0.6;
}
.msg-bubble{
    font-size: 13px;
    line-height: 19px;
    padding: 10px 14px;
    border-radius: 16px 16px 16px 4px;
    background-color: #f4f4f5;
    color: var(--color-black);
    word-break: break-word;
    white-space: pre-wrap;
}
.disabled-form{
    opacity: 0.7;
    pointer-events: none;
}
.chat-msg.customer .msg-bubble,
.chat-msg.loggedIn .msg-bubble{
    background-color: var(--color-primary);
    color: var(--color-white);
    border-radius: 16px 16px 4px 16px;
}

/* attached files shown inside a sent message */
.msg-files{
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.msg-file.pdf {
    padding: 6px;
}
.msg-file{
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    padding: 6px 10px;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.25);
}
.msg-file svg{
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

/* ---------- Composer (fixed at bottom) ---------- */
.chat-composer{
    flex: 0 0 auto;
    padding: 12px 24px;
    background-color: var(--color-white);
    border-top: 1px solid var(--color-border);
}
.chat-composer p {
    font-size: 11px;
    text-align: center;
    color: gray;
    margin-top: 7px;
}
.attach-list{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}
.attach-list:empty{
    display: none;
}
.attach-chip{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 220px;
    padding: 4px 6px 4px 10px;
    font-size: 11px;
    border-radius: 50px;
    background-color: var(--color-soft);
    border: 1px solid var(--color-lightGray2);
    color: var(--color-black);
}
.attach-chip span{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.attach-chip button{
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: none;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, .12);
    color: inherit;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
}
.chat-form{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    background-color: var(--color-white);
}
.chat-form input[type="text"]{
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid var(--color-border);
    border-radius: 100px;
    background-color: #f6f7f5;
    color: var(--color-black);
    font-family: "Poppins", sans-serif;
    font-size: 13px;
}
.chat-form input[type="text"]:focus{
    outline: none;
}
.chat-form input[type="file"]{
    display: none;
}
.attach-btn,
.send-btn{
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    transition: all 250ms ease;
}
.attach-btn{                                  /* ATTACH FILE ICON */
    background-color: var(--color-soft);
    border: 1px solid var(--color-border);
}
.attach-btn:hover{
    border-color: var(--color-primary);
}
.attach-btn svg{
    width: 18px;
    height: 18px;
    fill: none;
    stroke: var(--color-primary);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.send-btn{
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
}
.send-btn:hover{
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(0, 67, 84, .25);
}
.send-btn svg{
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   CHAT ANIMATIONS
========================================================= */
@keyframes chatFadeUp{ from{ opacity: 0; transform: translateY(8px); } to{ opacity: 1; transform: none; } }
@keyframes chatPopIn{ from{ opacity: 0; transform: scale(.6); } to{ opacity: 1; transform: none; } }
@keyframes chatSlideIn{ from{ opacity: 0; transform: translateX(-10px); } to{ opacity: 1; transform: none; } }
@keyframes chatMsgIn{ from{ opacity: 0; transform: translateY(14px) scale(.94); } to{ opacity: 1; transform: none; } }
@keyframes chatOptIn{ from{ opacity: 0; transform: translateY(-6px); } to{ opacity: 1; transform: none; } }
@keyframes chatChipIn{ from{ opacity: 0; transform: scale(.7); } to{ opacity: 1; transform: none; } }
@keyframes chatChipOut{ to{ opacity: 0; transform: scale(.7); } }
@keyframes chatTyping{
    0%, 60%, 100%{ transform: translateY(0); opacity: .35; }
    30%{ transform: translateY(-5px); opacity: 1; }
}
@keyframes chatSent{
    0%{ transform: none; opacity: 1; }
    45%{ transform: translate(10px, -10px); opacity: 0; }
    46%{ transform: translate(-10px, 10px); opacity: 0; }
    100%{ transform: none; opacity: 1; }
}
@keyframes chatPulse{
    0%{ box-shadow: 0 0 0 0 rgba(5, 150, 105, .5); }
    70%, 100%{ box-shadow: 0 0 0 6px rgba(5, 150, 105, 0); }
}

/* header: agent switch + live dots */
.chat-agent.is-swap .agent-avatar{ animation: chatPopIn 450ms cubic-bezier(.34, 1.56, .64, 1) both; }
.chat-agent.is-swap .agent-text{ animation: chatSlideIn 380ms cubic-bezier(.2, .8, .2, 1) both; }
.agent-status::before,
.chat-header>.chat-agent .agent-avatar::after{ animation: chatPulse 2s ease-out infinite; }

/* dropdown options (staggered) */
.agent-selector.open .agent-option{ animation: chatOptIn 300ms ease both; animation-delay: calc(var(--i, 0) * 45ms + 40ms); }
.agent-option:active{ transform: scale(.98); }

/* messages */
.chat-messages.is-fade{ animation: chatFadeUp 350ms ease both; }
.chat-msg.enter{ animation: chatMsgIn 380ms cubic-bezier(.2, .8, .2, 1) both; }
.chat-msg.portal.enter{ transform-origin: bottom left; }
.chat-msg.customer.enter,.chat-msg.loggedIn.enter{ transform-origin: bottom right; }

/* typing indicator */
.chat-msg.typing .msg-bubble{ padding: 14px 16px; }
.typing-dots{ display: inline-flex; align-items: center; gap: 4px; height: 8px; }
.typing-dots i{
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: currentColor;
    opacity: .35;
    animation: chatTyping 1.2s ease-in-out infinite;
}
.typing-dots i:nth-child(2){ animation-delay: .15s; }
.typing-dots i:nth-child(3){ animation-delay: .3s; }

/* composer */
.chat-form{ transition: border-color 250ms ease, box-shadow 250ms ease; }
.chat-form:focus-within{
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(0, 67, 84, .12);
}
.attach-btn svg{ transition: transform 250ms ease; }
.attach-btn:hover svg{ transform: rotate(-20deg) scale(1.1); }
.attach-btn:active,
.send-btn:active{ transform: scale(.92); }
.send-btn.is-sent svg{ animation: chatSent 500ms ease both; }
.attach-chip.enter{ animation: chatChipIn 260ms cubic-bezier(.34, 1.56, .64, 1) both; }
.attach-chip.leave{ animation: chatChipOut 200ms ease both; }

@media (prefers-reduced-motion: reduce){
    .ai-chat-item *,
    .ai-chat-item *::before,
    .ai-chat-item *::after{
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* ---------- Chat: dark mode ---------- */
.dark-mode .chat-header,
.dark-mode .chat-composer,
.dark-mode .chat-form,
.dark-mode .agent-selector-btn,
.dark-mode .agent-menu{
    background-color: var(--color-dark-bg);
    border-color: #3f3f46;
}
.dark-mode .agent-avatar,
.dark-mode .msg-avatar,
.dark-mode .chat-msg.customer .msg-bubble,
.dark-mode .chat-msg.loggedIn .msg-bubble,
.dark-mode .send-btn,
.dark-mode .logout-option .user-menu-btn{
    background-color: #004354;
    border-color: #004354;
    color: #fff;
}
.dark-mode .chat-msg.customer .msg-avatar,
.dark-mode .chat-msg.loggedIn .msg-avatar{
    background-color: var(--color-secondary);
}
.dark-mode .agent-avatar::after{
    border-color: var(--color-dark-bg);
}
.dark-mode .agent-option:hover{
    background-color: #27272a;
}
.dark-mode .agent-option.active{
    background-color: #313133;
}
.dark-mode .msg-bubble{
    background-color: #27272a;
}
.dark-mode .chat-msg.customer .msg-bubble,
.dark-mode .chat-msg.loggedIn .msg-bubble{
    background-color: #004354;
}
.dark-mode .chat-form input[type="text"]{
    background-color: #27272a;
    border-color: #3f3f46;
}
.dark-mode .attach-btn,
.dark-mode .attach-chip,
.dark-mode .msg-role{
    background-color: #27272a;
    border-color: #3f3f46;
}
.dark-mode .attach-btn svg{
    stroke: #fff;
}
.dark-mode .msg-date>span{
    background-color: #27272a;
    border-color: #3f3f46;
}

.dark-mode .agent-status{
    color: #a7f3d0;
    background-color: #3d4e46;
    border-color: #547e6b;
}
.dark-mode .chatting-avatar{
    color: #fff;
    background-color: #3f3f46;
}



























/* ===== WhatsApp-style media in chat ===== */
.msg-media{
    display:grid; gap:3px;
    width:min(260px, 68vw);
    margin-bottom:6px;
    border-radius:10px; overflow:hidden;
}
.msg-media.count-1{ grid-template-columns:1fr; }
.msg-media.count-2,
.msg-media.count-3,
.msg-media.count-4{ grid-template-columns:1fr 1fr; }
.msg-media.count-3 .msg-img:first-child{ grid-column:1 / -1; aspect-ratio:2/1; }

.msg-img{
    position:relative; display:block; width:100%;
    aspect-ratio:1/1; padding:0; border:0;
    background:rgba(0,0,0,.08); cursor:pointer; overflow:hidden;
}
.msg-media.count-1 .msg-img{ aspect-ratio:4/3; }
.msg-img img{ width:100%; height:100%; object-fit:contain; display:block; transition:transform .25s; }
.msg-img:hover img{ transform:scale(1.04); }

/* "+N" overlay on the 4th image when there are more than 4 */
.msg-img:nth-child(n+5){ display:none; }
.msg-img[data-more]::after{
    content:attr(data-more);
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    background:rgba(0,0,0,.5); color:#fff;
    font-size:24px; font-weight:600;
}

/* file cards */
.msg-docs{ display:flex; flex-direction:column; gap:6px; margin-bottom:6px; }
.msg-doc{
    display:flex; align-items:center; gap:10px;
    min-width:200px; max-width:260px;
    padding:8px 10px; border-radius:10px;
    background:rgba(127,127,127,.18);
    color:inherit; text-decoration:none; font-size:12px;
}
.msg-doc-icon{
    flex:0 0 34px; height:34px; border-radius:8px;
    display:flex; align-items:center; justify-content:center;
    background:#dc2626; color:#fff; font-size:9px; font-weight:700;
}
.msg-doc-name{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* composer thumbnails */
.attach-chip-thumb{ width:28px; height:28px; border-radius:6px; object-fit:cover; flex:0 0 28px; }

/* lightbox */
.chat-lightbox{
    position:fixed; inset:0; z-index:10001;
    display:none; align-items:center; justify-content:center;
    background:rgba(0,0,0,.92);
}
.chat-lightbox.open{ display:flex; }
.chat-lightbox .lb-img{ max-width:92vw; max-height:84vh; object-fit:contain; border-radius:6px; }
.lb-bar{
    position:absolute; top:0; left:0; right:0;
    display:flex; align-items:center; justify-content:flex-end; gap:16px;
    padding:14px 18px; color:#fff;
}
.lb-count{ margin-right:auto; font-size:13px; opacity:.8; }
.lb-download{ color:#fff; display:flex; }
.lb-close{ background:none; border:0; color:#fff; font-size:34px; line-height:1; cursor:pointer; }
.lb-prev, .lb-next{
    position:absolute; top:50%; transform:translateY(-50%);
    width:44px; height:44px; border:0; border-radius:50%;
    background:rgba(255,255,255,.15); color:#fff; font-size:30px; cursor:pointer;
}
.lb-prev{ left:16px; } .lb-next{ right:16px; }
@media(max-width:767px){
    .lb-prev, .lb-next{ width:36px; height:36px; font-size:24px; }
}

.chat-attachment-file {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.chat-attachment-file .pdf-icon {
    flex-shrink: 0;
}










/* ---------- Chat: responsive ---------- */
@media screen and (max-width: 1499px){
    .chat-header{ padding: 12px 14px; }
    .chat-messages{ padding: 14px; }
    .chat-composer{ padding: 10px 14px 14px; }
}

@media screen and (max-width: 840px){
    .ai-chat-item{
        height: calc(100dvh - 210px);
    }
}
@media screen and (max-width: 680px){
    .chat-msg{ max-width: 94%; }
}

/* =========================================================
   END AI CHAT
========================================================= */

/* =========================================================
   SELECT2 (form fields)
========================================================= */
.select2-container {
    width: 100% !important;
}

/* .select2-container--default .select2-selection--single {
    height: 42px;
    border: 1px solid #dedee5;
    border-radius: 30px;
    background: #fff;
    display: flex;
    align-items: center;
    box-sizing: border-box;
} */
.select2-container--default .select2-selection.select2-selection--single.select2-selection--clearable{
    flex-direction: row-reverse;
    justify-content: space-between;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: normal !important;
    color: #333 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 32px !important;
    right: 8px !important;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single,
.dark-mode .input:focus {
    border-color: #004354 !important;
    outline: 0;
}
.dark-mode .select2-container--default .select2-results__option--selected{
    background-color: #39393e !important;
}
.dark-mode .select2-dropdown{
    border-color: #39393e !important;
}
/* Validation error border */
.select2-container--default .select2-selection--single.is-invalid {
    border-color: #dc3545 !important;
}

/* =========================================================
   REGISTER FORM VALIDATION
========================================================= */
#register-form .invalid-feedback {
    display: block;
    width: 100%;
    margin-top: 5px;
    color: #dc3545 !important;
    font-size: 13px;
    text-align: left;
}
#loginForm .invalid-feedback {
    display: block;
}

#register-form .is-invalid {
    border: 1px solid #dc3545 !important;
    box-shadow: none;
}

#register-form .is-invalid:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.12);
}

#registration-otp-error {
    flex: 0 0 100%;
}

#register-form #registration-otp-error {
    display: none;
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
    margin-top: 8px;
    color: #dc3545 !important;
    font-size: 13px;
    line-height: 18px;
    text-align: left;
}

#register-form #registration-otp-error strong {
    font-weight: 400;
}

/* =========================================================
   SWEETALERT2
========================================================= */
/* Main Popup */
.swal2-popup {
    font-family: 'Poppins', sans-serif;
    border-radius: 16px;
    padding: 28px 24px;
    border: 1px solid #e8eeee;
    box-shadow: 0 12px 40px rgba(0, 67, 84, 0.12);
}

/* Alert Title */
.swal2-title {
    color: var(--color-primary);
    font-size: 22px;
    font-weight: 600;
    padding: 0;
    margin-top: 16px;
}

/* Alert Description */
.swal2-html-container {
    color: #647579;
    font-size: 14px;
    line-height: 1.7;
}

/* Alert Icon */
.swal2-icon {
    margin: 8px auto 12px;
}

/* Confirm Button */
.swal2-confirm {
    background-color: var(--color-primary) !important;
    color: #fff !important;
    border: 1px solid var(--color-primary) !important;
    border-radius: 8px !important;
    padding: 11px 24px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    transition: all 0.2s ease;
}

.swal2-confirm:hover {
    filter: brightness(0.9);
}

/* Cancel Button */
.swal2-cancel {
    background-color: #fff !important;
    color: var(--color-primary) !important;
    border: 1px solid #d5e0e2 !important;
    border-radius: 8px !important;
    padding: 11px 24px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    transition: all 0.2s ease;
}

.swal2-cancel:hover {
    background-color: #f1f6f7 !important;
}

/* Button Spacing */
.swal2-actions {
    gap: 10px;
    margin-top: 24px;
}

/* Close Button */
.swal2-close {
    color: #647579 !important;
}

.swal2-close:hover {
    color: var(--color-primary) !important;
}

/* Background Overlay */
.swal2-container {
    background: rgba(16, 35, 40, 0.42);
    backdrop-filter: blur(3px);
}

/* Validation Message */
.swal2-validation-message {
    color: #b42318;
    background: #fff1f0;
    border-radius: 6px;
    font-size: 13px;
}
/* =========================================================
   SWEETALERT2 - DARK MODE
========================================================= */
.dark-mode .swal2-popup {
    background-color: var(--color-dark-bg);
    border-color: #3f3f46;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

.dark-mode .swal2-title {
    color: #ffffff;
}

.dark-mode .swal2-html-container {
    color: #a1a1aa;
}

.dark-mode .swal2-confirm,
.dark-mode .success-btn.outline {
    background-color: #004354 !important;
    border-color: #0a5062 !important;
    color: #ffffff !important;
}

.dark-mode .swal2-confirm:hover {
    filter: brightness(1.2);
}

.dark-mode .swal2-cancel {
    background-color: #27272a !important;
    border-color: #3f3f46 !important;
    color: #ffffff !important;
}

.dark-mode .swal2-cancel:hover {
    background-color: #3f3f46 !important;
}

.dark-mode .swal2-close {
    color: #a1a1aa !important;
}

.dark-mode .swal2-close:hover {
    color: #ffffff !important;
}

.dark-mode .swal2-container {
    background: rgba(0, 0, 0, 0.6);
}

.dark-mode .swal2-validation-message {
    color: #fca5a5;
    background: #3b1f1d;
}
/* =========================================================
   PORTAL NOT FOUND
========================================================= */
.main-container.no-portal-owner{
    grid-template-columns: minmax(0, 1fr);
}
.portal-not-found{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.portal-not-found>img{
    max-width: 240px;
}
.portal-not-found h2{
    font-weight: 600;
    font-size: 22px;
    line-height: 26px;
    color: var(--color-black);
    margin: 30px 0 10px;
    width: 100%;
    text-align: center;
}
.portal-not-found p{
    font-size: 14px;
    line-height: 19px;
    color: var(--color-black);
    opacity: 0.7;
    width: 100%;
    text-align: center;
}

/* Home Page */
.p-0{
    padding: 0 !important;
}
.full-grid{
    display: block;
    padding-left: 50px;
    max-width: 1440px;
    margin: 0 auto;
}
.main-top-box{
    background-color: #ebf6f8;
    border: 1px solid #d4e7ec;
    border-radius: 16px;
    padding: 24px 16px;
    margin-bottom: 14px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 1;
}
.main-top-icon{
    max-width: 50px;
    height: 50px;
    flex: 0 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-primary);
    border-radius: 10px;
}
.main-top-icon svg{
    width: 24px;
    height: auto;
}
.main-title{
    font-weight: 500;
    font-size: 17px;
    line-height: 21px;
    color: var(--color-black);
    margin: 0 0 8px;
    word-break: break-all;
    text-transform: capitalize;
}
.main-top-content{
    flex: 1;
}
.main-top-content>p{
    color: var(--color-black);
    font-size: 12px;
    line-height: 14px;
    opacity: 0.8;
}
.card{
    padding: 16px;
    background-color: var(--color-white);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
    border: 1px solid var(--color-border);
    overflow: hidden;
}
.card + .card{
    margin-top: 14px;
}
.inner-title,
.inner-title-sub{
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 8px;
    color: var(--color-black);
    display: block;
    opacity: 0.9;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    font-weight: 500;
}
.inner-title-sub{
    font-size: 12px;
    line-height: 14px;
}
.ecosystem-result .inner-title{
    background-color: var(--color-white);
    padding: 16px 16px 12px;
    margin: 0 0 12px;
    position: relative;
}
.ecosystem-result .inner-title::after{
    content: '';
    position: absolute;
    left: 16px;
    bottom: 0;
    width: calc(100% - 32px);
    height: 1px;
    background-color: #f0f0f1;
}
.ecosystem-lists{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    padding: 0 16px 16px;
    max-height: 240px;
    overflow-y: auto;
}
.eco-btn{
    background: var(--color-white);
    border: 1px solid #f0f0f1;
    color: var(--color-black);
    text-align: left;
    padding: 15px;
    cursor: pointer;
    border-radius: 10px;
    transition: all 350ms ease-in-out;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    text-decoration: none;
}
.eco-btn:hover{
    background-color: #fafafa;
}
.eco-btn-icon{
    flex-shrink: 0;
    display: inline-block;
    transition: all 350ms ease-in-out;
}
.eco-btn-icon svg{
    vertical-align: middle;
}
.eco-btn:hover .eco-btn-icon{
    transform: translateX(5px);
    -webkit-transform: translateX(5px);
}

/* Register Modal */
.modal-open{
    overflow: hidden;
}
.signup_btn{
    background-color: var(--color-white);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 8px 16px;
    min-height: 38px;
    color: var(--color-black);
    border-radius: 50px;
    outline: none !important;
    box-shadow: none !important;
    height: auto;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    cursor: pointer;
}
.modal-overlay{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100dvw;
    height: 100dvh;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 350ms ease-in-out;
}
.modal-open .modal-overlay{
    opacity: 0.5;
    visibility: visible;
    pointer-events: auto;
}
.sign-steps {
    display: none;
}
.common-modal{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    outline: 0;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
    -webkit-transform: translate(0, -50px);
    transform: translate(0, -50px);
}
.modal-open .common-modal{
    overflow-x: hidden;
    overflow-y: auto;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transform: none;
    transform: none;
    padding: 13px;
}
.modal-dialog{
    max-width: 540px;
    width: auto;
    margin: 28px auto;
    position: relative;
    pointer-events: none;
}
.modal-dialog-centered{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    min-height: calc(100% - 56px);
}
.modal-content{
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: var(--color-white);
    background-clip: padding-box;
    border: 1px solid transparent;
    border-radius: 16px;
    outline: 0;
    overflow: hidden;
}
.modal-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--color-primary);
    padding: 14px 24px;
    gap: 10px;
}
.mhead-left{
    flex: 1;
}
.mhead-left h2{
    display: block;
    font-size: 17px;
    line-height: 21px;
    color: var(--color-white);
    font-weight: 500;
    margin: 0 0 5px;
}
.mhead-left p{
    color: var(--color-white);
    font-size: 12px;
    font-weight: 400;
    opacity: 0.8;
}

.modal-body{
    padding: 24px;
    position: relative;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}
.form-steps{
    display: flex;
    margin-bottom: 24px;
}
.step-column{
    flex: 1;
    text-align: center;
    position: relative;
    padding-top: 38px;
    z-index: 1;
}
.step-column>span{
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #ebf4f6;
    display: flex;
    align-items: center;
    justify-content: center;
}
.step-column.active>span{
    background-color: var(--color-primary);
}
.step-column>span svg{
    width: 16px;
    height: auto;
    color: var(--color-primary);
    opacity: 0.75;
}
.step-column.active>span svg{
    opacity: 1;
}
.step-column>span svg path{
    stroke: var(--color-primary);
}
.step-column.active>span svg path,
.info-left svg path{
    stroke: var(--color-white);
}
.step-column>p{
    font-weight: 400;
    font-size: 13px;
    line-height: 17px;
    color: var(--color-black);
    margin: 0;
    display: block;
    opacity: 0.8;
}
.step-column.active>p{
    opacity: 1;
    color: var(--color-primary);
    font-weight: 500;
}
.step-column::after{
    content: '';
    position: absolute;
    left: 0;
    top: 15px;
    width: 100%;
    height: 2px;
    background-color: #ebf4f6;
    z-index: -1;
}
.step-column:first-child::after{
    width: 50%;
    left: inherit;
    right: 0;
}
.step-column:last-child::after{
    width: 50%;
}

.form-info{
    background-color: #ebf4f6;
    border: 1px solid #ebf4f6;
    padding: 14px;
    border-radius: 16px;
    margin: 0 0 24px;
    display: flex;
    gap: 10px;
}
.info-left{
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    background: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.info-left svg{
    width: 20px;
    height: auto;
}
.info-right{
    flex: 1;
}
.info-right>h4{
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    color: var(--color-black);
    margin: 0 0 6px;
}
.info-right>p{
    display: block;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    opacity: 0.8;
    color: var(--color-black);
}

.form-control{
    position: relative;
    margin-bottom: 24px;
}
.form-control label{
    width: 100%;
    display: block;
    font-size: 13px;
    line-height: 15px;
    font-weight: 500;
    color: var(--color-black);
    margin: 0 0 6px;
}
.form-control input{
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 12px 16px;
    width: 100%;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
}
.form-control input:focus{
    outline: none;
}
.form-control input[type="password"]{
    padding-right: 50px;
}
.password-toggle{
    position: absolute;
    right: 0;
    top: 21px;
    width: 46px;
    height: 46px;
    cursor: pointer;
}
.password-toggle svg{
    stroke: var(--color-black);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}
.password-toggle svg path {
    stroke: var(--color-black);
    opacity: 0.5;
}
.password-toggle:hover svg path {
    opacity: 1;
}
.eye-close,
.password-toggle.showing .eye-open{
    display: none;
}
.password-toggle.showing .eye-close {
    display: block;
}
.default-btn{
    width: 100%;
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    color: var(--color-white);
    padding: 13px;
    background-color: var(--color-primary);
    border-radius: 8px;
    border: none;
    font-family: "Poppins", sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    cursor: pointer;
    word-break: break-word;
    transition: all 350ms ease-in-out;
}
.default-btn svg{
    width: 13px;
    height: auto;
    margin-bottom: -1px;
    transition: all 350ms ease-in-out;
}
.default-btn:hover svg{
    transform: translateX(5px);
    -webkit-transform: translateX(5px);
}
.modal-bottom{
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #f3f3f3;
    padding-top: 20px;
    margin-top: 24px;
}
.mbottom-left>span{
    background-color: #ebf4f6;
    border: 1px solid #ebf4f6;
    font-size: 12px;
    line-height: 14px;
    color: var(--color-primary);
    font-weight: 500;
    padding: 5px 10px;
    display: inline-block;
    border-radius: 50px;
}
.mbottom-right{
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    opacity: 0.8;
}
.mbottom-right svg{
    width: 14px;
    height: auto;
    vertical-align: middle;
    margin-top: -2px;
}

/* Step2 */
.email-info{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 5px;
}
.email-info>span{
    background-color: #c7dfe4;
    border: 1px solid #a5c2c8;
    font-size: 11px;
    line-height: 12px;
    color: var(--color-primary);
    font-weight: 500;
    padding: 5px 10px;
    display: inline-block;
    border-radius: 50px;
}
.not-found{
    background-color: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #991b1b !important;
}
.found-inactive{
    color: #92400e !important;
    background-color: #fef3c7 !important;
    border-color: #fde68a !important;
}
.found-active{
    color: #166534 !important;
    background-color: #dcfce7 !important;
    border-color: #a4ecbe !important;
}
.code-input{
    display: flex;
    justify-content: center;
    gap: 10px;
    min-width: 100%;
}
.code-input-outer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 24px;
    gap: 5px;
}
.code-input input{
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 4px;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 500;
    width: 50px;
    height: 50px;
    text-align: center;
    color: var(--color-black);
}
.code-input input:focus{
    outline: none;
}
.btn-area{
    display: flex;
    gap: 18px;
}
.outline-btn{
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    color: var(--color-black);
    border: 1px solid var(--color-border);
    padding: 13px;
    background-color: transparent;
    border-radius: 8px;
    font-family: "Poppins", sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    cursor: pointer;
    min-width: 140px;
    word-break: break-word;
    transition: all 350ms ease-in-out;
}
.outline-btn:hover{
    background-color: var(--color-border);
}
.outline-btn svg{
    width: 13px;
    height: auto;
    margin-bottom: -1px;
    transition: all 350ms ease-in-out;
}
.outline-btn:hover svg{
    transform: translateX(-5px);
    -webkit-transform: translateX(-5px);
}

.choose-area{
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
}
.choose-option{
    background-color: #fdfcfa;
    border: 1px solid var(--color-border);
    padding: 14px;
    border-radius: 16px;
    display: flex;
    gap: 10px;
    font-family: "Poppins", sans-serif;
    cursor: pointer;
    position: relative;
    transition: all 350ms ease-in-out;
}
.choose-option::after{
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 34px;
    background-color: var(--color-primary);
    border-radius: 10px 0 0 10px;
    opacity: 0;
}
.choose-option.active::after{
    opacity: 1;
}
.choose-option:hover{
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.option-left{
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    background: #ebf4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}
.option-left svg{
    width: 20px;
    height: auto;
}
.option-right{
    flex: 1;
    text-align: left;
}
.option-right h4{
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    color: var(--color-black);
    margin: 0 0 6px;
}
.option-right p{
    display: block;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    opacity: 0.8;
    color: var(--color-black);
}
.choose-option.active{
    background-color: #ebf4f6;
    border-color: var(--color-primary);
}
.choose-option.active .option-left{
    background-color: var(--color-primary);
}
.choose-option.active .option-left svg,
.choose-option.active .option-left svg path {
    stroke: #fff;
}
.activated-msg{
    text-align: center;
    padding: 20px 0;
}
.check-icon{
    width: 60px;
    height: 60px;
    background-color: #ebf4f6;
    border: 1px solid var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.check-icon::after,
.check-icon::before{
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(0, 67, 84, 1);
    border-radius: 9999px;
    z-index: -1;
    opacity: 0.3;
    animation: ping 2.2s cubic-bezier(0, 0, .2, 1) infinite;
}
.check-icon::before{
    opacity: 0.2;
    animation: ping 2.2s cubic-bezier(0, 0, .2, 1) .6s infinite;
}
@keyframes ping{
    75%, 100% {
        transform: scale(2);
        opacity: 0;
    }
}
.check-icon svg{
    width: 34px;
    height: auto;
}
.activated-msg h3{
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    color: var(--color-primary);
    margin: 20px 0 10px;
    letter-spacing: 0.3px;
}
.activated-msg p{
    display: block;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    opacity: 0.8;
    color: var(--color-black);
}
.mb-10{
    margin-bottom: 10px !important;
}
.change-email{
    margin-top: 20px;
    text-align: center;
}
.email-change-btn{
    background-color: transparent;
    border: none;
    color: var(--color-primary);
    font-size: 13px;
    text-decoration: underline;
    font-weight: 500;
    display:  flex;
    align-items: center;
    gap:7px;
    justify-content: center;
    font-family: "Poppins", sans-serif;
    cursor: pointer;
        margin: auto;
}

/* =========================================
   For Dark Mode
========================================= */
html.dark-mode{
    --color-primary: #fff;
    --color-secondary: #858be0;

    --color-white: #0f1a0f;
    --color-black: #ffffff;

    --color-lightGray: #202f36;
    --color-lightGray2: #0d6074;
    --color-lightGray3: #3a4b52;

    --color-darkGray: #c3ced2;

    --color-border: #27272a;

    --color-dark-bg: #18181b;
}

html.dark-mode body{
    background-color: #0a0f0a;
}
.dark-mode .top-header{
    background-color: var(--color-white);
    border-color: var(--color-border);
}
.dark-mode .header-title{
    color: var(--color-black);
}

.dark-mode .theme-button,
.dark-mode .search-input,
.dark-mode .ecosystem-selector select,
.dark-mode .owner-card:hover,
.dark-mode .nav-item:hover,
.dark-mode .action-buttons button,
.dark-mode .form-btns>button:not(.submit_btn),
.dark-mode .custom-scrollbar::-webkit-scrollbar-thumb,
.dark-mode .form-group>input, 
.dark-mode .form-group>select, 
.dark-mode .form-group>textarea,
.dark-mode .select2-container--default .select2-selection--single,
.dark-mode .select2-dropdown,
.dark-mode .nav-link:hover,
.dark-mode .mobile-search,
.dark-mode .eco-btn:hover,
.dark-mode .form-control input{
    background-color: #27272a;
}
.dark-mode .select2-container--default .select2-search--dropdown .select2-search__field{
    background-color: #3c3c3c;
}
.dark-mode .ecosystem-selector select,
.dark-mode .theme-button,
.dark-mode .theme-button-style,
.dark-mode .action-buttons button,
.dark-mode .form-btns>button:not(.submit_btn),
.dark-mode .form-group>input, 
.dark-mode .form-group>select, 
.dark-mode .form-group>textarea,
.dark-mode .search-input,
.dark-mode .select2-container--default .select2-selection--single,
.dark-mode .select2-container--open .select2-dropdown--below,
.dark-mode .select2-container--default .select2-search--dropdown .select2-search__field,
.dark-mode .sidebar,
.dark-mode .mobile-search,
.dark-mode .user-menu-btn{
    border-color: #3f3f46;
}
.dark-mode .nav-item.active > svg,
.dark-mode .info-left svg path,
.dark-mode .nav-item.active .function-icon>svg {
    stroke: var(--color-black);
}
.dark-mode .modal-header,
.dark-mode .step-column.active>span,
.dark-mode .modal-overlay,
.dark-mode .info-left,
.dark-mode .default-btn,
.dark-mode .mbottom-left>span,
.dark-mode .theme-button-style,
.dark-mode .choose-option.active .option-left{
    background-color: #004354;
}
.dark-mode .form-info,
.dark-mode .mbottom-left>span,
.dark-mode .theme-button-style,
.dark-mode .choose-option.active,
.dark-mode .email-info>span {
    border: 1px solid #0a5062;
}
.dark-mode .option-left svg path {
    stroke: var(--color-primary);
}
.dark-mode .email-info>span,
.dark-mode .choose-option::after,
.dark-mode .success-avatar{
    background-color: #0a5062;
}
.dark-mode .action-buttons button:hover,
.dark-mode .search-input,
.dark-mode .nav-item.active .nav-title,
.dark-mode .nav-item.active .nav-subtitle,
.dark-mode .wImage-top,
.dark-mode .wImage-info>p,
.dark-mode .wImage-info>span,
.dark-mode .owner-image,
.dark-mode .poll-box-btns .yes_btn,
.dark-mode .live-info>span,
.dark-mode .form-btns>.submit_btn,
.dark-mode .form-btns>button:not(.submit_btn),
.dark-mode .optional-img,
.dark-mode .pro-info>span,
.dark-mode .form-group>input, 
.dark-mode .form-group>select, 
.dark-mode .form-group>textarea,
.dark-mode .select2-container--default .select2-search--dropdown .select2-search__field,
.dark-mode .select2-container--default .select2-selection--single .select2-selection__clear,
.dark-mode .nav-link.active,
.dark-mode .page-url,
.dark-mode .mhead-left h2,
.dark-mode .step-column.active>p,
.dark-mode .mhead-left p,
.dark-mode .step-column>span svg,
.dark-mode .form-control input,
.dark-mode .default-btn,
.dark-mode .phone-code,
.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered,
.dark-mode .segment.active,
.dark-mode .user-menu-btn{
    color: var(--color-black) !important;
}
.dark-mode .step-column::after{
    background-color: #004354;
    opacity: 0.5;
}

.dark-mode .choose-option.active,
.dark-mode .option-left{
    background-color: #0043544d;
}
.dark-mode .step-column>span,
.dark-mode .form-info{
   background-color:#03313d;
}
.dark-mode .step-column.active>span svg path {
    stroke: var(--color-primary);
}
.dark-mode .owner-card:hover,
.dark-mode .box-inner-top,
.dark-mode .action-area,
.dark-mode .main-top-box,
.dark-mode .eco-btn,
.dark-mode .modal-bottom{
    border-color: var(--color-border);
}
.dark-mode .action-buttons button:hover span>svg path{
    fill: var(--color-black);
}
.dark-mode .search-area,
.dark-mode .owner-card,
.dark-mode .rl-column,
.dark-mode .rr-column-inner,
.dark-mode .footer,
.dark-mode .main-top-box,
.dark-mode .card,
.dark-mode .ecosystem-result .inner-title,
.dark-mode .owner-search-empty,
.dark-mode .summary-row:last-child,
.dark-mode .modal-content,
.dark-mode .code-input input,
.dark-mode .input{
    background-color: var(--color-dark-bg);
    box-shadow: none;
}
.dark-mode .profile-heading,
.dark-mode .phone-code,
.dark-mode .choose-option,
.dark-mode .success-card {
    background-color: transparent;
    border-color: var(--color-border);
}
.dark-mode .heading-image,
.dark-mode .nav-item.active,
.dark-mode .box-inner-top h4>span,
.dark-mode .owner-image,
.dark-mode .header-title>span,
.dark-mode .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
.dark-mode .nav-link.active,
.dark-mode .main-top-icon,
.dark-mode .segment.active{
    background-color: #004354;
}
.dark-mode .owner-card.active{
    background-color: #313133;
    border-color: rgba(0, 67, 84, .8);
    box-shadow: 0 4px 16px rgba(0,67,84,.5);
}
.dark-mode .owner-meta span{
    background-color: var(--color-border);
    color: #b6b6b7;
}
.dark-mode  .owner-card.active .owner-meta span{
    background-color: #3e3e41;
    color: #d9d9d9;
}
.dark-mode .search-icon{
    border-color: #ffffff;
}
.dark-mode .search-icon::after{
    background-color: #ffffff;
}
.dark-mode .function-icon>svg{
    opacity: 0.8;
    stroke: var(--color-black);
}
.dark-mode .summary-box-inner,
.dark-mode .action-area,
.dark-mode .pro-box,
.dark-mode .user-details,
.dark-mode .eco-btn{
    background-color: #09090b;
}
.dark-mode .page-url-left{
    background-color: #35353e;
}
.dark-mode .url-copy{
    background-color: #282830;
    border-color: #3f3f46;
}
.dark-mode .action-buttons button:hover, 
.dark-mode .action-buttons button.active,
.dark-mode .form-btns>.submit_btn{
    background-color: #004354;
    border-color: #004354;
    color: var(--color-black);
}
.dark-mode .ecosystem-selector select,
.dark-mode .form-group>select,
.dark-mode .select2-container--default .select2-selection--single .select2-selection__arrow{
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M8.62432 12.4449L15.7444 5.32473C15.9092 5.16005 16 4.94021 16 4.70581C16 4.47141 15.9092 4.25157 15.7444 4.08689L15.2202 3.56253C14.8786 3.22133 14.3234 3.22133 13.9823 3.56253L8.00332 9.54154L2.01767 3.5559C1.85286 3.39122 1.63316 3.30029 1.39888 3.30029C1.16435 3.30029 0.944643 3.39122 0.779701 3.5559L0.255608 4.08025C0.0907955 4.24507 0 4.46477 0 4.69918C0 4.93358 0.0907955 5.15342 0.255608 5.3181L7.38218 12.4449C7.54752 12.61 7.76826 12.7007 8.00293 12.7002C8.2385 12.7007 8.45912 12.61 8.62432 12.4449Z" fill="%239f9f9f"/></svg>');
}
.dark-mode .action-buttons button .right-arrow{
    color: var(--color-white);
}
.dark-mode .poll-box{
    background-color: var(--color-dark-bg);
}
.dark-mode .poll-box-btns .no_btn{
    background-color: var(--color-border);
    color: #b6b6b7;
}
.dark-mode .pro-note{
    background-color: #383528;
    border-color: #655f47;
    color: var(--color-black);
}
.dark-mode .ecosystem-result .inner-title::after{
    background-color: var(--color-border);
}
.dark-mode .live-info{
    background-color: #3d4e46;
    border-color: #547e6b;
}
.dark-mode .action-buttons button .action-icon,
.dark-mode .pro-box-icon{
    background-color: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.dark-mode .action-buttons button .action-icon svg,
.dark-mode .action-buttons button .action-icon svg line,
.dark-mode .pro-box-icon svg path{
    stroke: #fff;
}
.dark-mode .close-button svg path,
.dark-mode .eco-btn-icon svg path,
.dark-mode .url-copy svg path{
    fill: #fff;
}
.dark-mode .summary-icon,
.dark-mode .nav-icon,
.dark-mode .close-button{
    background-color: rgba(255, 255, 255, 0.15);
}

.dark-mode input::placeholder,
.dark-mode textarea::placeholder,
.dark-mode .search-input::placeholder{
    color: #a5a5a5;
    opacity: 1;
}
.dark-mode input::-webkit-input-placeholder,
.dark-mode textarea::-webkit-input-placeholder{
    color: #a5a5a5;
    opacity: 1;
}
.dark-mode input::-moz-placeholder,
.dark-mode textarea::-moz-placeholder{
    color: #a5a5a5;
    opacity: 1;
}

/* =========================================
   Portal images (web / mobile / fallback)
========================================= */
.portal-wide-image {
    width: 100%;
    height: 150px;
    object-fit: cover;
}
/* Web/Desktop: 1150x150 only */
.portal-web-image {
    display: block !important;
}
.portal-mobile-image {
    display: none !important;
}
.portal-fallback-image {
    display: none !important;
}

.fallback-mobile-only {
    display: none !important;
}

.fallback-web-only,
.fallback-all-devices{
    display: flex !important;
}

.header-portal-image {
    width: 35px;
    height: 35px;
    object-fit: cover;
    border-radius: 50%;
    flex-shrink: 0;
}


/* Core Form Styles */

.core-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}


.form-title {
    font-size: 15px;
    line-height: 19px;
    font-weight: 600;
    color: var(--color-black);
    margin-bottom: 2px;
}
 
.field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
 
.field-label {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    line-height: 14px;
    font-weight: 600;
    color: var(--color-black);
    opacity: 0.75;
}
 
.field-label svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
 
/* =========================================
   INPUTS
========================================= */
.input {
    width: 100%;
    height: 42px;
    padding: 0 14px;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    color: var(--color-black);
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    outline: none;
    transition: border-color 250ms ease, box-shadow 250ms ease;
}
 
.input::placeholder {
    color: #9ca3af;
    opacity: 1;
}
 
.input:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(0, 67, 84, 0.12);
}
 
.input.invalid {
    border-color: var(--color-error);
}
 
.input.invalid:focus {
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}
 
.select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    padding-right: 32px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23171a1b" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>');
    background-repeat: no-repeat;
    background-position: calc(100% - 12px) center;
    background-size: 14px;
}
 
.error-text {
    font-size: 12px;
    line-height: 14px;
    color: var(--color-error);
    min-height: 0;
}
 
.error-text:empty {
    display: none;
}
 
/* =========================================
   SEGMENTED (CUSTOMER TYPE)
========================================= */
.segmented {
    display: inline-flex;
    align-self: flex-start;
    padding: 4px;
    background-color: var(--color-lightGray);
    border: 1px solid var(--color-border);
    border-radius: 50px;
}
 
.segment {
    height: 28px;
    padding: 0 18px;
    border: none;
    border-radius: 50px;
    background: transparent;
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-black);
    opacity: 0.6;
    cursor: pointer;
    transition: all 250ms ease;
}
 
.segment:hover {
    opacity: 1;
}
 
.segment.active {
    background-color: var(--color-primary);
    color: var(--color-white);
    opacity: 1;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
}
 
/* =========================================
   PHONE
========================================= */
.phone-row {
    display: flex;
    gap: 8px;
}
 
.phone-code {
    flex-shrink: 0;
    height: 42px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 500;
    background-color: #f9fafb;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    white-space: nowrap;
}
 
.phone-row .input {
    flex: 1;
    min-width: 0;
}
 
/* =========================================
   GRID
========================================= */
.grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
 
/* =========================================
   PASSWORD
========================================= */
.password-wrap {
    position: relative;
}
 
.password-wrap .input {
    padding-right: 42px;
}
 
.eye-btn {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 250ms ease;
}
 
.eye-btn:hover {
    opacity: 1;
}
 
.eye-btn svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: var(--color-black);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
 
.eye-btn .eye-closed {
    display: none;
}
 
.eye-btn.showing .eye-open {
    display: none;
}
 
.eye-btn.showing .eye-closed {
    display: block;
}
 
/* =========================================
   SUBMIT
========================================= */
.submit-btn {
    width: 100%;
    margin-top: 8px;
    padding: 13px;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    color: var(--color-white);
    background-color: var(--color-primary);
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: all 350ms ease-in-out;
}
 
.submit-btn:hover {
    box-shadow: 0 4px 16px rgba(0, 67, 84, .25);
    transform: translateY(-1px);
}
 
.success-text {
    font-size: 12px;
    text-align: center;
    color: var(--color-success);
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 12px;
    padding: 10px;
}
 
.success-text[hidden] {
    display: none;
}
 

/* =========================================
   SUCCESS SCREEN
========================================= */
.success-screen{
    position:relative;
    overflow:hidden;
    text-align:center;
    display:flex;
    flex-direction:column;
    gap:20px;
    animation:slideNext 400ms ease-out both;
}
@keyframes slideNext{
    from{opacity:0;transform:translateX(24px)}
    to{opacity:1;transform:translateX(0)}
}

/* confetti */
.confetti-wrap{
    position:absolute;
    inset:0;
    pointer-events:none;
    overflow:hidden;
}
.confetti-dot{
    position:absolute;
    top:-10px;
    width:8px;
    height:8px;
    border-radius:50%;
    animation-name:confetti;
    animation-timing-function:linear;
    animation-iteration-count:1;
    animation-fill-mode:forwards;
}
@keyframes confetti{
    0%{transform:translateY(0) rotate(0deg);opacity:1}
    100%{transform:translateY(420px) rotate(540deg);opacity:0}
}

/* check + heading */
.success-top{
    padding:8px 0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
}
.success-check{
    width:64px;
    height:64px;
    border-radius:50%;
    background:#dcfce7;
    border:2px solid #22c55e;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 1px 2px rgba(0,0,0,.08);
    animation:checkPop 500ms cubic-bezier(.34,1.56,.64,1) both;
}
.success-check svg{
    width:32px;
    height:32px;
    stroke:#16a34a;
}
@keyframes checkPop{
    0%{transform:scale(0);opacity:0}
    100%{transform:scale(1);opacity:1}
}
.success-title{
    font-size:18px;
    line-height:24px;
    font-weight:700;
    color:var(--color-black);
}
.success-subtitle{
    font-size:12px;
    line-height:16px;
    margin-top:4px;
    color:var(--color-black);
    opacity:.6;
}

/* user card */
.success-card{
    text-align:left;
    background:#f9fafb;
    border:1px solid var(--color-border);
    border-radius:12px;
    padding:16px;
}
.success-user{
    display:flex;
    align-items:center;
    gap:12px;
}
.success-avatar{
    width:40px;
    height:40px;
    flex:0 0 40px;
    border-radius:50%;
    background:var(--color-primary);
    color:#fff;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    justify-content:center;
}
.success-user-info{
    flex:1;
    min-width:0;
}
.success-name{
    font-size:13px;
    font-weight:600;
    line-height:17px;
    color:var(--color-black);
}
.success-email{
    font-size:11px;
    line-height:15px;
    color:var(--color-black);
    opacity:.6;
    word-break:break-all;
}
.success-badge{
    margin-left:auto;
    flex-shrink:0;
    font-size:10px;
    font-weight:700;
    line-height:12px;
    padding:4px 8px;
    border-radius:50px;
    background:#dcfce7;
    color:#166534;
    border:1px solid #bbf7d0;
    text-transform:uppercase;
}
.success-meta{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:12px;
    padding-top:12px;
    border-top:1px dashed var(--color-border);
    font-size:11px;
    line-height:15px;
}
.success-meta span.label{
    opacity:.5;
}
.success-meta span.value{
    font-weight:600;
}

/* buttons */
.success-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.success-actions.w-100 {
    grid-template-columns: 1fr;
}
.success-btn{
    height:44px;
    border-radius:12px;
    font-family:"Poppins",sans-serif;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:all 250ms ease;
}
.success-btn.primary{
    background:var(--color-primary);
    border:1px solid var(--color-primary);
    color:#fff;
}
.success-btn.primary:hover{
    box-shadow:0 4px 16px rgba(0,67,84,.25);
    transform:translateY(-1px);
}
.success-btn.outline{
    background:#fff;
    border:1px solid var(--color-border);
    color:var(--color-black);
}
.success-btn.outline:hover{
    background:#f9fafb;
}
.success-note{
    font-size:11px;
    line-height:15px;
    opacity:.5;
}

/* =========================================
   USER MENU
========================================= */
.user-menu {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}

.user-menu-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 2px solid rgba(255,255,255,0.2);
    border-radius: 50%;
    background: transparent;
    color: var(--color-white);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    flex-shrink: 0;
}

/* .user-menu-btn:hover {
    background: var(--color-primary);
    color: #fff;
} */

.user-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 9999;
    width: 260px;
    max-width: calc(100vw - 24px);
    padding: 16px;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
}

.user-dropdown.show {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.user-name {
    color: var(--color-white);
    font-size: 12px;
    font-weight: 400;
    overflow-wrap: anywhere;
}
.dark-mode .user-name {
    color: var(--color-black);
}

.user-email {
    color: var(--color-black);
    font-size: 13px;
    line-height: 1.5;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.user-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-top: 2px;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    color: var(--color-primary);
    font-size: 14px;
}


/* =========================================
   Selected agent identity: desktop, tablet and mobile
========================================= */
.agent-selector-btn .agent-selected-avatar {
    width: 28px; height: 28px; flex: 0 0 28px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%; background: var(--color-primary); color: #fff;
    font-size: 11px; font-weight: 600; overflow: hidden;
}
.agent-selected-avatar img { width: 100%; height: 100%; object-fit: cover; }
.agent-selector-btn #agentSelectName {
    display: block; min-width: 0; overflow: hidden;
    text-overflow: ellipsis; white-space: nowrap;
}
.agent-selector-btn > svg { flex: 0 0 14px; }
.agent-option-name { flex: 1; min-width: 0; }
.agent-option-check { margin-left: auto; color: var(--color-success); font-size: 17px; }
@media (max-width: 680px) {
    .chat-header { min-width: 0; gap: 8px; }
    .chat-agent { min-width: 0; }
    .agent-selector-btn .agent-selected-avatar { width: 24px; height: 24px; flex-basis: 24px; }
}

/* Initials fallback for agents without an image or with a broken image URL */
.agent-initials {
    display: inline-flex; align-items: center; justify-content: center;
    width: 100%; height: 100%; font-size: inherit; font-weight: 600;
    line-height: 1; text-align: center; color: inherit;
}
/* Additional message controls — original theme variables retained */
.wa-action-toggle {position: absolute;right: 0px;top: 0px;border: 0;background: transparent;color: inherit;opacity: .75;cursor: pointer;display: none;align-items: center;justify-content: center;width: 25px;height: 25px;
}
.msg-bubble{position:relative;padding-right:28px!important}
.chat-msg:hover .wa-action-toggle,.wa-action-toggle:focus{display:flex}
.wa-actions{position:absolute;z-index:30;top:30px;right:4px;min-width:145px;padding:6px;background:var(--color-white);color:var(--color-black);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 8px 24px #0002}
.wa-actions[hidden],.wa-reply-panel[hidden]{display:none!important}
.wa-actions button{display:flex;width:100%;padding:9px 12px;background:transparent;border:0;color:inherit;text-align:left;font:inherit;cursor:pointer;border-radius:6px}
.wa-actions button:hover{background:var(--color-soft)}
.wa-quote,.wa-reply-panel{display:flex;flex-direction:column;gap:3px;border-left:3px solid #87a6ad;padding:7px 10px;margin-bottom:7px;background:var(--color-soft);color:var(--color-black);border-radius:6px;font-size:12px}
.wa-quote strong,.wa-reply-panel strong{display:block;color:var(--color-primary)}
.wa-quote span,.wa-reply-panel span{display:block;max-width:100%}
.wa-reply-panel{position:relative;margin:0 0 8px;padding-right:38px}
.wa-reply-panel button{position:absolute;right:8px;top:8px;background:none;border:0;cursor:pointer;color:inherit}
.wa-status{font-size:12px;opacity:.75;margin-left:8px}
.dark-mode .wa-actions{background:#242b30;color:#fff;border-color:#41484d}
.dark-mode .wa-actions button:hover,
.dark-mode .wa-quote,
.dark-mode .wa-reply-panel{background:#0a0f0a;color:#fff}
.dark-mode .wa-quote strong,.dark-mode .wa-reply-panel strong{color:var(--color-lightGray2)}
@media(max-width:767px){
    .wa-action-toggle{display:flex}
    .wa-actions{max-width:calc(100vw - 50px)}
    .agent-chatting-as{
        flex-wrap:wrap;
    }
    .chat-composer p {
        font-size: 9px;
    }
    .msg-bubble {
        font-size: 11px;
        line-height: 16px;
    }
}

.wa-actions button{align-items:center;gap:9px}.wa-actions svg{flex:none}


/* Multiline chat input and delivery/read ticks */
.chat-form textarea {
    flex: 1; min-width: 0; width: 100%; max-height: 140px; min-height: 33px;
    padding: 3px 0; border: 0; outline: 0; resize: none; overflow-y: auto;
    font: inherit; line-height: 1.55; background: transparent; color: inherit;
}
.chat-form textarea::placeholder { opacity: .65; }
.chat-form { align-items: flex-end; }
.wa-status { display: inline-flex; align-items: center; vertical-align: middle; margin-left: 7px; opacity: 1; }
.wa-status svg { width: 18px; height: 17px; display: block; }
.msg-bubble { white-space: normal; overflow-wrap: anywhere; }
.dark-mode .chat-form textarea { color: inherit; background: transparent; }

/* ---------- WhatsApp-style status ticks (shown beside the timestamp) ---------- */
.msg-meta .wa-status { margin-left: 0; }
.msg-meta .wa-status svg { width: 16px; height: 15px; }
.wa-status--pending   { color: #9ca3af; opacity: 1; }   /* grey clock    */
.wa-status--sent      { color: #9ca3af; opacity: 1; }   /* 1 grey tick   */
.wa-status--delivered { color: #9ca3af; opacity: 1; }   /* 2 grey ticks  */
.wa-status--read      { color: #34b7f1; opacity: 1; }   /* 2 blue ticks  */
.wa-status--failed    { color: var(--color-error); opacity: 1; } /* red ! */

/* ---------- Message dropdown: keep its toggle visible while the menu is open ---------- */
.chat-msg.menu-open .wa-action-toggle { display: flex; }

/* ---------- Delete option: red icon + red text ---------- */
.wa-actions .wa-delete,
.wa-actions .wa-delete:hover { color: #dc2626; }
.wa-actions .wa-delete:hover { background: rgba(220, 38, 38, .08); }
.dark-mode .wa-actions .wa-delete,
.dark-mode .wa-actions .wa-delete:hover { color: #f87171; }
.dark-mode .wa-actions .wa-delete:hover { background: rgba(248, 113, 113, .12); }

.home-page-target {
    display: none;
}

.ew-home-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 25px;
}

.ew-home-head h3 {
  margin: 0;
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
  color: var(--color-black);
}

.ew-home-count {
  padding: 5px 10px;
  border-radius: 20px;
  background: #e7eeea;
  color: var(--color-black);
  font-size: 10px;
  font-weight: 600;
  line-height: 12px;
  opacity: 0.8;
  white-space: nowrap;
}

.ew-home-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.ew-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 14px;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  background: var(--color-white);
  text-align: left;
  cursor: pointer;
  font-family: "Poppins", sans-serif;
  min-width: 0;
  transition: border-color 200ms, box-shadow 200ms, transform 200ms;
}

.ew-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 6px 18px rgba(0, 67, 84, 0.12);
  transform: translateY(-2px);
}

.ew-card-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  overflow: hidden;
}

.ew-card-icon svg {
  width: 19px;
  height: 19px;
}
.ew-card-icon img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ew-card-title {
  font-size: 13px;
  line-height: 18px;
  font-weight: 600;
  color: var(--color-black);
}

.ew-card-desc {
  font-size: 11px;
  line-height: 15px;
  color: var(--color-black);
  opacity: 0.6;
}

/* .ew-card--ai .ew-card-icon        { background: #e6f3ec; color: #126139; }
.ew-card--human .ew-card-icon     { background: #e7edf9; color: #2b4f9e; }
.ew-card--service .ew-card-icon   { background: #fdf3cf; color: #8a6200; }
.ew-card--report .ew-card-icon    { background: #fde8e6; color: #b4361a; }
.ew-card--complaint .ew-card-icon { background: #ece8f8; color: #5a3fa8; }
.ew-card--portal .ew-card-icon    { background: #ebf4f6; color: var(--color-primary); } */
/* =========================================
   RESPONSIVE
========================================= */
@media screen and (max-width: 480px) {
    .core-form {
        padding: 16px;
    }
 
    .grid-2 {
        grid-template-columns: 1fr;
    }
    .chat-form textarea {
        font-size: 11px;
        min-height: 25px;
    }
    .chat-form {
        padding: 5px;
    }
    .agent-avatar {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
    }
    .agent-name {
        font-size: 12px;
        line-height: 14px;
    }
    .agent-status {
        padding: 2px 5px 2px 4px;
        font-size: 10px;
        line-height: 12px;
    }
    .agent-chatting-as {
        gap: 4px;
        margin-top: 2px;
    }
    .attach-btn, .send-btn {
        width: 28px;
        height: 28px;
        flex: 0 0 28px;
    }
    .send-btn svg,
    .attach-btn svg{
        width: 14px;
        height: 14px;
    }
}


/* =========================================
   Media Query
========================================= */
@media screen and (max-width: 1499px) {
    .top-header,
    .main-container,
    .profile-heading,
    .info-item{
        padding-left: 14px;
        padding-right: 14px;
    }
    .info-item{
        padding-top: 14px;
        padding-bottom: 14px;
    }
    .summary-box-inner{
        margin: 14px 0;
    }
    .action-area{
        padding: 14px;
    }
    .main-container{
        grid-template-columns: 310px minmax(0, 1fr);
        padding-left: 6px;
    }
    .full-grid{
        padding-left: 14px;
    }
    .left-column{
        width: 310px;
    }
    .right-column-inner{
        grid-template-columns: 240px minmax(0, 1fr);
    }
    .action-buttons{
        gap: 8px;
    }
    .action-buttons button{
        padding: 12px;
    }
    
}
@media screen and (max-width: 1299px) {
    .wide-image-box{
        padding: 14px;
        gap: 12px;
        flex-wrap: wrap;
    }
    .wide-image-box>.optional-img{
        width: 100%;
        display: block;
        text-align: center;
    }
    .wImage-right{
        width: auto;
    }
    .wImage-top{
        width: 60px;
        height: 60px;
        flex: 0 0 60px;
        font-size: 20px;
    }
    .wImage-info>p{
        margin: 0 0 8px;
    }
    .wImage-right .optional-img{
        display: none;
    }

    .profile_details_box .wImage-right{
        width: 100%;
        text-align: center;
    }
    .profile_details_box .pro-info{
        justify-content: center;
    }
    .profile_details_box .wImage-top{
        margin: 0 auto;
    }

    .pro-bottom-info{
        flex-wrap: wrap;
    }
    .pro-box{
        flex: 0 0 100%;
    }

    .action-buttons button{
        flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        max-width: 100%;
    }
    .ecosystem-lists{
        grid-template-columns: repeat(4, 1fr);
    }
}


@media screen and (max-width: 1199px) {
    .main-container{
        grid-template-columns: 290px minmax(0, 1fr);
        gap: 6px;
    }
    .left-column{
        width: 290px;
    }
    .right-column-inner{
        gap: 14px;
        grid-template-columns: 220px minmax(0, 1fr);
    }
    .nav-item{
        gap: 8px;
    }
    .summary-row,
    .action-buttons button,
    .w-50,
    .transparency-text{
        flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        max-width: 100%;
    }
    .transparency-text{
        text-align: center;
    }
    .summary-box-inner,
    .summary-row:last-child{
        padding: 14px;
    }
    .ecosystem-lists{
        grid-template-columns: repeat(3, 1fr);
    }

    .summary-row:last-child{
        flex-wrap: wrap;
        position: relative;
    }
    .summary-row:last-child .summary-label{
        position: absolute;
        left: 52px;
        top: 21px;
        margin: 0;
    }
    .summary-row:last-child .summary-info{
        flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        max-width: 100%;
    }
    .ew-home-head h3{
        font-size: 14px;
        line-height: 17px;
    }
    .ew-home-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (max-width: 1024px) {
    .ew-home-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 840px) {
    .header-title{
        font-size: 14px;
        line-height: 17px;
    }
    .header-left,
    .header-title{
        gap: 6px;
    }
    .theme-button,
    .dark-mode .theme-button-style{
        width: 30px;
        height: 30px;
        flex: 0 0 30px;
    }
    .ecosystem-selector{
        position: absolute;
        left: 0;
        top: 54px;
        width: 100%;
        background-color: var(--color-primary);
        padding: 14px;
        border-top: 1px solid #35545b;
        border-bottom: 1px solid var(--color-border);
        display: none;
    }
    .ecosystem-selector select{
        width: 100%;
    }
    .header-toggle{
        width: auto;
        height:auto;
        flex: 0 0 auto;
    }
    .header-right{
        gap: 8px;
    }
    .mobile-search{
        display: flex;
        padding-top: 2px;
    }
    .bg-shape{
        opacity: 0.15;
    }
    .owner-list{
        max-height: calc(100dvh - 280px);
    }

    .main-container{
        padding-left: 14px;
        min-height: auto;
    }
    .main-container,
    .right-column-inner{
        grid-template-columns: minmax(0, 1fr);
    }
    .heading-text h3,
    .por-nav-imgArea>p{
        font-size: 14px;
        line-height: 16px;
    }
    .por-nav-imgArea>p{
        font-weight: 600;
        text-transform: none;
    }
    .dark-mode .profile-heading{
        background-color: var(--color-dark-bg);
    }
    .mobile-back-button{
        font-size: 12px;
        font-weight: 500;
        position: absolute;
        left: 14px;
        top: 18px;
        z-index: 1;
        padding: 0;
    }
    .mobile-back-button span{
        color: var(--color-primary);
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background-color: #d7f2f8;
        width: 34px;
        height: 34px;
    }
    .mobile-back-button span>svg{
        width: 12px;
        height: auto;
    }
    .dark-mode .mobile-back-button span,
    .dark-mode .por-img{
        background-color: #004354;
    }
    .dark-mode .mobile-back-button span{
        color: var(--color-black);
    }
    .dark-mode .mobile-back-button span svg path{
        fill: var(--color-black);
    }

    .right-column.mobile-portal-open .mobile-back-button,
    .right-column.mobile-content-open .mobile-back-button,
    .right-column .rl-column,
    .mobile-right-arrow,
    .right-column.mobile-portal-open,
    .right-column.mobile-portal-open .rl-column,
    .right-column.mobile-content-open{
        display: block;
    }
    .middle-column{
        max-height: calc(100dvh - 210px);
    }
    .left-column{
        width: calc(100% + 16px);
        margin-left: -8px;
    }
    .right-column,
    .rr-column .info-item,
    .right-column .rr-column,
    .right-column.mobile-tab-open .rl-column,
    .right-column.mobile-tab-open .profile-heading.mobile-show,
    .right-column .rr-column .info-item,
    .right-column.mobile-portal-open .rr-column,
    .right-column.mobile-content-open .rl-column,
    .right-column.mobile-content-open .rr-column .info-item{
        display: none;
    }
    .right-column .nav-item{
        background: #fafafa;
        border: 1px solid var(--color-border);
        box-shadow: none;
        padding-right: 26px;
    }
    .dark-mode .right-column .nav-item{
        background-color: #09090b;
    }
    .right-column .nav-item.active .nav-title,
    .right-column .nav-item.active .nav-subtitle{
        color: var(--color-black);
    }
    .right-column .nav-item.active .function-icon > svg{
        stroke: #3f3f46;
        opacity: 0.7;
    }
    .right-column.mobile-tab-open .nav-item{
        background: transparent;
        box-shadow: none;
    }
    .right-column.mobile-tab-open .rr-column,
    .right-column.mobile-content-open .rr-column{
        display: block;
        width: 100%;
    }

    .dark-mode .ecosystem-selector{
        background-color: var(--color-white);
        border-color: var(--color-border);
    }
    .user-imgArea{
        order: -1;
    }
    .action-buttons button{
        flex: 1;
    }
    .por-nav-imgArea{
        padding-left: 45px;
        margin-bottom: 14px;
    }
    .profile-heading{
        padding-left: 59px;
    }
    .main-title{
        font-size: 15px;
        line-height: 18px;
    }

    /* 1150x150 image: hide on mobile */
    .portal-web-image {
        display: none !important;
    }

    /* 450x150 image: show on mobile */
    .portal-mobile-image{
        display: block !important;
    }

    /* 1150x150: show fallback on mobile */
    .fallback-mobile-only,
    .main-container.no-portal-owner .right-column.portal-not-found,
    .fallback-all-devices,
    .por-img{
        display: flex !important;
    }

    /* 450x150: hide fallback on mobile */
    .fallback-web-only {
        display: none !important;
    }
    .footer {
        padding: 14px 20px;
    }
    .ew-home-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media screen and (max-width: 676px){
    .user-menu{display: none;}
    .ew-home-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 680px) {
    .action-buttons button{
        flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        max-width: 100%;
    }

    .portal-not-found>img{
        max-width: 180px;
    }
    .portal-not-found h2{
        font-size: 18px;
        line-height: 22px;
        margin: 20px 0 8px;
    }
    .ecosystem-lists{
        grid-template-columns: repeat(2, 1fr);
    }
    .eco-btn{
        padding: 15px 10px;
    }
    .main-top-box{
        padding-top: 16px;
        padding-bottom: 16px;
    }
    
    .code-input {
        gap: 4px;
    }
    .code-input input {
        width: 44px;
        height: 44px;
    }

}

@media screen and (max-width: 430px) {
    .ecosystem-lists{
        grid-template-columns: repeat(1, 1fr);
    }
    .summary-row:last-child .summary-info>div{
        flex-wrap: wrap;
    }
    .page-url-left{
        flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        max-width: 100%;
        gap: 5px;
        padding-left: 10px;
    }
    .url-copy{
        width: 100%;
        flex: 0 0 100%;
        font-size: 12px;
        font-weight: 500;
        font-family: "Poppins", sans-serif;
        gap: 8px;
        color: var(--color-primary);
        height: 42px;
    }
    .url-copy svg{
        width: 14px;
    }
    .url-copy>span{
        display: block;
    }
    .footer a {
        font-size: 10px;
        font-weight: 400;
    }
    .footer {
        padding: 14px 10px;
        font-size: 10px;
    }
    .footer>div {
        gap: 5px;
    }
    
  .btn-area {
      gap: 9px;
      flex-wrap: wrap;
  }
  .outline-btn {
    line-height: 16px;
    width: 100%;
}
}
/* Dropdown portal fix: preserve the original menu appearance while escaping chat overflow. */
body > .wa-actions { position:fixed; z-index:10000; box-sizing:border-box; }
body > .wa-actions[hidden] { display:none!important; }
body > .wa-actions .wa-delete { color:#dc2626; }
body > .wa-actions .wa-delete:hover { background:rgba(220,38,38,.08); }
.dark-mode body > .wa-actions { background:#242b30; color:#fff; border-color:#41484d; }

body.dark-mode > .wa-actions { background:#242b30; color:#fff; border-color:#41484d; }
body.dark-mode > .wa-actions .wa-delete { color:#f87171; }
/* Message receipt display: keeps the original chat design and timestamp position. */
.msg-meta .msg-time-status {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    min-width: 0;
    white-space: nowrap;
    flex: 0 1 auto;
}
.msg-meta .msg-time-status .msg-time { opacity: .65; }
.chat-msg.customer .msg-meta .msg-time-status { flex-direction: row; }
.chat-msg.loggedIn .msg-meta .msg-time-status { flex-direction: row; }
.msg-meta .msg-time-status .wa-status {
    display: inline-flex !important;
    flex: 0 0 19px;
    width: 19px;
    height: 17px;
    margin: 0 !important;
    opacity: 1 !important;
    align-items: center;
    justify-content: center;
    line-height: 1;
    vertical-align: middle;
}
.msg-meta .msg-time-status .wa-status svg {
    display: block;
    width: 19px;
    height: 17px;
    max-width: none;
    overflow: visible;
    stroke: currentColor;
    fill: none;
}
.msg-meta .wa-status--pending, .msg-meta .wa-status--sent,
.msg-meta .wa-status--delivered { color: #86939d !important; }
.msg-meta .wa-status--read { color: #34b7f1 !important; }
.msg-meta .wa-status--failed { color: #dc2626 !important; }
@media (max-width: 767px) {
    .msg-meta .msg-time-status { gap: 3px; }
    .msg-meta .msg-time-status .wa-status { flex-basis: 18px; width: 18px; }
    .msg-meta .msg-time-status .wa-status svg { width: 18px; }
}

/* Status indicator: inside the existing outgoing bubble, at its lower-right.
   This is the placement shown in the supplied screenshot. */
.chat-msg.customer .msg-bubble, .chat-msg.loggedIn .msg-bubble { padding-right: 25px !important; padding-bottom: 6px !important; }
.chat-msg.customer .msg-bubble > .wa-status,
.chat-msg.loggedIn .msg-bubble > .wa-status {
    position: absolute !important;
    right: 6px !important;
    bottom: 3px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 13px !important;
    height: 13px !important;
    margin: 0 !important;
    opacity: 1 !important;
    pointer-events: none;
    line-height: 1;
}
.chat-msg.customer .msg-bubble > .wa-status svg,
.chat-msg.loggedIn .msg-bubble > .wa-status svg {
    width: 16px !important;
    height: 15px !important;
    display: block !important;
    overflow: visible;
    fill: none !important;
    stroke: currentColor !important;
}
.chat-msg.customer .msg-bubble > .wa-status--pending,
.chat-msg.loggedIn .msg-bubble > .wa-status--pending,
.chat-msg.customer .msg-bubble > .wa-status--sent,
.chat-msg.loggedIn .msg-bubble > .wa-status--sent,
.chat-msg.customer .msg-bubble > .wa-status--delivered,
.chat-msg.loggedIn .msg-bubble > .wa-status--delivered { color: #b8c5ca !important; }
.chat-msg.customer .msg-bubble > .wa-status--read,
.chat-msg.loggedIn .msg-bubble > .wa-status--read { color: #34b7f1 !important; }
.chat-msg.customer .msg-bubble > .wa-status--failed,
.chat-msg.loggedIn .msg-bubble > .wa-status--failed { color: #ff9a9a !important; }
@media (max-width: 767px) {
    .chat-msg.customer .msg-bubble > .wa-status,.chat-msg.loggedIn .msg-bubble > .wa-status  { right: 5px !important; bottom: 3px !important; }
}

/*  */
main.main-container-home {
    padding: 20px 50px 66px;
}

/* Standalone Home: mobile layout, preserving existing theme and components */
@media (max-width: 840px) {
  .right-column.standalone-home-open { display: block !important; width: 100%; }
  .right-column.standalone-home-open .right-column-inner { display: block; }
  .right-column.standalone-home-open .rr-column,
  .right-column.standalone-home-open .rr-column-inner,
  .right-column.standalone-home-open #home { display: block !important; width: 100%; }
  .right-column.standalone-home-open .rl-column,
  .right-column.standalone-home-open .mobile-back-button { display: none !important; }
  .right-column.standalone-home-open .info-item:not(#home) { display: none !important; }
}

/* Service Support Requests — scoped to existing widget design and theme */

#service_requests [hidden]{display:none!important}
#service_requests button,#service_requests input,#service_requests select,#service_requests textarea{font:inherit}
#service_requests button{cursor:pointer}
#service_requests .sr-top{padding:14px 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
#service_requests h2 {
    font-size: 16px;
    line-height: 1;
    font-weight: 600;
    margin: 0 0 4px;
}
#service_requests .sr-top p,#service_requests .sr-content>p{font-size:12px;color:var(--color-darkGray)}
#service_requests .sr-count,#service_requests .sr-type{display:inline-block;border:1px solid var(--color-border);border-radius:30px;padding:3px 10px;font-size:11px;margin-left:6px}

#service_requests .sr-btn {
    border: 0;
    border-radius: 25px;
    background: var(--color-primary);
    color: var(--color-white);
    padding: 11px 20px;
    font-weight: 500;
    white-space: nowrap;
    font-size: 12px;
}
#service_requests .sr-filters{display:flex;gap:12px;padding:0 24px 14px;border-bottom:1px solid var(--color-border)}
#service_requests .sr-filters input{flex:1;min-width:0}
#service_requests .sr-filters input,#service_requests .sr-filters select{border:1px solid var(--color-border);border-radius:25px;background:var(--color-white);padding:11px 14px;outline-color:var(--color-primary)}
#service_requests .sr-cards{padding:24px;display:grid;gap:12px}
#service_requests .sr-card{position:relative;border:1px solid var(--color-border);background:var(--color-white);border-radius:16px;padding:20px 110px 20px 20px;min-height:140px}
#service_requests .sr-card:hover{border-color:var(--color-primary)}
#service_requests .sr-card-top{display:flex;align-items:center;gap:10px}
#service_requests .sr-code{font-size:11px;letter-spacing:1px;color:var(--color-primary);font-weight:600}
#service_requests .sr-card h3{font-size:14px;font-weight:600;margin:10px 0 6px;color:var(--color-primary)}
#service_requests .sr-card p{font-size:12px;color:var(--color-darkGray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#service_requests .sr-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:15px;font-size:10px;color:var(--color-darkGray)}
#service_requests .sr-card-side{position:absolute;right:20px;top:20px;display:grid;justify-items:end;gap:10px}
#service_requests .sr-badge{display:inline-block;border-radius:20px;line-height: normal; padding:3px 10px;font-size:11px;font-weight:600;background:var(--color-soft);color:var(--color-primary);border:1px solid var(--color-border)}
#service_requests .sr-pending{background:#fff3cd;color:#925400;border-color:#ffe08a}
#service_requests .sr-in-progress{background:#e3efff;color:#1747ad;border-color:#bfd8ff}
#service_requests .sr-resolved{background:#d9f8e8;color:#006c48;border-color:#b5e9cf}
#service_requests .sr-open{width:30px;height:30px;border:0;border-radius:50%;background:var(--color-primary);color:white}
#service_requests .sr-empty{padding:30px;text-align:center}
#service_requests .sr-backbar{padding:16px 24px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;gap:10px}
#service_requests .sr-backbar button{border:0;background:transparent;color:var(--color-black)}
#service_requests .sr-backbar small{font-size:10px;color:var(--color-darkGray)}
#service_requests .sr-content{padding:30px 20px;margin:auto}
#service_requests .sr-detail-content h2{margin:12px 0}
#service_requests .sr-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--color-soft);border:1px solid var(--color-border);border-radius:14px;padding:18px;margin:24px 0}
#service_requests .sr-info-grid small{display:block;color:var(--color-darkGray);font-size:10px;letter-spacing:1px;margin-bottom:6px}
#service_requests .sr-info-grid strong{font-size:13px}
#service_requests h4{font-size:11px;letter-spacing:1px;font-weight:500;margin:22px 0 3px;color:var(--color-darkGray);}
#service_requests .sr-description,#service_requests .sr-update>div{border:1px solid var(--color-border);border-radius:14px;padding:16px;font-size:13px;line-height:1.7}
#service_requests .sr-attachment {
    font-size: 12px;
    margin-bottom: 28px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: solid 1px var(--color-border);
    padding: 10px 15px;
    border-radius: 50px;
}
span.sr-entry-count {
    background: var(--color-border);
}
span.sr-entry-count {
    background: var(--color-border);
    padding: 3px 9px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 500;
}
#service_requests .sr-timeline-title{display:flex;justify-content:space-between;margin:25px 0 16px;font-size:12px}
#service_requests .sr-update{display:grid;grid-template-columns:35px 1fr;gap:12px;margin-bottom:16px}
#service_requests .sr-update-avatar{width:30px;height:30px;background:var(--color-primary);color:white;border-radius:50%;display:grid;place-items:center;font-size:10px}
#service_requests .sr-update small{color:var(--color-darkGray);font-size:10px}
#service_requests .sr-update p{margin-top:8px}
#service_requests .sr-update-form{background:#f6f6f7;border:1px solid var(--color-border);padding:16px;border-radius:14px;margin-top:28px}
#service_requests .sr-update-form>label{display:block;margin-bottom:5px;font-size:12px; color:var(--color-darkGray);}
#service_requests textarea{resize:vertical;min-height:90px}
#service_requests .sr-update-form textarea{width:100%;padding:14px;border:1px solid var(--color-border);border-radius:12px}
#service_requests .sr-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
#service_requests .sr-form-actions label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 500;
    color: #686868;
}
.dark-mode #service_requests .sr-update-form {
    background: #0a0f0a;
}
#service_requests .sr-form-actions select{padding:9px;border:1px solid var(--color-border);border-radius:20px}
#service_requests .sr-create-form>label{display:block;margin-top:20px;font-size:11px;letter-spacing:1px;color:var(--color-darkGray)}
#service_requests .sr-create-form>label>input,#service_requests .sr-create-form>label>select,#service_requests .sr-create-form>label>textarea{display:block;width:100%;padding:14px;border:1px solid var(--color-border);border-radius:12px;margin-top:8px;background:transparent;color:var(--color-black)}
#service_requests fieldset{border:0;margin-top:20px}#service_requests legend{font-size:11px;color:var(--color-darkGray);letter-spacing:1px;margin-bottom:10px}
#service_requests .sr-priorities{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
#service_requests .sr-priorities label{position:relative;text-align:center;border:1px solid var(--color-border);border-radius:30px;padding:12px 5px;font-size:12px;cursor:pointer}
#service_requests .sr-priorities label:has(input:checked){background:var(--color-primary);color:white}
#service_requests .sr-priorities input{position:absolute;opacity:0}
#service_requests .sr-upload{display:block;text-align:center;background:var(--color-lightGray);border:1px dashed var(--color-border);border-radius:12px;padding:22px;margin-top:8px;letter-spacing:0}
#service_requests .sr-upload small{display:block;margin:5px 0}
#service_requests .sr-upload input{display:block;max-width:100%;margin:10px auto 0;font-size:11px;visibility:hidden;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;}
#service_requests .sr-create-actions{display:flex;gap:12px;margin-top:24px}#service_requests .sr-create-actions button{flex:1}#service_requests .sr-cancel{background:white;border:1px solid var(--color-border);border-radius:12px}
@media(max-width:767px){#service_requests .sr-top{flex-wrap:wrap;padding:18px}#service_requests .sr-filters{padding:0 18px 16px;flex-wrap:wrap}#service_requests .sr-filters input{flex-basis:100%}#service_requests .sr-filters select{flex:1;min-width:0}#service_requests .sr-cards{padding:12px}#service_requests .sr-card{padding:16px 80px 16px 14px}#service_requests .sr-card-side{right:12px}#service_requests .sr-meta{gap:7px}#service_requests .sr-priorities{grid-template-columns:repeat(2,1fr)}#service_requests .sr-backbar small{display:none}#service_requests h2{font-size:19px}}

/* Service Requests refinement — reusable sr-* components, scoped to this module */
#service_requests .sr-module{overflow:hidden}
#service_requests .sr-cards{display:grid;gap:12px;padding:20px;}
#service_requests .sr-card-click{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:140px;text-align:left;border:1px solid var(--color-border);background:#fff;border-radius:16px;padding:20px;cursor:pointer;color:var(--color-black);font:inherit;transition:border-color .18s,box-shadow .18s,transform .18s}
#service_requests .sr-card-click:hover{border-color:var(--color-primary);box-shadow:0 5px 18px rgba(0,67,84,.07);transform:translateY(-1px)}
#service_requests .sr-card-click:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}
#service_requests .sr-card-click .sr-card-main{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;flex:1}
#service_requests .sr-card-click .sr-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#service_requests .sr-card-click .sr-type{margin-left:0}
#service_requests .sr-card-click .sr-card-title{display:block;font-size:14px;line-height:1.5;font-weight:600;color:var(--color-primary)}
#service_requests .sr-card-click .sr-card-description{display:block;font-size:12px;line-height:1.6;color:var(--color-darkGray);max-width:100%;}
#service_requests .sr-card-click .sr-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px;color:#66727a}
#service_requests .sr-card-click .sr-card-side{display:flex;align-items:flex-end;justify-content:space-between;flex-direction:column;gap:12px;align-self:stretch;flex-shrink:0}
#service_requests .sr-open-arrow{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:16px}
#service_requests .sr-create-form{margin:0 auto}
#service_requests .sr-create-form>label,#service_requests .sr-create-form>fieldset{display:block;margin-top:18px}
#service_requests .sr-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:110px;border:1px dashed var(--color-border);border-radius:12px;background:#f6f7f5;text-align:center;cursor:pointer;padding:15px}
#service_requests .sr-upload-icon{font-size:20px}
#service_requests .sr-file-name{display:block;color:var(--color-primary);overflow-wrap:anywhere}
@media(max-width:640px){#service_requests .sr-cards{padding:12px;gap:10px}#service_requests .sr-card-click{padding:14px;gap:10px;min-height:140px}#service_requests .sr-card-click .sr-card-description{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#service_requests .sr-card-click .sr-meta{gap:7px}#service_requests .sr-card-click .sr-card-side{min-width:85px}}
/* Consistent inline SVG icons for Service Support Requests */
#service_requests .sr-svg{width:16px;height:16px;flex:none;display:inline-block;vertical-align:middle;stroke:currentColor;fill:none}
#service_requests .sr-btn,#service_requests .sr-backbar button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
#service_requests .sr-meta>span{display:inline-flex;align-items:center;gap:5px}
#service_requests .sr-open-arrow .sr-svg{width:17px;height:17px}
#service_requests .sr-upload-icon .sr-svg{width:26px;height:26px;color:var(--color-primary)}
#service_requests .sr-attachment .sr-svg{color:var(--color-primary)}

/* Shared portal navigation image icons (same assets as Home cards) */
.navigation-menu .portal-nav-icon{width:32px;height:32px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;overflow:hidden;background:#ebf4f6}
.navigation-menu .portal-nav-icon img{width:100%;height:100%;object-fit:contain;display:block}
.navigation-menu .nav-item.active .portal-nav-icon{background:rgba(255,255,255,.94)}
.navigation-menu .nav-item{gap:10px}
.navigation-menu .nav-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
/* Dark mode for Home and Support Requests. Existing theme toggle uses html.dark-mode. */
html.dark-mode .navigation-menu .portal-nav-icon{background:#263e44}
html.dark-mode .navigation-menu .nav-item.active .portal-nav-icon{background:#e8f4f5}
html.dark-mode #service_requests,html.dark-mode #service_requests .sr-list-screen,html.dark-mode #service_requests .sr-detail-screen,html.dark-mode #service_requests .sr-create-screen{color:#e7eff1}
html.dark-mode #service_requests .sr-card-click,html.dark-mode #service_requests .sr-description,html.dark-mode #service_requests .sr-info-grid,html.dark-mode #service_requests .sr-attachment,html.dark-mode #service_requests .sr-upload{background:rgb(9, 9, 11);color:#e7eff1;border-color:var(--color-border);}
html.dark-mode #service_requests .sr-card-click:hover,html.dark-mode #service_requests .sr-card-click:focus-visible{border-color:#83b5c1;}
html.dark-mode #service_requests .sr-card-title,html.dark-mode #service_requests h2,html.dark-mode #service_requests h3,html.dark-mode #service_requests h4,html.dark-mode #service_requests strong{color:#f1f6f7}
html.dark-mode #service_requests p,html.dark-mode #service_requests small,html.dark-mode #service_requests .sr-meta,html.dark-mode #service_requests .sr-card-description{color:#b6c8cc}
html.dark-mode #service_requests input,html.dark-mode #service_requests select,html.dark-mode #service_requests textarea{background:transparent;color:#f1f6f7;border-color:var(--color-border);color-scheme:dark}
html.dark-mode #service_requests input::placeholder,html.dark-mode #service_requests textarea::placeholder{color:#a6b7bb}
html.dark-mode #service_requests .sr-backbar,html.dark-mode #service_requests .sr-list-header,html.dark-mode #service_requests .sr-list-toolbar{border-color:var(--color-border)}
html.dark-mode #service_requests .sr-backbar button,html.dark-mode #service_requests .sr-cancel{color:#e7eff1;background:transparent;border-color:#45565c}
html.dark-mode #service_requests .sr-btn,html.dark-mode #service_requests .sr-open-arrow{background:#08718a;color:white}
html.dark-mode #service_requests .sr-code,html.dark-mode #service_requests .sr-type{color:#d4e8ed}
html.dark-mode #home .ew-card{background:#202b30;border-color:#3a4a50;color:#e7eff1}
html.dark-mode #home .ew-card-title{color:#f1f6f7}
html.dark-mode #home .ew-card-desc{color:#b6c8cc}
html.dark-mode #home .ew-card-icon{background:#30464c}
html.dark-mode #home .ew-card:hover{background:#26383d;border-color:#7daab4}
html.dark-mode #service_requests .sr-priorities label:has(input:checked),
html.dark-mode #service_requests .sr-update-avatar{
    background-color: #004354;
}
@media(max-width:767px){.navigation-menu .portal-nav-icon{width:24px;height:24px;flex-basis:24px}}



/* Only login-specific additions. Your original style.css remains the source of all shared styles. */

/* ===== Layout ===== */
.auth-main {
  min-height: calc(100vh - 130px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 55px 20px 65px;
}

.auth-card {
  width: 100%;
  max-width: 440px;
  padding: 35px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* ===== Heading ===== */
.auth-heading {
  text-align: center;
  margin-bottom: 28px;
}

.auth-mark {
  display: inline-flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-weight: 600;
  margin-bottom: 15px;
}

.auth-heading h1 {
  font-size: 24px;
  font-weight: 600;
  color: var(--color-black);
  margin-bottom: 7px;
}

.auth-heading p {
  font-size: 12px;
  color: var(--color-darkGray);
}

/* ===== Fields ===== */
.auth-field {
  margin-bottom: 19px;
}

.auth-field label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-black);
  margin-bottom: 8px;
}

.auth-field input {
  width: 100%;
  height: 46px;
  border: 1px solid var(--color-border);
  background: var(--color-white);
  color: var(--color-black);
  border-radius: 10px;
  padding: 0 14px;
  font: inherit;
  outline: none;
}

.auth-field input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(0, 67, 84, 0.09);
}

.auth-field input::placeholder {
  color: #92969b;
}

.auth-label-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.auth-label-row a,
.auth-signup button {
  color: var(--color-primary);
  font-size: 12px;
  text-decoration: none;
  font-weight: 500;
}

/* ===== Password field ===== */
.auth-password {
  position: relative;
}

.auth-password input {
  padding-right: 48px;
}

.auth-password button {
  position: absolute;
  right: 9px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  cursor: pointer;
  color: var(--color-darkGray);
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
}

.auth-password svg {
  width: 19px;
  height: 19px;
}

/* ===== Remember me ===== */
.auth-remember {
  display: flex;
  gap: 9px;
  align-items: center;
  font-size: 12px;
  margin-bottom: 24px;
  cursor: pointer;
}

.auth-remember input {
  accent-color: var(--color-primary);
}

/* ===== Submit ===== */
.auth-submit {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  width: 100%;
  height: 46px;
  border: 0;
  border-radius: 10px;
  background: var(--color-primary);
  color: #fff;
  font: inherit;
  font-weight: 500;
  cursor: pointer;
}

.auth-submit:hover {
  filter: brightness(1.12);
}

/* ===== Sign up link ===== */
.auth-signup {
  text-align: center;
  margin-top: 23px;
  font-size: 12px;
}

.auth-signup button {
  background: none;
  border: 0;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
}

/* ===== Alert ===== */
.auth-alert {
  color: var(--color-error);
  background: rgba(220, 38, 38, 0.08);
  padding: 12px;
  border-radius: 8px;
  margin-bottom: 16px;
}

/* ===== Dark mode ===== */
html.dark-mode .auth-card {
    background: #18181b;
    border-color: #27272a;
}

html.dark-mode .auth-heading h1,
html.dark-mode .auth-field label,
html.dark-mode .auth-remember,
html.dark-mode .auth-signup {
  color: #edf4f5;
}

html.dark-mode .auth-heading p {
  color: #b6c8cc;
}

html.dark-mode .auth-field input {
  background: #11191d;
  border-color: #39484d;
  color: #edf4f5;
}

html.dark-mode .auth-field input::placeholder {
  color: #94a6ad;
}

html.dark-mode .auth-label-row a,
html.dark-mode .auth-signup button {
  color: rgb(27 122 147);
}

html.dark-mode .auth-password button {
  color: #c6d5d9;
}

html.dark-mode .auth-submit,
html.dark-mode .auth-mark {
  background: rgb(0, 67, 84);
}

/* ===== Responsive ===== */
@media (max-width: 767px) {
  .auth-main {
    padding: 30px 15px 45px;
    min-height: calc(100vh - 125px);
  }

  .auth-card {
    padding: 25px 20px;
  }

  .auth-heading h1 {
    font-size: 22px;
  }

  .ecosystem-selector:not(.ecosystem-open) {
    display: none;
  }

  .ecosystem-selector.ecosystem-open {
    display: block;
    position: absolute;
    right: 12px;
    top: 65px;
    z-index: 10;
  }

  .header-title {
    font-size: 12px;
  }
}

@media (max-width: 380px) {
  .auth-card {
    padding: 22px 15px;
  }

  .auth-label-row {
    flex-wrap: wrap;
  }
}