/* Vectra/Suprema Portal v137 - correcao segura do portal
   So CSS conservador. Nao oculta blocos por :has e nao mexe em estrutura.
*/
:root {
  --vpf-navy:#07152d;
  --vpf-blue:#1e63f0;
  --vpf-blue-2:#2d8cff;
  --vpf-green:#008e37;
  --vpf-text:#101828;
  --vpf-muted:#667085;
  --vpf-border:rgba(15,23,42,.10);
  --vpf-shadow:0 14px 34px rgba(15,23,42,.08);
  --vpf-shadow-hover:0 20px 54px rgba(15,23,42,.12);
}
body { background: linear-gradient(135deg,#f7fbff 0%,#f2f6fb 48%,#f8fbff 100%) !important; }
.portal-header,.home-header,.dashboard-header,.page-intro,.welcome-card,.card:first-child {
  border-radius:22px!important; border:1px solid rgba(15,23,42,.08)!important; background:rgba(255,255,255,.94)!important; box-shadow:var(--vpf-shadow)!important;
}
.module-card,.dashboard-card,.quick-card,.home-card,.portal-card,.kpi-card,.stat-card {
  min-height:180px; border-radius:22px!important; border:1px solid rgba(15,23,42,.08)!important; background:rgba(255,255,255,.95)!important; box-shadow:var(--vpf-shadow)!important; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}
.module-card:hover,.dashboard-card:hover,.quick-card:hover,.home-card:hover,.portal-card:hover,.kpi-card:hover,.stat-card:hover {
  transform:translateY(-2px)!important; box-shadow:var(--vpf-shadow-hover)!important; border-color:rgba(30,99,240,.18)!important;
}
.module-card h3,.module-card h4,.dashboard-card h3,.dashboard-card h4,.quick-card h3,.quick-card h4,.home-card h3,.home-card h4,.portal-card h3,.portal-card h4 {
  color:#0b1730!important; font-weight:900!important; letter-spacing:-.025em!important;
}
.module-card p,.dashboard-card p,.quick-card p,.home-card p,.portal-card p { color:var(--vpf-muted)!important; line-height:1.55!important; }
.module-card .icon,.module-card .card-icon,.dashboard-card .icon,.dashboard-card .card-icon,.quick-card .icon,.quick-card .card-icon,.home-card .icon,.home-card .card-icon,.portal-card .icon,.portal-card .card-icon {
  width:44px!important; height:44px!important; display:inline-grid!important; place-items:center!important; border-radius:14px!important; background:linear-gradient(135deg, rgba(30,99,240,.10), rgba(0,142,55,.08))!important;
}
.module-card .btn,.dashboard-card .btn,.quick-card .btn,.home-card .btn,.portal-card .btn,.module-card button,.dashboard-card button,.quick-card button,.home-card button,.portal-card button {
  border-radius:12px!important; font-weight:800!important;
}
.modules-grid,.dashboard-grid,.quick-actions,.portal-modules,.home-modules { gap:clamp(14px,1.6vw,22px)!important; }
.local-access,.network-access,.server-access { opacity:.72; }
.vectra-footer,footer { color:#98a2b3!important; }
@media (max-width:768px){ .module-card,.dashboard-card,.quick-card,.home-card,.portal-card{ min-height:auto; border-radius:18px!important; } }
