:root {
    --clr-bg: #f7f3ef;
    --clr-primary: #471172;
    --clr-primary-dark: #2f0a77;
    --clr-secondary: #7b47b7;
    --clr-secondary-dark: #4b2a7a;
    --clr-text: #333333;
    --clr-text-light: #666666;
    --clr-placeholder: #aaaaaa;
    --clr-border: #cbcbcb;
    --clr-border-active: #6f4dbb;
    --clr-error: #e78078;
    --clr-success: #4CAF50;
    --clr-warning: #ffb900; /* Added for general warning purposes */
    --clr-danger: #ef5350; /* Added for general danger purposes */
    --clr-white: #ffffff;
    --clr-disabled-bg: #eeeeee;
    --clr-disabled-border: #e0e0e0;
    --clr-disabled-text: #bdbdbd;
    --clr-input-bg: var(--clr-white);
    --font-primary: 'Vazirmatn', sans-serif;
    --input-height: 40px;
    --btn-height-small: 38px; /* New: For filter buttons */
    --btn-height-medium: 40px; /* New: For general buttons like those in modals */
    --btn-height-normal: 45px; /* Existing: For main action buttons */
    --border-radius: 4px;
    --border-radius-large: 7px;
}

body.dark {
    /* پس‌زمینه اصلی */
    --clr-bg: #18191a; 
    
    /* رنگ اصلی برند (کمی روشن‌تر برای خوانایی روی زمینه تیره) */
    --clr-primary: #6f4dbb; 
    --clr-primary-dark: #8c6ed1; 
    
    /* پس‌زمینه کارت‌ها و باکس‌ها */
    --content-bg: #242526; 
    --sidebar-bg: #242526;
    
    /* متون */
    --clr-text: #e4e6eb;        /* متن اصلی: سفید مایل به خاکستری */
    --clr-text-light: #b0b3b8;  /* متن فرعی: خاکستری روشن */
    --text-muted: #b0b3b8;
    
    /* بوردرها و جداکننده‌ها */
    --clr-border: #3e4042;
    --clr-placeholder: #8a8d91;
    
    /* فرم‌ها */
    --clr-input-bg: #3a3b3c;
    
    /* دکمه‌ها و وضعیت‌ها */
    --clr-disabled-bg: #4e4f50;
    --clr-disabled-border: #3e3f40;
    --clr-disabled-text: #8a8d91;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('../fonts/text/Vazirmatn[wght].woff2') format('woff2 supports variations'),
        url('../fonts/text/Vazirmatn[wght].woff2') format('woff2-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ft-sepehr';
    src: url('../fonts/icon/ft-sepehr.eot?mg956');
    src: url('../fonts/icon/ft-sepehr.eot?mg956#iefix') format('embedded-opentype'),
        url('../fonts/icon/ft-sepehr.ttf?mg956') format('truetype'),
        url('../fonts/icon/ft-sepehr.woff?mg956') format('woff'),
        url('../fonts/icon/ft-sepehr.svg?mg956#ft-sepehr') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
    font-family: 'ft-sepehr' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.icon-activity:before {
  content: "\e948";
}
.icon-airplay:before {
  content: "\e949";
}
.icon-alert-circle:before {
  content: "\e94a";
}
.icon-alert-octagon:before {
  content: "\e94b";
}
.icon-alert-triangle:before {
  content: "\e900";
}
.icon-align-center:before {
  content: "\e94c";
}
.icon-align-justify:before {
  content: "\e94d";
}
.icon-align-left:before {
  content: "\e94e";
}
.icon-align-right:before {
  content: "\e94f";
}
.icon-aperture:before {
  content: "\e950";
}
.icon-archive:before {
  content: "\e926";
}
.icon-arrow-down:before {
  content: "\e951";
}
.icon-arrow-down-circle:before {
  content: "\e952";
}
.icon-arrow-down-left:before {
  content: "\e953";
}
.icon-arrow-down-right:before {
  content: "\e954";
}
.icon-arrow-left:before {
  content: "\e955";
}
.icon-arrow-left-circle:before {
  content: "\e956";
}
.icon-arrow-right:before {
  content: "\e957";
}
.icon-arrow-right-circle:before {
  content: "\e958";
}
.icon-arrow-up:before {
  content: "\e959";
}
.icon-arrow-up-circle:before {
  content: "\e95a";
}
.icon-arrow-up-left:before {
  content: "\e95b";
}
.icon-arrow-up-right:before {
  content: "\e95c";
}
.icon-at-sign:before {
  content: "\e95d";
}
.icon-award:before {
  content: "\e93a";
}
.icon-bar-chart:before {
  content: "\e95e";
}
.icon-bar-chart-2:before {
  content: "\e95f";
}
.icon-battery:before {
  content: "\e960";
}
.icon-battery-charging:before {
  content: "\e961";
}
.icon-bell:before {
  content: "\e930";
}
.icon-bell-off:before {
  content: "\e962";
}
.icon-bluetooth:before {
  content: "\e963";
}
.icon-bold:before {
  content: "\e964";
}
.icon-book:before {
  content: "\e965";
}
.icon-book-open:before {
  content: "\e966";
}
.icon-bookmark:before {
  content: "\e901";
}
.icon-box:before {
  content: "\e902";
}
.icon-briefcase:before {
  content: "\e967";
}
.icon-calendar:before {
  content: "\e903";
}
.icon-camera:before {
  content: "\e968";
}
.icon-camera-off:before {
  content: "\e969";
}
.icon-cast:before {
  content: "\e96a";
}
.icon-check:before {
  content: "\e92f";
}
.icon-check-circle:before {
  content: "\e96b";
}
.icon-check-square:before {
  content: "\e96c";
}
.icon-chevron-down:before {
  content: "\e96d";
}
.icon-chevron-left:before {
  content: "\e904";
}
.icon-chevron-right:before {
  content: "\e905";
}
.icon-chevron-up:before {
  content: "\e96e";
}
.icon-chevrons-down:before {
  content: "\e96f";
}
.icon-chevrons-left:before {
  content: "\e906";
}
.icon-chevrons-right:before {
  content: "\e907";
}
.icon-chevrons-up:before {
  content: "\e970";
}
.icon-chrome:before {
  content: "\e971";
}
.icon-circle:before {
  content: "\e972";
}
.icon-clipboard:before {
  content: "\e973";
}
.icon-clock:before {
  content: "\e908";
}
.icon-code:before {
  content: "\e974";
}
.icon-codepen:before {
  content: "\e975";
}
.icon-codesandbox:before {
  content: "\e976";
}
.icon-coffee:before {
  content: "\e977";
}
.icon-columns:before {
  content: "\e978";
}
.icon-command:before {
  content: "\e979";
}
.icon-compass:before {
  content: "\e97a";
}
.icon-copy:before {
  content: "\e909";
}
.icon-corner-down-left:before {
  content: "\e97b";
}
.icon-corner-down-right:before {
  content: "\e97c";
}
.icon-corner-left-down:before {
  content: "\e97d";
}
.icon-corner-left-up:before {
  content: "\e97e";
}
.icon-corner-right-down:before {
  content: "\e97f";
}
.icon-corner-right-up:before {
  content: "\e980";
}
.icon-corner-up-left:before {
  content: "\e981";
}
.icon-corner-up-right:before {
  content: "\e982";
}
.icon-cpu:before {
  content: "\e983";
}
.icon-credit-card:before {
  content: "\e984";
}
.icon-crop:before {
  content: "\e985";
}
.icon-crosshair:before {
  content: "\e986";
}
.icon-database:before {
  content: "\e931";
}
.icon-delete:before {
  content: "\e987";
}
.icon-disc:before {
  content: "\e988";
}
.icon-dollar-sign:before {
  content: "\e939";
}
.icon-download:before {
  content: "\e90a";
}
.icon-download-cloud:before {
  content: "\e989";
}
.icon-droplet:before {
  content: "\e98a";
}
.icon-edit:before {
  content: "\e98b";
}
.icon-edit-2:before {
  content: "\e90b";
}
.icon-edit-3:before {
  content: "\e98c";
}
.icon-external-link:before {
  content: "\e90c";
}
.icon-eye:before {
  content: "\e90d";
}
.icon-eye-off:before {
  content: "\e98d";
}
.icon-fast-forward:before {
  content: "\e98e";
}
.icon-feather:before {
  content: "\e98f";
}
.icon-figma:before {
  content: "\e990";
}
.icon-file:before {
  content: "\e991";
}
.icon-file-minus:before {
  content: "\e992";
}
.icon-file-plus:before {
  content: "\e993";
}
.icon-file-text:before {
  content: "\e93b";
}
.icon-film:before {
  content: "\e994";
}
.icon-filter:before {
  content: "\e995";
}
.icon-flag:before {
  content: "\e996";
}
.icon-folder:before {
  content: "\e90e";
}
.icon-folder-minus:before {
  content: "\e997";
}
.icon-folder-plus:before {
  content: "\e998";
}
.icon-framer:before {
  content: "\e999";
}
.icon-frown:before {
  content: "\e99a";
}
.icon-gift:before {
  content: "\e90f";
}
.icon-globe:before {
  content: "\e910";
}
.icon-grid:before {
  content: "\e93c";
}
.icon-hard-drive:before {
  content: "\e99b";
}
.icon-hash:before {
  content: "\e911";
}
.icon-headphones:before {
  content: "\e912";
}
.icon-heart:before {
  content: "\e913";
}
.icon-help-circle:before {
  content: "\e914";
}
.icon-hexagon:before {
  content: "\e99c";
}
.icon-home:before {
  content: "\e915";
}
.icon-image:before {
  content: "\e943";
}
.icon-inbox:before {
  content: "\e99d";
}
.icon-info:before {
  content: "\e99e";
}
.icon-instagram:before {
  content: "\e99f";
}
.icon-italic:before {
  content: "\e9a0";
}
.icon-key:before {
  content: "\e9a1";
}
.icon-layers:before {
  content: "\e9a2";
}
.icon-layout:before {
  content: "\e932";
}
.icon-life-buoy:before {
  content: "\e9a3";
}
.icon-link:before {
  content: "\e916";
}
.icon-link-2:before {
  content: "\e9a4";
}
.icon-list:before {
  content: "\e9a5";
}
.icon-loader:before {
  content: "\e9a6";
}
.icon-lock:before {
  content: "\e9a7";
}
.icon-log-in:before {
  content: "\e933";
}
.icon-log-out:before {
  content: "\e917";
}
.icon-mail:before {
  content: "\e9a8";
}
.icon-map:before {
  content: "\e9a9";
}
.icon-map-pin:before {
  content: "\e918";
}
.icon-maximize:before {
  content: "\e934";
}
.icon-maximize-2:before {
  content: "\e919";
}
.icon-meh:before {
  content: "\e9aa";
}
.icon-menu:before {
  content: "\e91a";
}
.icon-message-circle:before {
  content: "\e9ab";
}
.icon-message-square:before {
  content: "\e91b";
}
.icon-mic:before {
  content: "\e9ac";
}
.icon-mic-off:before {
  content: "\e9ad";
}
.icon-minimize:before {
  content: "\e9ae";
}
.icon-minimize-2:before {
  content: "\e9af";
}
.icon-minus:before {
  content: "\e93d";
}
.icon-minus-circle:before {
  content: "\e93e";
}
.icon-minus-square:before {
  content: "\e9b0";
}
.icon-monitor:before {
  content: "\e91c";
}
.icon-moon:before {
  content: "\e91d";
}
.icon-more-horizontal:before {
  content: "\e944";
}
.icon-more-vertical:before {
  content: "\e945";
}
.icon-mouse-pointer:before {
  content: "\e9b1";
}
.icon-move:before {
  content: "\e9b2";
}
.icon-music:before {
  content: "\e9b3";
}
.icon-navigation:before {
  content: "\e9b4";
}
.icon-navigation-2:before {
  content: "\e9b5";
}
.icon-octagon:before {
  content: "\e9b6";
}
.icon-package:before {
  content: "\e935";
}
.icon-paperclip:before {
  content: "\e936";
}
.icon-pause:before {
  content: "\e9b7";
}
.icon-pause-circle:before {
  content: "\e9b8";
}
.icon-pen-tool:before {
  content: "\e9b9";
}
.icon-percent:before {
  content: "\e937";
}
.icon-phone:before {
  content: "\e9ba";
}
.icon-phone-call:before {
  content: "\e91e";
}
.icon-phone-forwarded:before {
  content: "\e9bb";
}
.icon-phone-incoming:before {
  content: "\e9bc";
}
.icon-phone-missed:before {
  content: "\e9bd";
}
.icon-phone-off:before {
  content: "\e9be";
}
.icon-phone-outgoing:before {
  content: "\e9bf";
}
.icon-pie-chart:before {
  content: "\e9c0";
}
.icon-play:before {
  content: "\e9c1";
}
.icon-play-circle:before {
  content: "\e9c2";
}
.icon-plus:before {
  content: "\e9c3";
}
.icon-plus-circle:before {
  content: "\e93f";
}
.icon-plus-square:before {
  content: "\e9c4";
}
.icon-pocket:before {
  content: "\e9c5";
}
.icon-power:before {
  content: "\e940";
}
.icon-printer:before {
  content: "\e941";
}
.icon-radio:before {
  content: "\e9c6";
}
.icon-refresh-ccw:before {
  content: "\e9c7";
}
.icon-refresh-cw:before {
  content: "\e9c8";
}
.icon-repeat:before {
  content: "\e9c9";
}
.icon-rewind:before {
  content: "\e9ca";
}
.icon-rotate-ccw:before {
  content: "\e9cb";
}
.icon-rotate-cw:before {
  content: "\e9cc";
}
.icon-rss:before {
  content: "\e9cd";
}
.icon-save:before {
  content: "\e91f";
}
.icon-scissors:before {
  content: "\e9ce";
}
.icon-search:before {
  content: "\e946";
}
.icon-send:before {
  content: "\e9cf";
}
.icon-server:before {
  content: "\e9d0";
}
.icon-settings:before {
  content: "\e920";
}
.icon-share:before {
  content: "\e9d1";
}
.icon-share-2:before {
  content: "\e921";
}
.icon-shield:before {
  content: "\e922";
}
.icon-shield-off:before {
  content: "\e9d2";
}
.icon-shopping-bag:before {
  content: "\e923";
}
.icon-shopping-cart:before {
  content: "\e9d3";
}
.icon-shuffle:before {
  content: "\e9d4";
}
.icon-sidebar:before {
  content: "\e9d5";
}
.icon-skip-back:before {
  content: "\e9d6";
}
.icon-skip-forward:before {
  content: "\e9d7";
}
.icon-slash:before {
  content: "\e924";
}
.icon-sliders:before {
  content: "\e938";
}
.icon-smartphone:before {
  content: "\e9d8";
}
.icon-smile:before {
  content: "\e9d9";
}
.icon-speaker:before {
  content: "\e9da";
}
.icon-square:before {
  content: "\e9db";
}
.icon-star:before {
  content: "\e942";
}
.icon-stop-circle:before {
  content: "\e9dc";
}
.icon-sun:before {
  content: "\e925";
}
.icon-sunrise:before {
  content: "\e9dd";
}
.icon-sunset:before {
  content: "\e927";
}
.icon-tablet:before {
  content: "\e9de";
}
.icon-tag:before {
  content: "\e9df";
}
.icon-target:before {
  content: "\e9e0";
}
.icon-terminal:before {
  content: "\e9e1";
}
.icon-thermometer:before {
  content: "\e9e2";
}
.icon-thumbs-down:before {
  content: "\e9e3";
}
.icon-thumbs-up:before {
  content: "\e9e4";
}
.icon-toggle-left:before {
  content: "\e9e5";
}
.icon-toggle-right:before {
  content: "\e9e6";
}
.icon-tool:before {
  content: "\e9e7";
}
.icon-trash:before {
  content: "\e9e8";
}
.icon-trash-2:before {
  content: "\e928";
}
.icon-trello:before {
  content: "\e9e9";
}
.icon-trending-down:before {
  content: "\e9ea";
}
.icon-trending-up:before {
  content: "\e9eb";
}
.icon-triangle:before {
  content: "\e9ec";
}
.icon-truck:before {
  content: "\e929";
}
.icon-tv:before {
  content: "\e9ed";
}
.icon-twitch:before {
  content: "\e9ee";
}
.icon-twitter:before {
  content: "\e9ef";
}
.icon-type:before {
  content: "\e9f0";
}
.icon-umbrella:before {
  content: "\e9f1";
}
.icon-underline:before {
  content: "\e9f2";
}
.icon-unlock:before {
  content: "\e92a";
}
.icon-upload:before {
  content: "\e92b";
}
.icon-upload-cloud:before {
  content: "\e9f3";
}
.icon-user:before {
  content: "\e92c";
}
.icon-user-check:before {
  content: "\e9f4";
}
.icon-user-minus:before {
  content: "\e9f5";
}
.icon-user-plus:before {
  content: "\e9f6";
}
.icon-user-x:before {
  content: "\e9f7";
}
.icon-users:before {
  content: "\e92d";
}
.icon-video:before {
  content: "\e9f8";
}
.icon-video-off:before {
  content: "\e9f9";
}
.icon-voicemail:before {
  content: "\e9fa";
}
.icon-volume:before {
  content: "\e9fb";
}
.icon-volume-1:before {
  content: "\e9fc";
}
.icon-volume-2:before {
  content: "\e9fd";
}
.icon-volume-x:before {
  content: "\e9fe";
}
.icon-watch:before {
  content: "\e9ff";
}
.icon-wifi:before {
  content: "\ea00";
}
.icon-wifi-off:before {
  content: "\ea01";
}
.icon-wind:before {
  content: "\ea02";
}
.icon-x:before {
  content: "\e92e";
}
.icon-x-circle:before {
  content: "\e947";
}
.icon-x-octagon:before {
  content: "\ea03";
}
.icon-x-square:before {
  content: "\ea04";
}
.icon-youtube:before {
  content: "\ea05";
}
.icon-zap:before {
  content: "\ea06";
}
.icon-zap-off:before {
  content: "\ea07";
}
.icon-zoom-in:before {
  content: "\ea08";
}
.icon-zoom-out:before {
  content: "\ea09";
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
}

body {
    font-family: var(--font-primary);
    font-feature-settings: "ss01";
    color: var(--clr-text);
    background-color: var(--clr-bg);
    line-height: 1.6;
    min-height: 100vh;
    direction: rtl;
}

a {
    text-decoration: none;
    color: var(--clr-primary);
    transition: color 0.2s ease;
}

a:hover {
    color: var(--clr-primary-dark);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul,
ol {
    list-style: none;
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-size: 1rem;
    border: none;
    outline: none;
    background: none;
}

.ft-input,
.ft-select,
.ft-textarea {
    display: block;
    width: 100%;
    height: var(--input-height);
    padding: 0 15px;
    font-size: 15px;
    color: var(--clr-text);
    background-color: var(--clr-input-bg);
    border: 1px solid var(--clr-border);
    border-radius: var(--border-radius);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    font-feature-settings: "ss01";
}

.ft-input::placeholder,
.ft-textarea::placeholder {
    color: var(--clr-placeholder);
    opacity: 1;
}

.ft-input:focus,
.ft-select:focus,
.ft-textarea:focus {
    border-color: var(--clr-border-active);
    box-shadow: 0 0 0 4px rgba(111, 77, 187, 0.2);
}

.ft-input.error,
.ft-select.error,
.ft-textarea.error,
.ft-input-box.error .ft-input,
.ft-input-box.error .ft-select,
.ft-input-box.error .ft-textarea {
    border-color: var(--clr-error);
    box-shadow: 0 0 0 4px rgb(182 77 77 / 20%);
}

.ft-input[disabled],
.ft-select[disabled],
.ft-textarea[disabled] {
    background-color: var(--clr-disabled-bg);
    border-color: var(--clr-disabled-border);
    color: var(--clr-disabled-text);
    cursor: not-allowed;
}

.ft-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23aaaaaa' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 15px center;
    padding-left: 40px;
}

.ft-textarea {
    height: auto;
    min-height: calc(var(--input-height) * 2);
    padding: 10px 15px;
    resize: vertical;
}

.ft-input-ltr {
    direction: ltr;
    text-align: left;
}

.ft-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--btn-height-medium); /* Changed to medium height */
    padding: 0 15px;
    font-size: 1rem;
    border-radius: var(--border-radius);
    cursor: pointer;
    border: none;
    white-space: nowrap;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
    text-align: center;
}
/* New utility class for small buttons */
.ft-btn-small {
    height: var(--btn-height-small) !important;
    font-size: 0.9em !important;
    padding: 0 12px !important;
}
#open-legal-representative-popup-reg i,#open-signatory-owners-popup-reg i,button#add-signatory-owner i {
    margin-left: 10px;
}
.ft-btn i[class^="icon-"] {
    font-size: 1.2em;
    /* margin-left: 10px; */
}

