@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap");

/* USER VARIABLES SECTION */

:root {
    --transparent: rgba(0, 0, 0, 0.1);
    --transparent-darken: rgba(52, 58, 64, 0.7);
    --accent: #ff8c1c;
    --accent-hover: #cf7116;
    --accent-opacity: rgba(207, 113, 22, 1);
    --text: #333;
    --text-light: rgba(255, 255, 255, 0.75);
    --regular-text: 16px;
    --regular-text-lg: 22px;
    --lineheight: 1.65;
    --userfont: montserrat-wt, sans-serif;
    --titlefont: montserrat-wt, sans-serif;
    --border: 1px solid rgba(237, 237, 237, 0.9);
    --radius-sm: 5px;
    --radius-lg: 10px;
    --transition: 0.25s ease-out;
    --color-dark: #000;
    --color-light: #f9fff9;
    --font-family: "Roboto", sans-serif;
    --text-color: #2c3e50;
    --heading-color: #1a252f;
    --primary-color: #2d3436;
    --border-color: #dfe6e9;
    --blue-accent: #0984e3;
    --purple-gradient: linear-gradient(135deg, #6c5ce7, #a363d9);
    --background: #fff;
    --border-radius: 8px;
    --transition: all 0.2s ease;
    --shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    --header-height: 64px;
}

/* FONTS LOAD SECTION */

@font-face {
    src: url("../fonts/montserrat/montserrat-v21-latin_cyrillic-300.woff2")
        format("woff2");
    font-family: "montserrat-wt";
    font-weight: 300;
    font-style: normal;
}

@font-face {
    src: url("../fonts/montserrat/montserrat-v21-latin_cyrillic-regular.woff2")
        format("woff2");
    font-family: "montserrat-wt";
    font-weight: 400;
    font-style: normal;
}

@font-face {
    src: url("../fonts/montserrat/montserrat-v21-latin_cyrillic-500.woff2")
        format("woff2");
    font-family: "montserrat-wt";
    font-weight: 500;
    font-style: normal;
}

@font-face {
    src: url("../fonts/montserrat/montserrat-v21-latin_cyrillic-600.woff2")
        format("woff2");
    font-family: "montserrat-wt";
    font-weight: 600;
    font-style: normal;
}

@font-face {
    src: url("../fonts/montserrat/montserrat-v21-latin_cyrillic-700.woff2")
        format("woff2");
    font-family: "montserrat-wt";
    font-weight: 700;
    font-style: normal;
}

@font-face {
    src: url("../fonts/montserrat/montserrat-v21-latin_cyrillic-800.woff2")
        format("woff2");
    font-family: "montserrat-wt";
    font-weight: 800;
    font-style: normal;
}

@font-face {
    src: url("../fonts/montserrat/montserrat-v21-latin_cyrillic-900.woff2")
        format("woff2");
    font-family: "montserrat-wt";
    font-weight: 900;
    font-style: normal;
}

/* BOOTSTRAP SETTINGS SECTION */
/* gutter 20px (10px + 10px). Comment this code for default gutter start at 1.5rem (24px) wide. */
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    --bs-gutter-x: 0.625rem;
}

.row,
.row > * {
    --bs-gutter-x: 1.25rem;
}

.form-check-input {
    margin-top: 0.4rem;
}

.form-control-lg {
    font-size: var(--userfont);
}

.required label::after {
    content: "*";
    margin-left: 3px;
    color: var(--red);
}

p {
    margin-bottom: 0.2rem;
}

.bg-dark {
    background-color: var(--color-dark) !important;
}

.bg-secondary {
    background-color: #444 !important;
}

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

.form-group {
    width: 100%;
}

.btn-danger {
    background-color: var(--accent);
    border: 1px solid var(--accent);
}

.btn-danger:hover {
    background-color: var(--accent-hover);
    border: 1px solid var(--accent-hover);
}

.form-check-inline {
    margin-right: 1rem;
}

.file__advanced_options {
    display: none;
}

.chat_bot_option {
    display: none;
}

.template_bot_option {
    display: none;
}

.btn_crawler_option {
    display: none;
}

.chat_bot_whole_option {
    display: none;
}

.ai_training_option {
    display: none;
}

.file__upload_actions .form-check-inline .form-check-input {
    margin-top: 0;
    margin-left: 0;
}

/* Modal fullscreen */
.modal.modal-fullscreen .modal-dialog {
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
    max-width: none;
}

.modal.modal-fullscreen .modal-content {
    height: auto;
    height: 100vh;
    border-radius: 0;
    border: none;
}

.modal.modal-fullscreen .modal-body {
    overflow-y: auto;
}

/* GENERAL CSS SETTINGS */
pre.code {
    overflow-x: auto;
    padding: 20px;
    margin: 10px 0;
    border-radius: 5px;
    background-color: #282c34;
    color: var(--color-light);
}
.hljs-comment {
    text-wrap: pretty !important;
}

::placeholder {
    color: #666;
}

::-moz-selection {
    background: #b3d8ff;
    color: black;
}

::selection {
    background-color: #b3d8ff;
    color: black;
}

input,
textarea {
    outline: none;
}

.masked-string {
    position: relative;
    display: inline-block;
}

.masked-string::before {
    content: "";
    position: absolute;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, var(--accent-hover), var(--accent));
    z-index: 1;
}

.input-group-text {
    min-width: 58px;
    text-align: center;
    display: inline-grid;
}

.text-shadow {
    text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
}

.adsbygoogle {
    display: block;
    width: 100%;
    margin: 0 auto;
}

/* input:focus:required:invalid, textarea:focus:required:invalid { border-color: red; } */
/* input:required:valid, textarea:required:valid { border-color: none; } */
textarea:focus,
textarea.form-control:focus,
input.form-control:focus,
select.form-control:focus,
select:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
[type="text"].form-control:focus,
[type="password"].form-control:focus,
[type="email"].form-control:focus,
[type="tel"].form-control:focus,
[contenteditable].form-control:focus {
    box-shadow: inset 0 -1px 0 #ddd;
    border-color: #bbbbbb;
}

/* WebKit and Chromiums */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
    background-color: var(--white);
}

::-webkit-scrollbar-thumb {
    background: var(--dark);
    border-radius: 5px;
}

html,
body {
    max-width: 100%;
    height: 100%;
    scrollbar-color: var(--dark) var(--white);
    scrollbar-width: thin;
}

body {
    font-family: var(--font-family);
    font-size: var(--regular-text);
    line-height: var(--lineheight);
    color: var(--text-color);
    min-width: 320px;
    position: relative;
    overflow-x: hidden;
    background-color: #fff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--heading-color);
}

/* HEADER WITH NAVBAR */
header .navbar {
    background-color: var(--color-light);
    padding: 10px 35px;
    z-index: 30;
}

footer {
    background-color: var(--color-light);
    padding: 10px 35px;
}

header .navbar-brand {
    font-weight: bold;
    letter-spacing: 0.3px;
}

header .navbar .navbar-nav li.nav-item {
    margin-right: 15px;
}

header .navbar .navbar__btn-change-lang {
    line-height: 28px;
    text-transform: uppercase;
    margin-left: 0px;
    /* padding-left: 20px;
	padding-right: 20px; */
}

header .navbar .btn-group_lang .dropdown-menu {
    background-color: var(--color-light);
}

header .navbar .btn-group_lang .dropdown-menu a.dropdown-item {
    color: var(--color-dark);
    transition: var(--transition);
}

header .navbar .btn-group_lang .dropdown-menu a.dropdown-item:hover {
    background-color: var(--transparent);
}

/* MAIN SEARCH FORM */
.header__wrapper {
    padding: 25px;
    background-color: var(--transparent);
}

.header__wrapper .input-group {
    width: 100%;
}

.header__wrapper .input-group input {
    border: none;
}

.header__wrapper .input-group-prepend .input-group-text,
.header__wrapper .input-group-append .input-group-text {
    background-color: var(--white);
    color: var(--text);
    border: none;
}

.header__title {
    font-weight: 800;
}

.header__wrapper #btn-whatch-video {
    margin-top: 3rem;
}

.btn__transparent {
    background: transparent;
    border: none;
    color: var(--color-dark);
    padding: 5px 10px;
    margin: 0;
}

.btn__transparent:disabled,
.btn__transparent.disabled {
    background: transparent;
    border: none;
    color: var(--color-dark) !important;
    cursor: pointer;
    opacity: 1;
}

.btn__transparent:focus,
.btn__transparent:hover {
    background: transparent;
    border: none;
    color: var(--accent);
    cursor: pointer;
}

.file__upload_wrapper .form-control-file,
.file__upload_actions .form-control-file {
    display: none;
}

