/* MyFullStaff · tema novo do painel, por cima do AdminLTE 3 / Bootstrap 4. Só aparência: as telas, os ids e as
   classes continuam os mesmos. Entra quando TEMA_PAINEL = 'novo' (modules/settings.php); com 'antigo', nada disto
   é carregado. Cores e fontes vêm de cores.css. */

html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body, .content-wrapper, .main-footer, .login-page { background: var(--fundo) !important; color: var(--texto); font-family: var(--fonte-texto); font-size: .925rem; }
h1, h2, h3, h4, h5, h6, .card-title, .modal-title, .brand-text, .login-logo { font-family: var(--fonte-titulo); letter-spacing: -.01em; color: var(--texto); }
a { color: var(--marca-texto); } a:hover { color: var(--marca); }
.text-muted { color: var(--texto-3) !important; }
.text-success { color: var(--sucesso) !important; } .text-danger { color: var(--erro) !important; }
.text-warning { color: var(--aviso) !important; } .text-info, .text-primary { color: var(--marca-texto) !important; }
hr { border-color: var(--linha); }
::selection { background: var(--marca-suave); color: var(--texto); }

/* Topo */
.main-header.navbar { background: var(--superficie) !important; border-bottom: 1px solid var(--linha) !important; box-shadow: none; }
.main-header .nav-link, .main-header .navbar-nav .nav-link { color: var(--texto-2) !important; }
.main-header .nav-link:hover { color: var(--texto) !important; }
.main-header .item-tema { display: flex; align-items: center; padding: 0 .5rem; }
.dropdown-menu { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra-alta); color: var(--texto); }
.dropdown-item { color: var(--texto); } .dropdown-item:hover, .dropdown-item:focus { background: var(--superficie-2); color: var(--texto); }
.dropdown-divider { border-color: var(--linha); }

/* Menu lateral: claro, discreto, com o item ativo em violeta suave */
.main-sidebar, .main-sidebar.sidebar-dark-primary { background: var(--superficie) !important; border-right: 1px solid var(--linha); box-shadow: none !important; }
.brand-link { border-bottom: 1px solid var(--linha) !important; color: var(--texto) !important; display: flex !important; align-items: center; gap: .55rem; }
.brand-link .brand-text { font-weight: 800 !important; font-size: 1.08rem; letter-spacing: -.03em; }
.brand-link .logo-mfs { width: 34px; height: 34px; margin-left: .3rem; flex: none; }
.sidebar-collapse .main-sidebar:not(:hover) .brand-link .logo-mfs { margin-left: .25rem; }
.sidebar .user-panel { border-bottom: 1px solid var(--linha) !important; }
.sidebar .user-panel .info a, .sidebar .user-panel a, .sidebar .user-panel .info { color: var(--texto) !important; }
.sidebar .user-panel .image .img-circle, .sidebar .user-panel img { box-shadow: none !important; }
.nav-sidebar .nav-header { color: var(--texto-3) !important; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; padding: 14px 1rem 4px; }
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link,
.nav-sidebar .nav-link { color: var(--texto-2) !important; border-radius: var(--raio-p); margin: 1px 6px; width: auto; }
.nav-sidebar .nav-link:hover { background: var(--superficie-2) !important; color: var(--texto) !important; }
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.nav-sidebar .nav-link.active { background: var(--marca-suave) !important; color: var(--marca-texto) !important; font-weight: 600; box-shadow: none !important; }
.nav-sidebar .menu-open > .nav-link { color: var(--texto) !important; background: transparent !important; }
.nav-treeview > .nav-item > .nav-link { padding-left: 1.6rem; font-size: .88rem; }
.nav-sidebar .nav-icon { color: var(--texto-3); font-size: .95rem !important; }
.nav-sidebar .nav-link.active .nav-icon, .nav-sidebar .nav-link:hover .nav-icon { color: inherit; }
.nav-sidebar .nav-link p { color: inherit; }
.sidebar .form-control, .sidebar select, .sidebar .custom-select { background: var(--superficie-2); border-color: var(--linha); color: var(--texto); }
.sidebar .form-control-sidebar, .sidebar .btn-sidebar { background: var(--superficie-2) !important; border-color: var(--linha) !important; color: var(--texto) !important; }
.control-sidebar, .control-sidebar-dark { background: var(--superficie) !important; color: var(--texto) !important; }