i.icon-chevron-left {
    margin-right: 35px !important;
    margin-left: 0 !important;
}

i.icon-chevron-right {
    margin-left: 35px !important;
}

.ft-btn-primary {
    background-color: var(--clr-primary);
    color: var(--clr-white);
    gap: 10px;
}

.ft-btn-primary:hover:not([disabled]) {
    background-color: var(--clr-primary-dark);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.ft-btn-secondary {
    background-color: var(--clr-secondary);
    color: var(--clr-white);
}

.ft-btn-secondary:hover:not([disabled]) {
    background-color: var(--clr-secondary-dark);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    color: #fff;
}

.ft-btn-success {
    background-color: var(--clr-success);
    color: var(--clr-white);
}

.ft-btn-success:hover:not([disabled]) {
    background-color: #388E3C;
}

.ft-btn-full {
    width: 100%;
}

.ft-btn:disabled {
    background-color: var(--clr-disabled-bg);
    border-color: var(--clr-disabled-border);
    color: var(--clr-disabled-text);
    cursor: not-allowed;
    box-shadow: none;
}

.ft-btn-login {
    display: flex;
    gap: 15px;
    flex-direction: column;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

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

.required {
    color: var(--clr-error);
    margin-right: 2px;
    font-weight: bold;
}

.ft-input-box {
    position: relative;
    margin-bottom: 1rem;
    width: 100%;
}

input[type=checkbox] {
    width: 1.2rem;
    height: 1.2rem;
    color: var(--clr-primary);
    vertical-align: middle;
    -webkit-appearance: none;
    appearance: none;
    background: none;
    border: 0;
    outline: 0;
    flex-grow: 0;
    border-radius: 4px;
    background-color: var(--clr-white);
    transition: background 300ms;
    cursor: pointer;
    padding: 0;
    border: 1px solid var(--clr-border);
    margin-left: 8px;
}

input[type=checkbox]::before {
    content: "";
    color: transparent;
    display: block;
    width: 18px;
    height: 18px;
    border-radius: inherit;
    border: 0;
    background-color: transparent;
    background-size: contain;
}

input[type=checkbox]:checked {
    background-color: currentcolor;
    border-color: currentcolor;
}

input[type=checkbox]:checked::before {
    box-shadow: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23fff'/%3E %3C/svg%3E");
}

input[type=checkbox]:disabled {
    background-color: var(--clr-disabled-bg);
    border-color: var(--clr-disabled-border);
    opacity: 0.84;
    cursor: not-allowed;
}

input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 1.2rem;
    height: 1.2rem;
    border: 1px solid var(--clr-border);
    border-radius: 50%;
    vertical-align: middle;
    background-color: var(--clr-white);
    margin-left: 8px;
    cursor: pointer;
    position: relative;
    top: -1px;
}

input[type="radio"]:checked {
    border-color: var(--clr-primary);
}

input[type="radio"]:checked::before {
    content: "";
    display: block;
    width: 0.7rem;
    height: 0.7rem;
    background-color: var(--clr-primary);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

input[type="radio"]:disabled {
    background-color: var(--clr-disabled-bg);
    border-color: var(--clr-disabled-border);
    cursor: not-allowed;
}

input[type="radio"]:disabled::before {
    background-color: var(--clr-disabled-text);
}

.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 8%);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1060;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

.loading-overlay.visible {
    display: flex;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease, visibility 0s linear 0s;
}

.loading-message {
    background-color: var(--clr-white);
    color: var(--clr-text);
    padding: 25px 35px;
    border-radius: var(--border-radius);
    font-size: 1.1em;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.spinner {
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-top-color: var(--clr-primary);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

#ft-toast-container {
    position: fixed;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    z-index: 9999;
    pointer-events: none;
    bottom: 20px;
    left: 0;
}

.ft-toast {
    background-color: rgba(51, 51, 51, 0.9);
    color: var(--clr-white);
    padding: 12px 20px;
    border-radius: var(--border-radius);
    margin-top: 10px;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 10px;
    pointer-events: auto;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    max-width: 90%;
}

.ft-toast.show {
    opacity: 1;
    transform: translateY(0);
}

.ft-toast.fade-out {
    opacity: 0;
}

.toast-top-center #ft-toast-container {
    bottom: auto;
    top: 20px;
}

.toast-bottom-center #ft-toast-container {
    top: auto;
    bottom: 20px;
}