.file__upload_wrapper {
    overflow: auto;
    position: relative;
    min-height: 400px;
}

.file__upload_wrapper td,
.file__upload_wrapper th {
    vertical-align: middle;
}

/* TODO: set class for th */
.file__upload_wrapper .table .columns {
    min-width: 200px;
}

/* TODO: Make show more button */
.file__upload_wrapper .table .columns .table-data {
    max-height: 100px;
    overflow: hidden;
    display: flex;
    height: 60px;
    align-items: center;
    justify-content: left;
    position: relative;
}

.file__upload_wrapper .table .columns .table-data button {
    position: absolute;
    right: 0;
    bottom: 0px;
    opacity: 0.5;
    padding: 0px 4px;
}

.file__upload_wrapper .table .columns .table-data button:hover {
    opacity: 1;
}

.file__upload_actions .form-group,
.file__upload_wrapper .form-group {
    margin-bottom: 0px;
}

.file__upload_actions .form-check-input {
    margin-top: 0.7rem;
    margin-left: -0.5rem;
}

.file__upload_wrapper.loading::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: 4;
}

.file__upload_wrapper.loading::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 3;
}

.file__upload_wrapper .img-thumbnail {
    cursor: zoom-in;
}

@keyframes spin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/* .file__upload_wrapper .dropdown-menu button {
	display: none;
} */

/* MODAL STYLES */
.modal__delete_btn {
    position: absolute;
    z-index: 9;
    right: -3px;
    top: 0px;
}

/* ChatBOT styles */
.chat-container {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.chat-messages {
    flex: 1;
    overflow-y: auto;
    height: calc(100%);
}

.chat-messages .is-me {
    background-color: #f0f7ff;
    padding: 5px 20px;
    max-width: 60%;
    border-radius: 10px;
    color: var(--color-dark);
    margin-bottom: 10px;
    margin-top: 10px;
}

.chat-messages .is-chatbot.success {
    padding: 5px 20px;
    max-width: 60%;
    border-radius: 1;
    color: var(--color-dark);
    float: right;
    margin-bottom: 10px;
}

.chat-messages .is-chatbot.error {
    background-color: var(--red);
    padding: 5px 20px;
    max-width: 60%;
    border-radius: 10px;
    color: var(--color-light);
    float: right;
    margin-bottom: 10px;
}

.chat-messages p {
    clear: both;
}

/* USER AND CONTENT STYLES */
.main {
    min-height: calc(100% - 161px);
}

.main > div.alert {
    position: fixed;
    bottom: 10px;
    right: 25px;
    width: auto;
    max-width: 400px;
    padding: 20px;
    text-align: center;
    z-index: 10;
    display: none;
    opacity: 0;
}

.main > div.alert-danger::before {
    content: "\f071";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--red);
    font-size: 42px;
    display: block;
    text-align: center;
    margin-bottom: 5px;
}

.main > div.alert-success::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--green);
    font-size: 42px;
    display: block;
    text-align: center;
    margin-bottom: 5px;
}

.page-content {
    min-height: calc(100vh - 20vh);
    padding-bottom: 50px;
    padding-left: 2%;
    padding-right: 2%;
}

.page-item.disabled .page-link,
.page-link {
    color: #fff;
    background-color: #444;
    border-color: #444;
}

.image {
    max-width: 100%;
    margin-bottom: var(--bs-gutter-x);
    border-radius: 4px;
}

.accent {
    color: var(--accent);
}

.accent-opacity {
    color: var(--accent-opacity);
}

.btn-accent {
    background-color: var(--accent);
    color: var(--white);
}

.btn-accent:hover {
    background-color: var(--accent-opacity);
    color: var(--white);
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: "Poppins", sans-serif;
}

.title__wrapper {
    padding: 40px 0;
}

.title__description {
    color: var(--dark);
}

h1.title,
.h1.title {
    color: var(--accent);
    text-shadow: 1px 1px 1px var(--accent-opacity);
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    text-transform: uppercase;
    margin-bottom: 25px;
    font-size: 2rem;
}

.title::before,
.title::after {
    content: "";
    display: block;
    height: 0.09em;
    min-width: 30vw;
}

.title::before {
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0),
        var(--accent-opacity)
    );
    margin-right: 4vh;
}

.title::after {
    background: linear-gradient(
        to left,
        rgba(255, 255, 255, 0),
        var(--accent-opacity)
    );
    margin-left: 4vh;
}

.content-loader {
    background-color: var(--transparent-darken);
    position: absolute;
    width: 100%;
    height: calc(100% + 140px);
    top: -40px;
    z-index: 10;
    display: none;
}

.content-loader__text {
    color: var(--white);
    text-align: center;
    padding-top: 5%;
}

/* Upload File drag and drop */
.file__upload_container .box__dragndrop,
.file__upload_container .box__uploading,
.file__upload_container .box__success,
.file__upload_container .box__error {
    display: none;
}

.file__upload_container .box.has-advanced-upload {
    background-color: white;
    outline: 2px dashed black;
    outline-offset: -10px;
}

.file__upload_container .box.has-advanced-upload .box__dragndrop {
    display: inline;
}

/*-- Loader Spinner --*/
#loader-spinner {
    position: fixed;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    left: 0;
    top: 0px;
    overflow: hidden;
    /*display: none;*/
}

#loader-spinner .spinner-border {
    border: 16px solid #f3f3f3;
    /* Light grey */
    border-top: 16px solid #46464666;
    /* Blue */
    width: 100px;
    height: 100px;
    left: 50%;
    top: 50%;
    margin-top: -100px;
    margin-left: -50px;
    position: fixed;
}

#loader-spinner .spinner-title {
    position: fixed;
    width: 100px;
    height: 100px;
    left: 50%;
    top: 50%;
    margin-top: -70px;
    margin-left: -50px;
    text-align: center;
    color: #fff;
}

/* end */

/* CHECKOUT PAGE */
.checkout__container .btn.btn-light {
    box-shadow: none;
    border: none;
    font-size: 20px;
    width: 100%;
    height: 100%;
}

.checkout__container .card .img-box {
    width: 80px;
    height: 50px;
}

.checkout__container .card img {
    width: 100%;
    object-fit: fill;
}

.checkout__container .card .number {
    font-size: 24px;
}

.checkout__container .card-body .btn.btn-light .fab.fa-cc-paypal {
    font-size: 32px;
    color: #3333f7;
}

.checkout__container .fab.fa-cc-amex {
    color: #1c6acf;
    font-size: 32px;
}

.checkout__container .fab.fa-cc-mastercard {
    font-size: 32px;
    color: red;
}

.checkout__container .fab.fa-cc-discover {
    font-size: 32px;
    color: orange;
}

.checkout__container .box {
    height: 40px;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ddd;
}

.checkout__container .form__div {
    height: 50px;
    position: relative;
    margin-bottom: 24px;
}

.checkout__container .form-control {
    width: 100%;
    height: 45px;
    font-size: 14px;
    border: 1px solid #dadce0;
    border-radius: 0;
    outline: none;
    padding: 2px;
    background: none;
    z-index: 1;
    box-shadow: none;
}

.checkout__container .form__label {
    position: absolute;
    left: 16px;
    top: 10px;
    background-color: #fff;
    color: #80868b;
    font-size: 16px;
    transition: 0.3s;
    text-transform: uppercase;
}

.checkout__container .form-control:focus + .form__label {
    top: -8px;
    left: 12px;
    color: #1a73e8;
    font-size: 12px;
    font-weight: 500;
    z-index: 10;
}

.checkout__container
    .form-control:not(:placeholder-shown).form-control:not(:focus)
    + .form__label {
    top: -8px;
    left: 12px;
    font-size: 12px;
    font-weight: 500;
    z-index: 10;
}

.checkout__container .form-control:focus {
    border: 1.5px solid #1a73e8;
    box-shadow: none;
}

#navbarSupportedContent .nav-item {
    background-color: white;
    border-radius: 5px;
    border: solid 2px #ededed;
}

.nav-item .dropdown-toggle::after {
    display: none !important;
}

#btn__send_selected {
    color: rgba(69, 69, 69, 1);
}

/* END CHECKOUT PAGE */
.custom-border-5 {
    border-radius: 5px;
    border: solid 2px white;
}

.border-left {
    border-left-width: 5px !important;
    border-left-style: solid;
}

#file__table td {
    background-color: white;
    border: solid 1px rgba(69, 69, 69, 0.5) !important;
    height: 90px;
}

.circle-30 {
    width: 30px;
    height: 30px;
    display: block;
    text-align: center;
}

