/* ================================================
   Site CSS - Legacy Overrides and AppBuilder Styles
   NOTE: This file is deprecated. Most content has been migrated to:
   - utilities/_text.css, utilities/_display.css, utilities/_spacing.css
   - pages/_common.css (scrollable-page utilities)
   - components/_alerts.css (alert overrides)
   This file remains for backward compatibility and will be removed in a future version.
   ================================================ */

@layer overrides {
    /* Legacy styles remain here for backward compatibility */
    /* Scrollable page utilities moved to pages/_common.css */
    /* Text utilities moved to utilities/_text.css */
    /* Display utilities moved to utilities/_display.css */
    /* Spacing utilities moved to utilities/_spacing.css */
}

/* ================================================
   Text Utility Classes
   ================================================ */

.text-danger {
    color: var(--error-500) !important;
}

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

.text-info {
    color: var(--info-500) !important;
}

.text-warning {
    color: var(--warning-500) !important;
}

.text-muted {
    color: var(--color-text-secondary) !important;
}

.text-primary {
    color: var(--primary-500) !important;
}

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

.text-dark {
    color: var(--color-text-primary) !important;
}

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

.text-light {
    color: var(--color-text-on-primary) !important;
}

[data-theme="dark"] .text-light {
    color: var(--color-text-secondary) !important;
}

.text-center {
    text-align: center !important;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

/* ================================================
   Alert Component Classes
   ================================================ */

.alert {
    position: relative;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
}

.alert-danger {
    color: #721c24;
    background-color: var(--error-50);
    border-color: var(--error-100);
}

[data-theme="dark"] .alert-danger {
    color: #f8d7da;
    background-color: rgba(220, 53, 69, 0.2);
    border-color: rgba(220, 53, 69, 0.4);
}

[data-theme="dark"] .alert-danger {
    color: #f8d7da;
    background-color: rgba(220, 53, 69, 0.2);
    border-color: rgba(220, 53, 69, 0.5);
}

[data-theme="dark"] .errorArea {
    color: #ff6b6b;
}

.alert-success {
    color: #155724;
    background-color: var(--success-50);
    border-color: var(--success-100);
}

[data-theme="dark"] .alert-success {
    color: #d4edda;
    background-color: rgba(40, 167, 69, 0.2);
    border-color: rgba(40, 167, 69, 0.4);
}

.alert-info {
    color: #0c5460;
    background-color: var(--info-50);
    border-color: var(--info-100);
}

[data-theme="dark"] .alert-info {
    color: #d1ecf1;
    background-color: rgba(23, 162, 184, 0.2);
    border-color: rgba(23, 162, 184, 0.4);
}

.alert-warning {
    color: #856404;
    background-color: var(--warning-50);
    border-color: var(--warning-100);
}

[data-theme="dark"] .alert-warning {
    color: #fff3cd;
    background-color: rgba(255, 193, 7, 0.2);
    border-color: rgba(255, 193, 7, 0.4);
}

/* ================================================
   Typography Utility Classes
   ================================================ */

.font-weight-bold { font-weight: 700 !important; }
.font-weight-normal { font-weight: 400 !important; }
.font-weight-light { font-weight: 300 !important; }

/* ================================================
   Display & Flexbox Utilities
   ================================================ */

.d-sm-inline-flex { display: inline-flex !important; }
.flex-column { flex-direction: column !important; }
.flex-sm-row-reverse { flex-direction: row-reverse !important; }

@media (min-width: 576px) {
    .flex-sm-row-reverse { flex-direction: row-reverse !important; }
}

/* ================================================
   Container & Layout Utilities
   ================================================ */

@media (min-width: 1200px) {
    .container { max-width: 90% !important; }
}

.border-top { border-top: 1px solid var(--color-border); }
.border-bottom { border-bottom: 1px solid var(--color-border); }
.box-shadow { box-shadow: 0 1px 0 0 var(--color-border); }

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

.box-shadow {
    box-shadow: 0 1px 0 0 var(--color-border);
}

.footer {
    width: 100%;
}

.clear { clear: both; }

.container_new {
    width: 100%;
    max-width: 100%;
    padding-right: 15px !important;
    padding-left: 15px;
    overflow-y: hidden;
}

main.pb-3 {
    padding-top: 0px;
    padding-bottom: 0px !important;
}

main.pb-3 .grid-row {
    padding-top: 0px;
    margin-left: 0px;
    margin-right: 0px;
}

.container_new main.pb-3 {
    width: 89%;
    margin: 0px auto;
}

.card-box-main {
    overflow-y: visible;
    margin-top: var(--space-4);
    height: auto;
    min-height: 400px;
    padding: var(--space-4);
    flex: 1 1 auto;
    min-height: 0;
}

.right_links {
    float: right;
    margin-right: 100px;
}

    .right_links a {
        font-size: 18px;
        color: var(--color-text-on-primary);
        padding: 23px;
        line-height: 71px;
    }
    
    [data-theme="dark"] .right_links a {
        color: var(--color-text-primary);
    }

        .right_links a.active {
            background: var(--primary-600);
        }

.clear {
    clear: both;
}

/* Footer styles moved to _footer.css - this rule removed to prevent conflicts */

.social_icons { float: right; }
.app_pad { padding-right: 0px; }
span.status-text { font-size: 12px; color: var(--success); }
span.status-by { font-size: 13px; }
span.date-text { font-size: 13px; }

/* Form Grids (Legacy) */
.all_forms_grey .grid-col-md-4 { float: left; }
.all_forms_grey { padding-bottom: 20px; }
.all_forms_grey .grid-col-md-3 { padding-right: 15px; padding-left: 15px; }

span.status-text {
    font-size: 12px;
    color: var(--success);
}

span.status-by {
    font-size: 13px;
}

span.date-text {
    font-size: 13px;
}

/* Reduce !important usage - use specificity instead where possible */
.all_forms_grey .grid-col-md-4 {
    float: left;
}

.all_forms_grey {
    padding-bottom: 20px;
}

    .all_forms_grey .grid-col-md-3 {
        padding-right: 15px;
        padding-left: 15px;
    }

.app_name_div {
    padding-top: 20px;
}

img.map_image {
    width: 100%;
}



.clear {
    clear: both;
}

.social_icons {
    float: right;
}

h6#errorArea {
    color: var(--error);
}

.logo_main { float: left; }
.logo_main img { width: 60px; margin-top: 10px; }

.all_forms .grid-col-md-3 { float: left; }
.all_forms .grid-col-md-4 { float: left; }

.green-txt { color: var(--success); }
.launch-txt, .launch-txta { color: mediumvioletred; }

.defaultclass {
    background-color: var(--color-bg-secondary);
    color: var(--color-text-primary);
    position: relative;
    right: 21px;
    top: 68px;
    width: 91px;
    text-align: center;
    float: right;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid var(--color-border);
}

[data-theme="dark"] .defaultclass {
    background-color: var(--color-bg-tertiary);
    color: var(--color-text-primary);
}

.lblclsdefaultMenu {
    float: right;
    font-size: 19px;
    font-weight: bold;
    line-height: 20px;
    cursor: pointer;
}

.div_1 { width: 50%; float: left; }
.div_2 { width: 50%; float: right; padding: 10px 30px; }

.all_forms .all_forms_grey .grid-col-md-4 {
    float: left;
    width: 20px;
    text-align: center;
}

