/* ========================================================================
   IBO ULTRA FIX18 — CAMADA FINAL ESCURA, CONTRASTE E ESTABILIDADE
   Esta camada vem por último para impedir Bootstrap/legado de recriar
   superfícies claras sem usar MutationObserver pesado.
   ======================================================================== */
:root{
  --ibo17-bg:#02070d;
  --ibo17-panel:#071521;
  --ibo17-panel2:#0a1b2b;
  --ibo17-panel3:#0e2539;
  --ibo17-input:#04101a;
  --ibo17-line:#24465f;
  --ibo17-line2:#315d79;
  --ibo17-text:#c4d4df;
  --ibo17-muted:#7f98ab;
  --ibo17-accent:#58b7e5;
}
html,body{background:var(--ibo17-bg)!important;color:var(--ibo17-text)!important;color-scheme:dark!important}
body.rp-theme-dark,#wrapper,#page-content-wrapper,.max-content,.max-container,.container,.container-fluid,.content-wrapper,.main-content,.page-wrapper{background-color:var(--ibo17-bg)!important;background-image:none!important}

/* Superfícies: Bootstrap, plugins e componentes próprios. */
html body :is(
.card,.card-body,.card-header,.card-footer,.panel,.panel-body,.panel-heading,.panel-footer,.well,.jumbotron,
.modal-content,.modal-header,.modal-body,.modal-footer,.dropdown-menu,.popover,.popover-header,.popover-body,.toast,.toast-header,.toast-body,
.list-group,.list-group-item,.accordion,.collapse.show,.offcanvas,.offcanvas-body,.offcanvas-header,.breadcrumb,
.table-responsive,.dataTables_wrapper,.dataTables_scroll,.dataTables_scrollHead,.dataTables_scrollBody,.dataTables_processing,
.rp-section-card,.rp-metric-card,.rp-overview-card,.rp-dashboard-card,.rp-card,.rp-panel,.rp-box,.rp-theme-card,.rp-user-card,
.rp-payment-row,.rp-finance-summary,.rp-plan-item,.rp-plan-item-card,.rev-card,.rev-table,.rp-migrate-card,
.custom-file-label,.input-group-text,.custom-control-label::before,.custom-control-label::after,.progress
){background:var(--ibo17-panel)!important;background-color:var(--ibo17-panel)!important;color:var(--ibo17-text)!important;border-color:var(--ibo17-line)!important}
html body :is(.card-header,.card-footer,.panel-heading,.panel-footer,.modal-header,.modal-footer,.popover-header,thead th,.table thead th){background:var(--ibo17-panel2)!important;background-color:var(--ibo17-panel2)!important;color:var(--ibo17-text)!important}

/* Classes claras do Bootstrap/W3 neutralizadas explicitamente. */
html body :is(.bg-white,.bg-light,.bg-body,.bg-body-secondary,.bg-body-tertiary,.table-light,.table-secondary,.alert-light,.alert-secondary,
.badge-light,.btn-light,.btn-white,.btn-default,.btn-outline-light,.w3-white,.w3-light-grey,.w3-light-gray,.w3-pale-yellow,.w3-pale-blue,.w3-pale-green,.w3-sand,.w3-khaki){
  background:var(--ibo17-panel2)!important;background-color:var(--ibo17-panel2)!important;color:var(--ibo17-text)!important;border-color:var(--ibo17-line)!important
}
html body :is(.btn-light,.btn-white,.btn-default,.btn-outline-light):hover{background:var(--ibo17-panel3)!important;background-color:var(--ibo17-panel3)!important;border-color:var(--ibo17-line2)!important;color:var(--ibo17-text)!important}