.ft-toast.error-toast {
    background-color: rgba(244, 67, 54, 0.9);
}

.ft-toast.success-toast {
    background-color: rgba(76, 175, 80, 0.9);
}

.ft-toast.warning-toast {
    background-color: rgba(255, 152, 0, 0.9);
}

.ft-toast i[class^="icon-"] {
    font-size: 1.3em;
}

.ft-input-box {
    position: relative;
    margin-bottom: 1rem;
    width: 100%;
}

.ft-input-box .ft-input-label {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    font-size: 1rem;
    color: var(--clr-placeholder);
    pointer-events: none;
    transition: top 0.25s ease, font-size 0.25s ease, color 0.25s ease, background-color 0.25s ease;
    z-index: 1;
    background-color: transparent;
    padding: 0 5px;
    margin-right: -5px;
}

.ft-input-box .ft-input-label .required {
    color: var(--clr-error);
    margin-right: 2px;
    font-weight: bold;
}

.ft-input-box.active .ft-input-label,
.ft-input-box.focus .ft-input-label {
    top: 0;
    font-size: 0.85rem;
    color: var(--clr-secondary);
    background-color: var(--clr-white);
}

.ft-input-box.active .ft-textarea,
.ft-input-box.focus .ft-textarea {
    padding-top: 18px;
}
.ft-input-box.actived .ft-input-label{
    top: 0;
    font-size: 0.85rem;
    color: var(--clr-secondary);
    background-color: var(--clr-white);
}
.ft-input-box .ft-input-ltr {
    direction: ltr;
    text-align: left;
    padding-left: 15px;
    padding-right: 15px;
}