.list_height {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--color-border) !important;
    border-radius: 0px !important;
}

.list_height .grid-col-sm-8 { padding-right: 0px; }
.list_height .grid-col-sm-4 {
    padding-left: 0px;
    background-color: var(--primary-100);
    font-size: xxx-large;
    color: var(--primary-500);
    font-weight: bolder;
    text-align: center;
    padding: 10px;
    text-anchor: middle;
    display: flex;
    justify-content: center;
    align-items: center;
}

.list_height .imgclass {
    margin: 0px;
    overflow: hidden;
    height: 103px;
}

#webmapsliid .list_height .imgclass { height: 90px; }

#myTab li > a.active {
    box-shadow: none;
    border-radius: 0px;
}

.list_height .imgclass div { display: none; }

.myapps-cardbox:hover .imgclass div {
    /* Removed black overlay on hover */
    display: none;
}

[data-theme="dark"] .myapps-cardbox:hover .imgclass div {
    /* Removed black overlay on hover */
    display: none;
}

.list_height .imgclass1 {
    margin: 0px 0px 6px 0px;
    overflow: hidden;
    height: 115px;
    position: relative;
    background-color: var(--primary-100);
    font-size: xxx-large;
    color: var(--primary-500);
    font-weight: bolder;
    text-align: center;
    text-anchor: middle;
    display: flex;
    justify-content: center;
    align-items: center;
}

.list_height .imgclass1 div { display: none; }

.myapps-cardbox:hover .imgclass1 div {
    /* Removed black overlay on hover */
    display: none;
}

[data-theme="dark"] .myapps-cardbox:hover .imgclass1 div {
    /* Removed black overlay on hover */
    display: none;
}

/* Dropdown Styles */
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: var(--card-bg);
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 1001;  /* Above header_div (999) */
    right: 0px;
    border: 1px solid var(--color-border);
    width: 106px;
    text-align: center;
    border-radius: 0px 0px 10px 6px;
}

.dropdown-content a {
    color: var(--color-text-primary);
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown a:hover { background-color: var(--color-bg-secondary); }
.show { display: block; }

/* Pointer Steps Styles */
#pointer, #pointer_outline {
    width: 160px;
    height: 45px;
    position: relative;
    background: var(--primary-500);
    float: left;
    margin-right: 24px;
    z-index: 0;
    line-height: 40px;
    padding-left: 3%;
    font-size: 16px;
    color: var(--color-text-on-primary);
    text-align: center;
}

    #pointer:after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 0;
        height: 0;
        border-left: 25px solid var(--color-bg-primary);
        border-top: 21px solid transparent;
        border-bottom: 24px solid transparent;
    }

    #pointer:before {
        content: "";
        position: absolute;
        right: -25px;
        bottom: 0;
        width: 0;
        height: 0;
        border-left: 25px solid var(--primary-500);
        border-top: 21px solid transparent;
        border-bottom: 24px solid transparent;
    }

#pointer_outline {
    width: 160px;
    height: 45px;
    position: relative;
    background: var(--primary-100);
    float: left;
    margin-right: 24px;
    line-height: 40px;
    padding-left: 3%;
    font-size: 16px;
    text-align: center;
}

#pointer { background: #0070b3; color: #fff; z-index: 0; }
#pointer_outline { background: var(--primary-100); color: var(--primary-700); }

#pointer:after {
    content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 0;
    border-left: 25px solid var(--color-bg-primary);
    border-top: 21px solid transparent;
    border-bottom: 24px solid transparent;
}
#pointer:before {
    content: ""; position: absolute; right: -25px; bottom: 0; width: 0; height: 0;
    border-left: 25px solid #0070b3;
    border-top: 21px solid transparent;
    border-bottom: 24px solid transparent;
}

#pointer_outline:after {
    content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 0;
    border-left: 25px solid var(--color-bg-primary);
    border-top: 21px solid transparent;
    border-bottom: 24px solid transparent;
}
#pointer_outline:before {
    content: ""; position: absolute; right: -25px; bottom: 0; width: 0; height: 0;
    border-left: 25px solid var(--primary-100);
    border-top: 21px solid transparent;
    border-bottom: 24px solid transparent;
}

.steps_buttons { clear: both; float: right; }

.row.app_name_div {
    margin-top: 0px;
    width: 100%;
    overflow-y: auto;
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.app_txt { margin-top: -95px; }
.app_txta { margin-top: 0px; }

.app_txta {
    margin-top: 0px;
}

/* ================================================
   AppBuilder Grid Layout Fixes
   Fix spacing and ensure single row on mid-large screens
   ================================================ */

/* Override negative margins when gap is used */
.grid-row[style*="gap"] {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Fix AppBuilder Configuration page cards - remove padding when gap is used */
.app_txta.grid-row[style*="gap"] .grid-col {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Override float and ensure flex properties for Configuration cards */
.app_txta.grid-row[style*="gap"] .grid-col-md-4 {
    float: none !important;
}

/* Fix AppBuilder Webmaps page form fields - remove padding when gap is used */
.step-section-card .grid-row[style*="gap"] .grid-col {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Override float and ensure flex properties for Webmaps form fields */
.step-section-card .grid-row[style*="gap"] .grid-col-md-3 {
    float: none !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* Ensure form controls within Webmaps Step 3 columns don't overflow */
.step-section-card .grid-row[style*="gap"] .grid-col-md-3 .form-group,
.step-section-card .grid-row[style*="gap"] .grid-col-md-3 .form-control,
.step-section-card .grid-row[style*="gap"] .grid-col-md-3 select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Ensure single row on medium+ screens */
@media (min-width: 768px) {
    .app_txta.grid-row[style*="gap"] {
        flex-wrap: nowrap !important;
    }
    
    .step-section-card .grid-row[style*="gap"] {
        flex-wrap: nowrap !important;
        min-width: 0;
        overflow-x: hidden;
    }
}

/* Accessibility - Focus Indicators */
*:focus-visible {
    outline: 2px solid var(--primary-500);
    outline-offset: 2px;
}

.icon-inline--on-left, .esriRtl .icon-inline--on-right { margin-right: 6px; margin-left: 0; }
.icon-inline--on-left, .icon-inline--on-right { display: inline; margin-top: -.15em; }

.search-mar-top { margin-top: 30px; }
.thumbnail-mar-top-0 { margin-top: 0px; }

.pr-3, .px-3 { padding-right: 0.3rem !important; }
.pl-3, .px-3 { padding-left: 0rem !important; }

#searchbtnid .fa { color: #fff !important; }

#searchtextid {
    float: left;
    margin-right: 1px;
    height: 34px;
    width: 300px;
    border: 1px solid var(--color-border);
    padding: 5px;
    border-radius: 4px;
    background-color: var(--color-bg-primary);
    color: var(--color-text-primary);
}

[data-theme="dark"] #searchtextid {
    background-color: var(--color-bg-secondary);
    color: var(--color-text-primary);
    border-color: var(--color-border);
}

/* ================================================
   Web Map Cards Dark Mode (Create Agent Page)
   ================================================ */

[data-theme="dark"] #webmapsliid {
    background-color: var(--color-bg-secondary);
    border-color: var(--color-border);
}

[data-theme="dark"] #webmapsliid .SelectedList {
    background-color: var(--card-bg);
    border-color: var(--color-border);
}

[data-theme="dark"] #webmapsliid .SelectedList .myapps-cardbox {
    background-color: var(--card-bg);
    border-color: var(--color-border);
}

