/*
 * v6.5.1 — React Visual Shell
 * Visual moderno estilo React/SaaS para o PWA, preservando funcionalidades.
 */

:root{
  --rx-bg:#f3f6fb;
  --rx-sidebar:#0f172a;
  --rx-sidebar-2:#111827;
  --rx-surface:#ffffff;
  --rx-card:#ffffff;
  --rx-text:#0f172a;
  --rx-muted:#64748b;
  --rx-border:#e5eaf2;
  --rx-primary:#2563eb;
  --rx-primary-2:#1d4ed8;
  --rx-purple:#7c3aed;
  --rx-green:#16a34a;
  --rx-orange:#f97316;
  --rx-red:#dc2626;
  --rx-radius:18px;
  --rx-radius-lg:26px;
  --rx-shadow:0 16px 38px rgba(15,23,42,.08);
  --rx-shadow-lg:0 28px 80px rgba(15,23,42,.15);
}

body{
  background:
    radial-gradient(circle at 8% 0%, rgba(37,99,235,.10), transparent 28%),
    radial-gradient(circle at 92% 0%, rgba(124,58,237,.08), transparent 26%),
    var(--rx-bg) !important;
}

#app-sidebar,
.app-sidebar,
.sidebar{
  background:linear-gradient(180deg,var(--rx-sidebar),var(--rx-sidebar-2)) !important;
  border-right:0 !important;
  color:#e5e7eb !important;
  box-shadow:18px 0 55px rgba(15,23,42,.18) !important;
}

#app-sidebar *,
.app-sidebar *,
.sidebar *{
  color:inherit;
}

#app-sidebar a,
.app-sidebar a,
.sidebar a,
.menu-link,
.nav-link{
  color:#cbd5e1 !important;
  border-radius:16px !important;
  margin:4px 10px !important;
  padding:12px 14px !important;
  font-weight:800 !important;
  transition:all .18s ease !important;
}

#app-sidebar a:hover,
.app-sidebar a:hover,
.sidebar a:hover,
.menu-link:hover,
.nav-link:hover{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  transform:translateX(3px);
}

#app-sidebar a.active,
.app-sidebar a.active,
.sidebar a.active,
.menu-link.active,
.nav-link.active{
  background:linear-gradient(135deg,var(--rx-primary),var(--rx-purple)) !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(37,99,235,.34) !important;
}

.app-header,
.topbar,
.ip-topbar,
.header{
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(226,232,240,.9) !important;
  box-shadow:0 12px 34px rgba(15,23,42,.05) !important;
}

.main-content,
.app-main,
#app-content,
.content,
.ip-content{
  background:transparent !important;
}

.wrap h1,
.app-main h1,
.main-content h1,
.ip-content h1{
  font-size:clamp(30px,4vw,46px) !important;
  letter-spacing:-.06em !important;
  line-height:1.04 !important;
  color:var(--rx-text) !important;
  margin-bottom:14px !important;
}

.card,
.ip-card,
.dashboard-card,
.stat-card,
.panel,
.widget,
.box,
.msg-card{
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(226,232,240,.95) !important;
  border-radius:var(--rx-radius-lg) !important;
  box-shadow:var(--rx-shadow) !important;
  backdrop-filter:blur(16px);
}

.card:hover,
.ip-card:hover,
.dashboard-card:hover,
.stat-card:hover,
.panel:hover{
  box-shadow:var(--rx-shadow-lg) !important;
  transform:translateY(-1px);
}

.btn,
.button,
button,
input[type="submit"]{
  border-radius:15px !important;
  font-weight:900 !important;
}

.btn-primary,
.button-primary,
button.primary,
input[type="submit"].primary{
  background:linear-gradient(135deg,var(--rx-primary),var(--rx-primary-2)) !important;
  border-color:var(--rx-primary) !important;
  color:#fff !important;
  box-shadow:0 13px 28px rgba(37,99,235,.24) !important;
}