.bootstrap-table .fixed-table-container .table thead th .th-inner {
    overflow: visible !important;
}

.nav-tabs {
    display: flex !important;
    background: #f1f2f6 !important;
    border-radius: var(--border-radius) !important;
    padding: 4px !important;
    margin-bottom: 24px !important;
}
.nav-link {
    padding: 10px 20px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    flex: 1 !important;
    text-align: center !important;
    font-size: 14px !important;
    transition: var(--transition) !important;
    color: #666 !important;
    font-weight: 500 !important;
}
.nav-link.active {
    background: white !important;
    color: var(--primary-color) !important;
    box-shadow: var(--shadow) !important;
}
.add-button {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 20px;
    background: var(--purple-gradient);
    color: white;
    border: none;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: var(--transition);
}

.add-button:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}
.variable-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #fff9e6;
    border-radius: 8px;
    font-size: 13px;
    color: #666;
    margin-bottom: 8px;
}
.hint-icon {
    font-size: 16px;
}
.max-length {
    font-size: 12px;
    color: #666;
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.max-length::before {
    content: "📝";
}
.content-source {
    background: white;
    border-radius: var(--border-radius);
    padding: 20px;
    border: 2px solid var(--border-color);
    margin-top: 24px;
}

.source-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.source-title::before {
    content: "🔄";
}

.source-options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.form-check {
    padding: 6px 30px;
    border: 2px solid var(--border-color);
    border-radius: var(--border-radius);
    cursor: pointer;
    transition: var(--transition);
    position: relative;
    margin: 2px;
}

.form-check:hover {
    border-color: var(--blue-accent);
    background: #f8f9fa;
}

.source-option input {
    position: absolute;
    opacity: 0;
}

.source-option {
    display: flex;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
}
.model-link {
    display: block;
    padding: 14px;
    background: #7c5cff;
    border-radius: 8px;
    color: white;
    text-decoration: none;
    text-align: center;
    margin: 16px 0;
    font-weight: 500;
    transition: background-color 0.2s;
}

.model-link:hover {
    background: #6a4ee8;
}
.model-selector {
    display: flex;
    gap: 12px;
    margin: 16px 0;
    flex-wrap: wrap;
}

.model-option {
    padding: 8px 16px;
    border: 2px solid var(--border-color);
    border-radius: 20px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s;
    position: relative;
}

.model-option.selected {
    border-color: var(--primary-color);
    background: #f5f2ff;
    color: var(--primary-color);
}
.helper-text {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.helper-text::before {
    content: "ℹ️";
}
.input-label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #333;
}

.option-title {
    font-weight: 600;
    color: black;
}

.option-description {
    font-size: 12px;
    color: #666;
}

.source-option.selected {
    border-color: var(--blue-accent);
    background: rgba(9, 132, 227, 0.05);
}

#file-upload {
    display: none;
}

#storage-upload {
    display: none;
}

#nav-file .form-group {
    margin-bottom: 0 !important;
}

.btn_chat_bot_whole {
    right: 0 !important;
    background-color: #ff8c1c;
}

.btn_chat_bot {
    right: 0px !important;
    position: absolute !important;
    background-color: #ff8c1c;
}

#selectColumn {
    position: relative;
}

#selectColumn .form-control {
    height: auto;
    min-height: 38px;
    /* Adjust as needed */
    overflow-y: auto;
    /* Enable scrolling if options overflow */
}

#selectColumn .form-control option {
    padding: 8px 12px;
}

#selectColumn .form-control:focus {
    box-shadow: none;
}

#selectColumn label {
    font-weight: bold;
}

#question {
    resize: vertical;
}

.draggable {
    cursor: move;
}

#modalTable {
    table-layout: auto;
    width: 100%;
}

#modalTable thead th {
    white-space: nowrap;
    padding: 10px;
    border: 1px solid #ddd;
    background-color: #f8f9fa;
    text-align: center;
}

.modal-body {
    overflow-x: auto;
}

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

.modal-header,
.modal-footer {
    border-bottom: 1px solid #ddd;
}

#saveOrder {
    background-color: #007bff;
    border-color: #007bff;
    color: white;
}

#saveOrder:hover {
    background-color: #0056b3;
    border-color: #004085;
}

#modalTable tbody td {
    border: 1px solid #ddd;
}

.card-header {
    /* background-color: #343a40 !important; */
    /* Dark gray background */
    color: white !important;
    /* White text */
    padding: 1rem;
    /* Optional: Add some padding for better spacing */
    border-bottom: 1px solid #dee2e6;
    /* Optional: Add a bottom border (similar to Bootstrap's default) */
}

.nav {
    flex-wrap: nowrap !important;
}

/* .nav-item {
	padding: 0 20px;
} */

.btn {
    min-width: max-content;
}

label {
    min-width: max-content;
}
.input-icon i {
    color: #007bff; /* Initial icon color */
    transition: color 0.3s ease;
}

.input-icon i:hover {
    color: #ff6600; /* Change icon color on hover */
}
.column-content-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
}
.column-name {
    font-weight: bold;
}

.column-actions {
    display: flex;
    gap: 4px;
    font-size: 14px;
}
.action-icon {
    cursor: pointer;
    color: #6b7280;
}

.action-icon:hover {
    color: #374151;
}
.prompt {
    background-color: #e3f2fd;
}
.img {
    background-color: #f0fdf4;
}
.vision {
    background-color: #fdf2f8;
}
.tpl {
    background-color: #fff7ed;
}
.type-set-prompt {
    background-color: #f3f4f6;
}
.column-letter {
    font-size: 12px;
    color: #6c757d;
}
.column-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px;
    border-radius: 4px;
    margin-bottom: 8px;
}

.model-select {
    width: 100%;
    padding: 12px 15px;
    background: white;
    border: 2px solid #dfe6e9;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-size: 14px;
}

.model-option {
    display: flex;
    justify-content: space-between;
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
}
.openai-model {
    border-left: 3px solid #10a37f;
}
.ai-model-select {
    --primary-color: #2d3436;
    --hover-color: #0984e3;
    --background: #fff;
    --border-radius: 8px;
    --transition: all 0.2s ease;

    position: relative;
    width: 350px;
    font-family: "Inter", -apple-system, sans-serif;
}
/* Variables Section Styles */
.variables-section {
    margin-top: 16px;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
}

.variables-header {
    padding: 8px 12px;
    background: #f1f2f6;
    font-weight: 500;
    font-size: 13px;
    border-bottom: 1px solid var(--border-color);
    color: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.variables-header::before {
    content: "🔤";
    margin-right: 6px;
}

.variables-scroll {
    max-height: 150px;
    overflow-y: auto;
    padding: 8px;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e0 #f8f9fa;
}

.variables-scroll::-webkit-scrollbar {
    width: 6px;
}

.variables-scroll::-webkit-scrollbar-track {
    background: #f8f9fa;
}

.variables-scroll::-webkit-scrollbar-thumb {
    background-color: #cbd5e0;
    border-radius: 3px;
}

.variables-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 8px;
}
.vision-variables-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 8px;
}
.image-variables-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 8px;
}
.tpl-variables-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 8px;
}
.neg-variables-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 8px;
}
.merge-variables-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 8px;
}
.optional-params-toggle {
    width: 100%;
    padding: 12px;
    background: #f8f9fa;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    cursor: pointer;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 20px 0;
    transition: all 0.2s;
}

.optional-params-toggle:hover {
    background: #f0f0f0;
}

.optional-params {
    display: none;
    padding: 16px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    margin-top: -10px;
}

.optional-params.show {
    display: block;
}
.template-info {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 16px;
    margin: 20px 0;
}

.template-info-title {
    font-weight: 500;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.template-info-text {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}
.file-upload {
    border: 2px dashed var(--border-color);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    margin-bottom: 20px;
    cursor: pointer;
    transition: all 0.2s;
}

.file-upload:hover {
    border-color: var(--primary-color);
    background: #f8f9fa;
}

.file-upload-text {
    color: #666;
    font-size: 14px;
    margin-top: 10px;
}
.mode-buttons {
    display: flex;
    gap: 12px;
    margin: 20px 0;
}

.mode-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: white;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s;
    flex: 1;
}

.mode-button:hover {
    background: #f8f9fa;
    transform: translateY(-1px);
    box-shadow: var(--shadow);
}

.mode-button.active {
    border-color: var(--primary-color);
    background: #f5f2ff;
}

.variable-item {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    background: #f8f9fa;
    border-radius: 4px;
    cursor: pointer;
    transition: var(--transition);
    font-size: 13px;
    border: 1px solid var(--border-color);
}

.variable-item:hover {
    background: #e9ecef;
    border-color: var(--blue-accent);
    transform: translateY(-1px);
    box-shadow: var(--shadow);
}