[data-theme="dark"] #webmapsliid .SelectedList .myapps-cardbox:hover {
    background-color: var(--color-bg-tertiary);
    border-color: var(--primary-500);
}

[data-theme="dark"] #webmapsliid p {
    color: var(--color-text-primary);
}

/* Carousel controls dark mode */
[data-theme="dark"] .carousel-control {
    background-color: var(--primary-500) !important;
    color: var(--color-text-on-primary) !important;
}

[data-theme="dark"] .carousel-control:hover {
    background-color: var(--primary-600) !important;
}

/* ================================================
   Form Inputs Dark Mode (Create Agent Step 3)
   ================================================ */

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] select,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] textarea {
    background-color: var(--color-bg-secondary);
    color: var(--color-text-primary);
    border-color: var(--color-border);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] input[type="text"]:focus,
[data-theme="dark"] input[type="email"]:focus,
[data-theme="dark"] input[type="password"]:focus,
[data-theme="dark"] textarea:focus {
    background-color: var(--color-bg-secondary);
    color: var(--color-text-primary);
    border-color: var(--primary-500);
    box-shadow: 0 0 0 4px rgba(0, 112, 179, 0.1);
}

[data-theme="dark"] .form-label,
[data-theme="dark"] label {
    color: var(--color-text-primary);
}

.all_forms .all_forms_grey .grid-col-md-6 { float: left; width: 50%; text-align: center; }

h3.find_middle {
    text-align: center;
    margin: 50px 0px;
    color: #007bff;
    font-weight: bold !important;
}

div#askCard.card {
    margin-bottom: 0px;
    margin-right: 0px;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
}

div#chatContainer {
    font-size: 14px;
    /* Performance: CSS containment */
    contain: layout style;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
}


/*div#mapContainer {
    height: 69vh;
}*/
/* Chat messages height handled by flexbox in _chat.css */
div#chatMessages1 {
    flex: 0 0 auto;
}
div#chatMessages {
    flex: 1 1 auto;
    min-height: 0;
    padding-top: 5px !important;
    overflow-y: auto !important;
    padding-bottom: 10px !important;
    position: relative;
    padding-right: 5px !important;
    padding-left: 5px !important;
    scrollbar-width: thin;
}

div#chatChoiceArea {
    /* position: absolute;*/
    bottom: 60px !important;
    background: transparent;
}

.d-flex.justify-content-center {
    position: absolute;
    bottom: 0px;
    width: 75%;
    background: var(--card-bg);
}

.check_box, .cancel_btn { float: left; }
.check_box { margin-top: 5px; }

.logout_txt { margin-bottom: 5px !important; }
.left_50 { margin-top: 10px; float: right; }
.left_label { float: left; }

.cancel_btn {
    float: left;
}


.logout_txt {
    margin-bottom: 5px !important;
}

.left_50 {
    margin-top: 10px;
    float: right;
}

.left_label {
    float: left;
    /*width: 200px;*/
}

.gprd_main {
    margin-top: 15px;
}
.gprd_main_CreateAgent {
    margin-top: 15px;
    overflow-y: auto;
    overflow-x: hidden; /* Prevent horizontal scroll bar */
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 180px); /* navbar 56px + top_header 56px + footer 56px + spacing */
}

/* AppBuilder Configuration page - ensure cards are evenly spaced */
.gprd_main_CreateAgent .app_txta.grid-row {
    display: flex;
    flex-wrap: wrap;
    overflow-x: hidden; /* Prevent horizontal overflow */
    min-width: 0; /* Allow flex items to shrink below content size */
}

.gprd_main_CreateAgent .app_txta.grid-row .grid-col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    float: none !important;
}

@media (min-width: 768px) {
    .gprd_main_CreateAgent .app_txta.grid-row {
        flex-wrap: nowrap !important;
    }
}

/* AppBuilder Webmaps page - ensure form fields are evenly spaced */
.step-section-card .grid-row .grid-col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
    float: none !important;
}

@media (min-width: 768px) {
    .step-section-card .grid-row {
        flex-wrap: nowrap !important;
        overflow-x: hidden; /* Prevent horizontal overflow */
        min-width: 0; /* Allow flex items to shrink below content size */
    }
}

.left_label, .right_label {
    font-size: 14px !important;
}

h5.inner_head, h6.inner_head {
    font-size: 21px; margin-bottom: 0px; padding-bottom: 0px; margin-top: 15px;
}
h5.inner_head span { color: var(--primary-500); font-weight: bold; }

.type_main { margin-top: 15px; }

#Selectedfield .badge {
    font-size: 11px !important;
    line-height: 1.4;
    padding: 4px 6px 2px 6px;
}
#Selectedfield .form-check-inline #Oman { float: left; }

.filed_txt { word-break: break-all; }

.active {
    box-shadow: inset 0 -3px 0 0 var(--primary-500);
    color: var(--color-text-primary);
}

.loader {
    display: block;
    border: 3px solid var(--color-border-light);
    border-top: 3px solid var(--color-text-secondary);
    border-left: 3px solid var(--color-text-secondary);
    border-radius: 50%;
    width: 30px; height: 30px;
    animation: spin 1s linear infinite;
}

@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.ty-compact-list {
    width: 100%;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    padding: 0px; margin-bottom: 0px;
}

#suggestedspan li { padding: 0px; margin: 0px; list-style: none; font-weight: 200; font-size: small; }

p span {
    padding: 2px;
    margin: 5px;
    /*  background-color: grey;*/
    border-radius: 4px;
    color: var(--color-text-on-primary);
}

[data-theme="dark"] p span {
    color: var(--color-text-primary);
}
p { word-wrap: break-word; }

p {
    word-wrap: break-word;
}

.launch-txta {
    display: inline-block;
    padding: 2px 13px;
    text-align: center;
    border-radius: 6px;
    background-color: var(--primary-500);
    border-color: var(--primary-500);
    color: var(--color-text-on-primary);
    border: none;
    cursor: pointer;
    box-shadow: var(--shadow-md);
    transition: background-color 0.3s, box-shadow 0.3s;
}

    .launch-txta:hover {
        color: var(--color-text-on-primary);
        background-color: var(--primary-600);
        border-color: var(--primary-600);
        box-shadow: var(--shadow-lg);
    }

.launch-txt {
    display: inline-block;
    padding: 2px 13px;
    text-align: center;
    border-radius: 6px;
    background-color: var(--primary-500);
    border-color: var(--primary-500);
    color: var(--color-text-on-primary);
    border: none;
    cursor: pointer;
    box-shadow: var(--shadow-md);
    transition: background-color 0.3s, box-shadow 0.3s;
}

    .launch-txt:hover {
        color: var(--color-text-on-primary);
        background-color: var(--primary-600);
        border-color: var(--primary-600);
        box-shadow: var(--shadow-lg);
    }

#loaderData {
    position: absolute; top: 70%; left: 50%;
    transform: translate(-50%, -50%);
    border: 4px solid var(--color-border-light);
    border-top: 4px solid var(--primary-500);
    border-radius: 50%;
    width: 30px; height: 30px;
    animation: spin 2s linear infinite;
}