input,
select,
textarea{
  border-radius:15px !important;
  border:1px solid #cbd5e1 !important;
  background:#fff !important;
  padding:12px 14px !important;
}

table,
.data-table,
.wp-list-table{
  background:#fff !important;
  border:1px solid var(--rx-border) !important;
  border-radius:22px !important;
  overflow:hidden !important;
  box-shadow:var(--rx-shadow) !important;
}

table th,
.data-table th,
.wp-list-table th{
  background:#f8fafc !important;
  color:#334155 !important;
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900 !important;
}

table td,
.data-table td,
.wp-list-table td{
  border-bottom:1px solid #edf2f7 !important;
}

.ip-react-hero{
  background:linear-gradient(135deg,#0f172a 0%, #1d4ed8 54%, #7c3aed 100%);
  color:#fff;
  border-radius:30px;
  padding:30px;
  margin:0 0 22px;
  box-shadow:var(--rx-shadow-lg);
  position:relative;
  overflow:hidden;
}

.ip-react-hero:after{
  content:"";
  position:absolute;
  right:-50px;
  top:-60px;
  width:220px;
  height:220px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
}

.ip-react-hero h1,
.ip-react-hero h2{
  color:#fff !important;
  margin:0 !important;
}

.ip-react-hero p{
  color:rgba(255,255,255,.80);
  max-width:760px;
  margin:8px 0 0;
  font-size:15px;
}

.ip-react-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
}

.ip-react-card{
  background:#fff;
  border:1px solid var(--rx-border);
  border-radius:24px;
  padding:20px;
  box-shadow:var(--rx-shadow);
}

.ip-react-card small{
  display:block;
  color:var(--rx-muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.ip-react-card strong{
  display:block;
  color:var(--rx-text);
  font-size:32px;
  letter-spacing:-.06em;
  margin-top:6px;
}

/* Biblioteca continua especial escura */
.ip-bib-v544,
.ip-r-netflix{
  background:#07111f !important;
}

.ip-bib-v544 .card,
.ip-bib-v544 .ip-card{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
}

/* Mobile */
@media(max-width:800px){
  #app-sidebar,
  .app-sidebar,
  .sidebar{
    box-shadow:none !important;
  }

  .card,
  .ip-card,
  .dashboard-card,
  .stat-card,
  .panel{
    border-radius:22px !important;
  }

  .ip-react-hero{
    padding:23px;
    border-radius:24px;
  }
}


/* ==========================================================================
   v6.5.6 — FORCE REAL PREMIUM UI
   Aplicado diretamente no app.css real do PWA.
   ========================================================================== */

:root{
  --force-bg:#f4f7fb;
  --force-card:#ffffff;
  --force-text:#0f172a;
  --force-muted:#64748b;
  --force-border:#e5eaf2;
  --force-blue:#2563eb;
  --force-blue2:#1d4ed8;
  --force-purple:#7c3aed;
  --force-green:#16a34a;
  --force-red:#dc2626;
  --force-orange:#f97316;
  --force-sidebar:#07111f;
  --force-sidebar2:#0f172a;
  --force-shadow:0 14px 38px rgba(15,23,42,.075);
  --force-shadow-lg:0 24px 70px rgba(15,23,42,.14);
}

html body,
body.ip-app,
body{
  background:
    radial-gradient(circle at 8% 0%,rgba(37,99,235,.08),transparent 30%),
    radial-gradient(circle at 94% 0%,rgba(124,58,237,.06),transparent 28%),
    linear-gradient(180deg,#f8fbff,#f4f7fb) !important;
  color:var(--force-text) !important;
}

/* containers reais possíveis */
.app, .app-shell, .ip-app-shell, .main, main, .app-main, .main-content, #app-content, .content, .ip-content, .page-content, .pwa-content{
  background:
    radial-gradient(circle at 8% 0%,rgba(37,99,235,.07),transparent 30%),
    radial-gradient(circle at 94% 0%,rgba(124,58,237,.05),transparent 28%),
    linear-gradient(180deg,#f8fbff,#f4f7fb) !important;
  color:var(--force-text) !important;
}

/* Sidebar */
#app-sidebar, .app-sidebar, aside.sidebar, .sidebar, .menu-lateral, .side-menu{
  background:linear-gradient(180deg,var(--force-sidebar),var(--force-sidebar2)) !important;
  color:#e5e7eb !important;
  border-right:1px solid rgba(255,255,255,.08) !important;
  box-shadow:16px 0 44px rgba(15,23,42,.15) !important;
}

#app-sidebar *, .app-sidebar *, aside.sidebar *, .sidebar *, .menu-lateral *, .side-menu *{
  color:inherit;
}

#app-sidebar a, .app-sidebar a, aside.sidebar a, .sidebar a, .menu-lateral a, .side-menu a, .nav-link, .menu-link{
  color:#cbd5e1 !important;
  border-radius:16px !important;
  font-weight:850 !important;
}