.variable-item-column {
    color: var(--blue-accent);
    font-weight: 600;
    margin-right: 8px;
    font-family: monospace;
}

.variable-item-title {
    color: #666;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.specs-link {
    display: block;
    padding: 12px;
    margin-bottom: 15px;
    background: linear-gradient(135deg, #6c5ce7, #a363d9);
    color: white;
    text-decoration: none;
    border-radius: var(--border-radius);
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: var(--transition);
}
.specs-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
}
.model-dropdown {
    position: relative;
    width: 100%;
}
.bootstrap-table .fixed-table-container .table thead th .sortable {
    padding-right: 16px !important;
}
.intro-section {
    background: #f0f7ff;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 24px;
    border: 1px solid #cce3ff;
}

.intro-title {
    font-weight: 600;
    color: #0954a5;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.intro-title::before {
    content: "🔍";
}
.intro-text {
    font-size: 14px;
    color: #444;
    line-height: 1.5;
}

.steps-list {
    margin: 12px 0;
    padding-left: 24px;
}

.steps-list li {
    margin-bottom: 6px;
    color: #555;
}
.url-requirements {
    background: #fff3cd;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 13px;
    color: #856404;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.url-requirements::before {
    content: "⚠️";
}
.limit-group {
    margin-bottom: 20px;
}

.limit-input {
    width: 120px;
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 14px;
}

.limit-hint {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.limit-hint::before {
    content: "ℹ️";
}
.options-section {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 16px;
    margin: 20px 0;
}

.options-title {
    font-weight: 500;
    margin-bottom: 16px;
    color: #333;
    display: flex;
    align-items: center;
    gap: 8px;
}

.options-title::before {
    content: "⚙️";
}
.result-preview {
    background: #f8f9fa;
    border: 1px dashed #ccc;
    border-radius: 6px;
    padding: 12px;
    margin-top: 12px;
    font-size: 13px;
}

.result-preview-title {
    font-weight: 500;
    color: #555;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.result-preview-title::before {
    content: "📊";
}

.preview-item {
    display: flex;
    gap: 8px;
    margin-bottom: 4px;
    color: #666;
}

.preview-item::before {
    content: "•";
    color: var(--primary-color);
}
.scrape-button {
    width: 100%;
    padding: 12px;
    background: var(--primary-color);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 15px;
}

.scrape-button:hover {
    background: #6a4ee8;
    transform: translateY(-1px);
    box-shadow: var(--shadow);
}

.scrape-button::before {
    content: "🔄";
}
.chat-container {
    display: flex;
    flex-direction: column;
    height: auto;
    width: 100%;
    background: var(--chat-bg);
}

.chat-header {
    background: #2d2d2d;
    padding: 12px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}

.clear-button {
    padding: 6px 12px;
    border-radius: 6px;
    border: none;
    background: grey;
    color: white;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s;
}

.chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
    scroll-behavior: smooth;
}

.message {
    max-width: 80%;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
}

.message.user {
    margin-left: auto;
}

.message.bot {
    margin-right: auto;
}

.message-content {
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.5;
}

.user .message-content {
    background: white;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
}

.bot .message-content {
    background: var(--bot-message);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.message-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    align-self: flex-end;
}

.action-button {
    padding: 4px 8px;
    border-radius: 4px;
    border: none;
    background: #2d2d2d;
    color: white;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s;
}

.action-button:hover {
    transform: translateY(-1px);
}

.chat-input-container {
    background: white;
    border-top: 1px solid var(--border-color);
    padding: 16px;
    flex-shrink: 0;
}

.controls-group {
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.select-wrapper {
    position: relative;
    min-width: 150px;
}

.select-input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 13px;
    appearance: none;
    background: white;
    cursor: pointer;
}

.context-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
    background: white;
}

.input-wrapper {
    position: relative;
    display: flex;
    align-items: flex-end;
    gap: 8px;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 8px;
}

.message-input {
    flex: 1;
    border: none;
    padding: 8px;
    max-height: 200px;
    min-height: 24px;
    resize: none;
    font-size: 14px;
    line-height: 1.5;
    margin-right: 40px;
}

.message-input:focus {
    outline: none;
}

.send-button {
    position: absolute;
    right: 8px;
    bottom: 8px;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 50%;
    background: var(--primary-color);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
}

.send-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(124, 92, 255, 0.3);
}

.send-icon {
    width: 16px;
    height: 16px;
    fill: white;
}
.modal-container {
    font-family: system-ui, -apple-system, sans-serif;
    max-width: 700px;
    margin: 20px auto;
    padding: 24px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.custom-modal-header {
    margin-bottom: 24px;
}
.column-modal-header {
    padding: 16px 24px;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}
.example-section {
    background-color: #f8fafc;
    padding: 16px;
    border-radius: 6px;
    margin-bottom: 20px;
}

.example-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
}

.example-list {
    list-style: none;
}

.example-list li {
    font-size: 0.875rem;
    color: #4b5563;
    margin-bottom: 8px;
    padding-left: 12px;
    position: relative;
}

.example-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #2563eb;
}
.prompt-container {
    position: relative;
    margin-bottom: 20px;
}

.prompt-input {
    width: 100%;
    padding: 12px 40px 12px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.875rem;
    min-height: 60px;
    max-height: 200px;
    resize: vertical;
    background-color: white;
}

.magic-wand-button {
    position: absolute;
    right: 12px;
    top: 12px;
    background: none;
    border: none;
    cursor: pointer;
    color: #6b7280;
    padding: 4px;
}

.magic-wand-button:hover {
    color: #2563eb;
}
.info-section {
    background-color: #f0f7ff;
    padding: 16px;
    border-radius: 6px;
    margin-bottom: 20px;
}

.info-title {
    color: #1e40af;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 12px;
}
.button-save {
    background-color: #2563eb;
    color: white;
}

.modal-title {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.modal-description {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}
.option-info {
    margin-top: 24px;
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 16px;
}

.info-title {
    font-weight: 500;
    color: #333;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.info-title::before {
    content: "ℹ️";
}

.checkbox-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: white;
    cursor: pointer;
    transition: all 0.2s;
}

.checkbox-option:hover {
    background: var(--bg-hover);
}

.checkbox-label {
    font-size: 14px;
    color: #333;
}

.option-description {
    font-size: 13px;
    color: #666;
    margin-top: 4px;
    line-height: 1.4;
}
.preview-section {
    background: #f0f7ff;
    border-radius: 8px;
    padding: 16px;
    margin-top: 24px;
}

.preview-title {
    font-weight: 500;
    color: #0954a5;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.preview-content {
    font-size: 13px;
    color: #555;
}

.rows-info {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    padding: 8px 12px;
    background: white;
    border-radius: 6px;
    font-size: 13px;
}

.rows-count {
    padding: 2px 8px;
    background: #e3f2fd;
    border-radius: 4px;
    color: #0954a5;
    font-weight: 500;
}
.section-card {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 16px;
}

.section-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.section-title::before {
    content: "📋";
}

.section-title.source::before {
    content: "📁";
}

.select-wrapper {
    position: relative;
}

.select-input {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 14px;
    appearance: none;
    background: white;
    cursor: pointer;
    transition: all 0.2s;
}

.select-input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(124, 92, 255, 0.1);
}

.select-wrapper::after {
    content: "▼";
    position: absolute;
    right: 12px;
    top: 40%;
    transform: translateY(-50%);
    color: #666;
    pointer-events: none;
    font-size: 12px;
}

.option-info {
    margin-top: 24px;
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 16px;
}

.info-title {
    font-weight: 500;
    color: #333;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.info-title::before {
    content: "ℹ️";
}
.full-page-container {
    width: 100%;
    min-height: 100vh;
    padding: 0;
    position: relative;
}

.page-header {
    background: white;
    padding: 20px;
    border-bottom: 1px solid var(--border-color);
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-content {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.page-title {
    font-size: 24px;
    font-weight: 600;
    color: #333;
}

.main-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}

.training-card {
    background: white;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    height: fit-content;
}

.card-header {
    background: #f8f9fa;
    padding: 20px;
    border-bottom: 1px solid var(--border-color);
}

.header-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    font-weight: 500;
    color: #333;
}

.card-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    border-radius: 10px;
    font-size: 20px;
    box-shadow: var(--shadow);
}

.card-content {
    padding: 20px;
}

.feature-description {
    background: #f0f7ff;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
}

.description-title {
    font-weight: 500;
    color: #0954a5;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.description-title::before {
    content: "ℹ️";
}

.description-text {
    color: #444;
    font-size: 14px;
    line-height: 1.5;
}

