@charset "utf-8";

@import "https://fonts.googleapis.com/css?family=Roboto";
@import "https://fonts.googleapis.com/css?family=Inter";

:root {
    --primary: #006AED;
    --primary-light: #4DA1FF;
    --primary-dark: #0050B8;
    --men-treeview: #6f6f6f;
}

.brand-bg {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

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

.body-height-100 {
    height: 100% !important;
}

.title-layout-falcon {
    font-weight: 600 !important;
}

.card {
    box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);
    transition: 0.3s;
    width: 40%;
}

.card:hover {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}

.card-radius {
    border-radius: 8px;
}

.card-radius-8 {
    border-radius: 8px;
}

.card-radius-10 {
    border-radius: 10px;
}

.card-radius-12 {
    border-radius: 12px;
}

.card-radius-18 {
    border-radius: 18px;
}

.card-trello {
    background-color: #fff;
    color: #5e6c84;
    text-decoration: none;
    border-radius: 3px;
    transition: all 0.2s ease-in-out;
}

.card-trello:hover {
    background-color: #f4f5f7;
    color: #5e6c84;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}

.card-anexo {
    background-color: #fff;
    text-decoration: none;
    border-radius: 12px;
    transition: all 0.2s ease-in-out;
}

.panel-radius-4 {
    border-radius: 4px !important;
    overflow: hidden;
    /* opcional, evita que conteúdo "escape" do radius */
}

.panel-radius-6 {
    border-radius: 4px !important;
    overflow: hidden;
    /* opcional, evita que conteúdo "escape" do radius */
}

.panel-radius-8 {
    border-radius: 4px !important;
    overflow: hidden;
    /* opcional, evita que conteúdo "escape" do radius */
}

.card-anexo:hover {
    background-color: #f4f5f7;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}

/* Falcon Finanças - onboarding */
.falcon-onboarding-accent,
.falcon-onboarding-accent .x-panel-body {
    background: linear-gradient(90deg, #087cf0 0%, #14b86e 100%) !important;
    border: 0 !important;
}

.falcon-onboarding-progress {
    background: #e2e8f0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    overflow: hidden !important;
}

.falcon-onboarding-progress .x-progress-bar {
    background: linear-gradient(90deg, #087cf0 0%, #14b86e 100%) !important;
    border-radius: 999px !important;
}

.x-progress-default.falcon-onboarding-progress .x-progress-text,
.x-progress-default.falcon-onboarding-progress .x-progress-text-back {
    display: none !important;
}

.falcon-onboarding-step {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
    cursor: pointer !important;
    overflow: hidden !important;
    transition: border-color .18s ease, box-shadow .18s ease !important;
}

.falcon-onboarding-step .x-panel-body {
    background: #ffffff !important;
    border: 0 !important;
}

.falcon-onboarding-step:hover {
    border-color: #93c5fd !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;
}

.falcon-onboarding-step:hover .x-panel-body {
    background: #f8fbff !important;
}

.falcon-onboarding-step.x-item-disabled,
.falcon-onboarding-step.x-item-disabled * {
    opacity: 1 !important;
    cursor: default !important;
}

.falcon-onboarding-step.x-item-disabled {
    border-color: #bbf7d0 !important;
    box-shadow: none !important;
    cursor: default !important;
}

.falcon-onboarding-step.x-item-disabled .x-panel-body {
    background: #f0fdf4 !important;
}

.falcon-onboarding-help {
    border: 1px solid #e2e8f0 !important;
    border-radius: 9px !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) !important;
}

.falcon-onboarding-chevron {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

.falcon-onboarding-chevron > * {
    line-height: 1 !important;
    margin: 0 !important;
}

.falcon-onboarding-help .x-btn-inner {
    align-items: center !important;
    display: flex !important;
    height: 100% !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 0 !important;
}

.check-color-white .x-form-checkbox-default {
    color: #fff !important;
    /* se parecer apagado em algum tema, destrava a opacidade */
    opacity: 1 !important;
}

.check-color-white .x-form-cb-checked .x-form-checkbox-default {
    color: #fff !important;
}

.textellipsis {
    text-overflow: ellipsis !important;
    white-space: nowrap;
    display: block;
    overflow: hidden;
}

.x-html-editor-container {
    border-radius: 12px;
}

.dropzone-wrapper {
    border-radius: 12px;
}

.x-progress-default {
    background-color: #ebecf0 !important;
    border-color: var(--primary) !important;
    border-radius: 3px;
}

.x-progress-default .x-progress-bar-default {
    background-color: var(--primary) !important;
}

.x-progress-default .x-progress-text {
    font-family: roboto, helvetica neue, helvetica, arial, verdana, sans-serif !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: normal !important;
    height: 100%;
}

.x-progress-default .x-progress-text-back {
    color: #404040;
    line-height: 21px !important;
}

.disable-scroll {
    overflow-x: hidden !important;
}

.disable-scroll-all {
    overflow: hidden !important;
}

.no-border {
    border-style: none !important;
}

.hero-3-bg {
    padding: 170px 0 0;
}

.hero-3-bg .hero-3-img {
    margin-top: 62px;
}

.hero-3-bg .hero-3-bg-overlay {
    background: var(--primary) !important;
    background-image: url("https://www.financeiro.app/images/hero-2-bg.png");
    background-repeat: no-repeat;
    display: block;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.backgroundFalcon {
    background: var(--primary) !important;
    background-image: url(https://www.financeiro.app/images/hero-2-bg.png) !important;
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -webkit-animation: fadeIn 1s !important;
    -moz-animation: fadeIn 1s !important;
    -o-animation: fadeIn 1s !important;
    animation: fadeIn 2s !important;
}

.backgroundBottom {
    background-image: none !important;
    background-color: rgba(52, 115, 209, 0.4) !important;
    animation: fadeIn 2s !important;
}

.pnlRadius {
    border-radius: 5px;
}

.fs-panel-header-default {
    border-bottom: 1px solid transparent !important;
    border-top-left-radius: 4px !important;
    border-top-right-radius: 4px !important;
    padding: 10px 15px !important;
    background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%) !important;
    background-repeat: repeat-x !important;
    background-color: #f5f5f5 !important;
    border-color: #ddd !important;
    color: #333 !important;
}

/* .fs-btn-googleblue {
    background-color: var(--primary) !important;
} */

.progress-bar {
    float: left;
    width: 0;
    height: 100%;
    font-size: 12px;
    line-height: 20px;
    color: #fff;
    text-align: center;
    background-color: var(--primary);
    border-radius: 4px;
    -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    -webkit-transition: width 0.6s ease;
    -o-transition: width 0.6s ease;
    transition: width 0.6s ease;
}

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

.progress.active .progress-bar,
.progress-bar.active {
    -webkit-animation: progress-bar-stripes 2s linear infinite;
    -o-animation: progress-bar-stripes 2s linear infinite;
    animation: progress-bar-stripes 2s linear infinite;
}

.progress-bar-success {
    background-color: #5cb85c;
}

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

.progress-bar-info {
    background-color: #5bc0de;
}

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

.progress-bar-warning {
    background-color: #f0ad4e;
}

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

.progress-bar-danger {
    background-color: #d9534f;
}

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

.fs-btn-transparent2 {
    color: #000 !important;
    background-color: transparent !important;
    transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    transition-delay: 0.2s;
    box-shadow: 0 2px 5px 0 transparent;
    border-radius: 2px !important;
}

.fs-btn-transparent2.focus,
.fs-btn-transparent2:focus,
.fs-btn-transparent2:hover {
    background-color: #dcdee0 !important;
    border-radius: 2px !important;
}

::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0.1);
}

::-webkit-scrollbar {
    width: 11px;
    height: 11px;
    background: #f9f5f5;
}

::-webkit-scrollbar-thumb {
    background: rgb(43 40 40/22%);
}

figure {
    float: left;
    width: 30%;
    text-align: center;
    font-style: italic;
    font-size: smaller;
    text-indent: 0;
    margin: 1px;
    padding: 1px;
}

#container {
    min-width: 310px;
    max-width: 100%;
    height: 400px;
}

.fs-border-box {
    box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    -ms-box-sizing: border-box !important;
    -webkit-box-sizing: border-box !important;
    -webkit-border-radius: 8px !important;
    -moz-border-radius: 8px !important;
    -ms-border-radius: 8px !important;
    -o-border-radius: 8px !important;
    border-radius: 8px !important;
}

.fs-box-shadow {
    box-shadow: 1px 1px 1px grey !important;
    -ms-box-shadow: 1px 1px 1px grey !important;
    -webkit-box-shadow: 1px 1px 1px grey !important;
    -moz-box-shadow: 1px 1px 1px grey !important;
    -o--box-shadow: 1px 1px 1px grey !important;
}

.x-css-shadow {
    position: absolute;
    -webkit-border-radius: 8px !important;
    -moz-border-radius: 8px !important;
    -ms-border-radius: 8px !important;
    -o-border-radius: 8px !important;
    border-radius: 8px !important;
}

.text-aqua {
    color: #00c0ef !important;
}

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

.text-green {
    color: #00a65a !important;
}

.text-red {
    color: #dd4b39 !important;
}

.badge_green {
    opacity: 1;
    position: absolute;
    background-color: #1c922f;
    font-size: 12px;
    color: #fff;
    padding: 1px 4px;
    border-radius: 2px;
    box-shadow: rgba(0, 0, 0, 0.3) 0 0.1em 0.1em;
}

.badge_red {
    opacity: 1;
    position: absolute;
    background-color: #c34337;
    font-size: 12px;
    color: #fff;
    padding: 1px 4px;
    border-radius: 2px;
    box-shadow: rgba(0, 0, 0, 0.3) 0 0.1em 0.1em;
}

.badge_orange {
    opacity: 1;
    position: absolute;
    background-color: #cc931a;
    font-size: 12px;
    color: #fff;
    padding: 1px 4px;
    border-radius: 2px;
    box-shadow: rgba(0, 0, 0, 0.3) 0 0.1em 0.1em;
}

.list-group {
    padding-left: 0;
}

.list-group-item:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

a.list-group-item,
button.list-group-item {
    color: #555;
}

a.list-group-item:hover {
    color: #555;
    background-color: #f3f3f3;
}

.list-group-item {
    position: relative;
    display: block;
    padding: 7px 5px;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid #ddd;
    font-size: 11px;
    font-family: verdana, helvetica neue, helvetica, arial, verdana, sans-serif;
}

.list-group-item_atl {
    position: relative;
    display: block;
    padding: 7px 5px;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid #ddd;
    font-size: 12px;
}

a {
    color: #337ab7;
    text-decoration: none;
}

.x-message-box {
    -moz-transition: 0.5s ease-out;
    -webkit-transition: 0.5s ease-out;
    transition: 0.5s ease-out;
}

.x-form-cb-default {
    margin-top: 4px !important;
}

.x-tree-icon {
    width: 24px !important;
}

.x-window-header-title-default>.x-title-icon-wrap-default.x-title-icon-left {
    width: 0 !important;
}

.x-mask {
    background-color: rgb(208 208 208 / 0.2) !important;
}

body>.x-mask {
    background-color: rgb(0 0 0 / 0.44) !important;
}

.x-mask-msg {
    padding: 10px;
    background: #d0d0d0;
    border-radius: 4px;
}

.x-mask-msg-text {
    padding: 25px 0 0;
    background-image: url(https://cdn.falconsistemas.com.br/falcon/css/images/gif/gif3.gif) !important;
    background-repeat: no-repeat;
    background-position: center 0;
}

.x-title-icon {
    display: none !important;
}

.x-window-header-default {
    border-width: 1px !important;
}

.x-window-header-default .x-tool-img {
    background-color: var(--primary) !important;
}

.x-window-default {
    -moz-border-radius-topleft: 4px !important;
    -webkit-border-top-left-radius: 4px !important;
    border-top-left-radius: 4px !important;
    -moz-border-radius-topright: 4px !important;
    -webkit-border-top-right-radius: 4px !important;
    border-top-right-radius: 4px !important;
    -moz-border-radius-bottomright: 4px !important;
    -webkit-border-bottom-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
    -moz-border-radius-bottomleft: 4px !important;
    -webkit-border-bottom-left-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
    padding: 0 !important;
    border-width: 1px !important;
    border-style: solid !important;
    background-color: #fff !important;
    border-color: var(--primary) !important;
}

.x-window-header-default-top {
    padding: 10px 14px;
    border-width: 1px;
    border-style: solid;
    background-color: var(--primary);
}

/* .x-form-trigger {
    vertical-align: inherit !important;
} */

.x-body {
    color: #404040 !important;
    line-height: 17px !important;
    font-weight: 300 !important;
    background: #f6f6f6 !important;
}

.x-form-trigger-wrap-default {
    border-width: 1px !important;
    border-style: solid;
    border-color: #d0d0d0;
    border-radius: 4px !important;
    background-color: white !important;
}

.x-form-text-wrap {
    display: table-cell;
    overflow: hidden;
    height: 100%;
    position: relative;
    border-radius: 4px !important;
}

.x-form-trigger-wrap-default {
    border-width: 1px;
    border-style: solid;
    border-color: #d0d0d0;
    border-radius: 4px !important;
}

.x-form-trigger-wrap-default.x-form-trigger-wrap-focus {
    border-color: var(--primary) !important;
}

.x-tab-default-top {
    border-radius: 10px 10px 10px 10px !important;
    padding: 6px 10px !important;
    background-color: #fbfbfb !important;
}

.x-tab-default {
    background-color: #f3f3f3 !important;
    border-color: #f3f3f3 !important;
    border-width: 1px !important;
}

.x-tab-over.x-tab-default {
    border-color: #d0d0d0 !important;
    background-color: #fff !important;
}

.x-tab-default .x-tab-over .x-tab-close-btn {
    color: red !important;
}

.x-tab-default .x-tab-close-btn {
    color: var(--primary) !important;
    right: 6px !important;
}

.x-tab.x-tab-active.x-tab-default {
    border-top-color: #aeaeaf !important;
    border-right-color: #aeaeaf !important;
    border-left-color: #aeaeaf !important;
    border-bottom-color: #aeaeaf !important;
    background-color: #fff !important;
    background-color: #fff !important;
}

.x-tab.x-tab-active.x-tab-default .x-tab-inner-default {
    color: var(--primary) !important;
}

.x-window-body-default {
    border-color: var(--primary) !important;
    border-width: 1px;
    border-style: solid;
    background: #fff;
    color: #000;
    font-weight: 300;
    font-family: roboto, helvetica neue, helvetica, arial, verdana, sans-serif !important;
}

.x-window-header-default {
    font-size: 16px;
    border-color: var(--primary) !important;
    background-color: var(--primary) !important;
}

.x-panel-default-outer-border-trbl {
    border-color: var(--primary) !important;
    border-width: 0 !important;
}

.x-tab-bar-default {
    background-color: #fff !important;
    border-color: #fff !important;
}

.x-form-radio-default {
    font: 18px/1 FontAwesome !important;
    color: var(--primary) !important;
}

.x-fieldset-header-tool-default>.x-tool-toggle {
    font: 14px/1 FontAwesome;
    color: var(--primary) !important;
}

.x-fieldset-default {
    border: 1px solid #d0d0d0;
    padding: 3px 8px 4px !important;
    margin: 0 !important;
    border-radius: 4px !important;
}

.x-form-item-body-default {
    min-height: 28px !important;
}

.x-form-text-default {
    min-height: 28px !important;
}

.x-form-cb-label-default.x-form-cb-label-after {
    padding-left: 20px !important;
}

.x-form-cb-label-default {
    margin-top: 5px !important;
    font: 300 13px/17px "Roboto", "Helvetica Neue", helvetica, arial, verdana, sans-serif !important;
    color: #202124 !important;
}

.x-css-shadow {
    position: none !important;
}

.x-panel-default-outer-border-trl {
    border-top-color: #eaedf3 !important;
    border-top-width: 1px !important;
    border-right-color: #eaedf3 !important;
    border-right-width: 1px !important;
    border-left-color: #eaedf3 !important;
    border-left-width: 1px !important;
    border-bottom-width: 0 !important;
}

.x-panel-header-default {
    border: 1px solid #ebe5e5 !important;
    background-image: linear-gradient(to bottom, #ffffff 0, #ffffff 100%) !important;
}

.x-grid-body {
    border-color: #eaedf3 !important;
    border-top-color: #eaedf3 !important;
    border-width: 1px;
}

.x-tree-elbow-plus,
.x-tree-elbow-end-plus {
    color: var(--primary) !important;
}

.x-grid-tree-node-expanded .x-tree-elbow-plus,
.x-grid-tree-node-expanded .x-tree-elbow-end-plus {
    color: var(--primary) !important;
}

.x-panel-default-outer-border-rbl {
    border-right-color: #eaedf3 !important;
    border-right-width: 1px !important;
    border-bottom-color: #eaedf3 !important;
    border-bottom-width: 1px !important;
    border-left-color: #eaedf3 !important;
    border-left-width: 1px !important;
    border-bottom-left-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}

.x-panel-default-outer-border-rl {
    border-right-color: #eaedf3 !important;
    border-right-width: 1px !important;
    border-left-color: #eaedf3 !important;
    border-left-width: 1px !important;
}

.x-accordion-hd .x-panel-header-title {
    color: #5a5959 !important;
}

.x-accordion-hd .x-tool-tool-el {
    color: #5a5959 !important;
    padding: 3px 0 0 !important;
}

.x-accordion-item .x-accordion-hd {
    border-color: #aeaeaf !important;
    padding: 5px !important;
    background-color: #f3f3f3 !important;
}

.x-panel-header-title-default {
    font-size: 14px !important;
    font-weight: none !important;
    color: #5e5959 !important;
}

.x-datepicker-date {
    padding: 0 15px 0 0;
    font-family: roboto, arial, verdana, sans-serif !important;
    color: #404040;
    cursor: pointer;
    line-height: 23px !important;
}

.x-datepicker-header {
    background-color: var(--primary) !important;
}

.x-datepicker-arrow {
    color: #fff !important;
    background-color: var(--primary) !important;
}

.x-datepicker-column-header {
    color: #fff !important;
    background-color: var(--primary) !important;
}

.x-datepicker-selected div.x-datepicker-date {
    background-color: var(--primary) !important;
    color: #fff !important;
    border-radius: 6px;
}

.x-monthpicker-item a.x-monthpicker-selected {
    background-color: var(--primary) !important;
    color: #fff !important;
    border-color: var(--primary) !important;
    border-radius: 6px;
}

.x-datepicker-month .x-btn-inner {
    color: #fff !important;
}

.x-datepicker-month .x-btn-split-right:after,
.x-datepicker-month .x-btn-over .x-btn-split-right:after {
    color: #fff !important;
}

.x-column-header-inner {
    padding: 7px 5px 6px;
}

.x-tree-elbow-img {
    width: 10px !important;
}

.x-form-text-default {
    padding: 5px 3px 4px 5px !important;
}

.btn-var-primary,
.btn-var-primary .x-btn-inner,
.btn-var-primary .x-btn-icon-el {
    color: var(--primary) !important;
}

.x-btn-button-default-toolbar-small {
    min-height: 24px;
}

.x-btn-adaptive {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    padding: inherit;
    border-width: 1px;
    border-style: solid;
    background-color: var(--primary) !important;
    border-radius: 4px !important;
}

.x-btn-adaptive:hover {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    padding: inherit;
    border-width: 1px;
    border-style: solid;
    background-color: #0d447d !important;
    border-radius: 4px !important;
}

.x-item-disabled,
.x-item-disabled * {
    cursor: not-allowed !important;
    pointer-events: unset !important;
}

.x-form-cb-wrap-default {
    height: 26px !important;
}

.x-btn-inner-default-medium {
    padding: 1px 0 0 !important;
}

.x-form-trigger-default {
    width: 26px !important;
    padding: 0 6px 0 0;
    border-radius: 4px !important;
    font: 16px/27px FontAwesome !important;
    vertical-align: middle !important;
}

.x-btn-wrap-default-medium.x-btn-split-right:after {
    padding-left: 0 !important;
}

.x-grid-tree-node-leaf {
    height: 40px;
}

.x-tree-elbow-img {
    width: 10px !important;
    height: 40px !important;
}

.x-grid-cell-inner {
    position: relative !important;
    padding: 7px 7px 2px !important;
    margin: 4px 0px -1px 0px !important;
}

.x-grid-cell-treecolumn {
    cursor: pointer;
}

.x-panel-header-default-horizontal {
    padding: 12px 15px 8px !important;
}

.x-form-checkbox-focus {
    color: var(--primary) !important;
}

.x-form-text-default {
    font-family: roboto, arial, verdana, sans-serif !important;
    font: 400 13px/21px "Open Sans", "Helvetica Neue", helvetica, arial, verdana, sans-serif;
    border-radius: 6px !important;
}

.x-panel-body-default {
    font-family: roboto, arial, verdana, sans-serif !important;
    font-weight: inherit !important;
}

.x-grid-item {
    color: #000 !important;
    font-family: roboto, arial, verdana, sans-serif !important;
    font: 400 13px/19px "Roboto", "Helvetica Neue", helvetica, arial, verdana, sans-serif !important;
}

.x-btn-default-small .x-btn-inner {
    font-family: roboto, arial, verdana, sans-serif !important;
}

.x-panel-header-title-default {
    font-family: roboto, arial, verdana, sans-serif !important;
}

.x-tab-inner-default {
    font-family: roboto, arial, verdana, sans-serif !important;
    color: var(--primary) !important;
}

.x-btn-default-medium .x-btn-inner {
    font-family: roboto, arial, verdana, sans-serif !important;
}

.x-grid-row-summary .x-grid-cell,
.x-grid-row-summary .x-grid-rowwrap,
.x-grid-row-summary .x-grid-cell-rowbody {
    font: 300 13px/19px "Roboto", "Helvetica Neue", helvetica, arial, verdana, sans-serif !important;
    font-weight: bold !important;
}

.x-grid-row-summary {
    height: 40px;
}

.x-column-header {
    font: 400 13px/19px "Roboto", "Helvetica Neue", helvetica, arial, verdana, sans-serif !important;
    border-right: 1px solid #eaedf3 !important;
}

.x-form-item-default.x-item-disabled {
    opacity: 0.5 !important;
}

/* #loading .loading-indicator {
    background: url(https://cdn.falconsistemas.com.br/falcon/css/images/gif/gif3.gif) no-repeat !important;
    padding: 8px 40px !important;
} */

.x-tool-expand-top {
    font: 20px/1 FontAwesome !important;
}

.x-tool-collapse-bottom {
    font: 20px/1 FontAwesome !important;
}

.x-tool-tool-el {
    width: 20px !important;
    height: 20px !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

.card-form-tbdc {
    border-radius: 8px !important;
    -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
    border-color: #ccc !important;
}

.card-form-falcon {
    border-radius: 8px !important;
    -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
    border-color: #b7b0b0 !important;
}

.card-blue {
    background: #d1dfef;
    border-radius: 8px;
}

.card-green {
    background: #d1efd3;
    border-radius: 8px;
}

.card-orange {
    background: #FEF6EB;
    border-radius: 8px;
}

.card-silver {
    background: #edeff1;
    border-radius: 8px;
}

.card-agenda-green {
    background: #edeff1;
    border-radius: 6px;
}

.card-agenda-red {
    background: #edeff1;
    border-radius: 6px;
}

.card-agenda-blue {
    background: #edeff1;
    border-radius: 6px;
}

.card-agenda-purple {
    background: #edeff1;
    border-radius: 6px;
}

.shadow-button {
    -webkit-box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2) !important;
    box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2) !important;
}

.x-grid-header-ct {
    border: 1px solid #eaedf3;
    border-radius: 4px 4px 0 0;
}

.x-btn-split-right>.x-btn-button:after {
    top: 0% !important;
    height: 100% !important;
}

.x-treelist-nav {
    background-color: #fff;
    background-position: 24px 0%;
    padding: 0;
}

.x-treelist-nav .x-treelist-item-text {
    color: #202124 !important;
    font-size: 14px !important;
}

.x-treelist-nav .x-treelist-item-selected>.x-treelist-row {
    background-color: #e8eaed !important;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.x-treelist-nav .x-treelist-row-over {
    background-color: #f3f3f5 !important;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.x-treelist-nav .x-treelist-item-icon,
.x-treelist-nav .x-treelist-item-tool {
    color: var(--men-treeview) !important;
}

.x-treelist-nav .x-treelist-item-expander {
    color: var(--men-treeview) !important;
    font-size: 24px !important;
}

.x-treelist-nav .x-treelist-item-text {
    margin-right: 0 !important;
}

.x-treelist-nav .x-treelist-item-text {
    color: #adb3b8;
    margin-left: 49px !important;
    margin-right: 24px;
    font-size: 16px;
    line-height: 40px !important;
}

.x-treelist-nav .x-treelist-item-tool-floated:after {
    height: 40px !important;
    position: absolute;
    top: 0;
    left: 0;
    content: " ";
    width: 4px;
    background-color: #5fa2dd;
}

.x-treelist-nav .x-treelist-item-icon:before,
.x-treelist-nav .x-treelist-item-tool:before,
.x-treelist-nav .x-treelist-item-expander {
    line-height: 40px !important;
}

.x-treelist-nav .x-treelist-item-tool {
    width: 80px !important;
}

.x-treelist-nav .x-treelist-item-floated>.x-treelist-row-over {
    background-color: #fff !important;
}

.x-treelist-nav .x-treelist-item-floated>.x-treelist-row {
    background-color: var(--primary) !important;
    color: #fff !important;
}

.x-treelist-nav .x-treelist-item-floated>.x-treelist-row-over {
    background-color: var(--primary) !important;
    color: #fff !important;
}

.x-treelist-nav .x-treelist-item-expanded {
    background-color: #fff !important;
}

.x-btn-text.x-btn-icon-left>.x-btn-icon-el-default-medium {
    margin-right: 3px !important;
}

.x-treelist-nav .x-treelist-item-selected.x-treelist-item-tool {
    color: var(--primary) !important;
    background-color: #fff !important;
}

.x-treelist-nav .x-treelist-row {
    padding-left: 5px !important;
    padding-right: 5px !important;
}

x-treelist-nav .x-treelist-toolstrip {
    background-color: #fff !important;
}

.x-treelist-expander-first .x-treelist-item-icon {
    left: 20px !important;
}

.x-grid-item-focused .x-grid-cell-inner:before {
    border: 0 !important;
}

.x-grid-row .x-grid-cell-selected {
    background-color: #97989a26 !important;
}

.x-menu-default {
    border-style: solid;
    border-width: 1px;
    border-color: #d0d0d0;
    border-radius: 4px;
}

/* .x-menu-item-text-default {
    font: 300 13px 'Roboto', 'Helvetica Neue', helvetica, arial, verdana, sans-serif !important;
} */

.x-menu-item-text-default,
.x-menu-item-cmp-default {
    margin: 0 16px 0 32px !important;
}

.x-menu-item-default.x-menu-item-focus,
.x-menu-item-default.x-menu-item-active {
    background-image: none;
    background-color: var(--primary) !important;
}

.x-color-picker-item-inner {
    line-height: 16px;
    border-color: #d0d0d0;
    border-width: 1px;
    border-style: solid;
    border-radius: 4px !important;
    width: 24px !important;
    height: 24px !important;
}

.x-color-picker-item {
    width: 25px !important;
    height: 26px !important;
    border-width: 1px;
    border-color: #fff;
    border-style: solid;
    background-color: #fff;
    cursor: pointer;
    padding: unset !important;
}

.x-toolbar-text-default {
    padding: 0 4px;
    color: #4b4c4c;
    font: 300 13px/16px "Roboto", "Helvetica Neue", helvetica, arial, verdana, sans-serif !important;
}

.x-tip-default {
    border-color: #fff !important;
    background: rgba(60, 64, 67, 0.9) !important;
    -webkit-border-radius: 4px !important;
    border-radius: 4px !important;
    color: #fff;
    font: 500 12px roboto, arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.x-tip-form-invalid {
    border-color: #fff !important;
    background: rgba(60, 64, 67, 0.9) !important;
    -webkit-border-radius: 4px !important;
    border-radius: 4px !important;
    color: #fff;
    font: 500 12px roboto, arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content {
    line-height: 19px;
    color: #000 !important;
}

.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content {
    font-size: 15px !important;
    line-height: 22px !important;
}

.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title {
    font-weight: 400 !important;
    line-height: 35px !important;
}

.x-keyboard-mode .x-tab-focus.x-tab-default {
    outline: 0 solid #5fa2dd !important;
}

.x-noborder-b {
    border-bottom-width: 1px !important;
}

.x-toolbar-default {
    padding: 3px 0 6px 8px !important;
    border-style: solid;
    border-color: #eaedf3 !important;
    border-width: 0 !important;
    background-image: none;
    background-color: #fff;
    border-bottom-width: 1px !important;
    border-left-width: 1px !important;
    border-right-width: 1px !important;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.x-pivot-grid-group-title {
    font: 13px/19px "Roboto", "Helvetica Neue", helvetica, arial, verdana, sans-serif !important;
}

.x-pivot-grid-group-total .x-grid-cell-inner,
.x-pivot-grid-group-total .x-column-header-inner {
    font: bold 13px/19px "Roboto", "Helvetica Neue", helvetica, arial, verdana, sans-serif !important;
}

.x-panel-header-default .x-tool-tool-el {
    background-color: #ffffff !important;
}

.x-fieldset-header {
    overflow: unset !important;
}

.x-fieldset .x-fieldset-body {
    margin: -4px 0px 0px 0px;
}

.x-docked-summary {
    border-color: #eaedf3 !important;
}

.otimize-image {
    image-rendering: -webkit-optimize-contrast;
}

.botao.whatsapp {
    right: 20px;
    bottom: 46px !important;
    background-color: #3ca94a;
}

.x-form-item-body-default.x-form-checkboxgroup-body {
    padding: 4px 4px !important;
}

.x-tab.x-tab-active.x-tab-default .x-tab-icon-el {
    color: var(--primary);
}

.x-tab-icon-el-default {
    font-size: 18px !important;
    color: var(--primary) !important;
}

.x-grid-empty {
    font: 300 13px 'Roboto', 'Helvetica Neue', helvetica, arial, verdana, sans-serif !important;
}

.x-mask-msg-inner {
    font: 300 13px Roboto !important;
}

.x-grid-group-hd-collapsible .x-grid-group-title:before {
    color: var(--primary) !important;
}

.x-grid-group-title {
    color: var(--primary) !important;
    font: 600 13px / 15px Roboto !important;
}

.x-grid-group-hd-collapsed .x-grid-group-title:before {
    color: var(--primary) !important;
}

.x-window-header-title-default>.x-title-icon-wrap-default.x-title-icon-left {
    padding-right: 4px !important;
}

.new-style-falcon {
    /* cor primaria */
    color: var(--primary);
    color: #3179F4;
}

.x-tree-icon-parent-expanded {
    color: var(--primary) !important;
    line-height: 30px;
}

.x-tree-icon-leaf {
    color: var(--primary) !important;
    line-height: 30px;
}

.x-tree-checkbox {
    margin-right: 2px !important;
    margin-left: 5px;
    color: #78c930 !important;
}

.x-grid-tree-node-expanded .x-tree-elbow-plus,
.x-grid-tree-node-expanded .x-tree-elbow-end-plus {
    color: var(--primary) !important;
}

.x-tree-icon-parent {
    color: var(--primary) !important;
    line-height: 30px;
}

.x-calendar-event-week-span .x-calendar-event-inner {
    padding: 3px 2px 2px 2px;
    font-size: 12px !important;
    border-radius: 6px !important;
}

.x-calendar-event .x-calendar-event-inner {
    font-family: roboto, arial, verdana, sans-serif !important;
    text-align: center;
}

.x-calendar-weeks .x-calendar-weeks-overflow {
    color: #15c;
    font-family: roboto, arial, verdana, sans-serif !important;
}

.x-calendar-header .x-calendar-header-cell {
    font-weight: normal;
    line-height: 17px;
    font-family: roboto, helvetica neue, helvetica, arial, verdana, sans-serif !important;
    border: 1px solid #ddd;
    border-bottom-width: 0;
    text-align: center;
    color: #404040;
}

.x-calendar-weeks .x-calendar-weeks-cell-inner {
    padding: 4px 0 4px 4px !important;
    text-align: center !important;
}

/* 1) TODOS os dias: cantos arredondados + ?borda? neutra */
.x-calendar-weeks .x-calendar-weeks-cell-inner {
    border-radius: 0px !important;
    overflow: hidden !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.10) !important;
    /* borda leve */
    background-color: #fff;
    /* ajuda a evidenciar o radius */
}

/* (opcional) dá um respiro para o tile arredondado dentro da grade */
.x-calendar-weeks .x-calendar-weeks-cell {
    padding: 0px !important;
    border-width: 0px !important;
}

/* 2) HOJE: mantém o destaque azul por cima do estilo neutro */
.x-calendar-weeks .x-calendar-weeks-today-cell .x-calendar-weeks-cell-inner,
.x-calendar-weeks .x-today-cell-highlight-weeks-day .x-calendar-weeks-cell-inner {
    box-shadow: inset 0 0 0 1px var(--primary) !important;
    border-radius: 0px !important;
    background: aliceblue;
}

/* (opcional) hover suave em qualquer dia */
.x-calendar-weeks .x-calendar-weeks-cell-inner:hover {
    box-shadow: inset 0 0 0 1px var(--primary) !important;
}

/* Icone do dia atual*/
.x-calendar-weeks-large .x-today-cell-highlight-weeks-day .x-calendar-weeks-day-text {
    background-color: var(--primary) !important;
    color: white !important;
}

.x-today-cell-highlight-weeks-day .x-calendar-weeks-day-text {
    padding: 1px 6px !important;
    border-radius: 50% !important;
}

.x-calendar-weeks-large .x-calendar-weeks-day-text {
    font-size: 12px !important;
    font-weight: bold !important;
}

.x-calendar-weeks .x-calendar-weeks-day-text {
    font-family: 'Open Sans', 'Helvetica Neue', helvetica, arial, verdana, sans-serif;
}

div.x-datepicker-date:hover {
    color: #404040;
    background-color: #ececec;
    border-radius: 6px;
}

.x-datepicker-cell {
    padding: 1px;
}

.x-datepicker-today {
    border-radius: 6px;
}

.x-toolbar-default .x-toolbar-item {
    margin: 0 8px 0 0;
    font-size: 13px !important;
    font-weight: bold;
}

.x-btn-inner-default-toolbar-small {
    font-weight: bold;
    font: normal 12px Roboto, arial, helvetica, sans-serif !important;
}

.x-btn-default-toolbar-small {
    padding: 1px !important;
    font-family: roboto, helvetica neue, helvetica, arial, verdana, sans-serif !important;
    font: normal 13px roboto, arial, helvetica, sans-serif !important;
    border-radius: 6px;
    margin-top: 0px !important;
}

.x-btn-wrap-default-small.x-btn-split-right:after {
    width: 30px !important;
    padding-left: 0px !important;
}

.x-tab-bar-default-top>.x-tab-bar-body-default {
    padding: 6px 4px 0 8px !important;
}

a.btn-seta>span::after {
    color: gray !important;
}

.no-select {
    user-select: none !important;
}

.x-form-file-btn {
    height: 25px;
    margin: 4px;
    margin-top: 1px;
    border-radius: 4px !important;
    background-color: var(--primary);
}

.x-btn-default-small {
    border-radius: 4px;
}

.x-boundlist {
    border-radius: 6px;
}

.x-monthpicker-item {
    margin: 0px 0 -5px !important;
}

.kpiRow {
    max-width: 100%;
    margin: 22px auto 0 auto;
    padding: 0 15px;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    /* sempre 3 colunas */
    gap: 14px;
}

.kpiCard {
    background: #fff;
    border-radius: 14px;
    padding: 12px 14px;
    /* ↓ menos padding */
    box-shadow: 0 6px 14px rgba(0, 0, 0, .05);
    min-width: 210px;
    /* ↓ menor */
    flex: 1;
}

.kpiCard:hover {
    transform: translateY(-2px);
}

.kpiTitle {
    font-size: 13px;
    opacity: .7;
    margin-bottom: 6px;
}

.kpiValue {
    font-size: 18px;
    /* ↓ menor */
    font-weight: 600;
    margin-bottom: 6px;
}

.kpiFoot {
    font-size: 11px;
}

.kpiRec {
    border-left: 5px solid #2ecc71;
}

.kpiDesp {
    border-left: 5px solid #e74c3c;
}

.kpiRes {
    border-left: 5px solid #3D50B6;
}

.kpiMarg {
    border-left: 5px solid #111827;
}

/* neutro/escuro */

.badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 11px;
}

.badgeUp {
    background: rgba(46, 204, 113, .12);
    color: #1d7a43;
}

.badgeDown {
    background: rgba(231, 76, 60, .12);
    color: #a8352a;
}

.badgeFlat {
    background: rgba(107, 114, 128, .12);
    color: #374151;
}

.kpiNeg .kpiValue {
    color: #e74c3c;
}

.kpiPos .kpiValue {
    color: #111827;
}

.x-treelist-container .x-treelist-item-wrap {
    margin-left: 8px !important;
}

/* Menu lateral principal */
.x-treelist-nav .x-treelist-item-icon.icon-open-finance {
    width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    display: block !important;
    background: url('imagens/icones_menu/openfinance.svg') no-repeat center center !important;
    background-size: 22px 22px !important;
    font-size: 0 !important;
    margin-top: 6px;
}

/* Tree do Controle de Acesso */
.x-tree-icon.icon-open-finance {
    width: 24px !important;
    height: 24px !important;
    display: inline-block !important;
    position: relative !important;
    top: 4px !important;
    background: url('imagens/icones_menu/openfinance_azul.svg') no-repeat center center !important;
    background-size: 20px 20px !important;
    font-size: 0 !important;
    line-height: 24px !important;
}

/* ComboBox - Firefox */
.x-gecko .x-form-trigger-wrap,
.x-gecko .x-form-trigger-wrap-default {
    display: flex !important;
    align-items: stretch !important;
}

.x-gecko .x-form-trigger,
.x-gecko .x-form-trigger-default,
.x-gecko .x-form-arrow-trigger,
.x-gecko .x-form-arrow-trigger-default {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    min-height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    background-position: center center !important;
}

.x-gecko .x-form-arrow-trigger-default:before,
.x-gecko .x-form-arrow-trigger:before {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.img-center {
    display: block !important;
    overflow: hidden !important;
}

.img-center img {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    max-width: 100% !important;
    max-height: 100% !important;

    object-fit: contain !important;
    object-position: center center !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;
}

/* Combo Empresa - texto azul Falcon */
.combo-empresa-primary .x-form-text-default,
.combo-empresa-primary input.x-form-field,
.combo-empresa-primary input.x-form-text {
    color: var(--primary) !important;
    -webkit-text-fill-color: var(--primary) !important;
    font-weight: bold !important;
}

/* Placeholder do combo */
.combo-empresa-primary .x-form-text-default::placeholder,
.combo-empresa-primary input.x-form-field::placeholder {
    color: var(--primary) !important;
    opacity: 0.65 !important;
}

/* Falcon Finanças - Cartão de Crédito / Resumo da Fatura
   Adicionar ao final do financas_new.css */

.ff-cc-top-area {
    background: #fff !important;
    border: 1px solid #e6edf5 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .04) !important;
}

.ff-cc-title-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    background: linear-gradient(135deg, var(--primary, #006AED), #3f8cff);
    box-shadow: 0 8px 18px rgba(0, 106, 237, .22);
}

.ff-cc-summary-card {
    background: #fff !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04) !important;
    overflow: hidden !important;
}

.ff-cc-status-card {
    background: #fff8ed !important;
    border-color: #f8d7a8 !important;
}

.ff-cc-card-blue {
    border-color: #dbeafe !important;
}

.ff-cc-card-green {
    border-color: #dcfce7 !important;
}

.ff-cc-card-orange {
    border-color: #ffedd5 !important;
}

.ff-cc-card-neutral {
    border-color: #e6edf5 !important;
}

.ff-cc-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    line-height: 38px;
}

.ff-cc-icon-blue {
    color: var(--primary, #006AED);
    background: rgba(0, 106, 237, .12);
}

.ff-cc-icon-green {
    color: #16a34a;
    background: rgba(34, 197, 94, .14);
}

.ff-cc-icon-orange {
    color: #f97316;
    background: rgba(249, 115, 22, .14);
}

.ff-cc-icon-gray {
    color: #64748b;
    background: rgba(100, 116, 139, .11);
}

.ff-cc-summary-card .x-panel-body-default,
.ff-cc-top-area.x-panel-body-default {
    background: transparent !important;
}

/* ==========================================================================
   Falcon Finanças - ComboBox / BoundList estilo Tailwind - v3
   - Menu suspenso com espaçamento do campo
   - Seleção usando a cor principal: var(--primary)
   - Scrollbar global e do combo mais limpa/moderna
   Adicionar ao final do CSS para sobrescrever o tema padrão do ExtJS/uniGUI
   ========================================================================== */

:root {
    --ff-combo-radius: 8px;
    --ff-combo-menu-gap: 6px;
    --ff-combo-item-height: 32px;
    --ff-combo-border: #e5e7eb;
    --ff-combo-text: #111827;
    --ff-combo-muted: #6b7280;
    --ff-combo-hover: #eaf3ff;
    --ff-combo-hover-text: var(--primary);
    --ff-required-bg: #fff9a8;
    --ff-required-border: #facc15;
    --ff-combo-scrollbar: rgba(107, 114, 128, .62);
    --ff-combo-scrollbar-hover: rgba(75, 85, 99, .78);
}

/* Scrollbar geral do sistema - Chrome, Edge, Opera e demais WebKit */
::-webkit-scrollbar {
    width: 12px !important;
    height: 12px !important;
    background: transparent !important;
}

::-webkit-scrollbar-track {
    background: transparent !important;
    border-radius: 999px !important;
}

::-webkit-scrollbar-thumb {
    background-color: var(--ff-combo-scrollbar) !important;
    border: 2px solid transparent !important;
    border-radius: 999px !important;
    background-clip: content-box !important;
}

::-webkit-scrollbar-thumb:hover {
    background-color: var(--ff-combo-scrollbar-hover) !important;
}

::-webkit-scrollbar-corner {
    background: transparent !important;
}

/* Scrollbar Firefox */
html,
body,
.x-body,
.x-panel-body-default,
.x-grid-view,
.x-boundlist-list-ct,
.x-scroller {
    /* scrollbar-width: thin !important; */
    scrollbar-color: var(--ff-combo-scrollbar) transparent !important;
}

/* Campo do ComboBox */
.x-form-trigger-wrap-default {
    border-color: #d1d5db !important;
    border-radius: 6px !important;
    background-color: #fff;
    box-shadow: none !important;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease !important;
}

.x-form-trigger-wrap-default.x-form-trigger-wrap-focus {
    border-color: var(--primary) !important;
    box-shadow: none !important;
}

.x-form-trigger-wrap-default .x-form-text-default,
.x-form-trigger-wrap-default input.x-form-field,
.x-form-trigger-wrap-default input.x-form-text {
    color: var(--ff-combo-text) !important;
    background-color: transparent;
}

.x-form-trigger-wrap-default .x-form-trigger-default,
.x-form-trigger-wrap-default .x-form-arrow-trigger-default {
    color: var(--ff-combo-muted) !important;
    border-radius: 0 6px 6px 0 !important;
    background-color: transparent !important;
}

/* Preserva o amarelo dos campos obrigatórios/invalidos
   Importante: as regras do combo não devem apagar o background aplicado pela rotina de validação. */
.x-form-invalid-field,
.x-form-invalid-field-default,
input.x-form-invalid-field,
input.x-form-invalid-field-default,
textarea.x-form-invalid-field,
textarea.x-form-invalid-field-default {
    background-color: var(--ff-required-bg) !important;
}

.x-form-item-invalid .x-form-trigger-wrap-default,
.x-form-trigger-wrap-default.x-form-invalid-field,
.x-form-trigger-wrap-default.x-form-invalid-field-default,
.x-form-trigger-wrap-default.x-form-trigger-wrap-invalid,
.x-form-trigger-wrap-default.x-form-trigger-wrap-invalid-default {
    background-color: var(--ff-required-bg) !important;
    border-color: var(--ff-required-border) !important;
}

.x-form-item-invalid .x-form-trigger-wrap-default .x-form-text-default,
.x-form-item-invalid .x-form-trigger-wrap-default input.x-form-field,
.x-form-item-invalid .x-form-trigger-wrap-default input.x-form-text,
.x-form-trigger-wrap-default.x-form-invalid-field .x-form-text-default,
.x-form-trigger-wrap-default.x-form-invalid-field input.x-form-field,
.x-form-trigger-wrap-default.x-form-invalid-field input.x-form-text,
.x-form-trigger-wrap-default.x-form-trigger-wrap-invalid .x-form-text-default,
.x-form-trigger-wrap-default.x-form-trigger-wrap-invalid input.x-form-field,
.x-form-trigger-wrap-default.x-form-trigger-wrap-invalid input.x-form-text {
    background-color: var(--ff-required-bg) !important;
}

/* Caso sua rotina aplique uma classe customizada no componente obrigatório vazio,
   estas classes também mantêm o campo amarelo. */
.campo-obrigatorio .x-form-trigger-wrap-default,
.campo-obrigatorio input.x-form-field,
.campo-obrigatorio input.x-form-text,
.obrigatorio .x-form-trigger-wrap-default,
.obrigatorio input.x-form-field,
.obrigatorio input.x-form-text,
.required-empty .x-form-trigger-wrap-default,
.required-empty input.x-form-field,
.required-empty input.x-form-text {
    background-color: var(--ff-required-bg) !important;
    border-color: var(--ff-required-border) !important;
}

.x-form-trigger-wrap-default .x-form-arrow-trigger-default:before,
.x-form-trigger-wrap-default .x-form-arrow-trigger:before {
    color: var(--ff-combo-muted) !important;
}

/* Menu suspenso do ComboBox / BoundList */
.x-boundlist,
.x-boundlist-default,
.x-boundlist-floating,
.x-boundlist.x-layer,
.x-boundlist-default.x-layer {
    background: #fff !important;
    border: 1px solid var(--ff-combo-border) !important;
    border-radius: var(--ff-combo-radius) !important;
    box-shadow:
        0 10px 15px -3px rgba(0, 0, 0, .10),
        0 4px 6px -4px rgba(0, 0, 0, .10) !important;
    overflow: hidden !important;
}

/* Cria o mesmo respiro visual entre o combo e a lista do Tailwind */
.x-boundlist-floating,
.x-boundlist.x-layer {
    transform: translateY(var(--ff-combo-menu-gap)) !important;
}

/* Área interna rolável */
.x-boundlist-list-ct,
.x-boundlist-list-ct.x-scroller {
    background: #fff !important;
    padding: 3px 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
}

/* Scrollbar específica do menu suspenso */
.x-boundlist-list-ct::-webkit-scrollbar,
.x-boundlist-list-ct.x-scroller::-webkit-scrollbar {
    width: 12px !important;
    height: 12px !important;
}

.x-boundlist-list-ct::-webkit-scrollbar-thumb,
.x-boundlist-list-ct.x-scroller::-webkit-scrollbar-thumb {
    background-color: var(--ff-combo-scrollbar) !important;
    border: 2px solid transparent !important;
    border-radius: 999px !important;
    background-clip: content-box !important;
}

.x-boundlist-list-ct::-webkit-scrollbar-thumb:hover,
.x-boundlist-list-ct.x-scroller::-webkit-scrollbar-thumb:hover {
    background-color: var(--ff-combo-scrollbar-hover) !important;
}

/* Itens da lista */
.x-boundlist-item {
    min-height: var(--ff-combo-item-height) !important;
    padding: 6px 12px !important;
    border: 0 !important;
    background: #fff !important;
    color: var(--ff-combo-text) !important;
    font: 400 13px/18px "Inter", "Roboto", "Open Sans", "Helvetica Neue", helvetica, arial, verdana, sans-serif !important;
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: background-color .12s ease, color .12s ease !important;
}

/* Hover mais visível: azul claro baseado na cor principal */
.x-boundlist-item-over,
.x-boundlist-item:hover {
    background: var(--ff-combo-hover) !important;
    color: var(--ff-combo-hover-text) !important;
}

/* Item selecionado usando a cor principal do sistema */
.x-boundlist-selected,
.x-boundlist-item.x-boundlist-selected,
.x-boundlist-selected.x-boundlist-item-over,
.x-boundlist-selected:hover {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #fff !important;
}

.x-boundlist-selected *,
.x-boundlist-item.x-boundlist-selected * {
    color: #fff !important;
}

/* Remove outline/foco antigo do ExtJS dentro da lista */
.x-boundlist-item:focus,
.x-boundlist-selected:focus {
    outline: none !important;
}

/* Quando existir lista sem borda/plain, mantém o mesmo padrão visual */
.x-boundlist .x-list-plain,
.x-boundlist .x-boundlist-list-ct .x-list-plain {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Ajuste visual para combos maiores em telas amplas */
.x-boundlist-floating .x-boundlist-item {
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
}


/* ==========================================================================
   Falcon Finanças - Ajuste final de bordas dos campos - aplicado em 09/05/2026
   Mantém input, wrapper e gatilho do combo com o mesmo raio visual.
   ========================================================================== */

.x-form-text-default {
    font-family: roboto, arial, verdana, sans-serif !important;
    font: 400 13px/21px "Open Sans", "Helvetica Neue", helvetica, arial, verdana, sans-serif;
    border-radius: 6px !important;
}

.x-form-trigger-wrap-default,
.x-form-text-wrap {
    border-radius: 6px !important;
}

.x-form-trigger-default {
    border-radius: 0 6px 6px 0 !important;
}

/* Falcon Finanças - geração de recibos e relatórios */
#falcon-receipt-loader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(15, 23, 42, .28);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Arial, "Segoe UI", sans-serif;
}

.falcon-receipt-card {
    width: 280px;
    max-width: 88vw;
    border-radius: 8px;
    background: #fff;
    padding: 24px 22px 22px;
    text-align: center;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .22);
    border: 1px solid rgba(8, 116, 232, .14);
}

.falcon-receipt-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 14px;
    border-radius: 8px;
    background: #0874e8;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.falcon-receipt-card strong {
    display: block;
    font-size: 16px;
    color: #111827;
    margin-bottom: 6px;
}

.falcon-receipt-card span {
    display: block;
    font-size: 12px;
    color: #667085;
}

.falcon-receipt-bar {
    height: 4px;
    border-radius: 999px;
    background: #e5e7eb;
    overflow: hidden;
    margin-top: 18px;
}

.falcon-receipt-bar i {
    display: block;
    height: 100%;
    width: 42%;
    border-radius: 999px;
    background: #0874e8;
    animation: falconReceiptBar 1.1s ease-in-out infinite;
}

@keyframes falconReceiptBar {
    0% {
        transform: translateX(-110%);
    }

    100% {
        transform: translateX(250%);
    }
}
