/* =========================================================
   BRSYS APP - DASHBOARD V1 CLEAN
   Painel comercial de reservas diretas
========================================================= */

.page-dashboard{
  --dash-border:var(--border);
  --dash-border-strong:var(--border-strong);

  --dash-text:var(--text);
  --dash-text-soft:var(--muted);
  --dash-text-faint:var(--muted-soft);

  --dash-primary:var(--primary);
  --dash-accent:var(--accent);
  --dash-success:var(--success);
  --dash-warning:var(--warning);
  --dash-danger:var(--danger);
  --dash-featured:var(--featured);

  --dash-radius-xl:24px;
  --dash-radius-lg:20px;
  --dash-radius-md:16px;

  --dash-shadow:0 10px 26px rgba(16,32,51,.065);
  --dash-shadow-hover:0 16px 38px rgba(16,32,51,.10);
}

/* =========================================================
   BASE
========================================================= */

.page-dashboard .page-shell{
  max-width:1440px;
}

.page-dashboard .page-content{
  gap:18px;
}

.page-dashboard .topbar{
  margin-bottom:18px;
}

.page-dashboard .topbar-brand-text h1{
  font-size:1.12rem;
}

.page-dashboard .card{
  border-radius:var(--dash-radius-xl);
}

/* =========================================================
   HELPERS
========================================================= */

.page-dashboard .grid-2,
.page-dashboard .grid-3,
.page-dashboard .grid-4{
  display:grid;
  gap:14px;
  min-width:0;
}

.page-dashboard .grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.page-dashboard .grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.page-dashboard .grid-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.page-dashboard .section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
  flex-wrap:wrap;
}

.page-dashboard .section-heading h3{
  margin:0;
  font-size:1.08rem;
  letter-spacing:-.03em;
}

.page-dashboard .section-heading .muted-text{
  margin-top:4px;
  font-size:.88rem;
  line-height:1.45;
}

.page-dashboard .btn{
  min-height:40px;
  padding:0 14px;
  border-radius:14px;
  font-size:.9rem;
}

/* =========================================================
   TOOLBAR
========================================================= */

.page-dashboard .module-toolbar{
  padding:2px 0 0;
}

.page-dashboard .module-toolbar h2{
  font-size:1.38rem;
}

.page-dashboard .module-toolbar-actions{
  gap:10px;
}

/* =========================================================
   KPI
========================================================= */

.page-dashboard .dashboard-kpi-grid{
  align-items:stretch;
}

.page-dashboard .dashboard-kpi-card{
  position:relative;
  overflow:hidden;
  min-height:104px;
  padding:16px 18px;
  border:1px solid var(--dash-border);
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
  box-shadow:var(--dash-shadow);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.page-dashboard .dashboard-kpi-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg, var(--dash-accent), var(--dash-primary));
}

.page-dashboard .dashboard-kpi-card:hover{
  transform:translateY(-2px);
  border-color:var(--dash-border-strong);
  box-shadow:var(--dash-shadow-hover);
}

.page-dashboard .dashboard-kpi-card .eyebrow{
  margin-bottom:10px;
  font-size:.68rem;
}

.page-dashboard .dashboard-kpi-card h3{
  margin:0;
  font-size:1.85rem;
  line-height:1;
  letter-spacing:-.045em;
  color:var(--dash-text);
}

.page-dashboard .dashboard-kpi-note{
  margin-top:8px;
  color:var(--dash-text-soft);
  font-size:.84rem;
  line-height:1.42;
}

.page-dashboard .kpi-primary::before{
  background:linear-gradient(90deg, var(--dash-accent), var(--dash-primary));
}