.steps-list {
    list-style: none;
    margin: 12px 0;
}

.steps-list li {
    margin: 8px 0;
    padding-left: 24px;
    position: relative;
    color: #555;
}

.steps-list li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: var(--primary-color);
}
.execution-group {
    background: #e3f2fd;
}
.input-wrapper {
    display: flex;
    gap: 12px;
}

.text-input {
    flex: 1;
    padding: 12px;
    border: 2px solid var(--border-color);
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.2s;
}

.text-input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(124, 92, 255, 0.1);
}
/* General styling for the file-upload area */
.file-upload-area {
    border: 2px dashed var(--border-color);
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    margin-bottom: 20px;
    background-color: #f9f9f9;
}

.file-upload-area:hover {
    border-color: var(--primary-color);
    background-color: #f3faff;
}
.file-name-display {
    display: block;
    line-break: anywhere;
}

.option-item {
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 20px;
    background-color: white;
}

/* Upload modes section */
.upload-modes {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5e7eb;
}

.mode-option {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 0;
}

.radio-input {
    margin-top: 4px;
}

.mode-label {
    font-size: 0.875rem;
    color: #374151;
    font-weight: 500;
}

.mode-description {
    font-size: 0.75rem;
    color: #6b7280;
    margin-top: 2px;
}

/* Column matching section */
.column-matching {
    display: none;
    margin-bottom: 16px;
}

.column-matching.active {
    display: block;
}

.column-select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.875rem;
    color: #374151;
    margin-bottom: 12px;
}

/* Info message */
.info-message {
    background-color: #f0f7ff;
    border-left: 4px solid #2563eb;
    padding: 12px 16px;
    margin-bottom: 16px;
    border-radius: 6px;
}

.info-message p {
    color: #1e40af;
    font-size: 0.875rem;
    line-height: 1.5;
    margin-top: 8px;
}

/* Dropzone */
.dropzone {
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    padding: 24px;
    text-align: center;
    background-color: #f9fafb;
    cursor: pointer;
    transition: all 0.2s ease;
}

.dropzone.drag-over {
    border-color: #2563eb;
    background-color: #f0f7ff;
}

.upload-icon {
    font-size: 32px;
    color: #6b7280;
    margin-bottom: 12px;
}

.upload-text {
    font-size: 0.875rem;
    color: #4b5563;
    margin-bottom: 4px;
}

.upload-subtext {
    font-size: 0.75rem;
    color: #6b7280;
    margin-bottom: 16px;
}

/* File input and button */
#uploadColImages {
    display: none;
}

.upload-button {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background-color: #2563eb;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.upload-button:hover {
    background-color: #1d4ed8;
}
.tool-button.active {
    background-color: #007bff; /* Example highlight color */
    color: #fff;
    border: 1px solid #0056b3;
}
.btn_chat_bot.active {
    background-color: #007bff !important; /* Example highlight color */
    color: #fff;
    border: 1px solid #0056b3;
}
/* Preview area */
.preview-area {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 8px;
    margin-top: 16px;
}

.preview-item {
    position: relative;
}

.preview-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #e5e7eb;
}

.remove-button {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #ef4444;
    color: white;
    border: none;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.error-message {
    color: #dc2626;
    font-size: 0.75rem;
    margin-top: 4px;
    display: none;
}

.error-message.visible {
    display: block;
}
/* Drag-drop area feedback styling */
#drag-drop-area {
    border: 2px dashed #cccccc;
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

#drag-drop-area.dragging {
    background-color: #e6f7ff;
    border-color: #1e90ff;
}

/* Upload icon styling */
.upload-icon {
    font-size: 50px;
    margin-bottom: 16px;
    color: var(--primary-color);
}

/* Upload text styling */
.upload-text {
    font-size: 16px;
    font-weight: bold;
    color: #666;
    margin-bottom: 8px;
}

/* File limit message styling */
.file-limit {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff3e0;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 13px;
    color: #e65100;
}

/* Make the "Choose files" button more prominent */
.btn-choose-files {
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--primary-color);
    border: none;
    color: white;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    border-radius: 6px;
    transition: all 0.3s ease-in-out;
    margin-top: 12px;
    cursor: pointer;
}

.btn-choose-files:hover {
    background-color: darken(var(--primary-color), 10%);
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
}

.btn-choose-files:focus {
    outline: none;
    box-shadow: 0px 0px 0px 4px rgba(30, 144, 255, 0.4);
}

/* Ensure responsiveness */
@media (max-width: 768px) {
    .btn-choose-files {
        width: 100%;
    }
}

.button {
    padding: 12px 20px;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    font-size: 14px;
    width: 100%;
}

.primary-button {
    background: var(--primary-color);
    color: white;
}

.primary-button:hover {
    background: #6a4ee8;
    transform: translateY(-1px);
    box-shadow: var(--shadow);
}

.secondary-button {
    background: #f0f0f0;
    color: #333;
    border: 1px solid var(--border-color);
}

.secondary-button:hover {
    background: #e4e4e4;
}

.management-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.file-section-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 16px;
}

.file-select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.875rem;
    color: #374151;
    margin-bottom: 24px;
}
.compatibility-section {
    background-color: #fffbeb;
    padding: 16px;
    border-radius: 6px;
    margin-bottom: 20px;
}

.compatibility-title {
    color: #92400e;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.compatibility-list {
    list-style: none;
}

.compatibility-list li {
    color: #92400e;
    font-size: 0.875rem;
    margin-bottom: 8px;
    padding-left: 12px;
    position: relative;
    line-height: 1.4;
}

.compatibility-list li::before {
    content: "•";
    position: absolute;
    left: 0;
}
.tip-box {
    background-color: #fff7ed;
    border-left: 4px solid #f97316;
    padding: 12px 16px;
    margin-bottom: 20px;
}

.tip-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #9a3412;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.tip-content {
    font-size: 0.813rem;
    color: #9a3412;
    line-height: 1.4;
}
.columns-list {
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    margin-bottom: 24px;
}

.column-item {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #e5e7eb;
}

.column-item:last-child {
    border-bottom: none;
}

.column-checkbox {
    margin-right: 12px;
}

.column-info {
    display: flex;
    flex-direction: column;
}

.column-title {
    font-size: 0.875rem;
    color: #111827;
    font-weight: 500;
}

.column-id {
    font-size: 0.75rem;
    color: #6b7280;
}
.cost-summary {
    background-color: #f8fafc;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
}

.cost-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.total-cost {
    font-size: 0.875rem;
    color: #374151;
    font-weight: 600;
}

.details-toggle {
    background: none;
    border: none;
    color: #2563eb;
    font-size: 0.875rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
}

.cost-details {
    display: none;
    border-top: 1px solid #e5e7eb;
    margin-top: 12px;
    padding-top: 12px;
}

.cost-details.visible {
    display: block;
}

.cost-item {
    display: flex;
    justify-content: space-between;
    font-size: 0.875rem;
    color: #4b5563;
    padding: 4px 0;
}
:root {
    --excel-orange: #ff8c41;
    --excel-orange-dark: #ff6b1c;
    --primary-blue: #3b82f6;
    --primary-blue-dark: #2563eb;
    --success-green: #22c55e;
    --success-green-dark: #16a34a;
    --purple-accent: #8b5cf6;
    --purple-accent-dark: #7c3aed;
    --neutral-gray: #64748b;
    --light-gray: #f8fafc;
    --header-bg: #ff8c41;
    --header-dark: #ff6b1c;
    --toolbar-bg: #f8f9fa;
    --button-hover: #e9ecef;
    --border-light: #e2e8f0;
    --border-dark: #cbd5e1;
    --text-primary: #1e293b;
    --text-secondary: #64748b;
    --background-light: #f8f9fa; /* Changed to maintain consistency */
    --border-color: #d4d4d4; /* Consolidated border color */
    --hover-color: #f3f3f3;
    --active-color: #3b82f6; /* Kept this for consistency where used */
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

/* Utility Classes */
.d-flex {
    display: flex;
}
.align-items-center {
    align-items: center;
}
.justify-content-between {
    justify-content: space-between;
}
.mb-3 {
    margin-bottom: 1rem;
}

/* Animations (if needed) */
.fade-in {
    animation: fadeIn 0.3s ease-in;
}
.slide-up {
    animation: slideUp 0.3s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes slideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Title Bar */
.title-bar {
    height: 50px;
    background: var(--toolbar-bg);
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--border-color);
}

.title-left,
.title-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.logo-container {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    text-decoration: none;
}

.logo-text {
    font-family: "Segoe UI", Arial, sans-serif;
    letter-spacing: -0.5px;
}
.logo-image {
    height: 30px;
}
.logo-dot {
    color: var(--primary-blue);
    margin: 0 2px;
}
.excel-icon {
    width: 16px;
    height: 16px;
    background-color: #217346;
    border-radius: 2px;
}
.file-title {
    font-size: 12px;
    color: #333;
}
.credits-display {
    font-size: 12px;
    color: #666;
    display: flex;
    align-items: center;
    gap: 8px;
}

.file-status {
    color: #999;
    margin-left: 8px;
}

/* Excel Header */
.excel-header {
    background: linear-gradient(
        to bottom,
        var(--header-bg) 0%,
        var(--header-dark) 100%
    );
    border-bottom: 1px solid var(--excel-orange-dark); /* Consistent color */
}

/* Menu Bar */
.menu-bar {
    background: var(--toolbar-bg);
    border-bottom: 1px solid var(--border-light);
    padding: 2px;
    display: flex;
    gap: 5px;
}

.menu-item {
    padding: 3px 8px;
    cursor: pointer;
    font-size: 12px;
    color: var(--text-primary);
    position: relative;
    display: flex;
    align-items: center;
    gap: 4px;
}

.menu-item:hover {
    background: var(--button-hover);
    color: var(--primary-blue);
}

/* Mega Menu */
.mega-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    border: 1px solid #adb5bd;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    min-width: 800px;
    padding: 1rem;
}