/* Cabeçalho da página */
.content-header h1 { font-size: 1.55rem; font-weight: 800; color: var(--texto); }
.breadcrumb { background: transparent; font-size: .82rem; }
.breadcrumb-item a { color: var(--marca-texto); }
.breadcrumb-item.active, .breadcrumb-item + .breadcrumb-item::before { color: var(--texto-3); }
.main-footer { border-top: 1px solid var(--linha); color: var(--texto-3); font-size: .8rem; padding: .7rem 1rem; }
.main-footer .nome-mfs { font-size: .9rem; }
/* Cartões de relatórios (widget-user): cabeçalho em tom suave, sem vermelho */
.widget-user .widget-user-header, .widget-user-2 .widget-user-header { border-radius: var(--raio) var(--raio) 0 0; }
.widget-user .widget-user-header.bg-danger, .widget-user-2 .widget-user-header.bg-danger { background: var(--destaque-suave) !important; color: var(--destaque-texto) !important; }
.widget-user-header h3, .widget-user-header h5, .widget-user-username, .widget-user-desc { color: inherit !important; }

/* Cartões: sem as faixas e cabeçalhos coloridos do AdminLTE, só borda fina */
.card { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: none !important; color: var(--texto); }
.card[class*="card-outline"] { border-top: 1px solid var(--linha) !important; }
.card-header { background: transparent !important; border-bottom: 1px solid var(--linha); padding: .85rem 1.1rem; color: var(--texto) !important; }
.card-primary:not(.card-outline) > .card-header, .card-success:not(.card-outline) > .card-header,
.card-info:not(.card-outline) > .card-header, .card-secondary:not(.card-outline) > .card-header,
.card-danger:not(.card-outline) > .card-header, .card-warning:not(.card-outline) > .card-header,
.card-dark:not(.card-outline) > .card-header { background: transparent !important; color: var(--texto) !important; }
.card-primary:not(.card-outline) > .card-header a, .card-success:not(.card-outline) > .card-header a { color: var(--marca-texto); }
.card-header .card-title { color: var(--texto) !important; }
.card-header .btn-tool, .card-tools .btn-tool { color: var(--texto-3) !important; }
.card-title { font-size: 1rem; font-weight: 700; }
.card-footer { background: var(--superficie-2); border-top: 1px solid var(--linha); }
.card-body { padding: 1.1rem; }

/* Números dos dashboards (small-box): cartão neutro, número grande, a cor só no ícone */
.small-box { background: var(--superficie) !important; color: var(--texto) !important; border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: none !important; overflow: hidden; }
.small-box > .inner { padding: 14px 16px 10px; }
.small-box > .inner h3 { font-family: var(--fonte-titulo); font-weight: 800; font-size: 2rem; color: var(--texto) !important; letter-spacing: -.02em; }
.small-box > .inner p { color: var(--texto-2) !important; font-weight: 500; }
.small-box .icon > i, .small-box .icon > .fa, .small-box .icon > .fas, .small-box .icon > .ion { color: var(--marca); opacity: .18; }
.small-box.bg-warning .icon > i, .small-box.bg-warning .icon > .ion { color: var(--destaque); opacity: .35; }
.small-box.bg-success .icon > i, .small-box.bg-success .icon > .ion { color: var(--sucesso-cheio); opacity: .3; }
.small-box.bg-danger .icon > i, .small-box.bg-danger .icon > .ion { color: var(--erro-cheio); opacity: .3; }
.small-box.bg-info .icon > i, .small-box.bg-info .icon > .ion { color: var(--info-cheio); opacity: .3; }
.small-box:hover .icon > i { opacity: .45; }
.small-box > .small-box-footer { background: var(--superficie-2) !important; color: var(--texto-2) !important; border-top: 1px solid var(--linha); }
.small-box > .small-box-footer:hover { color: var(--marca-texto) !important; }
/* Fundos coloridos fora dos small-box: tons suaves */
.bg-warning:not(.small-box) { background: var(--destaque-suave) !important; color: var(--destaque-texto) !important; }
.bg-success:not(.small-box) { background: var(--sucesso-suave) !important; color: var(--sucesso) !important; }
.bg-danger:not(.small-box) { background: var(--erro-suave) !important; color: var(--erro) !important; }
.bg-info:not(.small-box), .bg-primary:not(.small-box) { background: var(--marca-suave) !important; color: var(--marca-texto) !important; }
.bg-white, .bg-light { background: var(--superficie) !important; color: var(--texto) !important; }
.progress { background: var(--superficie-2); border-radius: 999px; } .progress-bar { background: var(--marca); }