.ft-input-box .ft-input-ltr~.ft-input-label {
    right: auto;
    left: 15px;
}

.ft-input-box.active .ft-input-ltr~.ft-input-label,
.ft-input-box.focus .ft-input-ltr~.ft-input-label {
    left: 15px;
    right: auto;
}

.ft-input-sheba {
    display: flex;
    align-items: center;
    width: 100%;
}

.ft-input-sheba .sheba-prefix {
    height: 45px;
    line-height: 45px;
    padding: 0 10px;
    border: 1px solid var(--clr-border);
    border-right: none;
    border-radius: var(--border-radius) 0 0 var(--border-radius);
    font-weight: bold;
    color: var(--clr-text-light);
    font-family: sans-serif;
    z-index: 2;
    flex-shrink: 0;
}

.ft-input-sheba .ft-input {
    flex-grow: 1;
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
    padding-left: 15px;
    padding-right: 5px;
    text-align: left;
    direction: ltr;
    border-left-width: 1px !important;
}

.ft-input-box .ft-input-sheba~.ft-input-label {
    right: auto;
    left: 55px;
}

.ft-input-box.active .ft-input-sheba~.ft-input-label,
.ft-input-box.focus .ft-input-sheba~.ft-input-label {
    top: -8px;
    font-size: 0.85rem;
    color: var(--clr-primary);
    left: 55px;
}