.menu-item:hover .mega-menu {
    display: block;
}

.menu-columns {
    display: flex;
    gap: 1rem;
}

.menu-column {
    flex: 1;
    min-width: 200px;
    padding-right: 1rem;
    border-right: 1px solid var(--border-color);
}

.menu-column:last-child {
    border-right: none;
}

.menu-header {
    font-size: 12px;
    font-weight: 600;
    color: var(--active-color);
    padding-bottom: 4px;
    margin-bottom: 8px;
    border-bottom: 2px solid var(--border-color);
}

.menu-item-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    font-size: 12px;
    color: #333;
    width: 100%;
    border: none;
    background: none;
    text-align: left;
    cursor: pointer;
    border-radius: 4px;
}

.menu-item-button:hover {
    background-color: var(--hover-color);
    color: var(--primary-blue);
    transform: translateX(4px);
}

/* Toolbar */
.toolbar {
    background: var(--toolbar-bg);
    border-bottom: 1px solid var(--border-color);
    padding: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}

.tool-group {
    border-right: 1px solid var(--border-color);
    padding: 0 4px;
    margin-right: 4px;
}

.tool-group:last-child {
    border-right: none;
}

.tool-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.tool-buttons {
    display: flex;
    gap: 2px;
}

.tool-section-label {
    font-size: 10px;
    color: var(--neutral-gray);
    text-align: center;
    white-space: nowrap;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tool-button {
    height: 32px;
    min-width: 32px;
    padding: 0 6px;
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        var(--background-light) 100%
    );
    border: 1px solid var(--border-color);
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer;
    color: #333;
    font-size: 12px;
    position: relative;
}

.tool-button:hover {
    background: linear-gradient(
        to bottom,
        var(--background-light) 0%,
        var(--button-hover) 100%
    );
    border-color: #adb5bd;
}

.tool-button:active {
    background: var(--button-hover);
    border-color: #adb5bd;
}

.tool-text {
    font-size: 11px;
    display: none;
}
.tool-button:hover .tool-text {
    display: inline;
}
.premium-tool {
    color: var(--excel-orange);
}

.mini-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    background: var(--warning-orange); /* Assuming this is defined elsewhere */
    color: white;
    font-size: 9px;
    padding: 2px 4px;
    border-radius: 8px;
    border: none;
    font-weight: 500;
}

.font-family {
    width: 120px;
}
.font-size {
    width: 50px;
}

/* Toolbar Toggle */
.toolbar-toggle {
    padding: 2px 8px;
    background: var(--toolbar-bg);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: center;
}

.toolbar-toggle .tool-button {
    width: 24px;
    height: 16px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    background: transparent;
    border: none;
    color: #666;
    z-index: 10;
}

.toolbar-toggle .tool-button:hover {
    background: var(--hover-color);
    color: var(--active-color);
}
.toolbar-hidden {
    display: none !important;
}

/* Formula/Chat Bar Styles */
.formula-chat-bar {
    display: flex;
    align-items: center;
    padding: 4px 8px;
    background: var(--toolbar-bg);
    border-bottom: 1px solid var(--border-color);
    gap: 8px;
    height: 40px;
}

/* Chat Controls */
.chat-controls {
    display: flex;
    align-items: center;
    gap: 4px;
}

.function-button {
    width: 32px;
    height: 32px;
    padding: 0;
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        var(--background-light) 100%
    );
}

.function-button.chat-mode {
    background: linear-gradient(to bottom, #e3f2fd 0%, #bbdefb 100%);
    color: #1976d2;
}

.model-selector {
    height: 32px;
    padding: 0 8px;
    border: 1px solid var(--border-color);
    border-radius: 3px;
    font-size: 12px;
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        var(--background-light) 100%
    );
    min-width: 100px;
}

/* Cell Reference */
.cell-reference {
    display: flex;
    align-items: center;
    gap: 2px;
}

.cell-address {
    width: 70px;
    height: 32px;
    border: 1px solid var(--border-color);
    border-radius: 3px;
    padding: 0 8px;
    font-size: 12px;
    background: white;
}

.cell-actions {
    display: flex;
    gap: 2px;
}

/* Formula/Chat Input Area */
.formula-chat-input-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.input-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px;
}

.context-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #666;
    cursor: pointer;
}

.context-toggle input[type="checkbox"] {
    width: 14px;
    height: 14px;
}
.toggle-label {
    user-select: none;
}

.input-area {
    display: flex;
    align-items: center;
    gap: 4px;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: 3px;
    padding: 0 4px;
}

.formula-chat-input {
    flex: 1;
    height: 32px;
    border: none;
    padding: 0 8px;
    font-size: 12px;
    background: transparent;
}

.formula-chat-input:focus {
    outline: none;
}
/* Micro Buttons */
.micro-button {
    width: 20px;
    height: 20px;
    padding: 0;
    border: 1px solid var(--border-color);
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        var(--background-light) 100%
    );
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    color: #666;
    cursor: pointer;
}

.micro-button:hover {
    background: linear-gradient(
        to bottom,
        var(--background-light) 0%,
        var(--button-hover) 100%
    );
    border-color: #adb5bd;
}

/* Chat History Panel */
.chat-history-panel {
    position: absolute;
    right: 0;
    bottom: 40px;
    width: 300px;
    height: 400px;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
}

.chat-header {
    padding: 8px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--toolbar-bg);
}

.chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
}

/* Message Styles */
.chat-message {
    margin-bottom: 8px;
    padding: 8px;
    border-radius: 4px;
    font-size: 12px;
}
.user-message {
    background: #e3f2fd;
    margin-left: 20px;
}
.ai-message {
    background: #f5f5f5;
    margin-right: 20px;
}

/* Updated Formula Bar Styles (Consolidated) */
.formula-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    background: var(--toolbar-bg);
    border-bottom: 1px solid #d4d4d4;
    height: 36px;
}

.formula-bar-left,
.formula-bar-right {
    display: flex;
    align-items: center;
    gap: 4px;
}

.control-buttons {
    display: flex;
    gap: 2px;
    margin-right: 4px;
    border-right: 1px solid #d4d4d4;
    padding-right: 4px;
}

.control-button {
    width: 24px;
    height: 24px;
    padding: 0;
    border: 1px solid #d4d4d4;
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        var(--background-light) 100%
    );
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #666;
}

.control-button.active {
    background: linear-gradient(
        to bottom,
        var(--primary-blue),
        var(--primary-blue-dark)
    );
    color: white;
    border-color: var(--primary-blue-dark);
}

.ai-toggle {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid #d4d4d4;
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        var(--background-light) 100%
    );
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #666;
}
.cell-address {
    width: 60px;
    height: 28px;
    padding: 0 4px;
    border: 1px solid #d4d4d4;
    border-radius: 3px;
    font-size: 12px;
    background: white;
}

.formula-bar-center {
    flex: 1;
    display: flex;
    align-items: center;
}

.formula-input {
    width: 100%;
    height: 28px;
    padding: 0 8px;
    border: 1px solid #d4d4d4;
    border-radius: 3px;
    font-size: 12px;
    background: white;
}

.formula-bar-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.execution-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    border-right: 1px solid #d4d4d4;
    padding-right: 12px;
}

.chat-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.fill-mode,
.include-data {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #666;
    cursor: pointer;
    user-select: none;
}

