:root{
  --brand-yellow:#DADF41;
  --sidebar-bg:#0f172a;
  --sidebar-fg:#cfd3dc;
  --sidebar-fg-muted:#9aa3b2;
}

body{ background:#f7f8fa; }
.brand-pill{ background:var(--brand-yellow); color:#111; }

.btn-brand{
  background:var(--brand-yellow);
  border:none;
  color:#111;
  font-weight:600;
}
.btn-brand:hover,.btn-brand:focus{ filter:brightness(.95); color:#111; }

/* Login */
.login-wrapper{ min-height: calc(100vh - 56px); display:flex; align-items:center; }
.card-login{ border:none; border-radius:1rem; overflow:hidden; }
.login-left{
  background: linear-gradient(135deg, var(--brand-yellow), #eef3a2);
}
.login-left-inner{
  padding:3rem 2rem; display:flex; align-items:center; justify-content:center; width:100%;
}

/* Panel */
.app-wrapper{ min-height: calc(100vh - 56px); }
.sidebar{
  background: var(--sidebar-bg);
  min-height: 100%;
  padding-top: 1rem;
}
.sidebar-header img{ box-shadow: 0 0 0 4px rgba(218,223,65,.2); }
.sidebar-header h5{ margin-bottom:.25rem; }
.sidebar .nav-link{
  color: var(--sidebar-fg);
  border-radius:.5rem;
  padding:.5rem .75rem;
  display:flex; align-items:center; gap:.5rem;
}
.sidebar .nav-link:hover,
.sidebar .nav-link:focus{
  background: rgba(218,223,65,.12);
  color:#fff;
  text-decoration:none;
}
.sidebar .nav-link.active{
  background: var(--brand-yellow);
  color:#111;
  font-weight:700;
}
.sidebar h6{ color:#fff; opacity:.9; }
#sidebar-empresas-content small{ color: var(--sidebar-fg-muted); }

/* Content */
#content{ padding-top:1rem; padding-bottom:2rem; }

/* Toast container */
.toast-area{
  position: fixed; top: 1rem; right: 1rem; z-index: 1060;
}

/* Focus accesible */
:focus { outline: none; }
:focus-visible{
  outline: 3px solid var(--brand-yellow);
  outline-offset: 2px;
  border-radius: 6px;
}