#app-sidebar a:hover, .app-sidebar a:hover, aside.sidebar a:hover, .sidebar a:hover, .nav-link:hover, .menu-link:hover{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
}

#app-sidebar a.active, .app-sidebar a.active, aside.sidebar a.active, .sidebar a.active, .nav-link.active, .menu-link.active{
  background:linear-gradient(135deg,var(--force-blue),var(--force-purple)) !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(37,99,235,.30) !important;
}

/* Topbar */
.app-header, .topbar, .ip-topbar, header, .header{
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(226,232,240,.96) !important;
  box-shadow:0 8px 28px rgba(15,23,42,.045) !important;
  color:var(--force-text) !important;
}

/* Hero criado/injetado */
.force-premium-hero,
.ip-react-hero, .ip-page-hero, .ip-bib-hero, .ip-module-hero, .page-hero, .module-hero, .pwa-hero, .dashboard-hero{
  background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 54%,#7c3aed 100%) !important;
  color:#fff !important;
  border-radius:30px !important;
  padding:30px !important;
  box-shadow:var(--force-shadow-lg) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  overflow:hidden;
  position:relative;
  margin:0 0 22px !important;
}

.force-premium-hero:after,
.ip-react-hero:after, .ip-page-hero:after, .ip-bib-hero:after, .ip-module-hero:after, .page-hero:after, .module-hero:after, .pwa-hero:after, .dashboard-hero:after{
  content:"";
  position:absolute;
  right:34px;
  top:16px;
  width:190px;
  height:150px;
  border-radius:34px;
  background:rgba(255,255,255,.13);
  transform:rotate(-12deg);
  pointer-events:none;
}

.force-premium-hero h1, .force-premium-hero h2,
.ip-react-hero h1,.ip-react-hero h2,.ip-page-hero h1,.ip-page-hero h2,.ip-bib-hero h1,.ip-bib-hero h2,.ip-module-hero h1,.ip-module-hero h2,.page-hero h1,.page-hero h2,.module-hero h1,.module-hero h2{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  margin:0 !important;
  position:relative;
  z-index:1;
}

.force-premium-hero p,
.ip-react-hero p,.ip-page-hero p,.ip-bib-hero p,.ip-module-hero p,.page-hero p,.module-hero p{
  color:rgba(255,255,255,.84) !important;
  -webkit-text-fill-color:rgba(255,255,255,.84) !important;
  position:relative;
  z-index:1;
}

/* cards */
.card, .ip-card, .dashboard-card, .stat-card, .panel, .widget, .box, .msg-card, .form-card, .content-card, .data-card, .ip-bi-card, .ip-bi-panel{
  background:#fff !important;
  color:var(--force-text) !important;
  border:1px solid var(--force-border) !important;
  border-radius:24px !important;
  box-shadow:var(--force-shadow) !important;
}

.card *, .ip-card *, .dashboard-card *, .stat-card *, .panel *, .widget *, .box *, .msg-card *, .form-card *{
  color:inherit;
}