.fill-mode input[type="checkbox"],
.include-data input[type="checkbox"] {
    margin: 0;
    width: 14px;
    height: 14px;
}

.execute-button {
    height: 28px;
    padding: 0 8px;
    border: 1px solid #d4d4d4;
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        var(--background-light) 100%
    );
    border-radius: 3px;
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    color: #666;
    font-size: 12px;
    transition: background 0.3s, color 0.3s;
}

.execute-button:hover {
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        var(--button-hover) 100%
    );
    border-color: var(--border-dark);
}
.fill-mode-checkbox {
    margin: 0;
    width: 14px;
}

/* Focus States */
.formula-input:focus,
.cell-address:focus {
    outline: none;
    border-color: #0078d4;
}

/* Disabled state */
.formula-input:disabled,
.cell-address:disabled {
    background: var(--background-light);
    cursor: not-allowed;
}

/* Content Area */
.content-area {
    height: calc(100vh - var(--header-height));
    overflow: auto;
}

/* Badges */
.badge {
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 500;
}
.badge-credits {
    background: var(--background-light);
    color: var(--text-secondary);
}
.badge-pro {
    background: #818cf8;
    color: white;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .mega-menu {
        min-width: 600px;
    }
}
@media (max-width: 992px) {
    .mega-menu {
        min-width: 400px;
    }
    .menu-columns {
        flex-direction: column;
    }
    .menu-column {
        border-right: none;
        border-bottom: 1px solid var(--border-color);
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }
}

.shortcut {
    margin-left: auto;
    color: #666;
    font-size: 11px;
}
.menu-divider {
    height: 1px;
    background-color: var(--border-color);
    margin: 8px 0;
}
.text-danger {
    color: #dc3545;
}
.text-danger:hover {
    color: #bd2130;
    background-color: #ffd7d7;
}
.recent-files-list {
    max-height: 200px;
    overflow-y: scroll;
}
.no-recent {
    color: #666;
    font-style: italic;
    padding: 8px;
    font-size: 12px;
}

/* Modal Styles (Example) */
.modal-content {
    border-radius: 8px;
}
.modal-header {
    background-color: var(--toolbar-bg);
}

/* Export Buttons (Added for consistency) */
.export-buttons {
    display: flex;
    gap: 1px;
}
.export-button {
    padding: 4px 8px;
    font-size: 11px;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* AI Tools (Added for consistency) */
.ai-tools {
    display: flex;
    gap: 4px;
    padding: 0 8px;
}
.ai-tool-button {
    padding: 4px 8px;
    font-size: 11px;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: 2px;
    position: relative;
}
.ai-tool-count {
    position: absolute;
    top: -4px;
    right: -4px;
    background: var(--excel-orange);
    color: white;
    font-size: 9px;
    padding: 0 4px;
    border-radius: 8px;
    min-width: 14px;
    text-align: center;
}

/* Group Labels (Added for consistency) */
.group-label {
    text-transform: uppercase;
    font-size: 10px;
    color: var(--text-secondary);
    margin-bottom: 2px;
}

.tool-dropdown {
    position: relative;
    display: inline-block;
}

.tool-dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    min-width: 200px;
}

.tool-dropdown-menu.show {
    display: block;
}

.tool-dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    width: 100%;
    border: none;
    background: none;
    text-align: left;
    cursor: pointer;
    font-size: 12px;
    color: var(--text-primary);
}

.tool-dropdown-item:hover {
    background-color: var(--hover-color);
}

.credits-badge {
    margin-left: auto;
    padding: 2px 6px;
    background: var(--background-light);
    border-radius: 12px;
    font-size: 10px;
    color: var(--text-secondary);
}
.info-box {
    background-color: #f0f7ff;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    padding: 16px 20px;
    color: #1a73e8;
}

.info-box h3 {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.info-box h3::before {
    content: "🔍";
}
.examples-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 16px;
    padding: 12px;
    background: white;
    border-radius: 6px;
    border: 1px solid #e1e9ff;
}

.example-box {
    padding: 12px;
    background: #f8f9fa;
    border-radius: 4px;
    border: 1px solid #e1e9ff;
}

.example-title {
    font-size: 13px;
    font-weight: 500;
    color: #1a73e8;
    margin-bottom: 8px;
}

.example-code {
    font-family: monospace;
    background: white;
    padding: 8px;
    border-radius: 4px;
    font-size: 13px;
    color: #333;
    border: 1px solid #e1e9ff;
    margin-bottom: 8px;
}

.example-result {
    font-size: 12px;
    color: #666;
    padding: 8px;
    background: #fff;
    border-radius: 4px;
    border: 1px dashed #ccc;
}
.info-step {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
    padding: 12px;
    background: white;
    border-radius: 6px;
    border: 1px solid #e1e9ff;
}

.step-number {
    background: #1a73e8;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.step-content {
    flex: 1;
}

.step-title {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin-bottom: 4px;
}

.step-description {
    font-size: 13px;
    color: #666;
}
.preview-box {
    margin-top: 20px;
    padding: 12px;
    background: #f8f9fa;
    border-radius: 4px;
    border: 1px solid #e1e9ff;
}

.preview-title {
    font-size: 13px;
    color: #666;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.preview-title::before {
    content: "👁️";
}

.preview-content {
    background: white;
    padding: 12px;
    border-radius: 4px;
    border: 1px dashed #ccc;
    font-size: 13px;
    color: #333;
}

.header {
    height: var(--header-height);
    border-bottom: 1px solid var(--border-color);
    background: white;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    transition: all 0.3s ease;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
    height: 100%;
}

.nav-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    gap: 2rem;
}

.logo-section {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: var(--text-color);
    gap: 0.75rem;
}

.logo-image {
    height: 28px;
    width: auto;
}

.logo-badge {
    font-size: 0.875rem;
    padding: 0.25rem 0.5rem;
    background: var(--hover-bg);
    border-radius: 4px;
    color: var(--text-color);
    font-weight: 500;
}

.main-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-grow: 1;
}

.nav-group {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.nav-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: var(--text-color);
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    transition: all 0.2s ease;
    font-weight: 500;
}

.nav-item:hover {
    background: var(--hover-bg);
    color: var(--primary-color);
}