.ft-input-box.active .ft-input-sheba .ft-input,
.ft-input-box.focus .ft-input-sheba .ft-input {
    padding-top: 10px;
    padding-bottom: 6px;
}

.select2-container--default .select2-selection--single {
    background-color: #fff;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
}

.select2-container .select2-selection--single {
    height: var(--btn-height-normal) !important; /* Changed to normal height */
}

.select2-container--default .select2-selection--single {
    border: 1px solid var(--clr-border) !important;
}

.select2-container--default .select2-selection--single:focus-visible {
    border-color: var(--clr-border-active);
    box-shadow: 0 0 0 4px rgba(77, 182, 172, 0.2);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: var(--btn-height-normal) !important; /* Changed to normal height */
    font-size: 16px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(var(--btn-height-normal) - 3px) !important; /* Adjusted for border */
    width: 34px !important;
}

.input-help-text {
    margin-left: 5px;
    color: #797979;
    font-size: 14px;
}

.ft-file-input-wrapper .ft-input-label {
    z-index: 3;
}

.ft-file-input-wrapper.active .ft-input-label,
.ft-file-input-wrapper.focus .ft-input-label {
    background-color: var(--clr-reg-form-bg);
    z-index: 3;
}

.ft-file-display-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: var(--input-height);
    padding: 22px 15px;
    font-size: 1rem;
    color: var(--clr-text);
    background-color: var(--clr-input-bg);
    border: 1px solid var(--clr-border);
    border-radius: var(--border-radius);
    cursor: pointer;
    position: relative;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
}