a#aviLogo img { height: 50px; }
.footer_div a { left: 0px; }

/* Footer styles moved to _footer.css - this rule removed to prevent conflicts */

/*Rajender All devices media querys for Responsive - 07-01-2024*/

.card-body .grid-row .grid-col-sm-9 {
    padding-right: 0px;
    padding-left: 0px;
}

.card-body .grid-row .grid-col-sm-3 {
    padding-left: 0px;
}

.card-body .grid-row .grid-col-sm-9 {
    padding-right: 0px;
}

div#askCard.card {
    border: 1px solid var(--color-border);
    border-left: 1px solid var(--color-border);
    border-radius: 0px;
}

.showmore_btn {
    background-color: var(--primary-500) !important;
    border-color: var(--primary-500) !important;
    padding: 4px 6px; color: #fff; border-radius: 10px;
    font-size: 12px; margin-top: 10px; display: inline-block; float: left;
    border-top-left-radius: 0;
}

.Clear_btn {
    background-color: var(--card-bg) !important;
    border-color: var(--color-border) !important;
    padding: 6px 8px 4px 8px;
    color: var(--color-text-secondary) !important;
    font-size: 14px; margin-top: 0px; display: inline-block; float: right;
    margin-left: 4px; box-shadow: var(--shadow-sm);
    align-items: center; width: 28px; height: 28px; cursor: pointer;
}

a#myApps { cursor: pointer; }
.showmore_btn:hover { color: #cff0fb; }
a.showmore_btn { cursor: pointer; }

.basicIcons { margin: 5px 0px 0px 0px; padding: 0px; }
.basicIcons li {
    list-style: none; list-style-position: inside; float: left; margin: 0px 4px;
    color: var(--color-text-secondary);
}
.basicIcons li:first-child { margin-left: 0px; }
.basicIcons li:hover { color: #0070b3; }

.basicIcons1 {
    margin: 6px 0px 0px 0px; padding: 10px 0px 0px 0px;
    border-top: 1px solid var(--color-border);
}
.basicIcons1 li {
    list-style: none; list-style-position: inside; margin: 0px 8px;
    color: var(--color-text-secondary); float: right;
}
.basicIcons1 li:first-child { margin-left: 0px; float: left; }
.basicIcons1 li:hover { color: #0070b3; cursor: pointer; }
.basicIcons1 li:nth-child(2), .basicIcons1 li:nth-child(3) { float: right; }

.closeClass { color: var(--primary-700); }

.thumbnailUl { margin: 0px; padding: 0px; }
.thumbnailUl li {
    list-style: none; list-style-position: inside; padding: 0px; margin: 0px;
    color: var(--color-text-secondary);
}
.thumbnailUl li label { font-weight: normal; }

.pull-right { float: right; }
.marginTop { margin-top: 10px; }
.TextAlign-center { text-align: center; }
.marginBottom-0 { margin-bottom: 0px !important; }

#webmapsliid {
    min-height: 252px;
    max-height: 400px;
    overflow-y: auto;
    overflow-x: hidden;
    width: 100%;
    background: var(--color-bg-secondary);
    border-radius: 6px;
}

/* Carousel inner should allow scrolling */
#webmapsliid .carousel-inner {
    padding: var(--space-3);
    overflow: visible;
}

/* Apply CSS Grid to carousel item containers */
#webmapsliid .carousel-inner .item {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: var(--space-3);
    width: 100%;
}

#webmapsliid .SelectedList { 
    float: none; 
    width: 100%; 
    margin: 0; 
}
#webmapsliid .SelectedList .myapps-cardbox { margin-top: 0px; }
#webmapsliid .SelectedList .hilight { border: var(--primary-500) solid 1px !important; }
#webmapsliid p { margin: 4px 0px 0px 0px; font-size: 13px; }

.all_forms { padding: 0px; }
#GridView, #listView { width: 100%; }

.listView_myAgents { margin: 0px; }
.listView_myAgents .basicIcons1 { border-top: 0px; margin: 0px; padding: 0px; }
.listView_myAgents .basicIcons1 li:nth-child(2), .listView_myAgents .basicIcons1 li:nth-child(3) { float: left; }

.listView_myAgents table, .listView_myAgents td, .listView_myAgents th {
    border: 1px solid var(--color-border); text-align: left;
}
.listView_myAgents table { border-collapse: collapse; width: 100%; }
.listView_myAgents th { background-color: var(--primary-100); padding: 6px; }
.listView_myAgents th:first-child, .listView_myAgents td:first-child { text-align: center; }
.listView_myAgents td:nth-child(2) { font-weight: bold; }
.listView_myAgents td { padding: 6px; }

#GridView, #listView {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    padding: var(--space-4);
    overflow-y: visible; /* Removed auto - scrolling handled by #tab-contentsSetup */
    max-height: none; /* Removed max-height - scrolling handled by #tab-contentsSetup */
    min-height: 400px;
    flex: 1 1 auto;
}

.listView_myAgents {
    margin: 0px;
}

    .listView_myAgents .basicIcons1 {
        border-top: 0px;
        margin: 0px;
        padding: 0px;
    }

        .listView_myAgents .basicIcons1 li:nth-child(2), .listView_myAgents .basicIcons1 li:nth-child(3) {
            float: left;
        }

    .listView_myAgents table, .listView_myAgents td, .listView_myAgents th {
        border: 1px solid var(--color-border);
        text-align: left;
    }

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

    .listView_myAgents th {
        background-color: var(--primary-100);
        padding: 6px;
    }

    [data-theme="dark"] .listView_myAgents th {
        background-color: var(--color-bg-tertiary);
        color: var(--color-text-primary);
    }

        .listView_myAgents th:first-child, .listView_myAgents td:first-child {
            text-align: center;
        }

    .listView_myAgents td:nth-child(2) {
        font-weight: bold;
    }

    .listView_myAgents td {
        padding: 6px;
    }

    .listView_myAgents .myapps-cardbox {
        padding: 2px !important;
        margin: 0px;
        border: none !important;
        background: transparent !important;
        overflow-y: visible;
        min-height: auto;
        max-height: none;
        overflow-x: visible;
    }

    .listView_myAgents .list_height h5 {
        float: left;
        margin-right: 10px;
        margin-top: 2px;
    }

    .listView_myAgents .list_height span {
        float: left;
        margin-right: 10px;
    }

    .listView_myAgents .list_height .basicIcons1 {
        float: right;
        margin-top: 0px;
        padding-top: 0px;
        border-top: 0px;
    }

    .listView_myAgents .agents_listview {
        margin: 10px;
        padding: 0px;
    }

        .listView_myAgents .agents_listview li {
            margin: 0px 4px;
            list-style: none;
            list-style-position: inside;
        }
    
    /* Action column layout improvements - vertical icon stack */
    .listView_myAgents .agents_listview .action-buttons {
        display: flex;
        flex-direction: row;
        align-items: stretch; /* Stretch to match button height */
        gap: var(--space-2);
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
    
    .listView_myAgents .agents_listview .action-buttons button {
        flex-shrink: 0;
    }
    
    /* Container for vertical icon stack */
    .listView_myAgents .agents_listview .action-buttons .icon-stack {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: var(--space-1);
        align-self: stretch; /* Match button height */
        min-width: 32px; /* Ensure adequate width */
    }
    
    /* Style icons to fill vertical space equally */
    .listView_myAgents .agents_listview .action-buttons .icon-stack i {
        font-size: var(--text-base);
        cursor: pointer;
        padding: var(--space-2);
        border-radius: var(--radius-sm);
        transition: all var(--duration-fast) var(--easing-default);
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1 1 0; /* Equal distribution of vertical space */
        width: 100%;
        min-height: 0;
    }
    
    .listView_myAgents .agents_listview .action-buttons .icon-stack i:hover {
        background-color: var(--color-bg-secondary);
        color: var(--primary-500);
    }

.carousel-control {
    width: auto !important;
    color: var(--color-text-on-primary) !important;
    background: var(--primary-400) !important;
    vertical-align: middle;
    padding: 4px;
    opacity: 1 !important;
}

[data-theme="dark"] .carousel-control {
    background: var(--primary-500) !important;
}

#Selectedfield { overflow-y: auto; max-height: 155px; }

.container-fluid, .grid-container-fluid {
    width: 100%; padding: 0px !important;
    margin-right: auto; margin-left: auto;
}

.esri-ui .esri-attribution { bottom: 0; left: 0; right: 0; }

#tabs { width: 100%; margin-top: 5px; }
#tabs .nav-tabs { border-bottom: none; margin-bottom: 0px; }
#tabs .nav-tabs li { margin-bottom: 8px; }
#tabs .nav-tabs li a {
    margin-bottom: 2px; background-color: var(--color-bg-secondary);
    padding: 2px 4px; margin: 0px 4px; border: 1px solid var(--color-border);
}
#tabs .nav-tabs li a:hover, #tabs .nav-tabs li a.active {
    cursor: pointer; border: solid 1px #77abd2;
}