/* Formulários */
label:not(.form-check-label):not(.custom-control-label) { font-weight: 600 !important; font-size: .8rem; color: var(--texto-2); margin-bottom: .3rem; }
.form-control, .custom-select, .select2-container--default .select2-selection--single, .select2-container--bootstrap4 .select2-selection,
.select2-container--default .select2-selection--multiple {
  background: var(--superficie); border: 1px solid var(--linha-forte); border-radius: var(--raio-p); color: var(--texto); }
.form-control, .custom-select { height: calc(2.25rem + 2px); }
.form-control-sm, .custom-select-sm { height: calc(1.8125rem + 2px); }
textarea.form-control, select[multiple].form-control { height: auto; }
.form-control::placeholder { color: var(--texto-3); }
.form-control:focus, .custom-select:focus { border-color: var(--marca); box-shadow: var(--foco); background: var(--superficie); color: var(--texto); }
.form-control:disabled, .form-control[readonly] { background: var(--superficie-2); color: var(--texto-3); }
.form-text, small.text-muted { color: var(--texto-3) !important; }
.input-group-text { background: var(--superficie-2); border-color: var(--linha-forte); color: var(--texto-3); }
.custom-control-input:checked ~ .custom-control-label::before { background: var(--marca); border-color: var(--marca); }
.custom-control-label::before { background: var(--superficie); border-color: var(--linha-forte); }
.custom-file-label { background: var(--superficie); border-color: var(--linha-forte); color: var(--texto-2); }
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--bootstrap4 .select2-selection__rendered { color: var(--texto) !important; }
.select2-dropdown { background: var(--superficie); border-color: var(--linha-forte); color: var(--texto); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--bootstrap4 .select2-results__option--highlighted { background: var(--marca) !important; color: var(--sobre-marca) !important; }
.select2-search__field { background: var(--superficie-2) !important; color: var(--texto) !important; border-color: var(--linha) !important; }
input[type="date"], input[type="time"] { color-scheme: inherit; }
input[type="checkbox"], input[type="radio"], input[type="range"], progress { accent-color: var(--marca); }

/* Botões: um principal violeta; o resto neutro */
.btn { border-radius: var(--raio-p); font-weight: 600; font-size: .875rem; padding: .42rem .9rem; box-shadow: none !important; }
.btn-sm { font-size: .8rem; padding: .28rem .65rem; } .btn-lg { font-size: 1rem; padding: .6rem 1.2rem; }
.btn:focus-visible { box-shadow: var(--foco) !important; }
.btn-primary, .btn-success { background: var(--marca); border-color: var(--marca); color: var(--sobre-marca); }
.btn-primary:hover, .btn-success:hover, .btn-primary:focus, .btn-success:focus,
.btn-primary:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled):active { background: var(--marca-forte); border-color: var(--marca-forte); color: var(--sobre-marca); }
.btn-primary:disabled, .btn-success:disabled { background: var(--marca); border-color: var(--marca); opacity: .45; }
.btn-secondary, .btn-default, .btn-light, .btn-outline-secondary, .btn-outline-success, .btn-outline-primary, .btn-outline-info, .btn-outline-dark {
  background: var(--superficie); border: 1px solid var(--linha-forte); color: var(--texto); }