.ft-file-display-area:hover {
    border-color: var(--clr-border-active);
}

.ft-file-display-area .file-placeholder {
    color: var(--clr-placeholder);
    font-size: 0.95rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ft-file-display-area .file-chosen-name {
    color: var(--clr-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-grow: 1;
    margin-left: 10px;
    direction: ltr;
    text-align: right;
    display: block;
}

.ft-file-display-area .file-upload-icon {
    color: var(--clr-placeholder);
    font-size: 1.4rem;
    flex-shrink: 0;
}

.ft-file-display-area:hover .file-upload-icon {
    color: var(--clr-primary);
}

.ft-input-file.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.ft-file-input-wrapper.error .ft-file-display-area,
.ft-file-display-area.error {
    border-color: var(--clr-error);
    box-shadow: 0 0 0 4px rgba(231, 128, 120, 0.2);
}

.ft-file-input-wrapper.error .ft-input-label {
    color: var(--clr-error);
}

.ft-file-input-wrapper.error .file-upload-icon {
    color: var(--clr-error);
}

.ft-file-validated-display {
    background-color: #f0f8ea;
    border-color: #a5d6a7;
    cursor: default;
    justify-content: flex-end;
}

.ft-file-validated-display .file-chosen-name {
    color: #388e3c;
    font-size: 14px;
    flex-grow: 1;
    margin-right: 15px;
}

.ft-file-validated-display .file-chosen-name i {
    color: var(--clr-success);
    margin-left: 5px;
}

.ft-file-validated-display .change-doc-btn {
    height: auto !important;
    padding: 4px 8px !important;
    font-size: 0.8rem !important;
}

.input-help-box {
    display: flex;
    align-items: flex-start;
}

.input-help-box i {
    margin-left: 5px;
    color: #d9b37a;
    font-size: 18px;
}

.input-gray label {
    background: linear-gradient(to top, #eeeeee 50%, white 50%);
}

.popup.hidden {
    display: none;
}

.popup {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.65);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1050;
    overflow: hidden;
    padding: 0;
}

.popup.is-visible {
    display: flex;
    opacity: 1;
}

.popup-content {
    background-color: var(--clr-reg-form-bg);
    padding: 25px 30px;
    border-radius: var(--border-radius-large);
    width: 100%;
    max-width: 650px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
    animation: popupFadeIn 0.3s ease-out;
}

@keyframes popupFadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.signatory-owners-popup-content .popup-description {
    font-size: 0.9rem;
    color: var(--clr-text-light);
    margin-bottom: 1rem;
    text-align: right;
}

.popup-form .ft-row {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
}

.popup-form .ft-row>.ft-input-box {
    margin-bottom: 0;
    flex: 1;
}

.popup-form .ft-input-box.active .ft-input-label,
.popup-form .ft-input-box.focus .ft-input-label {
    background-color: var(--clr-reg-form-bg);
}

.ft-flex-left {
    justify-content: flex-end;
}
.remove-signatory-owner {
    height: 30px;
    line-height: normal;
    font-size: 14px;
}



@media (max-width: 575px) {
  .popup-form .ft-row {
      flex-direction: column;
      gap: 0;
  }

  .popup-form .ft-row>.ft-input-box {
      margin-bottom: 1rem;
  }

  .popup-content {
      padding: 20px 15px;
  }
}label.ft-input-label.required {
    top: 27px;
}







/* START OF MODIFICATION: Dark Mode */
body.dark {
    background-color: var(--clr-bg);
    color: var(--clr-text);
}
body.dark .ft-input,
body.dark .ft-select,
body.dark .ft-textarea {
    background-color: var(--clr-input-bg);
    border-color: var(--clr-border);
    color: var(--clr-text);
}
body.dark .ft-input::placeholder,
body.dark .ft-textarea::placeholder {
    color: var(--clr-placeholder);
}
body.dark .ft-input:focus,
body.dark .ft-select:focus,
body.dark .ft-textarea:focus {
    border-color: var(--clr-border-active);
    box-shadow: 0 0 0 4px rgba(77, 182, 172, 0.2);
}
body.dark .ft-input[disabled],
body.dark .ft-select[disabled],
body.dark .ft-textarea[disabled] {
    background-color: var(--clr-disabled-bg);
    border-color: var(--clr-disabled-border);
    color: var(--clr-disabled-text);
}
body.dark .select2-container--default .select2-selection--single {
    background-color: var(--clr-input-bg);
    border: 1px solid var(--clr-border) !important;
}
body.dark .select2-dropdown {
    background-color: var(--clr-input-bg);
    border-color: var(--clr-border);
}
body.dark .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--clr-primary);
}
body.dark .select2-container--default .select2-results__option {
    color: var(--text-color);
}
body.dark .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--text-color);
}
body.dark .loading-message {
    background-color: var(--content-bg);
    color: var(--text-color);
}
body.dark .popup-content {
    background-color: var(--content-bg);
}
body.dark .popup-header {
    border-color: var(--border-color);
}
body.dark .close-popup {
    color: var(--text-muted);
}
body.dark .close-popup:hover {
    color: var(--clr-error);
}
body.dark .ft-input-box.active .ft-input-label,
body.dark .ft-input-box.focus .ft-input-label {
    background-color: var(--clr-input-bg);
    color: var(--clr-primary);
}
/* END OF MODIFICATION */