.red-star { color: red; font-size: 1em; }
/* #webmapsliid .carousel-inner padding moved to grid definition above */

.progress {
    display: flex;
    height: 24px;
    overflow: hidden;
    background-color: var(--color-bg-secondary);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
}

.progress-bar {
    border-radius: 0; 
    margin: 0; 
    float: none !important;
    padding: 0 !important; 
    font-size: 12px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-on-primary);
    background-color: var(--primary-500);
    transition: width 0.6s ease;
    white-space: nowrap;
    text-align: center;
    line-height: 24px;
}

.progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-size: 1rem 1rem;
}

.progress-bar-animated {
    animation: progress-bar-stripes 1s linear infinite;
}

@keyframes progress-bar-stripes {
    0% {
        background-position: 1rem 0;
    }
    100% {
        background-position: 0 0;
    }
}

#loader {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: var(--space-3);
}

#Applist, #appLayer, #appDesc, #appName { margin: 6px 0px 4px 0px; font-size: 12px; }

#myTabSetup { padding: 0px 10px; margin: 10px 10px 0px 10px; }
#myTabSetup li.active { box-shadow: none; }
#myTabSetup .nav-tabs > li.active > a { border-bottom: none; }
#myTabSetup li > a { padding: 4px 8px; cursor: pointer; }

#tabs #myTab li a { border-radius: 0px; margin: 0px 0px 0px 4px; }
#tabs #myTab {
    border: 1px solid var(--color-border); padding: 6px 1px 2px 1px;
    border-radius: 0px 0px 4px 4px; margin-left: 15px;
}
#tabs #myTab li { margin: 0px 0px 4px 0px; }

.item { display: none; }
.item.active { display: block; }
#dragButton { width: 100%; }

/* Center the loader */
#loaders {
    position: absolute; left: 50%; top: 440%; z-index: 1;
    width: 120px; height: 120px; margin: -76px 0 0 -76px;
    border: 16px solid var(--color-border-light); border-radius: 50%;
    border-top: 16px solid var(--primary-500);
    animation: spin 2s linear infinite;
}
#loadersweb {
    position: absolute; left: 50%; top: 50%; z-index: 1;
    width: 50px; height: 50px; margin: -76px 0 0 -43px;
    border: 14px solid var(--color-border-light); border-radius: 50%;
    border-top: 14px solid var(--primary-500);
    animation: spin 2s linear infinite;
}

/* Add animation to "page content" */
.animate-bottom {
    position: relative; animation-name: animatebottom; animation-duration: 1s;
}
@keyframes animatebottom {
    from { bottom: -100px; opacity: 0; }
    to { bottom: 0; opacity: 1; }
}

/* Smooth card loading animation for Setup page */
@keyframes fadeSlideIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.my_appCards .col-md-2,
.my_appCards .col-md-3 {
    animation: fadeSlideIn 0.3s ease-out;
    animation-fill-mode: both;
}

/* Staggered animation delays for visual effect */
.my_appCards .col-md-2:nth-child(1),
.my_appCards .col-md-3:nth-child(1) { animation-delay: 0.05s; }
.my_appCards .col-md-2:nth-child(2),
.my_appCards .col-md-3:nth-child(2) { animation-delay: 0.1s; }
.my_appCards .col-md-2:nth-child(3),
.my_appCards .col-md-3:nth-child(3) { animation-delay: 0.15s; }
.my_appCards .col-md-2:nth-child(4),
.my_appCards .col-md-3:nth-child(4) { animation-delay: 0.2s; }
.my_appCards .col-md-2:nth-child(5),
.my_appCards .col-md-3:nth-child(5) { animation-delay: 0.25s; }
.my_appCards .col-md-2:nth-child(6),
.my_appCards .col-md-3:nth-child(6) { animation-delay: 0.3s; }
.my_appCards .col-md-2:nth-child(7),
.my_appCards .col-md-3:nth-child(7) { animation-delay: 0.35s; }
.my_appCards .col-md-2:nth-child(8),
.my_appCards .col-md-3:nth-child(8) { animation-delay: 0.4s; }
.my_appCards .col-md-2:nth-child(9),
.my_appCards .col-md-3:nth-child(9) { animation-delay: 0.45s; }
.my_appCards .col-md-2:nth-child(10),
.my_appCards .col-md-3:nth-child(10) { animation-delay: 0.5s; }
.my_appCards .col-md-2:nth-child(11),
.my_appCards .col-md-3:nth-child(11) { animation-delay: 0.55s; }
.my_appCards .col-md-2:nth-child(12),
.my_appCards .col-md-3:nth-child(12) { animation-delay: 0.6s; }

.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
    cursor: pointer !important;
}

.buffer-input { margin-right: 6px; }
#Selectedfield .badge .form-check-input { float: left !important; }

/* Responsive Bootstrap Tabs without JS */
.tabbable-responsive { display: block; min-width: 100%; overflow-x: auto; }
.tabbable { min-width: 100%; }
.tabbable .nav-tabs { white-space: nowrap; display: inline-block; min-width: 100%; }
.tabbable .nav-tabs .nav-item { display: inline-block; }
.tabbable .nav-tabs .nav-item .nav-link { display: inline-block; }

#SelectService_myTab .card-header { padding: 4px; }
#SelectService_myTab .nav-link { display: block; padding: .3rem 1rem !important; }
#SelectService_myTab .card-header .nav-tabs { border-bottom: none; margin-bottom: -5px !important; }
#SelectService_myTab .card-body { padding: 10px; }
#SelectService_myTab .card-body .nav-tabs { border-bottom: none; }
#SelectService_myTab .card-body .nav-tabs li { margin: 2px; }
#SelectService_myTab .card-body .nav-tabs li a {
    color: var(--color-text-primary); background-color: var(--card-bg);
    border: 1px solid var(--color-border); padding: 2px 6px; border-radius: .25rem;
    cursor: pointer;
}
#SelectService_myTab .card-body .nav-tabs li a.active { border: var(--primary-500) solid 1px; }