.social-links {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.social-icon:hover {
    opacity: 0.8;
}

.social-icon.discord svg {
    fill: #5865f2;
}

.social-icon.linkedin svg {
    fill: #0a66c2;
}

.social-icon.twitter svg {
    fill: #000000;
}

.auth-buttons {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-left: 1.5rem;
}

.btn {
    padding: 0.5rem 1rem;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.2s ease;
    font-weight: 500;
    text-align: center;
}

.btn-outline {
    border: 1px solid var(--border-color);
    color: var(--text-color);
}

.btn-outline:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.btn-primary {
    background: var(--primary-color);
    color: white;
}

.btn-primary:hover {
    background: var(--secondary-color);
}

.mobile-menu-button {
    display: none;
    background: none;
    border: none;
    padding: 0.5rem;
    cursor: pointer;
    color: var(--text-color);
}

.mobile-menu {
    display: none;
    position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    background: white;
    padding: 1.5rem;
    border-top: 1px solid var(--border-color);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
}

.mobile-menu.active {
    display: block;
}

@media (max-width: 1024px) {
    .main-nav {
        display: none;
    }

    .mobile-menu-button {
        display: block;
    }

    .mobile-menu .nav-group {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .mobile-menu .nav-item {
        width: 100%;
    }

    .mobile-menu .auth-buttons {
        flex-direction: column;
        margin: 1.5rem 0;
        width: 100%;
        gap: 0.75rem;
    }

    .mobile-menu .btn {
        width: 100%;
    }

    .mobile-menu .social-links {
        justify-content: center;
        margin-top: 1.5rem;
    }
}
@media (max-width: 480px) {
    .btn-primary[href="/users/register"] {
        font-size: 1rem;
        padding: 10px 12px;
        margin: 15px auto 0;
    }

    .ai-login-wrapper {
        padding: 0.5rem;
    }

    .full-width-header h1 {
        font-size: 1.25rem;
    }

    .ai-login-card {
        padding: 1rem;
        border-radius: 8px;
    }

    .input-wrapper input {
        padding: 0.625rem 1rem 0.625rem 2.25rem;
    }

    .btn-ai,
    .btn-enterprise {
        padding: 0.625rem;
    }

    .logo-wrapper {
        gap: 0.75rem;
    }

    .brand-logo {
        max-width: 35px;
    }
}
@media (max-width: 768px) {
    .main-content {
        grid-template-columns: 1fr;
    }

    .input-wrapper {
        flex-direction: column;
    }

    .management-buttons {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .controls-group {
        flex-direction: column;
    }

    .select-wrapper {
        width: 100%;
    }

    .message {
        max-width: 90%;
    }
}

@media (max-width: 480px) {
    .chat-messages {
        padding: 16px;
    }

    .message {
        max-width: 95%;
    }
}
@media screen and (min-width: 768px) {
    /* .nav-item {
		display: flex;
		padding-left: 0;
		padding-right: 0;
	} */

    .position-relative {
        position: absolute !important;
    }
}

@media screen and (max-width: 992px) {
    .header-navbar-container {
        position: fixed;
        top: 80px;
        right: 10px;
        padding: 5px;
        border-radius: 10px;
        width: 70vw;
        max-width: 300px;

        background-color: white;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.15);
    }

    .nav-item {
        margin: unset !important;
        /* padding: unset !important; */
    }

    .nav-item > a {
        width: 100%;
        display: flex;
        flex-direction: row;
        padding: 10px 20px !important;
    }

    .nav-item .dropdown-menu {
        padding: 0px 5px;
        border: unset !important;
        position: unset !important;
    }
    .nav-item .dropdown-divider {
        display: none !important;
    }

    .nav-item .dropdown-menu .dropdown-item {
        border-bottom: 1px solid rgba(0, 0, 0, 0.15);
        padding: 0.35rem 1.5rem !important;
    }
}
/* Table Header Styling */
.column-content-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    background: white;
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.column-name {
    font-weight: 600;
    color: #374151;
    font-size: 0.95rem;
}

.text-muted {
    color: #6b7280;
    font-size: 0.85rem;
}

.text-muted a {
    color: #3b82f6;
    text-decoration: none;
    transition: color 0.2s ease;
}

.text-muted a:hover {
    color: #2563eb;
    text-decoration: underline;
}

.column-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
}

.column-actions button {
    padding: 6px;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.column-actions button:hover {
    background-color: #f3f4f6;
}

.action-icon {
    color: #6b7280;
    font-size: 0.9rem;
    transition: color 0.2s ease;
}

.action-icon:hover {
    color: #3b82f6;
}

/* Specific button styling */
.btn__send_column,
.btn__send_to_column {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* File archive icon button */
button[onclick="setTplName"] {
    padding: 6px;
    border-radius: 4px;
    margin-left: 8px;
}

button[onclick="setTplName"] i {
    color: #6b7280;
    transition: color 0.2s ease;
}

button[onclick="setTplName"]:hover {
    background-color: #f3f4f6;
}

button[onclick="setTplName"]:hover i {
    color: #3b82f6;
}
.border-prompt {
    border-color: #e3f2fd !important;
}
.border-vision {
    border-color: #fdf2f8 !important;
}
.border-tpl {
    border-color: #fff7ed !important;
}
.border-img {
    border-color: #f0fdf4 !important;
}

.explanation-box {
    background: #f8f9fa;
    border-radius: 6px;
    padding: 16px;
    margin-bottom: 20px;
}

.explanation-box h4 {
    color: #2d8cff;
    margin: 0 0 12px 0;
    font-size: 16px;
}

.explanation-box ul {
    margin: 0;
    padding-left: 20px;
}

.explanation-box li {
    margin: 4px 0;
    color: #666;
}
.examples-section {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #eee;
    text-align: center;
}

.examples-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1px solid #2d8cff;
    border-radius: 4px;
    background: white;
    color: #2d8cff;
    cursor: pointer;
    font-size: 14px;
    margin: 0 auto;
    transition: all 0.2s;
}

.examples-btn:hover {
    background: #f0f7ff;
}

.example-icon {
    font-style: normal;
}
.examples-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    width: 90%;
    max-width: 800px;
    max-height: 90vh;
    overflow-y: auto;
    display: none;
    z-index: 1100;
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    z-index: 999;
}

.examples-nav {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding: 0 0 10px 0;
}

.nav-button {
    padding: 8px 16px;
    background: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    color: #666;
    font-size: 14px;
}

.nav-button.active {
    background: #2d8cff;
    color: white;
}

.example-content {
    display: none;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 6px;
    margin-bottom: 16px;
}

.example-content.active {
    display: block;
}

.example-content h4 {
    margin: 0 0 12px 0;
    color: #333;
}

.table-container {
    overflow-x: auto;
    margin: 16px 0;
    background: white;
    border-radius: 4px;
    border: 1px solid #eee;
}

.folder-structure {
    font-family: monospace;
    white-space: pre;
    padding: 12px;
    background: white;
    border-radius: 4px;
    border: 1px solid #eee;
    margin-top: 16px;
    font-size: 14px;
}
.file-type-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.file-type-modal-content {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
}

.file-type-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.file-type-list li {
    padding: 10px;
    cursor: pointer;
    background: #f0f0f0;
    margin-bottom: 5px;
    border-radius: 4px;
}

.file-type-list li:hover {
    background: #ddd;
}

#fileTypeCancel {
    margin-top: 10px;
    padding: 8px 15px;
    background: #ff5e5e;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}
.supported-file-types {
    margin-top: 10px;
    font-size: 14px;
    color: #555;
    line-height: 1.5;
}
.supported-file-types strong {
    font-weight: bold;
    color: #333;
}

.empty-state {
    background: white;
    border-radius: 8px;
    padding: 48px 24px;
    text-align: center;
    max-width: 800px;
    width: 100%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.title {
    font-size: 24px;
    font-weight: 600;
    color: #111827;
    margin-bottom: 12px;
}

.subtitle {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 40px;
    line-height: 1.5;
}

.options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 32px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 640px) {
    .options {
        grid-template-columns: 1fr;
    }
}

.option {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 24px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.option:hover {
    border-color: #2563eb;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.option.import:hover {
    border-color: #2563eb;
}
.option.create:hover {
    border-color: #10b981;
}

.import .option-icon {
    color: #2563eb;
}
.create .option-icon {
    color: #10b981;
}

.option-icon {
    font-size: 32px;
    margin-bottom: 16px;
}

.option-title {
    font-size: 14px;
    font-weight: 500;
    color: #111827;
    margin-bottom: 8px;
}

.option-description {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.5;
}

.file-types {
    font-size: 11px;
    color: #6b7280;
    margin-top: 8px;
}

.file-types strong {
    color: #374151;
    font-weight: 600;
}

.credits {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 16px;
}

.tips {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
}

.tip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f3f4f6;
    padding: 8px 16px;
    border-radius: 6px;
}

/* Tab Navigation */
.tab-navigation {
    display: flex;
    padding: 0 24px;
    border-bottom: 1px solid #e5e7eb;
    background-color: white;
}

.tab-button {
    padding: 12px 16px;
    font-size: 0.875rem;
    color: #6b7280;
    border: none;
    background: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font-weight: 500;
}

.tab-button.active {
    color: #2563eb;
    border-bottom-color: #2563eb;
}

.tab-column-content {
    display: none;
}

.tab-column-content.active {
    display: block;
}
.tip-icon {
    color: #2563eb;
}

.tip-text {
    font-size: 12px;
    color: #6b7280;
}
@media (max-width: 768px) {
    .examples-modal {
        width: 95%;
        margin: 10px;
    }

    .examples-nav {
        flex-wrap: wrap;
    }

    .nav-button {
        flex: 1;
        min-width: 120px;
        text-align: center;
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .column-content-row {
        flex-wrap: wrap;
        gap: 4px;
    }

    .column-actions {
        width: 100%;
        justify-content: flex-start;
        margin-top: 4px;
    }
}
.recent-files-list {
    background: white;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 8px;
    max-height: 400px;
    overflow-y: auto;
}

.menu-item-button {
    position: relative;
    padding: 12px;
    margin-bottom: 4px;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.menu-item-button:hover {
    background-color: #f5f5f5;
}

.menu-item-button.active {
    background-color: #e3f2fd;
}

.menu-item-button .nav-link {
    text-decoration: none;
    color: #333;
    display: block;
    padding-right: 32px; /* Space for delete button */
}

.menu-item-button.active .nav-link {
    color: #1976d2;
}

.menu-item-button .small {
    font-size: 12px;
    color: #666;
    margin-right: 12px;
}

.modal__delete_btn {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 0.2s ease;
    color: #dc3545;
    text-decoration: none;
}

.menu-item-button:hover .modal__delete_btn {
    opacity: 1;
}

.modal__delete_btn:hover {
    color: #c82333;
}

/* Custom scrollbar */
.recent-files-list::-webkit-scrollbar {
    width: 6px;
}

.recent-files-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.recent-files-list::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 3px;
}

.recent-files-list::-webkit-scrollbar-thumb:hover {
    background: #555;
}