/* START OF MODIFICATION: Custom Tooltip Styles */
.sepehr-tooltip {
    position: absolute;
    z-index: 1070; /* بالاتر از سایر عناصر */
    display: block;
    font-family: var(--font-primary);
    font-size: 0.85rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    max-width: 200px;
    padding: 6px 10px;
    border-radius: var(--border-radius);
    
    /* Transition for fade-in/out effect */
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
    pointer-events: none; /* Tooltip itself should not be interactive */
}

.sepehr-tooltip.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
}

/* Tooltip Arrow */
.sepehr-tooltip .tooltip-arrow {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
}

/* Placement: Top */
.sepehr-tooltip[data-placement^="top"] {
    margin-bottom: 5px;
}
.sepehr-tooltip[data-placement="top"] .tooltip-arrow {
    bottom: -5px;
    left: 50%;
    margin-left: -5px;
    border-width: 5px 5px 0;
}

/* Placement: Bottom */
.sepehr-tooltip[data-placement^="bottom"] {
    margin-top: 5px;
}
.sepehr-tooltip[data-placement="bottom"] .tooltip-arrow {
    top: -5px;
    left: 50%;
    margin-left: -5px;
    border-width: 0 5px 5px;
}

/* --- Themeing --- */

/* Light Theme (Default) */
.sepehr-tooltip {
    background-color: #333;
    color: #fff;
}
.sepehr-tooltip[data-placement="top"] .tooltip-arrow {
    border-top-color: #333;
}
.sepehr-tooltip[data-placement="bottom"] .tooltip-arrow {
    border-bottom-color: #333;
}

/* Dark Theme */
body.dark .sepehr-tooltip {
    background-color: #e4e6eb;
    color: #18191a;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
body.dark .sepehr-tooltip[data-placement="top"] .tooltip-arrow {
    border-top-color: #e4e6eb;
}
body.dark .sepehr-tooltip[data-placement="bottom"] .tooltip-arrow {
    border-bottom-color: #e4e6eb;
}