/* assets/css/app.css - CRSC Layout */

:root{
  --brand:#0f172a;
  --brand-2:#1e293b;
  --acc:#2563eb;
}

html,body{
  height:100%;
}

/* Layout base */
body.app-body{
  min-height:100vh;
  margin:0;
  background:#f6f8fb;
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* Sidebar fixo à esquerda */
.app-sidebar{
  width:260px;
  background:linear-gradient(180deg,var(--brand),var(--brand-2));
  color:#fff;
  position:fixed;
  top:0;
  bottom:0;
  left:0;
  z-index:1030;
  box-shadow: 2px 0 18px rgba(2,6,23,.2);
}

.app-sidebar .brand{
  color:#fff;
  font-weight:700;
  border-bottom:1px solid rgba(255,255,255,.12);
  font-size:0.95rem;
}

.app-sidebar .nav-link{
  color:#e5e7eb;
  border-radius:10px;
  margin:4px 8px;
  padding:.55rem .8rem;
  font-size:0.92rem;
}

.app-sidebar .nav-link i{
  margin-right:.35rem;
}

.app-sidebar .nav-link:hover,
.app-sidebar .nav-link.active{
  background:rgba(255,255,255,.14);
  color:#fff;
}

.app-sidebar small.text-uppercase{
  font-size:.72rem;
  letter-spacing:.1em;
  color:#9ca3af;
}

/* Topbar */
.app-topbar{
  position:sticky;
  top:0;
  z-index:1020;
  margin-left:260px;
  height:64px;
  background:#f9fafb;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}

.btn-sidebar-toggle{
  display:none;
}

/* Conteúdo principal */
.app-content{
  margin-left:260px;
  padding:24px 32px 32px 32px;
}

.app-content .container-fluid{
  padding:0;
}

/* Limita largura do conteúdo */
.app-shell{
  max-width:1200px;
  margin:0 auto;
}

/* Cards & títulos */
.sec-title{
  font-weight:700;
  letter-spacing:.3px;
  color:#334155;
}

.card{
  border:none;
  box-shadow:0 8px 30px rgba(2,6,23,.06);
  border-radius:14px;
}

/* KPIs do painel */
.kpi{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border-radius:14px;
  background:#fff;
}

.kpi i{
  font-size:24px;
}

.kpi .kpi-label{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#64748b;
}

.kpi .kpi-value{
  font-size:1.4rem;
  font-weight:700;
  color:#0f172a;
}

/* Dropdown de notificações */
#notifMenu{
  min-width:320px;
  position:absolute;
  right:0;
  top:100%;
  margin-top:8px;
  display:none;
  background:#fff;
  border-radius:12px;
  box-shadow:0 18px 45px rgba(15,23,42,.18);
  overflow:hidden;
}

#notifMenu .list-group-item{
  border:0;
  border-bottom:1px solid #e5e7eb;
  font-size:.9rem;
}

#notifMenu .list-group-item:last-child{
  border-bottom:0;
}

/* Tabelas & formulários */
.table-sm td,
.table-sm th{
  padding:.35rem .5rem;
  vertical-align:middle;
}

.form-control,
.form-select{
  border-radius:.55rem;
}

/* Mobile */
@media (max-width: 991.98px){
  .app-sidebar{
    transform:translateX(-100%);
    transition:transform .2s;
  }
  .app-sidebar.show{
    transform:translateX(0);
  }
  .app-topbar{
    margin-left:0;
    padding-left:16px;
    padding-right:16px;
  }
  .app-content{
    margin-left:0;
    padding:16px;
  }
  .btn-sidebar-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .app-shell{
    max-width:100%;
  }
}