/* Formulários, inclusive pseudo-elementos nativos do Bootstrap 4. */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select,.form-control,.form-select,.custom-select,
.bootstrap-select>.dropdown-toggle,.select2-selection,.select2-dropdown,.dataTables_filter input,.dataTables_length select,.dt-input){
  background:var(--ibo17-input)!important;background-color:var(--ibo17-input)!important;color:var(--ibo17-text)!important;-webkit-text-fill-color:var(--ibo17-text)!important;border-color:var(--ibo17-line)!important;box-shadow:none!important
}
html body :is(input,textarea,select,.form-control,.form-select,.custom-select):focus{background:#071521!important;background-color:#071521!important;color:var(--ibo17-text)!important;-webkit-text-fill-color:var(--ibo17-text)!important;border-color:#4b8ab2!important;box-shadow:0 0 0 3px rgba(75,138,178,.14)!important;outline:none!important}
html body input::placeholder,html body textarea::placeholder{color:#688398!important;opacity:1!important}
html body option,html body optgroup{background:var(--ibo17-input)!important;color:var(--ibo17-text)!important}
html body input[readonly],html body textarea[readonly],html body input:disabled,html body textarea:disabled,html body select:disabled{background:#07131f!important;background-color:#07131f!important;color:#8fa8ba!important;-webkit-text-fill-color:#8fa8ba!important;opacity:1!important}
html body input[type=file],html body input[type=file]::file-selector-button,html body ::-webkit-file-upload-button{background:var(--ibo17-panel2)!important;background-color:var(--ibo17-panel2)!important;color:var(--ibo17-text)!important;border-color:var(--ibo17-line2)!important}
html body .custom-file-label::after{background:var(--ibo17-panel3)!important;background-color:var(--ibo17-panel3)!important;color:var(--ibo17-text)!important;border-left-color:var(--ibo17-line)!important}
html body .custom-control-input:not(:checked)~.custom-control-label::before{background:var(--ibo17-input)!important;background-color:var(--ibo17-input)!important;border-color:var(--ibo17-line2)!important}
html body .custom-control-input:disabled~.custom-control-label::before{background:#07131f!important;background-color:#07131f!important}

/* Tabelas e paginação. */
html body table,html body .table{background:var(--ibo17-panel)!important;background-color:var(--ibo17-panel)!important;color:var(--ibo17-text)!important}
html body tbody tr{background:#06131f!important;background-color:#06131f!important;color:var(--ibo17-text)!important}
html body tbody tr:nth-child(even){background:#081a29!important;background-color:#081a29!important}
html body tbody tr:hover{background:#0d2436!important;background-color:#0d2436!important}
html body td,html body th{color:var(--ibo17-text)!important;border-color:#19384f!important}
html body :is(.page-link,.pagination .page-link,.nav-tabs .nav-link,.nav-pills .nav-link){background:var(--ibo17-panel)!important;background-color:var(--ibo17-panel)!important;color:var(--ibo17-text)!important;border-color:var(--ibo17-line)!important}
html body :is(.page-item.active .page-link,.nav-tabs .nav-link.active,.nav-pills .nav-link.active){background:#123a58!important;background-color:#123a58!important;color:var(--ibo17-text)!important;border-color:#3b7195!important}
html body .page-item.disabled .page-link{background:#07131f!important;background-color:#07131f!important;color:#637d91!important}

/* Texto: nada em branco puro; leitura suave. */
html body :is(h1,h2,h3,h4,h5,h6,strong,b,.text-white,.text-light,.text-body,.text-dark,.text-black){color:var(--ibo17-text)!important}
html body :is(.text-muted,.form-text,.small,small){color:var(--ibo17-muted)!important}
html body hr,html body :is(.border,.border-light,.border-white){border-color:#19384f!important}
html body code,html body pre{background:#030c15!important;background-color:#030c15!important;color:#9fc5da!important;border-color:#1f4058!important}

/* Alerts claros viram variantes escuras. */
html body .alert-success{background:#0b2b21!important;color:#86cfaa!important;border-color:#235b47!important}
html body .alert-danger{background:#2d1119!important;color:#dca4b2!important;border-color:#672a3b!important}
html body .alert-warning{background:#2b230d!important;color:#d1b36a!important;border-color:#675520!important}
html body .alert-info{background:#0b2635!important;color:#86bad4!important;border-color:#235974!important}

/* Menu/pesquisa — contraste e área clicável estáveis. */
#sidebar-wrapper.rp-menu-sheet .rp-menu-search{background:#06131f!important;border-color:#244a66!important;box-shadow:0 8px 22px rgba(0,0,0,.18)!important}
#sidebar-wrapper.rp-menu-sheet .rp-menu-search input{background:transparent!important;background-color:transparent!important;color:var(--ibo17-text)!important;-webkit-text-fill-color:var(--ibo17-text)!important}
#sidebar-wrapper.rp-menu-sheet .rp-menu-search input::placeholder{color:#68879b!important}
#sidebar-wrapper.rp-menu-sheet .rp-menu-search-icon,#sidebar-wrapper.rp-menu-sheet .rp-menu-search-clear{color:#79aeca!important}
#sidebar-wrapper.rp-menu-sheet .rp-menu-live-results{background:#06131f!important;border-color:#244a66!important}

/* Ativar por MAC — formato realmente largo, plano e editável. */
body.rp-page-ativar_mac .max-container{width:100%!important;max-width:none!important;padding-left:8px!important;padding-right:8px!important}
body.rp-page-ativar_mac .rp-mac13{width:100%!important;max-width:none!important;margin:0!important;padding:0 0 52px!important}
body.rp-page-ativar_mac .rp-mac13-top{border-radius:10px!important;margin-bottom:8px!important;padding:11px 13px!important}
body.rp-page-ativar_mac .rp-mac13-editor{width:100%!important;max-width:none!important;border-radius:10px!important;margin-bottom:8px!important;padding:12px!important;box-shadow:none!important}
body.rp-page-ativar_mac .rp-mac13-editor.is-open{display:block!important}
body.rp-page-ativar_mac .rp-mac13-editor form{width:100%!important;max-width:none!important;pointer-events:auto!important}
body.rp-page-ativar_mac .rp-mac13-field,body.rp-page-ativar_mac .rp-mac13-field input,body.rp-page-ativar_mac .rp-mac13-field select,body.rp-page-ativar_mac .rp-mac13-field textarea{pointer-events:auto!important;touch-action:manipulation!important;user-select:text!important;-webkit-user-select:text!important;opacity:1!important}
body.rp-page-ativar_mac .rp-mac13-basic{grid-template-columns:minmax(205px,1.35fr) minmax(190px,1.2fr) minmax(170px,1fr) minmax(150px,.9fr) 110px!important;gap:8px!important}
body.rp-page-ativar_mac .rp-mac13-access{grid-template-columns:minmax(420px,2.35fr) minmax(190px,1fr) minmax(190px,1fr)!important;gap:8px!important}
body.rp-page-ativar_mac .rp-mac13-devices{width:100%!important;border-radius:10px!important;box-shadow:none!important}
body.rp-page-ativar_mac .rp-mac13-list{width:100%!important;display:block!important}
body.rp-page-ativar_mac .rp-mac13-device{width:100%!important;min-height:62px!important;grid-template-columns:minmax(230px,1.65fr) minmax(180px,1.15fr) 82px minmax(135px,.8fr) minmax(260px,1.35fr)!important;gap:8px!important;padding:9px 12px!important;border-radius:0!important;box-shadow:none!important}
body.rp-page-ativar_mac .rp-mac13-device-actions{justify-content:flex-end!important;min-width:0!important}
body.rp-page-ativar_mac .rp-mac13-add{white-space:normal!important;line-height:1.15!important}
@media(max-width:1100px){body.rp-page-ativar_mac .rp-mac13-basic{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.rp-page-ativar_mac .rp-mac13-access{grid-template-columns:1.4fr 1fr 1fr!important}body.rp-page-ativar_mac .rp-mac13-device{grid-template-columns:1.25fr 1fr .55fr .8fr 1.15fr!important}}
@media(max-width:820px){body.rp-page-ativar_mac .rp-mac13-basic{grid-template-columns:1fr 1fr!important}body.rp-page-ativar_mac .rp-mac13-access{grid-template-columns:1fr 1fr!important}body.rp-page-ativar_mac .rp-mac13-m3u{grid-column:1/-1!important}body.rp-page-ativar_mac .rp-mac13-device{grid-template-columns:1fr 1fr!important}body.rp-page-ativar_mac .rp-mac13-device-actions{grid-column:1/-1!important;justify-content:flex-start!important}}
@media(max-width:580px){body.rp-page-ativar_mac .rp-mac13-basic,body.rp-page-ativar_mac .rp-mac13-access{grid-template-columns:1fr!important}body.rp-page-ativar_mac .rp-mac13-m3u{grid-column:auto!important}body.rp-page-ativar_mac .rp-mac13-device{grid-template-columns:1fr!important;border:1px solid #1c4059!important;border-radius:9px!important;margin-bottom:7px!important}body.rp-page-ativar_mac .rp-mac13-device-actions{grid-column:auto!important}}

/* Reduz GPU/efeitos caros na área administrativa. */
body.rp-theme-dark :is(.card,.modal-content,.rp-section-card,.rp-metric-card,.rp-menu-sheet,.rp-topbar,.rp-mobile-nav,.dropdown-menu){backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}
body.rp-theme-dark #js-particles,body.rp-theme-dark #js-particles canvas{display:none!important}

/* FIX18 - Clientes/Listas: aproveitamento real da largura e editor compacto */
body.rp-page-playlists .max-container{width:100%!important;max-width:none!important;padding-left:10px!important;padding-right:10px!important}
body.rp-page-playlists .rp-client-v10,
body.rp-page-playlists .rp-client-v10-create,
body.rp-page-playlists .rp-client-v10-edit{width:100%!important;max-width:none!important;margin:0 0 42px!important;padding:0!important}
body.rp-page-playlists .rp-client-v10-head{width:100%!important;margin-bottom:10px!important}
body.rp-page-playlists .rp-v10-card{width:100%!important;max-width:none!important;border-radius:11px!important;box-shadow:none!important}
body.rp-page-playlists .rp-v10-base-grid{display:grid!important;grid-template-columns:minmax(230px,1.5fr) minmax(185px,1.05fr) minmax(170px,.9fr) minmax(160px,.85fr)!important;gap:9px!important}
body.rp-page-playlists .rp-v10-list-editor{width:100%!important;max-width:none!important}
body.rp-page-playlists .rp-v10-list-grid{display:grid!important;grid-template-columns:minmax(360px,2fr) minmax(180px,1fr) minmax(180px,1fr)!important;gap:9px!important}
body.rp-page-playlists .rp-v10-list-grid .rp-v10-span-all{grid-column:1/-1!important}
body.rp-page-playlists .rp-v10-section,
body.rp-page-playlists .rp-v10-list-block{border-radius:10px!important;box-shadow:none!important}
body.rp-page-playlists .rp-client-search-wrap{width:100%!important;max-width:none!important;margin:8px 0 12px!important}
body.rp-page-playlists .table-responsive{width:100%!important;max-width:none!important}
@media(max-width:1080px){body.rp-page-playlists .rp-v10-base-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.rp-page-playlists .rp-v10-list-grid{grid-template-columns:1.25fr 1fr 1fr!important}}
@media(max-width:720px){body.rp-page-playlists .max-container{padding-left:7px!important;padding-right:7px!important}body.rp-page-playlists .rp-v10-base-grid,body.rp-page-playlists .rp-v10-list-grid{grid-template-columns:1fr!important}body.rp-page-playlists .rp-v10-list-grid .rp-v10-span-all{grid-column:auto!important}}

/* FIX18 - override final Cliente/Listas: largura real + formulário horizontal */
body.rp-page-playlists .rp-client-v10,
body.rp-page-playlists .rp-client-v10-create,
body.rp-page-playlists .rp-client-v10-edit{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
body.rp-page-playlists .rp-client-v10-head{width:100%!important;border-radius:11px!important}
body.rp-page-playlists .rp-v10-section{width:100%!important;border-radius:11px!important;box-shadow:none!important}
body.rp-page-playlists .rp-v10-grid-base{grid-template-columns:minmax(230px,1.45fr) minmax(205px,1.15fr) minmax(170px,.9fr) 125px!important}
body.rp-page-playlists .rp-v10-grid-edit{grid-template-columns:minmax(220px,1.35fr) minmax(205px,1.12fr) minmax(160px,.9fr) 125px minmax(160px,.9fr)!important}
body.rp-page-playlists .rp-v10-grid-list{grid-template-columns:minmax(180px,.85fr) minmax(350px,1.8fr) minmax(190px,1fr)!important}
body.rp-page-playlists .rp-v10-list-editor{width:100%!important;max-width:none!important}
body.rp-page-playlists .rp-client-v10 .rp-list-form-grid{grid-template-columns:minmax(180px,.9fr) minmax(310px,1.6fr) minmax(180px,.9fr)!important}
body.rp-page-playlists .rp-v10-list-launch,
body.rp-page-playlists .rp-v10-optional,
body.rp-page-playlists .rp-v10-form-actions{width:100%!important;max-width:none!important}
@media(max-width:1120px){body.rp-page-playlists .rp-v10-grid-base,body.rp-page-playlists .rp-v10-grid-edit{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.rp-page-playlists .rp-v10-grid-list,body.rp-page-playlists .rp-client-v10 .rp-list-form-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:720px){body.rp-page-playlists .rp-v10-grid-base,body.rp-page-playlists .rp-v10-grid-edit,body.rp-page-playlists .rp-v10-grid-list,body.rp-page-playlists .rp-client-v10 .rp-list-form-grid{grid-template-columns:1fr!important}body.rp-page-playlists .rp-v10-span-2,body.rp-page-playlists .rp-client-v10 .rp-list-span-2{grid-column:auto!important}}


/* ========================================================================
   IBO ULTRA FIX18 — TRAVA FINAL SEM BRANCO + CAMPOS MAC INTERATIVOS
   ======================================================================== */
:root{
  --ibo18-bg:#02070d;
  --ibo18-surface:#06131f;
  --ibo18-surface2:#081a29;
  --ibo18-surface3:#0c2233;
  --ibo18-input:#03101a;
  --ibo18-border:#23465f;
  --ibo18-text:#b9cbd8;
  --ibo18-muted:#7891a4;
}
html,body{background:#02070d!important;color:var(--ibo18-text)!important}
/* Bootstrap e plugins que ainda podem gerar superfície clara em runtime. */
html body :is(fieldset,.form-group,.form-row,.input-group,.input-group-prepend,.input-group-append,.custom-file,.custom-file-label,
.dropdown-menu,.dropdown-item,.list-group,.list-group-item,.media,.media-body,.tab-content,.tab-pane,.nav-tabs,.nav-pills,
.dataTables_wrapper,.dataTables_info,.dataTables_paginate,.dataTables_length,.dataTables_filter,.dataTables_empty,
.note-editor,.note-toolbar,.note-editable,.ql-toolbar,.ql-container,.tox,.tox-editor-container,.cke,.cke_inner,
.swal2-popup,.sweet-alert,.select2-container,.select2-results,.select2-results__option,.bootstrap-select .dropdown-menu){
  background-color:var(--ibo18-surface)!important;color:var(--ibo18-text)!important;border-color:var(--ibo18-border)!important;
}
html body :is(.dropdown-item:hover,.dropdown-item:focus,.select2-results__option--highlighted,.select2-results__option[aria-selected="true"]){
  background-color:var(--ibo18-surface3)!important;color:var(--ibo18-text)!important;
}
html body :is(.btn-secondary,.btn-outline-secondary,.btn-link){
  background-color:#0a2234!important;color:#a9c6d8!important;border-color:#2b5875!important;
}
html body :is(.btn-secondary,.btn-outline-secondary):hover{background-color:#0e3048!important;color:#c4d6e1!important}
html body :is(input,select,textarea,button,.btn,a){-webkit-tap-highlight-color:transparent}
html body input[type="date"],html body input[type="datetime-local"],html body input[type="time"]{color-scheme:dark!important}
html body ::-webkit-calendar-picker-indicator{filter:invert(.72) sepia(.12) saturate(.8)!important;opacity:.8}

/* Nunca deixe o estado residual do menu móvel bloquear o conteúdo. O backdrop
   continua ficando acima do conteúdo quando o menu está realmente aberto. */
@media(max-width:767.98px){
  body.mobile-menu-open #page-content-wrapper{pointer-events:auto!important}
  #page-content-wrapper{pointer-events:auto!important}
}

/* Ativar por MAC: editor largo, acima de qualquer camada decorativa e 100% digitável. */
body.rp-page-ativar_mac .rp-mac13-editor{position:relative!important;z-index:20!important;overflow:visible!important}
body.rp-page-ativar_mac .rp-mac13-editor form,
body.rp-page-ativar_mac .rp-mac13-editor label,
body.rp-page-ativar_mac .rp-mac13-editor input,
body.rp-page-ativar_mac .rp-mac13-editor select,
body.rp-page-ativar_mac .rp-mac13-editor textarea,
body.rp-page-ativar_mac .rp-mac13-editor button,
body.rp-page-ativar_mac .rp-mac13-editor details,
body.rp-page-ativar_mac .rp-mac13-editor summary{
  position:relative!important;z-index:21!important;pointer-events:auto!important;touch-action:manipulation!important;
}
body.rp-page-ativar_mac .rp-mac13-editor input,
body.rp-page-ativar_mac .rp-mac13-editor select,
body.rp-page-ativar_mac .rp-mac13-editor textarea{
  background:#03101a!important;color:#b9cbd8!important;-webkit-text-fill-color:#b9cbd8!important;caret-color:#79c8ef!important;
  user-select:text!important;-webkit-user-select:text!important;opacity:1!important;
}
body.rp-page-ativar_mac .rp-mac13-top,
body.rp-page-ativar_mac .rp-mac13-editor,
body.rp-page-ativar_mac .rp-mac13-devices{background:#06131f!important;background-image:none!important}
body.rp-page-ativar_mac .rp-mac13-basic{grid-template-columns:minmax(220px,1.45fr) minmax(200px,1.2fr) minmax(190px,1fr) minmax(165px,.9fr) 115px!important}
body.rp-page-ativar_mac .rp-mac13-access{grid-template-columns:minmax(460px,2.5fr) minmax(190px,1fr) minmax(190px,1fr)!important}
@media(min-width:1200px){body.rp-page-ativar_mac .rp-mac13-editor{padding:14px 16px!important}body.rp-page-ativar_mac .max-container{padding-left:12px!important;padding-right:12px!important}}

/* Remove brilho/sombras desnecessárias para renderizar mais rápido em celulares. */
@media(max-width:900px){
  body.rp-theme-dark :is(.card,.rp-section-card,.rp-metric-card,.rp-overview-card,.rp-menu-card,.modal-content,.dropdown-menu){box-shadow:none!important}
  body.rp-theme-dark :is(.rp-topbar,.rp-mobile-nav,.rp-menu-sheet){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
