/* IMPERIUM PREMIUM v5 — responsivo + refinamento visual
   Seguro para aplicar: não altera Mercado Pago, banco ou regras financeiras. */
:root{
  --imp-bg:#f4f7fb;
  --imp-card:#ffffff;
  --imp-text:#0f172a;
  --imp-muted:#64748b;
  --imp-line:#e2e8f0;
  --imp-blue:#2563eb;
  --imp-green:#0f766e;
  --imp-red:#dc2626;
  --imp-shadow:0 18px 44px rgba(15,23,42,.10);
  --imp-radius:18px;
}
html{scroll-behavior:smooth}
body{background:var(--imp-bg);color:var(--imp-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{max-width:100%}

/* Admin premium polish */
.sidebar{background:linear-gradient(180deg,#fff,#f8fafc)!important;border-right:1px solid rgba(226,232,240,.92)!important;box-shadow:16px 0 44px rgba(15,23,42,.055)}
.brand{margin:10px;border-radius:20px;background:linear-gradient(135deg,#eef6ff,#f0fdfa)!important;border:1px solid rgba(37,99,235,.10)!important;padding:16px!important}
.profile-card{border-radius:17px!important;background:#fff!important;box-shadow:0 10px 28px rgba(15,23,42,.055);border:1px solid rgba(226,232,240,.86)!important}
.menu a,.menu-item,.menu-group summary{border-radius:14px;margin:2px 10px;border-left:0!important;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.menu a:hover,.menu-item:hover,.menu-group summary:hover{transform:translateX(2px);background:#f1f5f9!important}
.menu a.active,.menu-item.active{background:linear-gradient(135deg,#eff6ff,#ecfeff)!important;color:#1d4ed8!important;box-shadow:inset 0 0 0 1px rgba(37,99,235,.10);font-weight:800!important}
.submenu{padding-left:22px!important;padding-right:8px}.submenu a{border-radius:12px!important}
.sidebar-logout{margin:8px 10px 10px;padding:0!important;border-top:0!important}.sidebar-logout a{display:flex;justify-content:center;padding:11px 12px;border-radius:14px;background:#fff5f5;color:#dc2626!important;border:1px solid #fecaca;font-weight:800!important}
.content{background:radial-gradient(circle at top left,rgba(37,99,235,.08),transparent 30%),radial-gradient(circle at bottom right,rgba(15,118,110,.10),transparent 32%),var(--imp-bg)!important}
.topbar,.page-header{background:rgba(255,255,255,.86)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,.84)!important}
.card,.panel,.content-card,.box,.table-wrap,.portal-card{border-radius:var(--imp-radius)!important;border:1px solid rgba(226,232,240,.90)!important;box-shadow:var(--imp-shadow)!important;background:rgba(255,255,255,.96)!important}
.stat-card,.mini-stat{border-radius:18px!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;box-shadow:0 16px 38px rgba(15,23,42,.07)!important;border:1px solid rgba(226,232,240,.85)!important}
button,.btn,input[type=submit]{touch-action:manipulation}.btn,button,.button{border-radius:12px!important;font-weight:750!important}.btn-primary,.btn-success,button[type=submit]{box-shadow:0 12px 28px rgba(37,99,235,.16)}
input,select,textarea{border-radius:12px!important;border-color:#dbe4ef!important;transition:border-color .15s ease,box-shadow .15s ease;background:#fff}input:focus,select:focus,textarea:focus{outline:none!important;border-color:#2563eb!important;box-shadow:0 0 0 4px rgba(37,99,235,.10)!important}
table{border-collapse:separate!important;border-spacing:0!important}thead th{background:#f8fafc!important;color:#475569!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.6px}tbody tr{transition:background .15s ease}tbody tr:hover{background:#f8fafc}

/* Portal morador: páginas internas */
.portal-main{background:transparent!important;min-width:0}.portal-main>div[style*="background:#fff"][style*="border-bottom"]{background:rgba(255,255,255,.86)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,.88)!important;box-shadow:0 10px 28px rgba(15,23,42,.055)}
.dash-hero{border-radius:26px!important;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 56%,#0f766e 100%)!important;box-shadow:0 26px 62px rgba(15,23,42,.22)!important;border:1px solid rgba(255,255,255,.18)!important;overflow:hidden;position:relative}.dash-hero::after{content:"";position:absolute;right:-90px;top:-90px;width:220px;height:220px;border-radius:999px;background:rgba(255,255,255,.13)}.dash-hero>*{position:relative;z-index:1}.dash-stat{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.18)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:18px!important}
.section-card,.cob-card,.cobranca-card{border-radius:22px!important;border:1px solid rgba(226,232,240,.90)!important;box-shadow:0 18px 44px rgba(15,23,42,.08)!important;background:rgba(255,255,255,.97)!important}.cob-card.vencida{border-color:#fecaca!important;background:linear-gradient(180deg,#fff,#fff7f7)!important}.cob-header,.cobranca-top{gap:12px}.cob-valor,.valor-main{letter-spacing:-.8px}.tab-bar{background:#eaf0f7!important;border-radius:18px!important;padding:5px!important;box-shadow:inset 0 0 0 1px rgba(226,232,240,.80)}.tab-btn{border-radius:14px!important;font-weight:800!important}.tab-btn.active{box-shadow:0 8px 20px rgba(37,99,235,.16)!important}.hist-item,.comunicado-item{border-color:#eef2f7!important}
.alert{border-radius:16px!important}.badge{border-radius:999px!important;font-weight:800!important}

/* Login morador mais premium */
.morador-premium-scene{background:radial-gradient(circle at 20% 20%,rgba(56,189,248,.26),transparent 28%),radial-gradient(circle at 85% 10%,rgba(34,197,94,.20),transparent 24%),linear-gradient(135deg,#06142e 0%,#0b2f6e 52%,#064e4c 100%)!important}.morador-premium-card{box-shadow:0 32px 70px rgba(2,6,23,.28)!important;border:1px solid rgba(255,255,255,.64)!important}.hero-points div{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

/* Mobile table/cards */
@media(max-width:980px){
  body{overflow-x:hidden!important}.content,.portal-main{width:100%!important;max-width:100vw!important}.mobile-topbar{background:rgba(255,255,255,.90)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .card,.panel,.content-card,.box,.table-wrap,.portal-card,.section-card,.cob-card,.cobranca-card{border-radius:20px!important;box-shadow:0 12px 28px rgba(15,23,42,.075)!important}
  main.content{padding-bottom:28px!important}.portal-main{padding-left:14px!important;padding-right:14px!important;padding-bottom:104px!important}
  .dash-hero{margin:12px 0 14px!important;border-radius:24px!important}.dash-stats{grid-template-columns:1fr!important}.cob-header,.cobranca-top,.hist-item{align-items:flex-start!important}.cob-meta,.cobranca-meta{grid-template-columns:1fr!important}.cobranca-acoes,.cob-acoes{display:grid!important;grid-template-columns:1fr!important}.cobranca-acoes .btn,.cob-acoes .btn,.cobranca-acoes button,.cob-acoes button{width:100%!important;justify-content:center!important}
  .hero-points{grid-template-columns:1fr!important}.morador-premium-wrap{grid-template-columns:1fr!important}.morador-premium-hero h1{font-size:32px!important}.morador-premium-scene{padding:14px!important}.morador-premium-card{max-width:100%!important;padding:22px!important}
  .mobile-card-table{width:100%!important;border:0!important}.mobile-card-table thead{display:none!important}.mobile-card-table tr{display:block;margin:0 0 12px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 10px 26px rgba(15,23,42,.06);overflow:hidden}.mobile-card-table td{display:grid!important;grid-template-columns:minmax(96px,38%) 1fr;gap:10px;border:0!important;border-bottom:1px solid #eef2f7!important;padding:10px 12px!important;white-space:normal!important}.mobile-card-table td:last-child{border-bottom:0!important}.mobile-card-table td::before{content:attr(data-label);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;font-weight:800}.table-responsive,.table-wrap{overflow:visible!important}
}
@media(max-width:520px){.portal-main{padding-left:12px!important;padding-right:12px!important}.ph-bottom-nav{left:8px!important;right:8px!important;bottom:8px!important}.mobile-card-table td{grid-template-columns:1fr!important;gap:4px}.dash-hero{padding:18px!important}.morador-premium-hero p{font-size:14px!important}}
