form .row {
    margin-bottom: 15px;
}

form .error-message {
    color: red;
    font-weight: normal;
}

form label, form .error-message {
    line-height: 30px;
}

form label{
    font-weight: bold;
    color: var(--ec-text-body);
}

a{
    color: #EB4533;
}

.form-check-input:focus,
.form-check-input:focus-visible {
  box-shadow: none !important;
  outline: none !important;
  border-color: #ccc;
}

.form-check-input,
.form-switch .form-check-input {
  background-color: var(--ec-switch-bg);
  border-color: var(--ec-switch-border);
  --bs-form-switch-bg: var(--ec-switch-thumb);
}

.form-check-input:checked {
  background-color: var(--ec-accent) !important;
  border-color: var(--ec-accent) !important;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.btn-primary {
    background-color: #E04500 !important;
    border-color: #E04500 !important;
  }

  .btn-primary:hover,
  .btn-primary:focus,
  .btn-primary:active,
  .btn-primary:disabled {
    background-color: #bf3b00 !important;
    border-color: #bf3b00 !important;
  }

.button .glyphicon {
    font-size: 12px;
    font-weight: bold;
    margin-left: 1px;
}

.button {
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    padding: 5px 15px 5px 15px;
    color: white !important;
    border-radius: 10px;
    border: none;
    outline: none;
    background-color: #eb4533;
}

.actionUpload.button {
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    padding: 5px 15px 5px 15px;
    color: black !important;
    border-radius: 20px;
    border: none;
    outline: none;
}

.button-large {
    width: 130px !important;
}

.large-button {
    padding: 20px 40px !important;
    font-size: 30px !important;
}

.button.light-gray-background {
    color: black;
}

.button:hover {
    -webkit-filter: brightness(100%);
    filter: brightness(75%);
}

a.button:hover {
    color: white;
}

a.button {
    display: inline-block;
}

a, a:hover {
    text-decoration: none;
}

input[type=file] {
    background-color: transparent;
}

body *:disabled {
    opacity: 1;
}

textarea {
    width: 100%;
    height: auto;
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
    display: block;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    margin-top: 7px;
}

.select2-container--default .select2-selection--multiple, .select2-container--default.select2-container--focus .select2-selection--multiple {
    background-color: #F15A22;
    border: none;
    border-radius: 15px;
}

.select2-container--default.select2-container--focus {
    border: none;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice, .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    background-color: #5897fb;
    color: white;
}

input::placeholder {
    color: #F5F5F5;
}

.modal.fade {
    max-height: 850px;
    margin-top: 60px;
}

/* .modal-dialog {
    margin-top: 60px;
} */

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

/* Modal typography baseline */
.modal-title      { font-size: 1.25rem; font-weight: 700; }
.modal-body       { font-size: 1rem;    font-weight: 600; }
.modal-body label { font-size: 0.9rem;  font-weight: 700; }

/* ==========================================================
   Skeleton loading — base
   ========================================================== */
@keyframes sk-sweep {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.sk-line {
    background: linear-gradient(
        90deg,
        rgba(var(--ec-ink), .06) 25%,
        rgba(var(--ec-ink), .12) 50%,
        rgba(var(--ec-ink), .06) 75%
    );
    background-size: 200% 100%;
    animation: sk-sweep 1.4s ease-in-out infinite;
    border-radius: 6px;
}

/* Promotion modal skeleton */
.promo-sk-banner   { height: 72px;  width: 100%; margin-bottom: 1.25rem; border-radius: 8px; }
.promo-sk-label    { height: 11px;  width: 38%;  margin-bottom: 8px; }
.promo-sk-input    { height: 38px;  width: 100%; }
.promo-sk-textarea { height: 96px;  width: 100%; }
.promo-sk-section  { height: 13px;  width: 50%;  margin-bottom: 12px; }
.promo-sk-checks   { display: flex; gap: 10px; flex-wrap: wrap; }
.promo-sk-check    { height: 20px;  width: 72px; }

/* Modal skeleton overlay (Pattern B conversions) */
.modal-body        { position: relative; }
.sk-modal-overlay  {
    position: absolute; inset: 0; z-index: 10;
    background: var(--ec-bg-surface);
    padding: 1rem 1.5rem;
    border-radius: inherit;
    overflow: hidden;
}
.sk-field          { margin-bottom: 1rem; }
.sk-field-label    { height: 11px; width: 40%; margin-bottom: 8px; }
.sk-field-input    { height: 38px; width: 100%; }
.sk-field-textarea { height: 100px; width: 100%; }
.sk-table-header   { height: 30px; width: 100%; margin-bottom: 10px; border-radius: 6px; }
.sk-table-row      { height: 38px; width: 100%; margin-bottom: 8px; }

/* ==========================================================
   Canonical file input wrap
   ========================================================== */
.acred-file-wrap {
    display: flex;
    align-items: center;
    gap: .45rem;
    border: 1px solid rgba(var(--ec-ink), .18);
    border-radius: .5rem;
    padding: 0 .45rem 0 .25rem;
    background: var(--ec-bg-input);
    overflow: hidden;
    height: 32px;
}
[data-theme="dark"] .acred-file-wrap { border-color: rgba(var(--ec-ink), .15); }
.acred-choose-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: .28rem .6rem;
    border-radius: .4rem;
    cursor: pointer;
    background: var(--ec-accent);
    color: #fff;
    border: none;
    font-size: .85rem;
    line-height: 1;
    transition: filter .15s;
}
.acred-choose-btn:hover { filter: brightness(.88); }
.acred-filename-text {
    font-size: .82rem;
    color: var(--ec-text-placeholder);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.modal .button.red-background {
    display: inline-block;
}

.modal-header .close {
    background-color: black;
    color: white;
    width: 20px;
    border-radius: 10px;
    opacity: 0.85;
    height: 19px;
}

.table-rounded{
    border-radius: 0.5rem;
    overflow: hidden;
}

table {
    font-size: 12px;
    color: var(--ec-text-body);
    border-spacing: 1px;
    text-align: center;
}

/*table tbody tr:nth-child(odd) {
    background-color: #ffffff;
}

table tbody tr:nth-child(even) {
    background-color: #ffffff;
}*/

/*important pois essas propriedades estão sobreescrevendo o bootstrap*/

/* table tbody td {
    text-align: center;
    padding: 5px !important;
    border-top: 0 !important;
    vertical-align: middle !important;
} */

table tr th a {
    color: inherit;
    text-decoration: none;
}

/* table tbody tr {
    cursor: pointer;
} */
/*
.table-hover>tbody>tr:hover {
    background-color: gray;
}*/

table.statisticsFloorplan th, table.statisticsFloorplan td {
    font-size: 16px;
    padding: 5px !important;
}

.flash {
    height: 55px;
    width: 100%;
    text-align: center;
    font-size: 17px;
    color: white;
    line-height: 8px;
    text-transform: uppercase;
    z-index: 10;
    position: absolute;
    padding-top: 14px;
}

.flash-modal{
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.flash-modal-box{
    background-color: var(--ec-bg-surface);
    border: 1px solid rgba(var(--ec-ink), .10);
    box-shadow: 0 8px 32px rgba(0,0,0,.22);
    border-radius: 15px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 4000;
    padding: 30px;
    animation: modalFadeIn 1.5s forwards;
}

@keyframes modalFadeIn{
    0% { opacity: 0;
        transform: translateY(-100px); 
    }
    100% { 
        opacity: 1;
        transform: translateY(0px);
    }
}

@-webkit-keyframes modalFadeIn{
    0% { opacity: 0;
        transform: translateY(-100px); 
    }
    100% { 
        opacity: 1;
        transform: translateY(0px);
    }
}

.modal-fadeoff{
    animation: modalFadeOff 1s forwards;
}

@keyframes modalFadeOff{
    0% {
        z-index: 9999;
        transform: translateY(0px); 
    }
    100% { 
        transform: translateY(-100px);
    }
}

@-webkit-keyframes modalFadeOff{
    0% {
        transform: translateY(0px); 
    }
    100% { 
        transform: translateY(-100px);
    }
}

.modal-bg-fadeoff{
    animation: modalBgFadeOff 1s forwards;
}

@keyframes modalBgFadeOff{
    0% { opacity: 1;
        z-index: 9999;
    }
    100% { 
        z-index: 9999;
        opacity: 0;
        display: none;
    }
}

@-webkit-keyframes modalBgFadeOff{
    0% { opacity: 1;
        z-index: 9999;
    }
    100% { 
        z-index: 9999;
        opacity: 0;
        display: none;
    }
}


.flash-modal-message{
    text-align: center;
    font-size: 20px;
}

.flash-modal-message p{
    margin-top: 1.25rem;
    color: var(--ec-text-body);
}

.flash-modal-title-badge {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .3rem .85rem;
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.flash-modal-badge-error {
    background-color: var(--ec-danger-bg);
    color: var(--ec-danger);
    border: 1px solid var(--ec-danger-border);
}
.flash-modal-badge-success {
    background-color: var(--ec-success-bg);
    color: var(--ec-success);
    border: 1px solid var(--ec-success-border);
}

.flash-modal-content-box{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 300px;
    max-width: 450px;
}

.flash-modal-success-color{
    background-color: var(--ec-success) !important;
}

.flash-modal-backdrop{
    position: fixed;
    height: 100vh;
    width: 100vw;
    background-color: black;
    opacity: 70%;
    z-index: 3000;
    
}

.flash-modal-button{
    margin-top: 1.75rem;
    width: 100%;
    background-color: var(--ec-danger);
    text-align: center;
    font-size: 24px;
    color: #fff;
    cursor: pointer;
    border-radius: 8px;
    padding: .4rem 0;
}

[data-theme="dark"] .flash-modal-button {
    color: var(--ec-bg);
}

.alertBox {
    position: fixed;
    width: inherit;
    z-index: 3051;
    left: 50px;
    box-shadow: 3px 4px 9px #888888;
    width: 35%;
    top: 110px;
    text-align: center;
    max-width: 300px;
}

.alertBox .closeButton {
    float: right;
    right: 9px;
    position: absolute;
    top: 2px;
    cursor: pointer;
}

.flash .glyphicon {
    top: 3px;
}

a.disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: default;
}

/*//ONLY MOBILE*/

@media (max-width: 800px) {
    .flash {
        font-size: 10px !important;
    }
    .flash span {
        font-size: 13px !important;
    }
    .flash .glyphicon {
        top: 2px;
    }
}

@media (min-width: 801px) and (max-width: 991px) {
    .flash {
        font-size: 15px !important;
    }
    .flash span {
        font-size: 17px !important;
    }
    .flash .glyphicon {
        top: 3px;
    }
}

/*//ONLY TABLETS*/

@media (min-width: 768px) and (max-width: 991px) {
    table {
        table-layout: fixed;
    }
    table tbody td {
        word-wrap: break-word;
    }
    h3 {
        text-align: center;
    }
}

/* ================================================================
   BUTTON DESIGN SYSTEM — overrides globais para todos os módulos
   Cobre light-mode (cores EC) + dark-mode para todas as variantes
   Bootstrap .btn-*. Overrides escopados em .acred-page
   (accreditation.css) têm especificidade maior e prevalecem lá.
   ================================================================ */

/* Base — border-radius unificado */
.btn { border-radius: .5rem !important; }

/* Normalização de tamanho — anula padding/font do Bootstrap */
.btn-lg {
    padding: .52rem 1.1rem !important;
    font-size: .95rem !important;
    border-radius: .5rem !important;
}
.btn-sm {
    padding: .28rem .6rem !important;
    font-size: .8rem !important;
    border-radius: .4rem !important;
}

/* ---- Solid fill — light mode ---- */
.btn-primary {
    background-color: var(--ec-accent) !important;
    border-color: var(--ec-accent) !important;
    color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:disabled {
    background-color: #e04500 !important;
    border-color: #e04500 !important;
    color: #fff !important;
}

.btn-success {
    background-color: #16a34a !important;
    border-color: #16a34a !important;
    color: #fff !important;
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background-color: #15803d !important;
    border-color: #15803d !important;
    color: #fff !important;
}

.btn-danger {
    background-color: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #fff !important;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
    background-color: #b91c1c !important;
    border-color: #b91c1c !important;
    color: #fff !important;
}

.btn-warning {
    background-color: #d97706 !important;
    border-color: #d97706 !important;
    color: #fff !important;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    background-color: #b45309 !important;
    border-color: #b45309 !important;
    color: #fff !important;
}

.btn-info {
    background-color: #3b82f6 !important;
    border-color: #3b82f6 !important;
    color: #fff !important;
}
.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    color: #fff !important;
}

/* btn-default (Bootstrap 3 legacy) → neutro */
.btn-default {
    background-color: #f5f4f2 !important;
    border-color: #d6d3d1 !important;
    color: #374151 !important;
}
.btn-default:hover,
.btn-default:focus {
    background-color: #e7e5e4 !important;
    border-color: #a8a29e !important;
    color: #1c1410 !important;
}

/* ---- Outline variants — light mode ---- */
.btn-outline-primary {
    background-color: var(--ec-accent-bg) !important;
    border-color: var(--ec-accent-border) !important;
    color: var(--ec-accent) !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: rgba(255,78,0,.17) !important;
    border-color: rgba(255,78,0,.40) !important;
    color: var(--ec-accent) !important;
}

.btn-outline-success {
    background-color: var(--ec-success-bg) !important;
    border-color: var(--ec-success-border) !important;
    color: var(--ec-success) !important;
}
.btn-outline-success:hover,
.btn-outline-success:focus {
    background-color: rgba(22,163,74,.22) !important;
    border-color: rgba(22,163,74,.45) !important;
    color: var(--ec-success) !important;
}

.btn-outline-danger {
    background-color: var(--ec-danger-bg) !important;
    border-color: var(--ec-danger-border) !important;
    color: var(--ec-danger) !important;
}
.btn-outline-danger:hover,
.btn-outline-danger:focus {
    background-color: rgba(220,38,38,.16) !important;
    border-color: rgba(220,38,38,.45) !important;
    color: var(--ec-danger) !important;
}

.btn-outline-warning {
    background-color: var(--ec-warning-bg) !important;
    border-color: var(--ec-warning-border) !important;
    color: var(--ec-warning) !important;
}
.btn-outline-warning:hover,
.btn-outline-warning:focus {
    background-color: rgba(217,119,6,.22) !important;
    border-color: rgba(217,119,6,.45) !important;
    color: var(--ec-warning) !important;
}

/* ---- Dark mode — solid buttons ---- */
[data-theme="dark"] .btn-primary {
    background-color: var(--ec-accent) !important;
    border-color: var(--ec-accent) !important;
    color: #fff !important;
}
[data-theme="dark"] .btn-primary:hover,
[data-theme="dark"] .btn-primary:focus {
    background-color: #e04500 !important;
    border-color: #e04500 !important;
}

[data-theme="dark"] .btn-success {
    background-color: var(--ec-success-bg) !important;
    border-color: var(--ec-success-border) !important;
    color: var(--ec-success) !important;
}
[data-theme="dark"] .btn-success:hover,
[data-theme="dark"] .btn-success:focus {
    background-color: rgba(22,163,74,.22) !important;
    border-color: rgba(22,163,74,.45) !important;
}

[data-theme="dark"] .btn-danger {
    background-color: var(--ec-danger-bg) !important;
    border-color: var(--ec-danger-border) !important;
    color: var(--ec-danger) !important;
}
[data-theme="dark"] .btn-danger:hover,
[data-theme="dark"] .btn-danger:focus {
    background-color: rgba(220,38,38,.20) !important;
    border-color: rgba(220,38,38,.50) !important;
}

[data-theme="dark"] .btn-warning {
    background-color: var(--ec-warning-bg) !important;
    border-color: var(--ec-warning-border) !important;
    color: var(--ec-warning) !important;
}
[data-theme="dark"] .btn-warning:hover,
[data-theme="dark"] .btn-warning:focus {
    background-color: rgba(217,119,6,.22) !important;
    border-color: rgba(217,119,6,.45) !important;
}

[data-theme="dark"] .btn-info {
    background-color: var(--ec-info-bg) !important;
    border-color: var(--ec-info-border) !important;
    color: var(--ec-info) !important;
}
[data-theme="dark"] .btn-info:hover,
[data-theme="dark"] .btn-info:focus {
    background-color: rgba(59,130,246,.18) !important;
    border-color: rgba(59,130,246,.40) !important;
}

[data-theme="dark"] .btn-secondary {
    background: rgba(var(--ec-ink), .06) !important;
    border-color: rgba(var(--ec-ink), .15) !important;
    color: var(--ec-text-body) !important;
}
[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .btn-secondary:focus {
    background: rgba(var(--ec-ink), .10) !important;
    border-color: rgba(var(--ec-ink), .25) !important;
    color: var(--ec-text-strong) !important;
}

[data-theme="dark"] .btn-default {
    background: rgba(var(--ec-ink), .06) !important;
    border-color: rgba(var(--ec-ink), .15) !important;
    color: var(--ec-text-body) !important;
}
[data-theme="dark"] .btn-default:hover,
[data-theme="dark"] .btn-default:focus {
    background: rgba(var(--ec-ink), .10) !important;
    border-color: rgba(var(--ec-ink), .25) !important;
    color: var(--ec-text-strong) !important;
}

[data-theme="dark"] .btn-light {
    background: rgba(var(--ec-ink), .06) !important;
    border-color: rgba(var(--ec-ink), .12) !important;
    color: var(--ec-text-muted) !important;
}

/* ---- Dark mode — outline variants ---- */
[data-theme="dark"] .btn-outline-primary {
    background-color: var(--ec-accent-bg) !important;
    border-color: var(--ec-accent-border) !important;
    color: var(--ec-accent) !important;
}
[data-theme="dark"] .btn-outline-primary:hover,
[data-theme="dark"] .btn-outline-primary:focus {
    background-color: rgba(255,78,0,.17) !important;
    border-color: rgba(255,78,0,.40) !important;
    color: var(--ec-accent) !important;
}

[data-theme="dark"] .btn-outline-success {
    background-color: var(--ec-success-bg) !important;
    border-color: var(--ec-success-border) !important;
    color: var(--ec-success) !important;
}
[data-theme="dark"] .btn-outline-success:hover,
[data-theme="dark"] .btn-outline-success:focus {
    background-color: rgba(22,163,74,.22) !important;
    border-color: rgba(22,163,74,.45) !important;
}

[data-theme="dark"] .btn-outline-danger {
    background-color: var(--ec-danger-bg) !important;
    border-color: var(--ec-danger-border) !important;
    color: var(--ec-danger) !important;
}
[data-theme="dark"] .btn-outline-danger:hover,
[data-theme="dark"] .btn-outline-danger:focus {
    background-color: rgba(220,38,38,.20) !important;
    border-color: rgba(220,38,38,.50) !important;
}

[data-theme="dark"] .btn-outline-warning {
    background-color: var(--ec-warning-bg) !important;
    border-color: var(--ec-warning-border) !important;
    color: var(--ec-warning) !important;
}
[data-theme="dark"] .btn-outline-warning:hover,
[data-theme="dark"] .btn-outline-warning:focus {
    background-color: rgba(217,119,6,.22) !important;
    border-color: rgba(217,119,6,.45) !important;
}

[data-theme="dark"] .btn-outline-secondary {
    background-color: var(--ec-neutral-bg) !important;
    border-color: var(--ec-neutral-border) !important;
    color: var(--ec-neutral) !important;
}
[data-theme="dark"] .btn-outline-secondary:hover,
[data-theme="dark"] .btn-outline-secondary:focus {
    background-color: rgba(107,114,128,.18) !important;
    border-color: rgba(107,114,128,.38) !important;
    color: var(--ec-text-body) !important;
}

.ec-card-subtitle {
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ec-company-logo {
    background-color: #fff !important;
    padding: 4px;
}
[data-theme="dark"] .ec-company-logo {
    background-color: #fff !important;
}