h1,h2,h3,h4,h5,h6,
.card h1,.card h2,.card h3,.ip-card h1,.ip-card h2,.ip-card h3,.panel h1,.panel h2,.panel h3{
  color:var(--force-text) !important;
  -webkit-text-fill-color:var(--force-text) !important;
}

small,.muted,.text-muted,.description,.help{
  color:var(--force-muted) !important;
  -webkit-text-fill-color:var(--force-muted) !important;
}

/* Formulários: regra mais forte */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.form-control,
.regular-text,
.search-input{
  background:#fff !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  border:1px solid #cbd5e1 !important;
  border-radius:15px !important;
  padding:12px 14px !important;
  font-weight:650 !important;
  box-shadow:none !important;
}

input::placeholder, textarea::placeholder{
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}

form label, .form-label, fieldset label, .field-label{
  color:#1f2937 !important;
  -webkit-text-fill-color:#1f2937 !important;
  font-weight:800 !important;
}

/* Tabelas */
table, .data-table, .wp-list-table{
  background:#fff !important;
  color:#0f172a !important;
  border:1px solid var(--force-border) !important;
  border-radius:22px !important;
  overflow:hidden !important;
  box-shadow:var(--force-shadow) !important;
}

table th, .data-table th, .wp-list-table th{
  background:#f8fafc !important;
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900 !important;
}

table td, .data-table td, .wp-list-table td{
  color:#1f2937 !important;
  -webkit-text-fill-color:#1f2937 !important;
  border-bottom:1px solid #edf2f7 !important;
}

/* Botões */
.btn, .button, button, input[type="submit"], a.button{
  border-radius:15px !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

.btn-primary, .button-primary, button.primary, input[type="submit"].primary, input[type="submit"].button-primary{
  background:linear-gradient(135deg,var(--force-blue),var(--force-blue2)) !important;
  border-color:var(--force-blue) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* default não invisível */
.button:not(.button-primary):not(.btn-whatsapp):not(.btn-wa-send):not(.btn-delete):not(.btn-excluir):not(.btn-edit):not(.btn-editar),
.btn:not(.btn-primary):not(.btn-whatsapp):not(.btn-wa-send):not(.btn-delete):not(.btn-excluir):not(.btn-edit):not(.btn-editar),
button:not(.primary):not(.button-primary):not([data-action*="delete"]):not([data-action*="excluir"]):not([data-action*="edit"]):not([data-action*="editar"]){
  background:#fff !important;
  border:1px solid var(--force-border) !important;
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
}

.btn-wa-send,.btn-whatsapp,a[href*="wa.me"],a[href*="whatsapp"]{
  background:var(--force-green) !important;
  border-color:var(--force-green) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.btn-excluir,.btn-delete,.button-delete,.delete,button[data-action*="excluir"],button[data-action*="delete"],a[href*="excluir"],a[href*="delete"]{
  background:var(--force-red) !important;
  border-color:var(--force-red) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.btn-editar,.btn-edit,button[data-action*="editar"],button[data-action*="edit"],.ip-editar-livro-tab,.ip-force-edit{
  background:var(--force-blue) !important;
  border-color:var(--force-blue) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.btn-warning,.warning,button[data-action*="alerta"],button[data-action*="warning"]{
  background:var(--force-orange) !important;
  border-color:var(--force-orange) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.empty-state,.ip-empty,.no-results,.ip-bib-empty{
  background:#fff !important;
  border:1px dashed #cbd5e1 !important;
  border-radius:24px !important;
  color:var(--force-muted) !important;
  padding:38px 22px !important;
  text-align:center;
}

@media(max-width:800px){
  .force-premium-hero,.ip-react-hero,.ip-page-hero,.ip-bib-hero,.ip-module-hero,.page-hero,.module-hero{
    padding:23px !important;
    border-radius:24px !important;
  }
}