.page-dashboard .kpi-info::before{
  background:linear-gradient(90deg, #4db8ff, var(--dash-primary));
}

.page-dashboard .kpi-warning::before{
  background:linear-gradient(90deg, #f2b84b, #ee8a33);
}

.page-dashboard .kpi-success::before{
  background:linear-gradient(90deg, #3ddc91, #22a06b);
}

/* =========================================================
   PIPELINE
========================================================= */

.page-dashboard .dashboard-pipeline-card{
  padding:18px;
  box-shadow:var(--dash-shadow);
}

.page-dashboard .dashboard-pipeline-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:11px;
}

.page-dashboard .dashboard-pipe-card{
  position:relative;
  overflow:hidden;
  min-height:88px;
  padding:14px;
  border-radius:18px;
  background:linear-gradient(180deg, var(--surface-2), var(--surface));
  border:1px solid var(--dash-border);
  box-shadow:0 8px 18px rgba(16,32,51,.045);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.page-dashboard .dashboard-pipe-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--dash-primary);
}

.page-dashboard .dashboard-pipe-card:hover{
  transform:translateY(-2px);
  border-color:var(--dash-border-strong);
  box-shadow:var(--dash-shadow);
}

.page-dashboard .dashboard-pipe-card span{
  display:block;
  margin-bottom:8px;
  color:var(--dash-text-faint);
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.075em;
}

.page-dashboard .dashboard-pipe-card strong,
.page-dashboard .dashboard-pipe-card h3{
  display:block;
  margin:0;
  font-size:1.55rem;
  line-height:1;
  letter-spacing:-.04em;
  color:var(--dash-text);
}

.page-dashboard .pipe-novo::before{ background:#4db8ff; }
.page-dashboard .pipe-atendimento::before{ background:#1976b8; }
.page-dashboard .pipe-cotacao::before{ background:#7b61ff; }
.page-dashboard .pipe-pagamento::before{ background:#f2b84b; }
.page-dashboard .pipe-confirmado::before{ background:#22a06b; }
.page-dashboard .pipe-hospedado::before{ background:#6d5fe8; }

/* =========================================================
   BOTTOM GRID
========================================================= */

.page-dashboard .dashboard-bottom-grid{
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  gap:14px;
  align-items:start;
}

/* =========================================================
   MODULES
========================================================= */

.page-dashboard .dashboard-module-card{
  display:grid;
  gap:14px;
  padding:18px;
  box-shadow:var(--dash-shadow);
}

.page-dashboard .dashboard-module-grid{
  display:grid;
  gap:9px;
}

.page-dashboard .dashboard-module-link{
  display:grid;
  gap:4px;
  padding:13px 14px;
  border-radius:16px;
  border:1px solid var(--dash-border);
  background:linear-gradient(180deg, var(--surface-2), var(--surface));
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.page-dashboard .dashboard-module-link:hover{
  transform:translateY(-2px);
  border-color:var(--dash-border-strong);
  box-shadow:var(--dash-shadow);
  background:var(--surface);
}

.page-dashboard .dashboard-module-link span{
  color:var(--dash-primary);
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.page-dashboard .dashboard-module-link strong{
  color:var(--dash-text);
  font-size:.9rem;
  line-height:1.32;
}

/* =========================================================
   RECENTES
========================================================= */

.page-dashboard .dashboard-recent-card{
  padding:18px;
  box-shadow:var(--dash-shadow);
}

.page-dashboard #recentLeadsList{
  display:grid;
  gap:9px;
}

.page-dashboard .dashboard-recent-item{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:18px;
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
  border:1px solid var(--dash-border);
  box-shadow:0 8px 18px rgba(16,32,51,.045);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.page-dashboard .dashboard-recent-item:hover{
  transform:translateY(-2px);
  border-color:var(--dash-border-strong);
  box-shadow:var(--dash-shadow);
}

.page-dashboard .dashboard-recent-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.page-dashboard .dashboard-recent-copy{
  display:grid;
  gap:3px;
  min-width:0;
}

.page-dashboard .dashboard-recent-copy h3{
  font-size:.96rem;
  color:var(--dash-text);
  letter-spacing:-.02em;
}

.page-dashboard .dashboard-recent-subtitle{
  color:var(--dash-text-soft);
  font-size:.85rem;
  line-height:1.38;
}

.page-dashboard .dashboard-recent-price{
  flex-shrink:0;
  color:var(--dash-text);
  font-size:.92rem;
  font-weight:900;
  letter-spacing:-.03em;
  white-space:nowrap;
}

.page-dashboard .dashboard-recent-badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.page-dashboard .dashboard-recent-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid var(--dash-border);
  background:var(--pill);
  color:var(--dash-text-soft);
  font-size:.7rem;
  font-weight:900;
}

.page-dashboard .dashboard-recent-meta{
  display:grid;
  gap:6px;
}

.page-dashboard .dashboard-recent-meta div{
  color:var(--dash-text-soft);
  font-size:.82rem;
  line-height:1.38;
}

.page-dashboard .dashboard-recent-meta strong{
  color:var(--dash-text);
}

.page-dashboard .dashboard-recent-item.is-confirmed{
  border-left:5px solid var(--dash-success);
}

.page-dashboard .dashboard-recent-item.is-payment{
  border-left:5px solid var(--dash-warning);
}

.page-dashboard .dashboard-recent-item.is-quote{
  border-left:5px solid var(--dash-featured);
}

.page-dashboard .dashboard-recent-item.is-service{
  border-left:5px solid var(--dash-primary);
}

.page-dashboard .dashboard-recent-item.is-lost{
  border-left:5px solid var(--dash-danger);
}

.page-dashboard .dashboard-recent-item.is-default{
  border-left:5px solid var(--dash-primary);
}

/* =========================================================
   EMPTY / FOOTER
========================================================= */

.page-dashboard .empty-state{
  padding:16px;
  border-radius:16px;
  background:var(--surface-2);
  border:1px dashed var(--dash-border-strong);
  color:var(--dash-text-soft);
  text-align:center;
  font-size:.86rem;
  line-height:1.45;
}

.page-dashboard .dashboard-footer{
  margin-top:0;
  font-size:.82rem;
  color:var(--dash-text-faint);
}

/* =========================================================
   LEGADO SEGURO
   Mantém compatibilidade caso o HTML antigo ainda carregue algo
========================================================= */

.page-dashboard .dashboard-hero,
.page-dashboard .dashboard-command-card,
.page-dashboard .dashboard-user-card,
.page-dashboard .dashboard-focus-card,
.page-dashboard .dashboard-money-grid,
.page-dashboard .dashboard-finance-card{
  display:none;
}

/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width:1280px){
  .page-dashboard .grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .page-dashboard .dashboard-pipeline-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .page-dashboard .dashboard-bottom-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:900px){
  .page-dashboard .grid-2,
  .page-dashboard .grid-3,
  .page-dashboard .dashboard-pipeline-grid{
    grid-template-columns:1fr;
  }

  .page-dashboard .dashboard-recent-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .page-dashboard .dashboard-recent-price{
    white-space:normal;
  }
}

@media (max-width:640px){
  .page-dashboard .grid-4{
    grid-template-columns:1fr;
  }

  .page-dashboard .module-toolbar-actions,
  .page-dashboard .actions{
    flex-direction:column;
    align-items:stretch;
    width:100%;
  }

  .page-dashboard .module-toolbar-actions .btn,
  .page-dashboard .module-toolbar-actions a.btn,
  .page-dashboard .actions .btn,
  .page-dashboard .actions a.btn{
    width:100%;
  }

  .page-dashboard .dashboard-kpi-card,
  .page-dashboard .dashboard-pipeline-card,
  .page-dashboard .dashboard-module-card,
  .page-dashboard .dashboard-recent-card{
    padding:16px;
  }

  .page-dashboard .dashboard-pipe-card{
    min-height:78px;
  }
}