.btn-secondary:hover, .btn-default:hover, .btn-light:hover, .btn-outline-secondary:hover, .btn-outline-success:hover,
.btn-outline-primary:hover, .btn-outline-info:hover, .btn-outline-dark:hover { background: var(--superficie-2); border-color: var(--texto-3); color: var(--texto); }
.btn-warning, .btn-info { background: var(--destaque-suave); border-color: transparent; color: var(--destaque-texto); }
.btn-warning:hover, .btn-info:hover { background: var(--destaque); color: #fff; }
.btn-danger { background: var(--erro-cheio); border-color: var(--erro-cheio); color: #fff; }
.btn-outline-danger { background: var(--superficie); border-color: var(--linha-forte); color: var(--erro); }
.btn-outline-danger:hover { background: var(--erro-suave); border-color: var(--erro); color: var(--erro); }
.btn-tool { color: var(--texto-3); }
.btn-link { color: var(--marca-texto); }

/* Tabelas */
.table { color: var(--texto); }
.table thead th { border-top: 0; border-bottom: 1px solid var(--linha) !important; color: var(--texto-3); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 600; background: var(--superficie-2); }
.table td, .table th { border-color: var(--linha) !important; vertical-align: middle; padding: .6rem .8rem; }
.table-sm td, .table-sm th { padding: .35rem .5rem; font-size: .85rem; }
.table-sm thead th { text-transform: none; letter-spacing: 0; font-size: .76rem; }
.table-bordered, .table-bordered td, .table-bordered th { border-color: var(--linha) !important; }
.table-striped tbody tr:nth-of-type(odd) { background: var(--superficie-2); }
.table-hover tbody tr:hover { background: var(--marca-suave); color: var(--texto); }
.table-danger, .table-danger > td, .table-danger > th { background: color-mix(in srgb, var(--erro-suave) 55%, transparent) !important; color: var(--texto); }
.table-warning, .table-warning > td, .table-warning > th { background: color-mix(in srgb, var(--aviso-suave) 70%, transparent) !important; color: var(--texto); }
.table-success, .table-success > td, .table-success > th { background: color-mix(in srgb, var(--sucesso-suave) 70%, transparent) !important; color: var(--texto); }
.table .btn { white-space: nowrap; }
.dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter { color: var(--texto-3); }
.page-link { background: var(--superficie); border-color: var(--linha); color: var(--marca-texto); }
.page-item.active .page-link { background: var(--marca); border-color: var(--marca); color: var(--sobre-marca); }
.page-item.disabled .page-link { background: var(--superficie-2); border-color: var(--linha); color: var(--texto-3); }
.list-group-item { background: var(--superficie); border-color: var(--linha); color: var(--texto); }
.nav-tabs { border-bottom-color: var(--linha); }
.nav-tabs .nav-link { color: var(--texto-2); border: 0; border-bottom: 2px solid transparent; }
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { background: transparent; color: var(--marca-texto); border-bottom-color: var(--marca); }
.nav-pills .nav-link.active { background: var(--marca); color: var(--sobre-marca); }

/* Etiquetas e avisos em tons suaves */
.badge { font-weight: 600; border-radius: 999px; padding: .3em .65em; font-size: .72rem; }
.badge-success { background: var(--sucesso-suave); color: var(--sucesso); }
.badge-danger { background: var(--erro-suave); color: var(--erro); }
.badge-warning { background: var(--aviso-suave); color: var(--aviso); }
.badge-info, .badge-primary { background: var(--marca-suave); color: var(--marca-texto); }
.badge-secondary, .badge-light { background: var(--superficie-2); color: var(--texto-2); border: 1px solid var(--linha); }
.navbar-badge { background: var(--destaque) !important; color: #fff !important; }
.alert { border: 0; border-radius: var(--raio); }
.alert-warning { background: var(--aviso-suave); color: var(--aviso); }
.alert-info, .alert-light { background: var(--info-suave); color: var(--info); }
.alert-danger { background: var(--erro-suave); color: var(--erro); }
.alert-success { background: var(--sucesso-suave); color: var(--sucesso); }
.alert-secondary { background: var(--superficie-2); color: var(--texto-2); }
.alert a { color: inherit; text-decoration: underline; }
.callout { background: var(--superficie); border-left-color: var(--linha-forte); color: var(--texto); box-shadow: none; }

/* Janelas */
.modal-content { background: var(--superficie); border: 1px solid var(--linha); border-radius: 14px; box-shadow: var(--sombra-alta); color: var(--texto); }
.modal-header, .modal-footer { border-color: var(--linha); }
.modal-backdrop.show { opacity: .45; }
.close { color: var(--texto); text-shadow: none; }
.popover, .tooltip-inner { font-family: var(--fonte-texto); }

/* Entrada e escolha de empresa */
.login-box { width: 380px; max-width: calc(100% - 32px); }
.login-logo { margin-bottom: 1.1rem; display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.login-logo .logo-mfs { width: 72px; height: 72px; }
.login-logo .nome-mfs { font-size: 1.9rem; line-height: 1; }
.login-logo .sub-mfs { font-family: var(--fonte-texto); font-size: .85rem; font-weight: 500; color: var(--texto-3); letter-spacing: 0; }
.login-card-body { background: var(--superficie); color: var(--texto); border-radius: var(--raio); padding: 1.5rem 1.4rem; }
.login-box .card { border-radius: 14px; box-shadow: var(--sombra) !important; }
.login-box-msg { color: var(--texto-2); }

/* Notificações (toastr) */
#toast-container > div { border-radius: var(--raio); box-shadow: var(--sombra-alta) !important; opacity: 1; font-family: var(--fonte-texto); }
#toast-container > .toast-success { background-color: var(--sucesso-cheio); }
#toast-container > .toast-error { background-color: var(--erro-cheio); }
#toast-container > .toast-warning { background-color: var(--aviso-cheio); }
#toast-container > .toast-info { background-color: var(--marca); }

/* Telas próprias: Status UH e Minhas UHs (cartões discretos: faixa e ponto na cor do status do hotel) */
.resumo-status .btn { border: 1px solid var(--linha) !important; background: var(--superficie) !important; color: var(--texto) !important; border-radius: 999px; padding: .28rem .75rem .28rem .5rem; font-size: .8rem; display: inline-flex; align-items: center; gap: 6px; }
.resumo-status .btn .ponto { width: 10px; height: 10px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); }
.resumo-status .btn.ativo { border-color: var(--marca) !important; box-shadow: var(--foco) !important; }
.andar-titulo { font-family: var(--fonte-titulo); font-weight: 700 !important; font-size: .82rem; color: var(--texto-2); text-transform: uppercase; letter-spacing: .05em; margin: 18px 0 8px !important; }
.grade-uhs { gap: 10px !important; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)) !important; }
.cartao-uh.discreto { border: 1px solid var(--linha) !important; background: var(--superficie) !important; color: var(--texto) !important; border-radius: var(--raio) !important; padding: 0 !important; overflow: hidden; transition: transform .08s, box-shadow .08s; }
.cartao-uh.discreto:hover { transform: translateY(-1px); box-shadow: var(--sombra); }
.cartao-uh.discreto:focus { outline: none; box-shadow: var(--foco); }
.cartao-uh.discreto .faixa { display: block; height: 6px; }
.cartao-uh.discreto .dentro { display: block; padding: 8px 10px 10px; }
.cartao-uh.discreto .num { font-family: var(--fonte-titulo); font-size: 1.3rem; font-weight: 800; line-height: 1.1; display: block; }
.cartao-uh.discreto .st { font-size: .74rem; font-weight: 600; display: flex; align-items: center; gap: 5px; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cartao-uh.discreto .st .ponto { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.cartao-uh.discreto .ocup { font-size: .7rem; color: var(--texto-3); margin-top: 2px; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#opcoesStatus .btn.opcao-discreta { border: 1px solid var(--linha-forte) !important; background: var(--superficie) !important; color: var(--texto) !important; display: inline-flex; align-items: center; gap: 6px; justify-content: center; }
#opcoesStatus .btn.opcao-discreta .ponto { width: 10px; height: 10px; border-radius: 50%; }
#opcoesStatus .btn.opcao-discreta.escolhido { border-color: var(--marca) !important; box-shadow: var(--foco) !important; }

/* Quadro de OS (kanban) */
.kanban .coluna { background: var(--superficie-2) !important; border: 1px solid var(--linha); border-radius: var(--raio) !important; }
.kanban .coluna h6 { color: var(--texto); font-family: var(--fonte-titulo); }
.kanban .cartao { background: var(--superficie) !important; color: var(--texto); border: 1px solid var(--linha); box-shadow: none !important; border-radius: 8px !important; }
.kanban .cartao:hover { border-color: var(--linha-forte); }
.kanban .cartao .obs { color: var(--texto-3) !important; }
.kanban .cartao-fantasma { border-color: var(--linha-forte) !important; }

/* Camareiras x UHs */
.resumo-camareiras .badge-light { background: var(--superficie-2); color: var(--texto-2); }
.resumo-camareiras .badge-success { background: var(--marca); color: var(--sobre-marca); }
.cartao-uh.livre { background: var(--superficie) !important; border: 1px dashed var(--linha-forte) !important; color: var(--texto-3) !important; }
.cartao-uh.minha { background: var(--marca) !important; border-color: var(--marca) !important; color: var(--sobre-marca) !important; }
.cartao-uh.outra { background: var(--superficie-2) !important; border: 1px solid var(--linha) !important; color: var(--texto) !important; }
.cartao-uh.mudou::after { background: var(--destaque) !important; }