#Selectedfield .badge .form-check-input {
    float: left !important;
}




// Responsive Tabs without JS
.tabbable-responsive {
    display: block;
    min-width: 100%;
    overflow-x: auto;
    // Some tweaks for card-header margin: 0px -21px -13px -21px;
}

.tabbable {
    min-width: 100%;
    .nav-tabs

{
    white-space: nowrap;
    display: inline-block;
    min-width: 100%;
    // Some tweaks for card-header padding: 0px 21px;
    .nav-item

{
    display: inline-block;
    .nav-link

{
    display: inline-block;
}

}
}
}

#SelectService_myTab .card-header {
    padding: 4px;
}

#SelectService_myTab .nav-link {
    display: block;
    padding: .3rem 1rem !important;
}

#SelectService_myTab .card-header .nav-tabs {
    border-bottom: none;
    margin-bottom: -5px !important;
}

#SelectService_myTab .card-body {
    padding: 10px;
}

    #SelectService_myTab .card-body .nav-tabs {
        border-bottom: none;
    }

        #SelectService_myTab .card-body .nav-tabs li {
            margin: 2px;
        }

            #SelectService_myTab .card-body .nav-tabs li a {
                color: var(--color-text-primary);
                background-color: var(--card-bg);
                border: 1px solid var(--color-border);
                padding: 2px 6px;
                border-radius: .25rem;
                cursor: pointer;
            }

                #SelectService_myTab .card-body .nav-tabs li a.active {
                    border: var(--primary-500) solid 1px;
                }

#list1 {
    position: relative;
}

    /* Remove problematic top positioning that was hiding dropdown */
    #list1 ul.multiselect-container {
        max-height: 250px !important;
        overflow-y: auto !important;
        /* top: -220px removed - was causing dropdown to be positioned off-screen */
        transform: none !important;
    }

        #list1 ul li > a > label {
            padding-left: 15px !important;
        }
        #list1 ul li a {
            color: var(--color-text-primary);
            padding-left: 10px;
        }

/* Bootstrap Multiselect Fixes - Prevent button expansion and ensure dropdown stays clickable */
.dropdown-check-list .form-control {
    position: relative;
}

button.multiselect {
    height: auto !important;
    min-height: 38px !important;
    max-height: 80px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    text-align: left !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    padding: 6px 12px !important;
    line-height: 1.5 !important;
    width: 100% !important;
    background-color: var(--color-bg-primary) !important;
    border: 1px solid var(--color-border) !important;
    color: var(--color-text-primary) !important;
    border-radius: var(--radius-md) !important;
}

button.multiselect:hover {
    background-color: var(--color-bg-secondary) !important;
    border-color: var(--primary-300) !important;
}

button.multiselect:focus,
button.multiselect:active {
    outline: 2px solid var(--primary-500) !important;
    outline-offset: 2px !important;
    border-color: var(--primary-500) !important;
    background-color: var(--color-bg-primary) !important;
    box-shadow: 0 0 0 4px rgba(0, 112, 179, 0.1) !important;
}

.dropdown-check-list .form-control.open button.multiselect {
    outline: 2px solid var(--primary-500) !important;
    outline-offset: 2px !important;
    border-color: var(--primary-500) !important;
    background-color: var(--color-bg-primary) !important;
    box-shadow: 0 0 0 4px rgba(0, 112, 179, 0.1) !important;
}

button.multiselect .caret {
    float: right;
    margin-top: 8px;
}

.multiselect-container {
    max-height: 300px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 1050 !important;
}

.multiselect-container.dropdown-menu {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    background-color: var(--card-bg) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-lg) !important;
    margin-top: 4px !important;
    z-index: 1051 !important; /* Ensure it's above other Step 3 content */
}

.multiselect-container.dropdown-menu.show {
    display: block !important;
}

.dropdown-check-list {
    position: relative !important;
}

.dropdown-check-list .multiselect-container {
    z-index: 1051 !important; /* Higher than default to ensure visibility */
}

/* When the multiselect menu is portaled to <body>, keep it above cards/headers */
.portal-multiselect {
    z-index: 2000 !important;
}

/* Portaled menu must NOT inherit the legacy `width: 100% !important` (which becomes full viewport) */
.portal-multiselect.dropdown-menu {
    width: auto !important;
    max-width: calc(100vw - 16px) !important;
}

/* Ensure Step 3 card doesn't clip dropdown */
.step-section-card {
    overflow: visible !important;
}

.step-section-card .card-body {
    overflow: visible !important;
}

/* Show dropdown when container has .open class */
.dropdown-check-list .form-control.open .multiselect-container {
    display: block !important;
}

/* Remove box outline from multiselect container wrapper */
.dropdown-check-list .form-control {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Style all Step 3 form fields consistently */
.step-section-card .form-control,
.step-section-card .form-select,
.step-section-card input[type="text"],
.step-section-card select {
    background-color: var(--color-bg-primary) !important;
    border: 1px solid var(--color-border) !important;
    color: var(--color-text-primary) !important;
    border-radius: var(--radius-md) !important;
    padding: 6px 12px !important;
    transition: all var(--duration-normal) var(--easing-default) !important;
}

.step-section-card .form-control:hover,
.step-section-card .form-select:hover,
.step-section-card input[type="text"]:hover,
.step-section-card select:hover {
    background-color: var(--color-bg-secondary) !important;
    border-color: var(--primary-300) !important;
}

.step-section-card .form-control:focus,
.step-section-card .form-select:focus,
.step-section-card input[type="text"]:focus,
.step-section-card select:focus {
    outline: 2px solid var(--primary-500) !important;
    outline-offset: 2px !important;
    border-color: var(--primary-500) !important;
    background-color: var(--color-bg-primary) !important;
    box-shadow: 0 0 0 4px rgba(0, 112, 179, 0.1) !important;
}

/* Dark mode support for Step 3 form fields */
[data-theme="dark"] .step-section-card .form-control,
[data-theme="dark"] .step-section-card .form-select,
[data-theme="dark"] .step-section-card input[type="text"],
[data-theme="dark"] .step-section-card select {
    background-color: var(--color-bg-secondary) !important;
    border-color: var(--color-border) !important;
    color: var(--color-text-primary) !important;
}

[data-theme="dark"] .step-section-card .form-control:hover,
[data-theme="dark"] .step-section-card .form-select:hover,
[data-theme="dark"] .step-section-card input[type="text"]:hover,
[data-theme="dark"] .step-section-card select:hover {
    background-color: var(--color-bg-tertiary) !important;
    border-color: var(--primary-300) !important;
}

[data-theme="dark"] .step-section-card .form-control:focus,
[data-theme="dark"] .step-section-card .form-select:focus,
[data-theme="dark"] .step-section-card input[type="text"]:focus,
[data-theme="dark"] .step-section-card select:focus {
    background-color: var(--color-bg-secondary) !important;
    border-color: var(--primary-500) !important;
}

.multiselect-container li {
    position: relative !important;
}

.multiselect-container li a {
    cursor: pointer !important;
    display: block !important;
    padding: 8px 12px !important;
}

.multiselect-container li a:hover {
    background-color: var(--primary-50) !important;
}

.multiselect-container li.active a {
    background-color: var(--primary-100) !important;
}

[data-theme="dark"] .multiselect-container li a:hover {
    background-color: var(--primary-900) !important;
}

[data-theme="dark"] .multiselect-container li.active a {
    background-color: var(--primary-800) !important;
}

@media screen and (min-width: 1024px) and (max-height: 1310px) {
}

@media (min-width: 1920px) and (max-width: 2560px) {
}

.exportClass {
    border-color: var(--color-border); background: var(--card-bg);
    box-shadow: var(--shadow-sm); border: 0px; padding: 5px 8px;
    color: var(--color-text-secondary);
}

.buffer-input { display: none !important; }
.searchClass { position: relative; padding: 0px; margin: 0px 4px; }

.searchClass {
    position: relative;
    padding: 0px;
    margin: 0px 4px;
}

/* User dropdown styling - consolidated with main .dropdown-content above */

/* Media Querys screens ----------- */
@media (prefers-reduced-motion: reduce) {
}

[data-theme="dark"] .filter-buttons .list-view-button,
[data-theme="dark"] .filter-buttons .grid-view-button,
[data-theme="dark"] .filter-buttons .list2-view-button {
    color: var(--color-text-primary);
    border-color: var(--color-border);
}

[data-theme="dark"] .filter-buttons .list-view-button:hover,
[data-theme="dark"] .filter-buttons .grid-view-button:hover,
[data-theme="dark"] .filter-buttons .list2-view-button:hover,
[data-theme="dark"] .filter-buttons .list-view-button.active,
[data-theme="dark"] .filter-buttons .grid-view-button.active,
[data-theme="dark"] .filter-buttons .list2-view-button.active {
    color: var(--primary-100);
    background: rgba(255, 255, 255, 0.1);
}

/* List view table dark mode */
[data-theme="dark"] .listView_myAgents table,
[data-theme="dark"] .listView_myAgents td,
[data-theme="dark"] .listView_myAgents th {
    border-color: var(--color-border);
    color: var(--color-text-primary);
}


/* Text Selection Dark Mode Styles */
[data-theme="dark"] ::selection {
    background-color: var(--primary-500);
    color: #ffffff;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.tick {
    color: var(--success);
    font-size: 18px;
    vertical-align: middle;
}

.cross {
    color: var(--error);
    font-size: 18px;
    vertical-align: middle;
}

#tab-contentsSetup {
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: calc(100vh - 300px);
    min-height: 400px;
    position: relative;
    padding: var(--space-4);
    padding-bottom: var(--space-8);
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}

#tab-contentsSetup::-webkit-scrollbar {
    width: 0;
    display: none; /* Chrome/Safari/Opera */
}

/* ================================================
   Create Agent Page Dark Mode
   ================================================ */

[data-theme="dark"] .all_forms,
[data-theme="dark"] .all_forms_grey {
    background: var(--color-bg-primary);
}

[data-theme="dark"] .gprd_main,
[data-theme="dark"] .gprd_main_CreateAgent {
    background: var(--color-bg-primary);
    border-color: var(--color-border);
}

[data-theme="dark"] #pointer_outline {
    background: var(--color-bg-tertiary);
    color: var(--color-text-primary);
}

[data-theme="dark"] #pointer_outline:after {
    border-left-color: var(--color-bg-primary);
}

[data-theme="dark"] #pointer_outline:before {
    border-left-color: var(--color-bg-tertiary);
}

[data-theme="dark"] #pointer:after {
    border-left-color: var(--color-bg-primary);
}

[data-theme="dark"] .type_main {
    background: var(--color-bg-primary);
}

/* AppvalGrid table in Configuration */
[data-theme="dark"] #AppvalGrid th {
    background-color: var(--color-bg-tertiary);
    color: var(--color-text-primary);
}

[data-theme="dark"] #AppvalGrid td {
    background-color: var(--card-bg);
    color: var(--color-text-primary);
    border-color: var(--color-border);
}

[data-theme="dark"] #AppvalGrid tr:nth-child(even) {
    background-color: var(--color-bg-secondary);
}

/* ================================================
   Tabs Dark Mode (My Agents & Create Agent Pages)
   ================================================ */

/* General nav-tabs dark mode */
[data-theme="dark"] .nav-tabs {
    border-bottom-color: var(--color-border);
}

/* Skip link for keyboard navigation */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--primary-500);
    color: var(--color-text-on-primary);
    padding: 8px 16px;
    z-index: 10000;
    transition: top 0.3s;
    text-decoration: none;
    border-radius: 0 0 var(--radius-md) 0;
    font-weight: 600;
}

.skip-link:focus {
    top: 0;
    color: var(--color-text-on-primary);
}

/* ================================================
   Webmaps Create Flow Styles
   ================================================ */
.webmaps-create-flow {
    padding: var(--space-4);
}

.step-section-card {
    background-color: var(--card-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    margin-bottom: var(--space-4);
    box-shadow: var(--shadow-sm);
}

.step-section-card .card-body {
    padding: var(--space-5);
}

.step-header {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.step-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-1) var(--space-3);
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);
    color: var(--color-text-on-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: var(--radius-full);
}

.step-title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    margin: 0;
}

.data-source-options {
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.data-source-option {
    flex: 1;
    min-width: 200px;
    max-width: 300px;
    cursor: pointer;
    margin: 0;
}

.data-source-option input[type="radio"] {
    display: none;
}

.data-source-option .option-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--space-5);
    background-color: var(--color-bg-secondary);
    border: 2px solid var(--color-border);
    border-radius: var(--radius-md);
    transition: all var(--duration-normal) var(--easing-default);
    text-align: center;
}

.data-source-option .option-content i {
    font-size: 2rem;
    color: var(--color-text-secondary);
    margin-bottom: var(--space-3);
    transition: color var(--duration-normal) var(--easing-default);
}

.data-source-option .option-label {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    margin-bottom: var(--space-1);
}

.data-source-option .option-desc {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
}

.data-source-option:hover .option-content {
    border-color: var(--primary-300);
    background-color: var(--state-hover-overlay);
}

.data-source-option:hover .option-content i {
    color: var(--primary-500);
}

.data-source-option input[type="radio"]:checked + .option-content {
    border-color: var(--primary-500);
    background-color: var(--primary-50);
    box-shadow: var(--shadow-md);
}

.data-source-option input[type="radio"]:checked + .option-content i {
    color: var(--primary-500);
}

.data-source-option input[type="radio"]:checked + .option-content .option-label {
    color: var(--primary-700);
}

[data-theme="dark"] .data-source-option input[type="radio"]:checked + .option-content {
    background-color: var(--primary-900);
    border-color: var(--primary-500);
}

[data-theme="dark"] .data-source-option input[type="radio"]:checked + .option-content .option-label {
    color: var(--primary-300);
}

/* Step Header with Search */
.step-header {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    flex-wrap: wrap;
}

.step-search-box {
    display: flex;
    margin-left: auto;
    gap: var(--space-2);
}

.step-search-box input.form-control {
    width: 250px;
    border-radius: var(--radius-md) 0 0 var(--radius-md);
}

.step-search-box button {
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.step-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--space-3);
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--color-border);
}

/* Webmap Tabs Container */
.webmap-tabs-container {
    margin-bottom: var(--space-3);
}

.webmap-source-tabs {
    display: flex;
    gap: var(--space-2);
    border-bottom: 2px solid var(--color-border);
    padding: 0;
    margin: 0;
    list-style: none;
}

.webmap-source-tabs .nav-item {
    margin: 0;
}

.webmap-source-tabs .nav-link {
    padding: var(--space-2) var(--space-4);
    border: none;
    background: transparent;
    color: var(--color-text-secondary);
    font-weight: 500;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all var(--duration-normal) var(--easing-default);
}

.webmap-source-tabs .nav-link:hover {
    color: var(--primary-500);
}

.webmap-source-tabs .nav-link.active {
    color: var(--primary-500);
    border-bottom-color: var(--primary-500);
}

.webmap-group-tabs {
    margin-top: var(--space-3);
}

.webmap-group-tabs .nav-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    border: none;
    padding: 0;
    margin: 0;
    list-style: none;
}

.webmap-group-tabs .nav-tabs li {
    margin: 0;
}

.webmap-group-tabs .nav-tabs li a {
    padding: var(--space-1) var(--space-3);
    background-color: var(--color-bg-secondary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
    cursor: pointer;
    transition: all var(--duration-normal) var(--easing-default);
}

.webmap-group-tabs .nav-tabs li a:hover {
    border-color: var(--primary-300);
    color: var(--primary-500);
}

.webmap-group-tabs .nav-tabs li a.active {
    border-color: var(--primary-500);
    background-color: var(--primary-50);
    color: var(--primary-700);
}

[data-theme="dark"] .webmap-group-tabs .nav-tabs li a.active {
    background-color: var(--primary-900);
    color: var(--primary-300);
}

.webmap-cards-container {
    background-color: var(--color-bg-secondary);
    border-radius: var(--radius-md);
    padding: var(--space-4);
    margin-top: var(--space-4);
    min-height: 200px;
    max-height: 400px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--color-text-tertiary) var(--color-bg-secondary);
}

/* Ensure scrollbar is visible on Webmaps page */
.webmap-cards-container::-webkit-scrollbar {
    width: 10px;
}

.webmap-cards-container::-webkit-scrollbar-track {
    background: var(--color-bg-secondary);
    border-radius: var(--radius-sm);
}

.webmap-cards-container::-webkit-scrollbar-thumb {
    background: var(--color-text-tertiary);
    border-radius: var(--radius-sm);
}

.webmap-cards-container::-webkit-scrollbar-thumb:hover {
    background: var(--color-text-secondary);
}

/* Ensure Setup page doesn't get this scrollbar styling */
#tab-contentsSetup .webmap-cards-container {
    scrollbar-width: thin;
}

#tab-contentsSetup .webmap-cards-container::-webkit-scrollbar {
    width: 8px;
}

/* URL Input Container */
.url-input-container {
    display: flex;
    gap: var(--space-2);
    align-items: center;
}

.url-input-container input.form-control {
    flex: 1;
}

.url-input-container button {
    white-space: nowrap;
}

/* Configuration Page Table Styling */
.config-table-wrapper {
    overflow-x: auto;
    margin: var(--space-4) 0;
}

.config-fields-table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--card-bg);
}

.config-fields-table thead th {
    background-color: var(--color-bg-secondary);
    border: 1px solid var(--color-border);
    padding: var(--space-3);
    text-align: left;
    font-weight: 600;
    color: var(--color-text-primary);
}

.config-fields-table tbody td {
    border: 1px solid var(--color-border);
    padding: var(--space-3);
    color: var(--color-text-primary);
}

.config-fields-table tbody tr:hover {
    background-color: var(--state-hover-overlay);
}

[data-theme="dark"] .config-fields-table thead th {
    background-color: var(--color-bg-tertiary);
    border-color: var(--color-border);
}

[data-theme="dark"] .config-fields-table tbody td {
    border-color: var(--color-border);
}

/* Added Layers Container - Elegant Pill/Badge Display */
.added-layers-container {
    margin-top: var(--space-4);
    padding: var(--space-4);
    background-color: var(--color-bg-secondary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.added-layers-title {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    margin-bottom: var(--space-3);
}

.added-layers-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.layer-pill {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background-color: var(--card-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size: var(--font-size-sm);
    color: var(--color-text-primary);
    transition: all var(--duration-normal) var(--easing-default);
    position: relative;
    max-width: 100%;
}

.layer-pill:hover {
    border-color: var(--primary-500);
    box-shadow: var(--shadow-sm);
    background-color: var(--color-bg-secondary);
}

.layer-pill-name {
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

.layer-pill-fields-count {
    color: var(--color-text-secondary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
}

.layer-pill-delete {
    background: none;
    border: none;
    color: var(--color-text-secondary);
    cursor: pointer;
    padding: 0;
    margin-left: var(--space-1);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: var(--radius-sm);
    transition: all var(--duration-fast) var(--easing-default);
}

.layer-pill-delete:hover {
    background-color: var(--error-50);
    color: var(--error-500);
}

.layer-pill-delete img {
    width: 16px;
    height: 16px;
}

[data-theme="dark"] .layer-pill-delete:hover {
    background-color: rgba(220, 53, 69, 0.2);
    color: var(--error-400);
}

/* Fix for existing AppvalGrid table (hidden) */
#AppvalGrid thead th {
    background-color: var(--color-bg-secondary) !important;
    color: var(--color-text-primary) !important;
    border: 1px solid var(--color-border) !important;
}

#AppvalGrid tbody td {
    background-color: var(--card-bg) !important;
    color: var(--color-text-primary) !important;
    border: 1px solid var(--color-border) !important;
}

[data-theme="dark"] #AppvalGrid thead th {
    background-color: var(--color-bg-tertiary) !important;
}

[data-theme="dark"] #AppvalGrid tbody td {
    background-color: var(--card-bg) !important;
}

/* Fields Selection Container */
.fields-selection-container {
    background-color: var(--color-bg-secondary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-3);
}

.fields-selection-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-2);
}

.fields-selection-status {
    display: flex;
    align-items: center;
    font-size: var(--font-size-sm);
    color: var(--color-text-primary);
    font-weight: var(--font-weight-medium);
}

.fields-selection-status i {
    font-size: var(--font-size-base);
}

#toggleManualSelection {
    color: var(--primary-500);
    font-size: var(--font-size-sm);
    cursor: pointer;
    transition: color var(--duration-normal) var(--easing-default);
}

#toggleManualSelection:hover {
    color: var(--primary-600);
    text-decoration: underline;
}

/* Fields Selection Box */
.fields-selection-box {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    padding: var(--space-3);
    background-color: var(--color-bg-primary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    max-height: 200px;
    overflow-y: auto;
    margin-top: var(--space-2);
}

.fields-selection-box .badge {
    background-color: var(--color-bg-tertiary);
    color: var(--color-text-primary);
    border: 1px solid var(--color-border);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--duration-normal) var(--easing-default);
}

.fields-selection-box .badge:hover {
    border-color: var(--primary-500);
    background-color: var(--primary-50);
}

[data-theme="dark"] .fields-selection-box .badge:hover {
    background-color: var(--primary-900);
}
